summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname666
-rw-r--r--FILES.byname.gzbin2388503 -> 2388479 bytes
-rw-r--r--FILES.last07days612
-rw-r--r--graphics/pstricks/base/Changes21
-rw-r--r--graphics/pstricks/base/dvips/pst-dots.pro8
-rw-r--r--graphics/pstricks/base/dvips/pstricks.pro3
-rw-r--r--graphics/pstricks/base/generic/pstricks-dots.tex148
-rw-r--r--graphics/pstricks/base/generic/pstricks-tex.def5
-rw-r--r--graphics/pstricks/base/generic/pstricks-xetex.def5
-rw-r--r--graphics/pstricks/base/generic/pstricks.tex18
-rw-r--r--graphics/pstricks/base/latex/pstricks.sty3
-rw-r--r--graphics/pstricks/contrib/pst-fill/Changes2
-rw-r--r--graphics/pstricks/contrib/pst-fill/Makefile49
-rw-r--r--graphics/pstricks/contrib/pst-fill/README23
-rw-r--r--graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.bib168
-rw-r--r--graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.pdfbin0 -> 957618 bytes
-rw-r--r--graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.tex1238
-rw-r--r--graphics/pstricks/contrib/pst-fill/latex/pst-fill.sty23
-rw-r--r--graphics/pstricks/contrib/pst-fill/pst-fill.dtx1817
-rw-r--r--graphics/pstricks/contrib/pst-fill/pst-fill.ins37
-rw-r--r--graphics/pstricks/contrib/pst-fill/pst-fill.pdfbin1230303 -> 0 bytes
-rw-r--r--graphics/pstricks/contrib/pst-fill/tex/pst-fill.tex472
-rw-r--r--info/install-latex-guide-zh-cn/appendix/updateinfo.tex6
-rw-r--r--info/install-latex-guide-zh-cn/chapter/ubuntu.tex32
-rw-r--r--info/install-latex-guide-zh-cn/chapter/wsl.tex6
-rw-r--r--info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdfbin744469 -> 747376 bytes
-rw-r--r--macros/generic/markdown/README.md230
-rw-r--r--macros/generic/markdown/examples/context.tex1
-rw-r--r--macros/generic/markdown/examples/example.md70
-rw-r--r--macros/generic/markdown/examples/latex.tex9
-rw-r--r--macros/generic/markdown/markdown.dtx2795
-rw-r--r--macros/generic/markdown/markdown.html8152
-rw-r--r--macros/generic/markdown/markdown.ins42
-rw-r--r--macros/generic/markdown/markdown.md64
-rw-r--r--macros/generic/markdown/markdown.pdfbin628207 -> 729945 bytes
-rw-r--r--macros/generic/markdown/markdown.png (renamed from macros/generic/markdown/banner.png)bin140951 -> 140951 bytes
-rw-r--r--macros/latex/contrib/decision-table/README2
-rw-r--r--macros/latex/contrib/decision-table/decision-table.dtx595
-rw-r--r--macros/latex/contrib/decision-table/decision-table.ins4
-rw-r--r--macros/latex/contrib/decision-table/decision-table.pdfbin112176 -> 111518 bytes
-rw-r--r--macros/latex/contrib/lwarp/README.txt2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.dtx2822
-rw-r--r--macros/latex/contrib/lwarp/lwarp.ins2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.pdfbin3136003 -> 3144374 bytes
-rwxr-xr-xmacros/latex/contrib/lwarp/lwarpmk.lua2
-rw-r--r--macros/latex/contrib/tabularray/tabularray.pdfbin725112 -> 760493 bytes
-rw-r--r--macros/latex/contrib/tabularray/tabularray.sty247
-rw-r--r--macros/latex/contrib/tabularray/tabularray.tex204
-rw-r--r--macros/unicodetex/latex/njuthesis/README_ZH_CN.md77
-rw-r--r--macros/unicodetex/latex/njuthesis/figure/njulogo.pdfbin21738 -> 0 bytes
-rw-r--r--macros/unicodetex/latex/njuthesis/figure/njuname-large.pdfbin84739 -> 0 bytes
-rw-r--r--macros/unicodetex/latex/njuthesis/figure/njuname.pdfbin12747 -> 0 bytes
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.dtx2337
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.ins79
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.pdfbin638180 -> 764340 bytes
-rw-r--r--macros/unicodetex/latex/njuthesis/njuvisual.dtx5203
-rw-r--r--macros/unicodetex/latex/tipauni/COPYING674
-rw-r--r--macros/unicodetex/latex/tipauni/README.txt2
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni-commands.pdfbin85125 -> 70922 bytes
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni-example.pdfbin128188 -> 107982 bytes
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni.dtx26
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni.ins2
-rw-r--r--macros/unicodetex/latex/tipauni/tipauni.pdfbin248249 -> 238460 bytes
-rw-r--r--macros/xetex/latex/zitie/README.md17
-rw-r--r--macros/xetex/latex/zitie/doc/zitie-cn.pdfbin288061 -> 339839 bytes
-rw-r--r--macros/xetex/latex/zitie/doc/zitie-cn.tex481
-rw-r--r--macros/xetex/latex/zitie/tex/zitie.luatex.def90
-rw-r--r--macros/xetex/latex/zitie/tex/zitie.sty689
-rw-r--r--macros/xetex/latex/zitie/tex/zitie.xetex.def52
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl4
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb219
-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.xzbin2313932 -> 2312796 bytes
-rw-r--r--systems/win32/TLW64/00README.TLW649
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--timestamp2
-rw-r--r--usergrps/usergrps/bg.html2
-rw-r--r--usergrps/usergrps/br.html2
-rw-r--r--usergrps/usergrps/cn.html2
-rw-r--r--usergrps/usergrps/cz.html2
-rw-r--r--usergrps/usergrps/de.html2
-rw-r--r--usergrps/usergrps/dk.html2
-rw-r--r--usergrps/usergrps/ee.html2
-rw-r--r--usergrps/usergrps/es.html2
-rw-r--r--usergrps/usergrps/esc.html2
-rw-r--r--usergrps/usergrps/fr.html2
-rw-r--r--usergrps/usergrps/gb.html2
-rw-r--r--usergrps/usergrps/gr.html2
-rw-r--r--usergrps/usergrps/hu.html2
-rw-r--r--usergrps/usergrps/ie.html2
-rw-r--r--usergrps/usergrps/index.html2
-rw-r--r--usergrps/usergrps/is.html2
-rw-r--r--usergrps/usergrps/it.html2
-rw-r--r--usergrps/usergrps/kh.html2
-rw-r--r--usergrps/usergrps/kr.html2
-rw-r--r--usergrps/usergrps/labels.pdfbin9891 -> 9903 bytes
-rw-r--r--usergrps/usergrps/labels.tex2
-rw-r--r--usergrps/usergrps/lt.html4
-rw-r--r--usergrps/usergrps/lugs.html4
-rw-r--r--usergrps/usergrps/lugs.pdfbin49917 -> 49920 bytes
-rw-r--r--usergrps/usergrps/lugs.tex2
-rw-r--r--usergrps/usergrps/mx.html2
-rw-r--r--usergrps/usergrps/nl.html2
-rw-r--r--usergrps/usergrps/no.html2
-rw-r--r--usergrps/usergrps/pl.html2
-rw-r--r--usergrps/usergrps/pt.html2
-rw-r--r--usergrps/usergrps/us.html2
-rw-r--r--usergrps/usergrps/uy.html2
-rw-r--r--usergrps/usergrps/vn.html2
-rw-r--r--usergrps/usergrps/za.html2
113 files changed, 19962 insertions, 10708 deletions
diff --git a/FILES.byname b/FILES.byname
index 4e03673c27..92ede577b7 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5105,7 +5105,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/09/30 | 86140 | FILES.last07days
+2021/10/01 | 74735 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -156266,7 +156266,7 @@
1995/04/26 | 830 | graphics/pstex/readme.dos
1995/04/26 | 1436 | graphics/pstex/std.h
2006/05/21 | 60272 | graphics/pstex.zip
-2021/09/25 | 4650 | graphics/pstricks/base/Changes
+2021/10/01 | 4580 | graphics/pstricks/base/Changes
2021/08/26 | 2081 | graphics/pstricks/base/config/distiller.cfg
2021/08/26 | 14970 | graphics/pstricks/base/config/dvips.cfg
2021/08/26 | 4938 | graphics/pstricks/base/config/dvipsone.cfg
@@ -156326,27 +156326,27 @@
2021/08/26 | 6569 | graphics/pstricks/base/doc/test-pst.tex
2020/06/09 | 30047 | graphics/pstricks/base/dvips/pst-algparser.pro
2020/06/07 | 4734 | graphics/pstricks/base/dvips/pst-dots97.pro
-2021/09/24 | 18368 | graphics/pstricks/base/dvips/pst-dots.pro
+2021/10/01 | 18367 | graphics/pstricks/base/dvips/pst-dots.pro
2020/06/07 | 12327 | graphics/pstricks/base/dvips/pstricks97.pro
-2021/09/25 | 37132 | graphics/pstricks/base/dvips/pstricks.pro
+2021/10/01 | 37180 | graphics/pstricks/base/dvips/pstricks.pro
2021/08/26 | 23492 | graphics/pstricks/base/generic/pst-fp.tex
2021/08/26 | 2787 | graphics/pstricks/base/generic/pst-key.tex
2021/09/07 | 70662 | graphics/pstricks/base/generic/pstricks97.tex
2021/08/28 | 19134 | graphics/pstricks/base/generic/pstricks-arrows.tex
2021/09/23 | 4629 | graphics/pstricks/base/generic/pstricks-color.tex
2021/09/15 | 15065 | graphics/pstricks/base/generic/pstricks.con
-2021/09/25 | 9489 | graphics/pstricks/base/generic/pstricks-dots.tex
-2021/09/25 | 121379 | graphics/pstricks/base/generic/pstricks.tex
-2021/09/01 | 3128 | graphics/pstricks/base/generic/pstricks-tex.def
-2021/08/26 | 1004 | graphics/pstricks/base/generic/pstricks-xetex.def
+2021/09/27 | 9987 | graphics/pstricks/base/generic/pstricks-dots.tex
+2021/09/28 | 121586 | graphics/pstricks/base/generic/pstricks.tex
+2021/09/27 | 3152 | graphics/pstricks/base/generic/pstricks-tex.def
+2021/09/27 | 1026 | graphics/pstricks/base/generic/pstricks-xetex.def
2021/09/10 | 25082 | graphics/pstricks/base/History
2021/08/26 | 1107 | graphics/pstricks/base/latex/pst-all.sty
2021/08/26 | 899 | graphics/pstricks/base/latex/pstcol.sty
2021/08/26 | 249 | graphics/pstricks/base/latex/pst-key.sty
2021/08/26 | 5261 | graphics/pstricks/base/latex/pstricks-pdf.sty
-2021/09/04 | 8068 | graphics/pstricks/base/latex/pstricks.sty
+2021/09/24 | 8044 | graphics/pstricks/base/latex/pstricks.sty
2021/08/26 | 4651 | graphics/pstricks/base/README
-2021/09/25 | 8027659 | graphics/pstricks/base.zip
+2021/10/01 | 8027840 | graphics/pstricks/base.zip
2014/07/25 | 3769 | graphics/pstricks/contrib/dsptricks/dspblocks.sty
2014/07/24 | 9254 | graphics/pstricks/contrib/dsptricks/dspfunctions.sty
2014/07/25 | 212782 | graphics/pstricks/contrib/dsptricks/dspTricksManual.pdf
@@ -156952,13 +156952,14 @@
2018/09/27 | 1298 | graphics/pstricks/contrib/pst-feyn/README.md
2018/09/27 | 11163 | graphics/pstricks/contrib/pst-feyn/tex/pst-feyn.tex
2018/09/27 | 156186 | graphics/pstricks/contrib/pst-feyn.zip
-2007/03/11 | 93 | graphics/pstricks/contrib/pst-fill/Changes
-2007/03/11 | 1036 | graphics/pstricks/contrib/pst-fill/Makefile
-2007/03/11 | 69935 | graphics/pstricks/contrib/pst-fill/pst-fill.dtx
-2006/11/07 | 1105 | graphics/pstricks/contrib/pst-fill/pst-fill.ins
-2007/03/11 | 1230303 | graphics/pstricks/contrib/pst-fill/pst-fill.pdf
-2006/11/07 | 759 | graphics/pstricks/contrib/pst-fill/README
-2007/03/11 | 1152104 | graphics/pstricks/contrib/pst-fill.zip
+2021/10/01 | 138 | graphics/pstricks/contrib/pst-fill/Changes
+2021/09/30 | 3965 | graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.bib
+2021/10/01 | 957618 | graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.pdf
+2021/10/01 | 48371 | graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.tex
+2021/09/29 | 746 | graphics/pstricks/contrib/pst-fill/latex/pst-fill.sty
+2021/10/01 | 682 | graphics/pstricks/contrib/pst-fill/README
+2021/10/01 | 13563 | graphics/pstricks/contrib/pst-fill/tex/pst-fill.tex
+2021/10/01 | 866760 | graphics/pstricks/contrib/pst-fill.zip
2017/08/24 | 304 | graphics/pstricks/contrib/pst-fit/Changes
2017/08/24 | 3874 | graphics/pstricks/contrib/pst-fit/doc/pst-fit-doc.bib
2017/08/24 | 1336 | graphics/pstricks/contrib/pst-fit/doc/pst-fit-doc.data
@@ -179990,22 +179991,22 @@
1997/10/22 | 46895 | info/installing_psnfss_on_emtex.pdf
2021/07/13 | 4452 | info/install-latex-guide-zh-cn/appendix/mirror.tex
2020/11/14 | 2463 | info/install-latex-guide-zh-cn/appendix/offline.tex
-2021/07/31 | 4685 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex
+2021/09/03 | 4813 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex
2020/11/14 | 3610 | info/install-latex-guide-zh-cn/appendix/wsladdition.tex
2021/07/03 | 22938 | info/install-latex-guide-zh-cn/chapter/editor.tex
2021/07/04 | 5339 | info/install-latex-guide-zh-cn/chapter/macos.tex
2021/04/06 | 3832 | info/install-latex-guide-zh-cn/chapter/overleaf.tex
2021/06/01 | 2526 | info/install-latex-guide-zh-cn/chapter/preface.tex
-2021/07/04 | 13796 | info/install-latex-guide-zh-cn/chapter/ubuntu.tex
+2021/09/03 | 14839 | info/install-latex-guide-zh-cn/chapter/ubuntu.tex
2021/07/31 | 20834 | info/install-latex-guide-zh-cn/chapter/windows.tex
-2021/07/04 | 11903 | info/install-latex-guide-zh-cn/chapter/wsl.tex
-2021/08/01 | 744469 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
+2021/09/03 | 12115 | info/install-latex-guide-zh-cn/chapter/wsl.tex
+2021/10/01 | 747376 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
2020/11/14 | 3201 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.tex
2020/11/14 | 19039 | info/install-latex-guide-zh-cn/LICENSE
2020/11/14 | 491 | info/install-latex-guide-zh-cn/make.bat
2020/11/14 | 596 | info/install-latex-guide-zh-cn/makefile
2021/05/08 | 2680 | info/install-latex-guide-zh-cn/README.md
-2021/07/31 | 783736 | info/install-latex-guide-zh-cn.zip
+2021/10/01 | 787082 | info/install-latex-guide-zh-cn.zip
2008/06/13 | 116805 | info/intro-scientific/earth-moon.pdf
2009/02/19 | 226 | info/intro-scientific/Makefile
2009/02/18 | 1350 | info/intro-scientific/README
@@ -182980,7 +182981,7 @@
2021/09/21 | 514924 | install/macros/generic/expkv.tds.zip
2020/03/06 | 222075 | install/macros/generic/iftex.tds.zip
2012/09/20 | 321508 | install/macros/generic/langcode.tds.zip
-2021/08/31 | 947793 | install/macros/generic/markdown.tds.zip
+2021/10/01 | 1078883 | install/macros/generic/markdown.tds.zip
2014/06/11 | 428488 | install/macros/generic/mathdots.tds.zip
2014/01/02 | 496633 | install/macros/generic/minifp.tds.zip
2012/09/20 | 369585 | install/macros/generic/plainpkg.tds.zip
@@ -183162,7 +183163,7 @@
2012/05/03 | 406018 | install/macros/latex/contrib/lstaddons.tds.zip
2011/03/25 | 10183 | install/macros/latex/contrib/ltxdockit.tds.zip
2021/02/18 | 340623 | install/macros/latex/contrib/luacolor.tds.zip
-2021/08/28 | 4184792 | install/macros/latex/contrib/lwarp.tds.zip
+2021/10/01 | 4197924 | install/macros/latex/contrib/lwarp.tds.zip
2019/11/29 | 336437 | install/macros/latex/contrib/magicnum.tds.zip
2009/09/03 | 125014 | install/macros/latex/contrib/makecmds.tds.zip
2018/08/09 | 330020 | install/macros/latex/contrib/marginnote.tds.zip
@@ -197388,20 +197389,20 @@
2016/06/15 | 170646 | macros/generic/luatex85/luatex85.pdf
2016/06/15 | 316 | macros/generic/luatex85/README.md
2016/06/15 | 173375 | macros/generic/luatex85.zip
-2020/08/21 | 140951 | macros/generic/markdown/banner.png
-2021/08/28 | 4485 | macros/generic/markdown/docstrip.cfg
-2021/08/31 | 1060 | macros/generic/markdown/examples/context.tex
-2021/08/31 | 2921 | macros/generic/markdown/examples/example.md
-2021/08/31 | 1052 | macros/generic/markdown/examples/latex.tex
-2019/05/11 | 75 | macros/generic/markdown/examples/scientists.csv
-2021/08/31 | 4530 | macros/generic/markdown/markdown.css
-2021/08/31 | 519788 | macros/generic/markdown/markdown.dtx
-2021/08/31 | 558270 | macros/generic/markdown/markdown.html
-2021/08/26 | 1145 | macros/generic/markdown/markdown.ins
-2021/08/31 | 9108 | macros/generic/markdown/markdown.md
-2021/08/31 | 628207 | macros/generic/markdown/markdown.pdf
-2021/08/31 | 9414 | macros/generic/markdown/README.md
-2021/08/31 | 892662 | macros/generic/markdown.zip
+2021/10/01 | 4485 | macros/generic/markdown/docstrip.cfg
+2021/10/01 | 1095 | macros/generic/markdown/examples/context.tex
+2021/10/01 | 3123 | macros/generic/markdown/examples/example.md
+2021/10/01 | 1205 | macros/generic/markdown/examples/latex.tex
+2021/10/01 | 75 | macros/generic/markdown/examples/scientists.csv
+2021/10/01 | 4530 | macros/generic/markdown/markdown.css
+2021/10/01 | 571392 | macros/generic/markdown/markdown.dtx
+2021/10/01 | 626760 | macros/generic/markdown/markdown.html
+2021/10/01 | 1333 | macros/generic/markdown/markdown.ins
+2021/10/01 | 9683 | macros/generic/markdown/markdown.md
+2021/10/01 | 729945 | macros/generic/markdown/markdown.pdf
+2021/10/01 | 140951 | macros/generic/markdown/markdown.png
+2021/10/01 | 15653 | macros/generic/markdown/README.md
+2021/10/01 | 1015291 | macros/generic/markdown.zip
2014/06/11 | 20744 | macros/generic/mathdots/mathdots.dtx
2014/06/11 | 1203 | macros/generic/mathdots/mathdots.ins
2014/06/11 | 258547 | macros/generic/mathdots/mathdots.pdf
@@ -206742,11 +206743,11 @@
2011/06/05 | 1577 | macros/latex/contrib/decimal/decimal.ins
2011/06/05 | 187033 | macros/latex/contrib/decimal/decimal.pdf
2011/06/05 | 165517 | macros/latex/contrib/decimal.zip
-2020/12/08 | 15895 | macros/latex/contrib/decision-table/decision-table.dtx
-2020/12/08 | 1471 | macros/latex/contrib/decision-table/decision-table.ins
-2020/12/08 | 112176 | macros/latex/contrib/decision-table/decision-table.pdf
-2020/12/08 | 868 | macros/latex/contrib/decision-table/README
-2020/12/08 | 113076 | macros/latex/contrib/decision-table.zip
+2021/10/01 | 24262 | macros/latex/contrib/decision-table/decision-table.dtx
+2021/10/01 | 1481 | macros/latex/contrib/decision-table/decision-table.ins
+2021/10/01 | 111518 | macros/latex/contrib/decision-table/decision-table.pdf
+2021/10/01 | 873 | macros/latex/contrib/decision-table/README
+2021/10/01 | 113341 | macros/latex/contrib/decision-table.zip
2020/05/21 | 56004 | macros/latex/contrib/decorule/decorule.dtx
2020/05/21 | 2186 | macros/latex/contrib/decorule/decorule.ins
2020/05/21 | 396165 | macros/latex/contrib/decorule/decorule.pdf
@@ -215262,15 +215263,15 @@
1999/06/10 | 980 | macros/latex/contrib/lucold/t1hlos.fd
1999/05/25 | 407 | macros/latex/contrib/lucold/test.tex
2005/04/30 | 25682 | macros/latex/contrib/lucold.zip
-2021/08/28 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
-2021/08/28 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
-2021/08/28 | 2747039 | macros/latex/contrib/lwarp/lwarp.dtx
-2021/08/28 | 33231 | macros/latex/contrib/lwarp/lwarp.ins
-2021/08/28 | 29559 | macros/latex/contrib/lwarp/lwarpmk.lua
-2021/08/28 | 3136003 | macros/latex/contrib/lwarp/lwarp.pdf
-2021/08/28 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt
-2021/08/28 | 1624 | macros/latex/contrib/lwarp/README.txt
-2021/08/28 | 3601477 | macros/latex/contrib/lwarp.zip
+2021/10/01 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
+2021/10/01 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
+2021/10/01 | 2758078 | macros/latex/contrib/lwarp/lwarp.dtx
+2021/10/01 | 33349 | macros/latex/contrib/lwarp/lwarp.ins
+2021/10/01 | 29559 | macros/latex/contrib/lwarp/lwarpmk.lua
+2021/10/01 | 3144374 | macros/latex/contrib/lwarp/lwarp.pdf
+2021/10/01 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt
+2021/10/01 | 1624 | macros/latex/contrib/lwarp/README.txt
+2021/10/01 | 3611774 | macros/latex/contrib/lwarp.zip
2006/09/11 | 4093 | macros/latex/contrib/lyx/sikumuna/article-sikumuna.layout
2006/09/11 | 781 | macros/latex/contrib/lyx/sikumuna/README
2006/09/11 | 1806 | macros/latex/contrib/lyx/sikumuna.zip
@@ -223830,10 +223831,10 @@
2009/06/01 | 150930 | macros/latex/contrib/tabularew.zip
2021/06/10 | 267 | macros/latex/contrib/tabularray/README
2021/06/05 | 158209 | macros/latex/contrib/tabularray/tabularray-2021.sty
-2021/09/01 | 725112 | macros/latex/contrib/tabularray/tabularray.pdf
-2021/09/01 | 226421 | macros/latex/contrib/tabularray/tabularray.sty
-2021/09/01 | 74198 | macros/latex/contrib/tabularray/tabularray.tex
-2021/09/01 | 681366 | macros/latex/contrib/tabularray.zip
+2021/10/01 | 760493 | macros/latex/contrib/tabularray/tabularray.pdf
+2021/10/01 | 231322 | macros/latex/contrib/tabularray/tabularray.sty
+2021/10/01 | 78220 | macros/latex/contrib/tabularray/tabularray.tex
+2021/10/01 | 714327 | macros/latex/contrib/tabularray.zip
2005/10/21 | 169 | macros/latex/contrib/tabulary/README
2014/06/21 | 29652 | macros/latex/contrib/tabulary/tabulary.dtx
2003/11/26 | 156 | macros/latex/contrib/tabulary/tabulary.ins
@@ -242271,15 +242272,13 @@
2020/09/29 | 211 | macros/unicodetex/latex/lilyglyphs/tex/README-tex
2020/09/29 | 49 | macros/unicodetex/latex/lilyglyphs/VERSION
2020/09/29 | 2283370 | macros/unicodetex/latex/lilyglyphs.zip
-2021/09/17 | 21738 | macros/unicodetex/latex/njuthesis/figure/njulogo.pdf
-2021/09/17 | 84739 | macros/unicodetex/latex/njuthesis/figure/njuname-large.pdf
-2021/09/17 | 12747 | macros/unicodetex/latex/njuthesis/figure/njuname.pdf
-2021/09/17 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
-2021/09/17 | 72250 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
-2021/09/17 | 638180 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
-2021/09/17 | 745 | macros/unicodetex/latex/njuthesis/README.md
-2021/09/17 | 3938 | macros/unicodetex/latex/njuthesis/README_ZH_CN.md
-2021/09/17 | 725848 | macros/unicodetex/latex/njuthesis.zip
+2021/10/01 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
+2021/10/01 | 92287 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
+2021/10/01 | 2837 | macros/unicodetex/latex/njuthesis/njuthesis.ins
+2021/10/01 | 764340 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
+2021/10/01 | 320216 | macros/unicodetex/latex/njuthesis/njuvisual.dtx
+2021/10/01 | 745 | macros/unicodetex/latex/njuthesis/README.md
+2021/10/01 | 884915 | macros/unicodetex/latex/njuthesis.zip
2021/08/05 | 269 | macros/unicodetex/latex/nwafuthesis/build.sh
2021/08/05 | 263 | macros/unicodetex/latex/nwafuthesis/build-win.bat
2021/08/05 | 218987 | macros/unicodetex/latex/nwafuthesis/logo/building.jpg
@@ -242394,16 +242393,15 @@
2021/02/09 | 106690 | macros/unicodetex/latex/texnegar/xepersian-XB.pdf
2021/02/09 | 3113 | macros/unicodetex/latex/texnegar/xepersian-XB.tex
2021/02/09 | 4898310 | macros/unicodetex/latex/texnegar.zip
-2021/08/11 | 35149 | macros/unicodetex/latex/tipauni/COPYING
-2021/08/11 | 451 | macros/unicodetex/latex/tipauni/README.txt
-2021/08/11 | 85125 | macros/unicodetex/latex/tipauni/tipauni-commands.pdf
-2021/08/11 | 3663 | macros/unicodetex/latex/tipauni/tipauni-commands.tex
-2021/08/11 | 49834 | macros/unicodetex/latex/tipauni/tipauni.dtx
-2021/08/11 | 128188 | macros/unicodetex/latex/tipauni/tipauni-example.pdf
-2021/08/11 | 10115 | macros/unicodetex/latex/tipauni/tipauni-example.tex
-2021/08/11 | 1669 | macros/unicodetex/latex/tipauni/tipauni.ins
-2021/08/11 | 248249 | macros/unicodetex/latex/tipauni/tipauni.pdf
-2021/08/11 | 478280 | macros/unicodetex/latex/tipauni.zip
+2021/10/01 | 452 | macros/unicodetex/latex/tipauni/README.txt
+2021/10/01 | 70922 | macros/unicodetex/latex/tipauni/tipauni-commands.pdf
+2021/10/01 | 3663 | macros/unicodetex/latex/tipauni/tipauni-commands.tex
+2021/10/01 | 49836 | macros/unicodetex/latex/tipauni/tipauni.dtx
+2021/10/01 | 107982 | macros/unicodetex/latex/tipauni/tipauni-example.pdf
+2021/10/01 | 10115 | macros/unicodetex/latex/tipauni/tipauni-example.tex
+2021/10/01 | 1669 | macros/unicodetex/latex/tipauni/tipauni.ins
+2021/10/01 | 238460 | macros/unicodetex/latex/tipauni/tipauni.pdf
+2021/10/01 | 422886 | macros/unicodetex/latex/tipauni.zip
2020/01/31 | 15419 | macros/unicodetex/latex/unicode-math/CHANGES.md
2020/01/31 | 19106 | macros/unicodetex/latex/unicode-math/LICENSE
2020/01/31 | 9203 | macros/unicodetex/latex/unicode-math/MANIFEST.md
@@ -243389,11 +243387,13 @@
2021/06/24 | 12549 | macros/xetex/latex/zbmath-review-template/zb-manual.tex
2021/06/24 | 2683 | macros/xetex/latex/zbmath-review-template/zbMATH.cls
2021/06/24 | 211450 | macros/xetex/latex/zbmath-review-template.zip
-2021/09/23 | 288061 | macros/xetex/latex/zitie/doc/zitie-cn.pdf
-2021/09/23 | 25262 | macros/xetex/latex/zitie/doc/zitie-cn.tex
-2021/09/23 | 2231 | macros/xetex/latex/zitie/README.md
-2021/09/23 | 42708 | macros/xetex/latex/zitie/tex/zitie.sty
-2021/09/23 | 299904 | macros/xetex/latex/zitie.zip
+2021/10/01 | 339839 | macros/xetex/latex/zitie/doc/zitie-cn.pdf
+2021/10/01 | 40873 | macros/xetex/latex/zitie/doc/zitie-cn.tex
+2021/10/01 | 2335 | macros/xetex/latex/zitie/README.md
+2021/09/26 | 3300 | macros/xetex/latex/zitie/tex/zitie.luatex.def
+2021/10/01 | 55730 | macros/xetex/latex/zitie/tex/zitie.sty
+2021/09/26 | 2236 | macros/xetex/latex/zitie/tex/zitie.xetex.def
+2021/10/01 | 357357 | macros/xetex/latex/zitie.zip
2019/03/17 | 50155 | macros/xetex/plain/do-it-yourself-tex/do-it-yourself-tex.pdf
2019/03/17 | 13753 | macros/xetex/plain/do-it-yourself-tex/do-it-yourself-tex.tex
2019/03/13 | 13006 | macros/xetex/plain/do-it-yourself-tex/FONTS+UNICODE/sources-fonts-unicode.html
@@ -281800,9 +281800,9 @@
2019/02/28 | 7908 | systems/texlive/tlnet/archive/hanging.source.r15878.tar.xz
2019/02/28 | 1056 | systems/texlive/tlnet/archive/hang.r43280.tar.xz
2019/02/28 | 1496 | systems/texlive/tlnet/archive/hanoi.r25019.tar.xz
-2021/09/29 | 455704 | systems/texlive/tlnet/archive/hanzibox.doc.r60639.tar.xz
-2021/09/29 | 5652 | systems/texlive/tlnet/archive/hanzibox.r60639.tar.xz
-2021/09/29 | 14724 | systems/texlive/tlnet/archive/hanzibox.source.r60639.tar.xz
+2021/10/01 | 486572 | systems/texlive/tlnet/archive/hanzibox.doc.r60661.tar.xz
+2021/10/01 | 6388 | systems/texlive/tlnet/archive/hanzibox.r60661.tar.xz
+2021/10/01 | 16120 | systems/texlive/tlnet/archive/hanzibox.source.r60661.tar.xz
2019/02/28 | 52364 | systems/texlive/tlnet/archive/happy4th.doc.r25020.tar.xz
2019/02/28 | 436 | systems/texlive/tlnet/archive/happy4th.r25020.tar.xz
2021/06/21 | 205056 | systems/texlive/tlnet/archive/ha-prosper.doc.r59651.tar.xz
@@ -283558,8 +283558,8 @@
2021/05/09 | 359576 | systems/texlive/tlnet/archive/lua-physical.r59138.tar.xz
2020/08/15 | 442728 | systems/texlive/tlnet/archive/luaprogtable.doc.r56113.tar.xz
2020/08/15 | 7092 | systems/texlive/tlnet/archive/luaprogtable.r56113.tar.xz
-2021/09/29 | 1492 | systems/texlive/tlnet/archive/luapstricks.doc.r60642.tar.xz
-2021/09/29 | 21328 | systems/texlive/tlnet/archive/luapstricks.r60642.tar.xz
+2021/10/01 | 1496 | systems/texlive/tlnet/archive/luapstricks.doc.r60659.tar.xz
+2021/10/01 | 25952 | systems/texlive/tlnet/archive/luapstricks.r60659.tar.xz
2019/02/28 | 50272 | systems/texlive/tlnet/archive/luarandom.doc.r49419.tar.xz
2019/02/28 | 1392 | systems/texlive/tlnet/archive/luarandom.r49419.tar.xz
2019/02/28 | 224504 | systems/texlive/tlnet/archive/luasseq.doc.r37877.tar.xz
@@ -283673,13 +283673,13 @@
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.amd64-freebsd.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.amd64-netbsd.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.armhf-linux.r37750.tar.xz
-2021/07/27 | 165992 | systems/texlive/tlnet/archive/make4ht.doc.r60077.tar.xz
+2021/10/01 | 174564 | systems/texlive/tlnet/archive/make4ht.doc.r60662.tar.xz
2019/02/28 | 336 | systems/texlive/tlnet/archive/make4ht.i386-cygwin.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.i386-freebsd.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.i386-linux.r37750.tar.xz
2019/02/28 | 336 | systems/texlive/tlnet/archive/make4ht.i386-netbsd.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.i386-solaris.r37750.tar.xz
-2021/07/27 | 48840 | systems/texlive/tlnet/archive/make4ht.r60077.tar.xz
+2021/10/01 | 49644 | systems/texlive/tlnet/archive/make4ht.r60662.tar.xz
2021/02/25 | 336 | systems/texlive/tlnet/archive/make4ht.universal-darwin.r57908.tar.xz
2019/02/28 | 680 | systems/texlive/tlnet/archive/make4ht.win32.r37750.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/make4ht.x86_64-cygwin.r37750.tar.xz
@@ -287036,9 +287036,9 @@
2021/06/26 | 250232 | systems/texlive/tlnet/archive/siunits.doc.r59702.tar.xz
2021/06/26 | 6040 | systems/texlive/tlnet/archive/siunits.r59702.tar.xz
2021/06/26 | 34532 | systems/texlive/tlnet/archive/siunits.source.r59702.tar.xz
-2021/09/23 | 2033204 | systems/texlive/tlnet/archive/siunitx.doc.r60581.tar.xz
-2021/09/23 | 62144 | systems/texlive/tlnet/archive/siunitx.r60581.tar.xz
-2021/09/23 | 107104 | systems/texlive/tlnet/archive/siunitx.source.r60581.tar.xz
+2021/10/01 | 2035132 | systems/texlive/tlnet/archive/siunitx.doc.r60660.tar.xz
+2021/10/01 | 62192 | systems/texlive/tlnet/archive/siunitx.r60660.tar.xz
+2021/10/01 | 107344 | systems/texlive/tlnet/archive/siunitx.source.r60660.tar.xz
2019/02/28 | 200108 | systems/texlive/tlnet/archive/skak.doc.r46259.tar.xz
2019/02/28 | 316212 | systems/texlive/tlnet/archive/skaknew.doc.r20031.tar.xz
2019/02/28 | 160064 | systems/texlive/tlnet/archive/skaknew.r20031.tar.xz
@@ -287650,13 +287650,13 @@
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.amd64-freebsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.amd64-netbsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.armhf-linux.r37771.tar.xz
-2021/07/27 | 92924 | systems/texlive/tlnet/archive/tex4ebook.doc.r60083.tar.xz
+2021/10/01 | 94260 | systems/texlive/tlnet/archive/tex4ebook.doc.r60663.tar.xz
2019/02/28 | 336 | systems/texlive/tlnet/archive/tex4ebook.i386-cygwin.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.i386-freebsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.i386-linux.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.i386-netbsd.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.i386-solaris.r37771.tar.xz
-2021/07/27 | 17000 | systems/texlive/tlnet/archive/tex4ebook.r60083.tar.xz
+2021/10/01 | 17516 | systems/texlive/tlnet/archive/tex4ebook.r60663.tar.xz
2021/02/25 | 340 | systems/texlive/tlnet/archive/tex4ebook.universal-darwin.r57908.tar.xz
2019/02/28 | 684 | systems/texlive/tlnet/archive/tex4ebook.win32.r37771.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/tex4ebook.x86_64-cygwin.r37771.tar.xz
@@ -287910,7 +287910,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/09/30 | 400400 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60647.tar.xz
+2021/10/01 | 400432 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60657.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
@@ -287934,7 +287934,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/09/30 | 108216 | systems/texlive/tlnet/archive/texlive-scripts.r60647.tar.xz
+2021/10/01 | 108284 | systems/texlive/tlnet/archive/texlive-scripts.r60657.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -288333,8 +288333,8 @@
2020/05/14 | 340 | systems/texlive/tlnet/archive/tikztosvg.x86_64-linuxmusl.r55132.tar.xz
2020/05/14 | 336 | systems/texlive/tlnet/archive/tikztosvg.x86_64-linux.r55132.tar.xz
2020/05/14 | 336 | systems/texlive/tlnet/archive/tikztosvg.x86_64-solaris.r55132.tar.xz
-2021/01/03 | 598032 | systems/texlive/tlnet/archive/tikz-trackschematic.doc.r57300.tar.xz
-2021/01/03 | 15172 | systems/texlive/tlnet/archive/tikz-trackschematic.r57300.tar.xz
+2021/10/01 | 591780 | systems/texlive/tlnet/archive/tikz-trackschematic.doc.r60658.tar.xz
+2021/10/01 | 15236 | systems/texlive/tlnet/archive/tikz-trackschematic.r60658.tar.xz
2019/02/28 | 119856 | systems/texlive/tlnet/archive/tikz-truchet.doc.r50020.tar.xz
2019/02/28 | 2236 | systems/texlive/tlnet/archive/tikz-truchet.r50020.tar.xz
2019/02/28 | 3476 | systems/texlive/tlnet/archive/tikz-truchet.source.r50020.tar.xz
@@ -289674,16 +289674,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/05/02 | 105152 | systems/texlive/tlnet/install-tl
-2021/09/30 | 6811604 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/09/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/09/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/10/01 | 6811706 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/10/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/10/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2021/09/30 | 20873161 | systems/texlive/tlnet/install-tl-windows.exe
-2021/09/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/09/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/09/30 | 25629571 | systems/texlive/tlnet/install-tl.zip
-2021/09/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/09/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/10/01 | 20875526 | systems/texlive/tlnet/install-tl-windows.exe
+2021/10/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/10/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/10/01 | 25629613 | systems/texlive/tlnet/install-tl.zip
+2021/10/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/10/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2021/04/01 | 1229 | systems/texlive/tlnet/README.md
2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021
2021/07/03 | 7181 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -289693,7 +289693,7 @@
2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2021/07/02 | 49348 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2021/09/29 | 6623 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/09/30 | 6840 | 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
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -289735,12 +289735,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/05/16 | 5402 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/05/16 | 27555 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/09/30 | 16890505 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/09/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/10/01 | 16890709 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/10/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/05/16 | 86511 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/09/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/09/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/09/30 | 2314568 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/10/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/10/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/10/01 | 2313932 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/05/16 | 58801 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2021/05/16 | 42084 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/05/16 | 16103 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -294661,7 +294661,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/09/30 | 615154 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/10/01 | 615154 | 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
@@ -296051,9 +296051,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2021/08/07 | 39000 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2021/08/07 | 43393 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/09/30 | 241674 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/09/30 | 1359309 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/09/30 | 1262338 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/10/01 | 241634 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/10/01 | 1358809 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/10/01 | 1261769 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/08/07 | 13446 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2021/08/07 | 14327 | 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
@@ -296263,189 +296263,189 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2021/09/30 | 615217 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/09/30 | 51113 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/09/30 | 56476 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/09/30 | 975020 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/09/30 | 1077991 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/09/30 | 29034 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/09/30 | 31351 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/09/30 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/09/30 | 34666 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/09/30 | 50153 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/09/30 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/09/30 | 83540 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/09/30 | 95402 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/09/30 | 67821 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/09/30 | 75792 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/09/30 | 27199 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/09/30 | 30825 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/09/30 | 330787 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/09/30 | 392793 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/09/30 | 32674 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/09/30 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/09/30 | 51309 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/09/30 | 56684 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/09/30 | 241812 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/09/30 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/09/30 | 180012 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/09/30 | 195636 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/09/30 | 54631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/09/30 | 61812 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/09/30 | 21225 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/09/30 | 23365 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/09/30 | 461812 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/09/30 | 45906 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/09/30 | 51202 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/09/30 | 284581 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/09/30 | 325044 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/09/30 | 41193 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/09/30 | 45311 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/09/30 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/09/30 | 133863 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/09/30 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/09/30 | 1421869 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/09/30 | 100625 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/09/30 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/09/30 | 43029 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/09/30 | 48253 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/09/30 | 25020 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/09/30 | 28180 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/09/30 | 56317 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/09/30 | 62787 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/09/30 | 136818 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/09/30 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/09/30 | 73198 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/09/30 | 77951 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/09/30 | 71669 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/09/30 | 80449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/09/30 | 258881 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/09/30 | 295204 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/09/30 | 22049 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/09/30 | 24995 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/09/30 | 97339 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/09/30 | 112089 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/09/30 | 64430 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/09/30 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/09/30 | 96631 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/09/30 | 115350 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/09/30 | 38141 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/09/30 | 43003 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/09/30 | 483651 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/09/30 | 566530 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/09/30 | 147373 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/09/30 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/09/30 | 94799 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/09/30 | 109030 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/09/30 | 16357 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/09/30 | 17980 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/09/30 | 28391 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/09/30 | 30058 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/09/30 | 629400 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/09/30 | 681253 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/09/30 | 531851 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/09/30 | 596931 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/09/30 | 476922 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/09/30 | 510587 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/09/30 | 94311 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/09/30 | 103400 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/09/30 | 1713892 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/09/30 | 2009906 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/09/30 | 67618 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/09/30 | 74209 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/09/30 | 27358 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/09/30 | 31620 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/09/30 | 7722 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/09/30 | 8768 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/09/30 | 196871 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/09/30 | 215249 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/09/30 | 250265 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/09/30 | 284024 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/09/30 | 98382 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/09/30 | 103202 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/09/30 | 60639 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/09/30 | 68025 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/09/30 | 124281 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/09/30 | 136820 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/09/30 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/09/30 | 196740 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/09/30 | 199731 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/09/30 | 180120 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/09/30 | 67483 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/09/30 | 76826 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/09/30 | 31230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/09/30 | 35087 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/09/30 | 37807 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/09/30 | 42711 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/09/30 | 42890 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/09/30 | 46906 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/09/30 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/09/30 | 52523 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/09/30 | 194384 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/09/30 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/09/30 | 35690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/09/30 | 40229 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/09/30 | 744116 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/09/30 | 815244 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/09/30 | 198170 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/09/30 | 202795 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/09/30 | 208049 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/09/30 | 243426 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/09/30 | 78774 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/09/30 | 87776 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/09/30 | 1169715 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/09/30 | 1301193 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/09/30 | 20136 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/09/30 | 23902 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/09/30 | 31537 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/09/30 | 37241 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/09/30 | 64186 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/09/30 | 72206 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/09/30 | 50395 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/09/30 | 57729 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/09/30 | 1340928 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/09/30 | 1464202 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/09/30 | 42386 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/09/30 | 51749 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/09/30 | 56514 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/09/30 | 60039 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/09/30 | 25291 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/09/30 | 27390 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/09/30 | 16414 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/09/30 | 18176 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/09/30 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/09/30 | 69914 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/09/30 | 154806 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/09/30 | 169242 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/09/30 | 57012 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/09/30 | 65786 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/09/30 | 98261 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/09/30 | 105223 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/09/30 | 2672612 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/09/30 | 2796726 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/09/30 | 56356 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/09/30 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/09/30 | 33545 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/09/30 | 37360 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/09/30 | 27728 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/09/30 | 33633 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/09/30 | 65620 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/09/30 | 70648 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/09/30 | 312109 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/09/30 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/09/30 | 55498 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/09/30 | 57140 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/09/30 | 589846 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/09/30 | 624656 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/09/30 | 39129 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/09/30 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/09/30 | 241654 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/09/30 | 1358952 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/09/30 | 1261877 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/09/30 | 13465 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/09/30 | 14349 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/10/01 | 615217 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/10/01 | 51111 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/10/01 | 56474 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/10/01 | 975018 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/10/01 | 1077990 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/10/01 | 29037 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/10/01 | 31352 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/10/01 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/10/01 | 34666 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/10/01 | 50153 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/10/01 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/10/01 | 83539 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/10/01 | 95403 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/10/01 | 67819 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/10/01 | 75791 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/10/01 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/10/01 | 30824 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/10/01 | 330788 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/10/01 | 392793 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/10/01 | 32672 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/10/01 | 36629 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/10/01 | 51311 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/10/01 | 56685 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/10/01 | 241814 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/10/01 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/10/01 | 180012 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/10/01 | 195636 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/10/01 | 54632 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/10/01 | 61813 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/10/01 | 21224 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/10/01 | 23364 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/10/01 | 461813 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/10/01 | 45906 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/10/01 | 51202 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/10/01 | 284580 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/10/01 | 325044 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/10/01 | 41193 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/10/01 | 45311 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/10/01 | 119821 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/10/01 | 133863 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/10/01 | 1291299 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/10/01 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/10/01 | 100626 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/10/01 | 112983 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/10/01 | 43028 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/10/01 | 48253 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/10/01 | 25020 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/10/01 | 28180 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/10/01 | 56317 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/10/01 | 62786 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/10/01 | 136817 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/10/01 | 154427 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/10/01 | 73197 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/10/01 | 77951 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/10/01 | 71670 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/10/01 | 80450 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/10/01 | 258880 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/10/01 | 295203 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/10/01 | 22048 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/10/01 | 24996 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/10/01 | 97339 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/10/01 | 112087 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/10/01 | 64427 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/10/01 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/10/01 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/10/01 | 115351 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/10/01 | 38140 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/10/01 | 43003 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/10/01 | 483654 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/10/01 | 566529 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/10/01 | 147373 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/10/01 | 159580 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/10/01 | 94798 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/10/01 | 109032 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/10/01 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/10/01 | 17981 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/10/01 | 28390 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/10/01 | 30059 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/10/01 | 629399 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/10/01 | 681252 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/10/01 | 531853 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/10/01 | 596931 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/10/01 | 476923 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/10/01 | 510588 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/10/01 | 94310 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/10/01 | 103399 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/10/01 | 1713893 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/10/01 | 2009904 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/10/01 | 67619 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/10/01 | 74210 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/10/01 | 27358 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/10/01 | 31620 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/10/01 | 7722 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/10/01 | 8769 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/10/01 | 196872 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/10/01 | 215249 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/10/01 | 250262 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/10/01 | 284022 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/10/01 | 98380 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/10/01 | 103203 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/10/01 | 60636 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/10/01 | 68024 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/10/01 | 124281 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/10/01 | 136821 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/10/01 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/10/01 | 196740 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/10/01 | 199731 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/10/01 | 180120 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/10/01 | 67482 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/10/01 | 76826 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/10/01 | 31231 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/10/01 | 35085 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/10/01 | 37805 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/10/01 | 42712 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/10/01 | 42890 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/10/01 | 46907 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/10/01 | 45968 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/10/01 | 52523 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/10/01 | 194381 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/10/01 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/10/01 | 35691 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/10/01 | 40229 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/10/01 | 744116 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/10/01 | 815242 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/10/01 | 198168 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/10/01 | 202796 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/10/01 | 208047 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/10/01 | 243425 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/10/01 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/10/01 | 87776 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/10/01 | 1169718 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/10/01 | 1301193 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/10/01 | 20136 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/10/01 | 23903 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/10/01 | 31538 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/10/01 | 37240 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/10/01 | 64185 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/10/01 | 72206 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/10/01 | 50395 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/10/01 | 57727 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/10/01 | 1340927 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/10/01 | 1464203 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/10/01 | 42384 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/10/01 | 51750 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/10/01 | 56514 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/10/01 | 60039 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/10/01 | 25290 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/10/01 | 27390 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/10/01 | 16414 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/10/01 | 18176 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/10/01 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/10/01 | 69914 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/10/01 | 154805 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/10/01 | 169243 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/10/01 | 57012 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/10/01 | 65786 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/10/01 | 98259 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/10/01 | 105223 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/10/01 | 2672610 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/10/01 | 2796724 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/10/01 | 56355 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/10/01 | 62229 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/10/01 | 33545 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/10/01 | 37360 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/10/01 | 27729 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/10/01 | 33634 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/10/01 | 65618 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/10/01 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/10/01 | 312110 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/10/01 | 345740 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/10/01 | 55498 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/10/01 | 57139 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/10/01 | 589840 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/10/01 | 624652 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/10/01 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/10/01 | 43427 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/10/01 | 241662 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/10/01 | 1358922 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/10/01 | 1262656 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/10/01 | 13464 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/10/01 | 14350 | 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/09/30 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/10/01 | 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
@@ -296842,7 +296842,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
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2021/09/30 | 961 | systems/win32/miktex/tm/packages/pr.ini
+2021/10/01 | 961 | 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
@@ -298448,7 +298448,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/10/01 | 186 | timestamp
+2021/10/02 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/08/04 | 917 | usergrps/dante/dtk/doc/beispiel.bib
@@ -299781,40 +299781,40 @@
1999/06/04 | 27445 | usergrps/uktug/baskervi/baskrep.cls
1999/05/12 | 7702 | usergrps/uktug/baskervi/epstopdf
1997/10/01 | 444 | usergrps/uktug/baskervi/README
-2021/08/26 | 9387 | usergrps/usergrps/bg.html
-2021/08/26 | 9056 | usergrps/usergrps/br.html
-2021/08/26 | 9349 | usergrps/usergrps/cn.html
-2021/08/26 | 9503 | usergrps/usergrps/cz.html
-2021/08/26 | 9637 | usergrps/usergrps/de.html
-2021/08/26 | 9141 | usergrps/usergrps/dk.html
-2021/08/26 | 8920 | usergrps/usergrps/ee.html
-2021/08/26 | 9145 | usergrps/usergrps/esc.html
-2021/08/26 | 9290 | usergrps/usergrps/es.html
-2021/08/26 | 9430 | usergrps/usergrps/fr.html
-2021/08/26 | 9273 | usergrps/usergrps/gb.html
-2021/08/26 | 9166 | usergrps/usergrps/gr.html
-2021/08/26 | 9570 | usergrps/usergrps/hu.html
-2021/08/26 | 9066 | usergrps/usergrps/ie.html
-2021/08/26 | 6322 | usergrps/usergrps/index.html
-2021/08/26 | 9041 | usergrps/usergrps/is.html
-2021/08/26 | 9293 | usergrps/usergrps/it.html
-2021/08/26 | 9010 | usergrps/usergrps/kh.html
-2021/08/26 | 9410 | usergrps/usergrps/kr.html
-2021/08/26 | 9895 | usergrps/usergrps/labels.pdf
-2021/08/11 | 2266 | usergrps/usergrps/labels.tex
-2021/08/26 | 8950 | usergrps/usergrps/lt.html
-2021/08/26 | 34150 | usergrps/usergrps/lugs.html
-2021/08/26 | 49897 | usergrps/usergrps/lugs.pdf
-2021/08/26 | 22025 | usergrps/usergrps/lugs.tex
-2021/08/26 | 9000 | usergrps/usergrps/mx.html
-2021/08/26 | 9386 | usergrps/usergrps/nl.html
-2021/08/26 | 9111 | usergrps/usergrps/no.html
-2021/08/26 | 9575 | usergrps/usergrps/pl.html
-2021/08/26 | 9139 | usergrps/usergrps/pt.html
-2021/08/26 | 9181 | usergrps/usergrps/us.html
-2021/08/26 | 9050 | usergrps/usergrps/uy.html
-2021/08/26 | 9121 | usergrps/usergrps/vn.html
-2021/08/26 | 9060 | usergrps/usergrps/za.html
+2021/10/01 | 9387 | usergrps/usergrps/bg.html
+2021/10/01 | 9056 | usergrps/usergrps/br.html
+2021/10/01 | 9349 | usergrps/usergrps/cn.html
+2021/10/01 | 9503 | usergrps/usergrps/cz.html
+2021/10/01 | 9637 | usergrps/usergrps/de.html
+2021/10/01 | 9141 | usergrps/usergrps/dk.html
+2021/10/01 | 8920 | usergrps/usergrps/ee.html
+2021/10/01 | 9145 | usergrps/usergrps/esc.html
+2021/10/01 | 9290 | usergrps/usergrps/es.html
+2021/10/01 | 9430 | usergrps/usergrps/fr.html
+2021/10/01 | 9273 | usergrps/usergrps/gb.html
+2021/10/01 | 9166 | usergrps/usergrps/gr.html
+2021/10/01 | 9570 | usergrps/usergrps/hu.html
+2021/10/01 | 9066 | usergrps/usergrps/ie.html
+2021/10/01 | 6322 | usergrps/usergrps/index.html
+2021/10/01 | 9041 | usergrps/usergrps/is.html
+2021/10/01 | 9293 | usergrps/usergrps/it.html
+2021/10/01 | 9010 | usergrps/usergrps/kh.html
+2021/10/01 | 9410 | usergrps/usergrps/kr.html
+2021/10/01 | 9891 | usergrps/usergrps/labels.pdf
+2021/10/01 | 2261 | usergrps/usergrps/labels.tex
+2021/10/01 | 9049 | usergrps/usergrps/lt.html
+2021/10/01 | 34280 | usergrps/usergrps/lugs.html
+2021/10/01 | 49917 | usergrps/usergrps/lugs.pdf
+2021/10/01 | 22106 | usergrps/usergrps/lugs.tex
+2021/10/01 | 9000 | usergrps/usergrps/mx.html
+2021/10/01 | 9386 | usergrps/usergrps/nl.html
+2021/10/01 | 9111 | usergrps/usergrps/no.html
+2021/10/01 | 9575 | usergrps/usergrps/pl.html
+2021/10/01 | 9139 | usergrps/usergrps/pt.html
+2021/10/01 | 9181 | usergrps/usergrps/us.html
+2021/10/01 | 9050 | usergrps/usergrps/uy.html
+2021/10/01 | 9121 | usergrps/usergrps/vn.html
+2021/10/01 | 9060 | usergrps/usergrps/za.html
1992/12/06 | 2551 | web/aplweb/announcement
1993/11/03 | 802292 | web/aplweb/aplweba.zip
1993/11/03 | 771814 | web/aplweb/aplwebb.zip
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 99e3778a33..862155f5dc 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index c9a7681c85..d8321e20e9 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,116 +1,374 @@
+2021/10/01 | 9891 | usergrps/usergrps/labels.pdf
+2021/10/01 | 98380 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/10/01 | 98259 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/10/01 | 975018 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/10/01 | 97339 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/10/01 | 9683 | macros/generic/markdown/markdown.md
+2021/10/01 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/10/01 | 9637 | usergrps/usergrps/de.html
+2021/10/01 | 961 | systems/win32/miktex/tm/packages/pr.ini
+2021/10/01 | 957618 | graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.pdf
+2021/10/01 | 9575 | usergrps/usergrps/pl.html
+2021/10/01 | 9570 | usergrps/usergrps/hu.html
+2021/10/01 | 95403 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/10/01 | 9503 | usergrps/usergrps/cz.html
+2021/10/01 | 94798 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/10/01 | 94310 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/10/01 | 9430 | usergrps/usergrps/fr.html
+2021/10/01 | 94260 | systems/texlive/tlnet/archive/tex4ebook.doc.r60663.tar.xz
+2021/10/01 | 9410 | usergrps/usergrps/kr.html
+2021/10/01 | 9387 | usergrps/usergrps/bg.html
+2021/10/01 | 9386 | usergrps/usergrps/nl.html
+2021/10/01 | 9349 | usergrps/usergrps/cn.html
+2021/10/01 | 9293 | usergrps/usergrps/it.html
+2021/10/01 | 9290 | usergrps/usergrps/es.html
+2021/10/01 | 9273 | usergrps/usergrps/gb.html
+2021/10/01 | 92287 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
+2021/10/01 | 9181 | usergrps/usergrps/us.html
+2021/10/01 | 9166 | usergrps/usergrps/gr.html
+2021/10/01 | 9145 | usergrps/usergrps/esc.html
+2021/10/01 | 9141 | usergrps/usergrps/dk.html
+2021/10/01 | 9139 | usergrps/usergrps/pt.html
+2021/10/01 | 9121 | usergrps/usergrps/vn.html
+2021/10/01 | 9111 | usergrps/usergrps/no.html
+2021/10/01 | 9066 | usergrps/usergrps/ie.html
+2021/10/01 | 9060 | usergrps/usergrps/za.html
+2021/10/01 | 9056 | usergrps/usergrps/br.html
+2021/10/01 | 9050 | usergrps/usergrps/uy.html
+2021/10/01 | 9049 | usergrps/usergrps/lt.html
+2021/10/01 | 9041 | usergrps/usergrps/is.html
+2021/10/01 | 9010 | usergrps/usergrps/kh.html
+2021/10/01 | 9000 | usergrps/usergrps/mx.html
+2021/10/01 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
+2021/10/01 | 8920 | usergrps/usergrps/ee.html
+2021/10/01 | 884915 | macros/unicodetex/latex/njuthesis.zip
+2021/10/01 | 87776 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/10/01 | 8769 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/10/01 | 873 | macros/latex/contrib/decision-table/README
+2021/10/01 | 866760 | graphics/pstricks/contrib/pst-fill.zip
+2021/10/01 | 83539 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/10/01 | 815242 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/10/01 | 80450 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/10/01 | 8027840 | graphics/pstricks/base.zip
+2021/10/01 | 78773 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/10/01 | 787082 | info/install-latex-guide-zh-cn.zip
+2021/10/01 | 78220 | macros/latex/contrib/tabularray/tabularray.tex
+2021/10/01 | 77951 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/10/01 | 7722 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/10/01 | 76826 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/10/01 | 764340 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
+2021/10/01 | 760493 | macros/latex/contrib/tabularray/tabularray.pdf
+2021/10/01 | 75 | macros/generic/markdown/examples/scientists.csv
+2021/10/01 | 75791 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/10/01 | 747376 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
+2021/10/01 | 745 | macros/unicodetex/latex/njuthesis/README.md
+2021/10/01 | 744116 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/10/01 | 74210 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/10/01 | 73197 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/10/01 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/10/01 | 729945 | macros/generic/markdown/markdown.pdf
+2021/10/01 | 72206 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/10/01 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
+2021/10/01 | 71670 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/10/01 | 714327 | macros/latex/contrib/tabularray.zip
+2021/10/01 | 70922 | macros/unicodetex/latex/tipauni/tipauni-commands.pdf
+2021/10/01 | 70647 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/10/01 | 69914 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/10/01 | 682 | graphics/pstricks/contrib/pst-fill/README
+2021/10/01 | 681252 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/10/01 | 6811706 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/10/01 | 68024 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/10/01 | 67819 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/10/01 | 67619 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/10/01 | 67482 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/10/01 | 65786 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/10/01 | 65618 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/10/01 | 64427 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/10/01 | 64185 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/10/01 | 6388 | systems/texlive/tlnet/archive/hanzibox.r60661.tar.xz
+2021/10/01 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/10/01 | 6322 | usergrps/usergrps/index.html
+2021/10/01 | 629399 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/10/01 | 62786 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/10/01 | 626760 | macros/generic/markdown/markdown.html
+2021/10/01 | 624652 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/10/01 | 62229 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/10/01 | 62192 | systems/texlive/tlnet/archive/siunitx.r60660.tar.xz
+2021/10/01 | 61813 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/10/01 | 615217 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/10/01 | 615154 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/10/01 | 60636 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/10/01 | 60039 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/10/01 | 596931 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/10/01 | 591780 | systems/texlive/tlnet/archive/tikz-trackschematic.doc.r60658.tar.xz
+2021/10/01 | 589840 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/10/01 | 57727 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/10/01 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/10/01 | 57139 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/10/01 | 571392 | macros/generic/markdown/markdown.dtx
+2021/10/01 | 57012 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/10/01 | 56685 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/10/01 | 566529 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/10/01 | 56514 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/10/01 | 56474 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/10/01 | 56355 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/10/01 | 56317 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/10/01 | 55730 | macros/xetex/latex/zitie/tex/zitie.sty
+2021/10/01 | 55498 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/10/01 | 54632 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/10/01 | 531853 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/10/01 | 52523 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/10/01 | 51750 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/10/01 | 51311 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/10/01 | 51202 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/10/01 | 51111 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/10/01 | 510588 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/10/01 | 50395 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/10/01 | 50153 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/10/01 | 49917 | usergrps/usergrps/lugs.pdf
+2021/10/01 | 49836 | macros/unicodetex/latex/tipauni/tipauni.dtx
+2021/10/01 | 49644 | systems/texlive/tlnet/archive/make4ht.r60662.tar.xz
+2021/10/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/10/01 | 486572 | systems/texlive/tlnet/archive/hanzibox.doc.r60661.tar.xz
+2021/10/01 | 48371 | graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.tex
+2021/10/01 | 483654 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/10/01 | 48253 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/10/01 | 476923 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/10/01 | 46907 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/10/01 | 461813 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/10/01 | 45968 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/10/01 | 45906 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/10/01 | 4580 | graphics/pstricks/base/Changes
+2021/10/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/10/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/10/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/10/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/10/01 | 45311 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/10/01 | 4530 | macros/generic/markdown/markdown.css
+2021/10/01 | 452 | macros/unicodetex/latex/tipauni/README.txt
+2021/10/01 | 4485 | macros/generic/markdown/docstrip.cfg
+2021/10/01 | 43427 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/10/01 | 43028 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/10/01 | 43003 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/10/01 | 42890 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/10/01 | 42712 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/10/01 | 42384 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/10/01 | 422886 | macros/unicodetex/latex/tipauni.zip
+2021/10/01 | 4197924 | install/macros/latex/contrib/lwarp.tds.zip
+2021/10/01 | 41193 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/10/01 | 40873 | macros/xetex/latex/zitie/doc/zitie-cn.tex
+2021/10/01 | 40229 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/10/01 | 400432 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60657.tar.xz
+2021/10/01 | 392793 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/10/01 | 39127 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/10/01 | 38140 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/10/01 | 37805 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/10/01 | 37360 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/10/01 | 37240 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/10/01 | 37180 | graphics/pstricks/base/dvips/pstricks.pro
+2021/10/01 | 3663 | macros/unicodetex/latex/tipauni/tipauni-commands.tex
+2021/10/01 | 36629 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/10/01 | 3611774 | macros/latex/contrib/lwarp.zip
+2021/10/01 | 357357 | macros/xetex/latex/zitie.zip
+2021/10/01 | 35691 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/10/01 | 35085 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/10/01 | 34666 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/10/01 | 345740 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/10/01 | 34280 | usergrps/usergrps/lugs.html
+2021/10/01 | 339839 | macros/xetex/latex/zitie/doc/zitie-cn.pdf
+2021/10/01 | 33634 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/10/01 | 33545 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/10/01 | 33349 | macros/latex/contrib/lwarp/lwarp.ins
+2021/10/01 | 330788 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/10/01 | 32672 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/10/01 | 325044 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/10/01 | 320216 | macros/unicodetex/latex/njuthesis/njuvisual.dtx
+2021/10/01 | 31620 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/10/01 | 31538 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/10/01 | 3144374 | macros/latex/contrib/lwarp/lwarp.pdf
+2021/10/01 | 31352 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/10/01 | 3123 | macros/generic/markdown/examples/example.md
+2021/10/01 | 31231 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/10/01 | 312110 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/10/01 | 30824 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/10/01 | 30059 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/10/01 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/10/01 | 29559 | macros/latex/contrib/lwarp/lwarpmk.lua
+2021/10/01 | 295203 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/10/01 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt
+2021/10/01 | 29037 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/10/01 | 284580 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/10/01 | 284022 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/10/01 | 28390 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/10/01 | 2837 | macros/unicodetex/latex/njuthesis/njuthesis.ins
+2021/10/01 | 28180 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/10/01 | 2796724 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/10/01 | 27729 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/10/01 | 2758078 | macros/latex/contrib/lwarp/lwarp.dtx
+2021/10/01 | 27390 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/10/01 | 27358 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/10/01 | 27198 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/10/01 | 2672610 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/10/01 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/10/01 | 25952 | systems/texlive/tlnet/archive/luapstricks.r60659.tar.xz
+2021/10/01 | 258880 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/10/01 | 25629613 | systems/texlive/tlnet/install-tl.zip
+2021/10/01 | 25290 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/10/01 | 250262 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/10/01 | 25020 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/10/01 | 24996 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/10/01 | 243425 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/10/01 | 24262 | macros/latex/contrib/decision-table/decision-table.dtx
+2021/10/01 | 241814 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/10/01 | 241662 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/10/01 | 241634 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/10/01 | 23903 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/10/01 | 238460 | macros/unicodetex/latex/tipauni/tipauni.pdf
+2021/10/01 | 23364 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/10/01 | 2335 | macros/xetex/latex/zitie/README.md
+2021/10/01 | 2313932 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/10/01 | 231322 | macros/latex/contrib/tabularray/tabularray.sty
+2021/10/01 | 2261 | usergrps/usergrps/labels.tex
+2021/10/01 | 22106 | usergrps/usergrps/lugs.tex
+2021/10/01 | 22048 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/10/01 | 215249 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/10/01 | 21224 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/10/01 | 20875526 | systems/texlive/tlnet/install-tl-windows.exe
+2021/10/01 | 208047 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/10/01 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/10/01 | 2035132 | systems/texlive/tlnet/archive/siunitx.doc.r60660.tar.xz
+2021/10/01 | 202796 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/10/01 | 20136 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/10/01 | 2009904 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/10/01 | 199731 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/10/01 | 198168 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/10/01 | 196872 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/10/01 | 196740 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/10/01 | 195636 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/10/01 | 194381 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/10/01 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
+2021/10/01 | 18367 | graphics/pstricks/base/dvips/pst-dots.pro
+2021/10/01 | 18176 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/10/01 | 180120 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/10/01 | 180012 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/10/01 | 17981 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/10/01 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/10/01 | 17516 | systems/texlive/tlnet/archive/tex4ebook.r60663.tar.xz
+2021/10/01 | 174564 | systems/texlive/tlnet/archive/make4ht.doc.r60662.tar.xz
+2021/10/01 | 1713893 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/10/01 | 169243 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/10/01 | 16890709 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/10/01 | 1669 | macros/unicodetex/latex/tipauni/tipauni.ins
+2021/10/01 | 16414 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/10/01 | 16356 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/10/01 | 1624 | macros/latex/contrib/lwarp/README.txt
+2021/10/01 | 16120 | systems/texlive/tlnet/archive/hanzibox.source.r60661.tar.xz
+2021/10/01 | 159580 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/10/01 | 15653 | macros/generic/markdown/README.md
+2021/10/01 | 154805 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/10/01 | 154427 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/10/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/10/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/10/01 | 15236 | systems/texlive/tlnet/archive/tikz-trackschematic.r60658.tar.xz
+2021/10/01 | 1496 | systems/texlive/tlnet/archive/luapstricks.doc.r60659.tar.xz
+2021/10/01 | 1481 | macros/latex/contrib/decision-table/decision-table.ins
+2021/10/01 | 147373 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/10/01 | 1464203 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/10/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/10/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/10/01 | 14350 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/10/01 | 1421867 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/10/01 | 140951 | macros/generic/markdown/markdown.png
+2021/10/01 | 138 | graphics/pstricks/contrib/pst-fill/Changes
+2021/10/01 | 136821 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/10/01 | 136817 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/10/01 | 1358922 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/10/01 | 1358809 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/10/01 | 13563 | graphics/pstricks/contrib/pst-fill/tex/pst-fill.tex
+2021/10/01 | 13464 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/10/01 | 1340927 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/10/01 | 133863 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/10/01 | 1333 | macros/generic/markdown/markdown.ins
+2021/10/01 | 1301193 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/10/01 | 1291299 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/10/01 | 1262656 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/10/01 | 1261769 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/10/01 | 124281 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/10/01 | 1205 | macros/generic/markdown/examples/latex.tex
+2021/10/01 | 119821 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/10/01 | 1169718 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/10/01 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/10/01 | 115351 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/10/01 | 113341 | macros/latex/contrib/decision-table.zip
+2021/10/01 | 112983 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/10/01 | 112087 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/10/01 | 111518 | macros/latex/contrib/decision-table/decision-table.pdf
+2021/10/01 | 1095 | macros/generic/markdown/examples/context.tex
+2021/10/01 | 109032 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/10/01 | 108284 | systems/texlive/tlnet/archive/texlive-scripts.r60657.tar.xz
+2021/10/01 | 107982 | macros/unicodetex/latex/tipauni/tipauni-example.pdf
+2021/10/01 | 1078883 | install/macros/generic/markdown.tds.zip
+2021/10/01 | 1077990 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/10/01 | 107344 | systems/texlive/tlnet/archive/siunitx.source.r60660.tar.xz
+2021/10/01 | 105223 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/10/01 | 103399 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/10/01 | 103203 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/10/01 | 1015291 | macros/generic/markdown.zip
+2021/10/01 | 10115 | macros/unicodetex/latex/tipauni/tipauni-example.tex
+2021/10/01 | 100626 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
2021/09/30 | 991 | support/tex4ebook/tex4ebook-exec_azw.lua
-2021/09/30 | 98382 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/09/30 | 98261 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2021/09/30 | 9796 | support/make4ht/lapp-mk4.lua
-2021/09/30 | 975020 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
2021/09/30 | 974 | support/make4ht/extensions/make4ht-ext-latexmk_build.lua
-2021/09/30 | 97339 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/09/30 | 96631 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/09/30 | 961 | systems/win32/miktex/tm/packages/pr.ini
-2021/09/30 | 95402 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/09/30 | 94799 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/09/30 | 94311 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2021/09/30 | 9430 | support/tex4ebook/tex4ebook-exec_epub3.lua
2021/09/30 | 935 | support/make4ht/domfilters/make4ht-itemparagraphs.lua
2021/09/30 | 919 | support/make4ht/extensions/make4ht-ext-mjcli.lua
2021/09/30 | 895 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line_with_hectometer.tikz
-2021/09/30 | 87776 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/09/30 | 8768 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
2021/09/30 | 872 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bend_train.tikz
2021/09/30 | 847 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_middle.tikz
2021/09/30 | 84685 | support/tex4ebook/tex4ebook-doc.pdf
2021/09/30 | 8387 | support/make4ht/extensions/make4ht-ext-dvisvgm_hashes.lua
2021/09/30 | 8374008 | systems/texlive/tlnet/archive/tlgs.win32.r60648.tar.xz
-2021/09/30 | 83540 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2021/09/30 | 8257 | support/make4ht/domfilters/make4ht-collapsetoc.lua
-2021/09/30 | 815244 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
2021/09/30 | 81127 | macros/xetex/latex/hanzibox/hanzibox.dtx
2021/09/30 | 8083 | graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.symbology.code.tex
-2021/09/30 | 80449 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2021/09/30 | 798 | support/make4ht/make4ht-doc.tex
2021/09/30 | 798 | support/make4ht/filters/make4ht-cleanspan.lua
2021/09/30 | 7915 | support/make4ht/make4ht-aeneas-config.lua
-2021/09/30 | 78774 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
2021/09/30 | 78020 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_chamstadt.pdf
-2021/09/30 | 77951 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/09/30 | 7722 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/09/30 | 76826 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2021/09/30 | 7624 | graphics/pstricks/contrib/luapstricks/PSTricksDotFont.otf
-2021/09/30 | 75792 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
2021/09/30 | 7547 | support/make4ht/make4ht-indexing.lua
2021/09/30 | 752 | support/tex4ebook/tex4ebook-doc.tex
-2021/09/30 | 744116 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/09/30 | 74209 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
2021/09/30 | 73933 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.tex
2021/09/30 | 733 | support/make4ht/formats/make4ht-tei.lua
-2021/09/30 | 73198 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/09/30 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
2021/09/30 | 72610 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_berg.pdf
-2021/09/30 | 72206 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2021/09/30 | 718 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hectometer.tikz
-2021/09/30 | 71669 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
2021/09/30 | 713 | support/make4ht/filters/make4ht-entities-to-unicode.lua
-2021/09/30 | 70648 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/09/30 | 69914 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2021/09/30 | 698124 | graphics/pgf/contrib/tikz-trackschematic.zip
-2021/09/30 | 681253 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/09/30 | 6811604 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/09/30 | 68025 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/09/30 | 67821 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/09/30 | 67618 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/09/30 | 67483 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/09/30 | 65786 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/09/30 | 65620 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/09/30 | 6840 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/09/30 | 655 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double.tikz
2021/09/30 | 655 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double_full_closure.tikz
-2021/09/30 | 64430 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/09/30 | 64186 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
2021/09/30 | 638 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth.tikz
-2021/09/30 | 63777 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
2021/09/30 | 6356 | support/make4ht/make4ht-lib.lua
-2021/09/30 | 629400 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
2021/09/30 | 628 | support/make4ht/extensions/make4ht-ext-common_filters.lua
2021/09/30 | 627 | support/make4ht/domfilters/make4ht-odtimagesize.lua
-2021/09/30 | 62787 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
2021/09/30 | 6261 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_chamstadt.tex
-2021/09/30 | 624656 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/09/30 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2021/09/30 | 619 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_middle.tikz
-2021/09/30 | 61812 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
2021/09/30 | 617 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge_track_beneath.tikz
-2021/09/30 | 615217 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/09/30 | 615154 | systems/win32/miktex/tm/packages/files.csv.lzma
2021/09/30 | 611 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_distance.tikz
2021/09/30 | 6116 | support/make4ht/filters/make4ht-mjcli.lua
-2021/09/30 | 60639 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/09/30 | 60039 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
2021/09/30 | 598196 | systems/texlive/tlnet/archive/easybook.doc.r60654.tar.xz
2021/09/30 | 596 | support/make4ht/filters/make4ht-filter.lua
-2021/09/30 | 596931 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2021/09/30 | 595 | support/make4ht/domfilters/make4ht-idcolons.lua
2021/09/30 | 592 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_special.tikz
-2021/09/30 | 589846 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
2021/09/30 | 580 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking_with_turnout.tikz
-2021/09/30 | 57729 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/09/30 | 57548 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
2021/09/30 | 5726 | support/tex4ebook/tex4ebook
-2021/09/30 | 57140 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/09/30 | 57012 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
2021/09/30 | 569 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_bidirectional.tikz
2021/09/30 | 569 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_right.tikz
2021/09/30 | 566 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_left.tikz
2021/09/30 | 566 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_both.tikz
-2021/09/30 | 56684 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/09/30 | 566530 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2021/09/30 | 565 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/combined_signal_forward.tikz
-2021/09/30 | 56514 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/09/30 | 56476 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/09/30 | 56356 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/09/30 | 56317 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
2021/09/30 | 559 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_backward.tikz
2021/09/30 | 557 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_forward.tikz
-2021/09/30 | 55498 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/09/30 | 54631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2021/09/30 | 543 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_backward.tikz
2021/09/30 | 542 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_forward.tikz
2021/09/30 | 541 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter.tikz
@@ -122,11 +380,9 @@
2021/09/30 | 533 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_manually.tikz
2021/09/30 | 531 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_manually.tikz
2021/09/30 | 531 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_manually.tikz
-2021/09/30 | 531851 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
2021/09/30 | 529 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_manually.tikz
2021/09/30 | 528 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_right.tikz
2021/09/30 | 527 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_left.tikz
-2021/09/30 | 52523 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
2021/09/30 | 5238 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_berg.tex
2021/09/30 | 520 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_backward.tikz
2021/09/30 | 520 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_moving_points.tikz
@@ -138,7 +394,6 @@
2021/09/30 | 518 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_moving_points.tikz
2021/09/30 | 517 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_right_position.tikz
2021/09/30 | 517 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_right_position.tikz
-2021/09/30 | 51749 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2021/09/30 | 516 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_forward.tikz
2021/09/30 | 516 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_left_position.tikz
2021/09/30 | 516 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_moving_points.tikz
@@ -148,18 +403,12 @@
2021/09/30 | 514 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_left_position.tikz
2021/09/30 | 514 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_backward.tikz
2021/09/30 | 513 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_forward.tikz
-2021/09/30 | 51309 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/09/30 | 51202 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/09/30 | 51113 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
2021/09/30 | 510 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route.tikz
-2021/09/30 | 510587 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2021/09/30 | 506 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward.tikz
2021/09/30 | 504 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward.tikz
2021/09/30 | 504 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward.tikz
-2021/09/30 | 50395 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
2021/09/30 | 503533 | macros/xetex/latex/hanzibox.zip
2021/09/30 | 502 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward.tikz
-2021/09/30 | 50153 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
2021/09/30 | 5002 | macros/xetex/latex/hanzibox/README.md
2021/09/30 | 499 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_number.tikz
2021/09/30 | 497 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_line.tikz
@@ -168,15 +417,12 @@
2021/09/30 | 494235 | macros/xetex/latex/hanzibox/hanzibox.pdf
2021/09/30 | 492 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking.tikz
2021/09/30 | 4920 | support/make4ht/domfilters/make4ht-sectionid.lua
-2021/09/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/09/30 | 4881 | support/tex4ebook/tex4ebook.sty
2021/09/30 | 485 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_bidirectional.tikz
2021/09/30 | 485 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge.tikz
2021/09/30 | 483 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_backward.tikz
-2021/09/30 | 483651 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
2021/09/30 | 482 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_forward.tikz
2021/09/30 | 482 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_backward.tikz
-2021/09/30 | 48253 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2021/09/30 | 481 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_automatic.tikz
2021/09/30 | 481 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_backward.tikz
2021/09/30 | 481 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_backward.tikz
@@ -190,7 +436,6 @@
2021/09/30 | 478 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_human.tikz
2021/09/30 | 476 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward_locked.tikz
2021/09/30 | 476 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_backward.tikz
-2021/09/30 | 476922 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2021/09/30 | 475 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward_locked.tikz
2021/09/30 | 475 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_backward.tikz
2021/09/30 | 475 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_forward.tikz
@@ -230,7 +475,6 @@
2021/09/30 | 469 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_backward.tikz
2021/09/30 | 469 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_forward.tikz
2021/09/30 | 469 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_forward.tikz
-2021/09/30 | 46906 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
2021/09/30 | 468 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_backward.tikz
2021/09/30 | 468 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_forward.tikz
2021/09/30 | 468 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward.tikz
@@ -250,229 +494,102 @@
2021/09/30 | 463 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_forward.tikz
2021/09/30 | 462 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_backward.tikz
2021/09/30 | 461 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_forward.tikz
-2021/09/30 | 461812 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
2021/09/30 | 460 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_right.tikz
-2021/09/30 | 45970 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/09/30 | 45906 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
2021/09/30 | 458 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_backward.tikz
2021/09/30 | 458 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_left.tikz
2021/09/30 | 458 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_without_barrier.tikz
2021/09/30 | 457 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_forward.tikz
2021/09/30 | 456 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right.tikz
-2021/09/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/09/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2021/09/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/09/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2021/09/30 | 45311 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2021/09/30 | 448 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line.tikz
2021/09/30 | 447 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hump.tikz
2021/09/30 | 444 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_backward.tikz
2021/09/30 | 443 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_forward.tikz
2021/09/30 | 434 | support/make4ht/extensions/make4ht-ext-mathjaxnode.lua
-2021/09/30 | 43425 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
2021/09/30 | 432 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_backward.tikz
2021/09/30 | 4325 | support/tex4ebook/tex4ebook-epub3.4ht
2021/09/30 | 431 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_forward.tikz
-2021/09/30 | 43029 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/09/30 | 43003 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/09/30 | 42890 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/09/30 | 42711 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
2021/09/30 | 425 | support/make4ht/filters/make4ht-fix-links.lua
2021/09/30 | 424 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_closure.tikz
-2021/09/30 | 42386 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2021/09/30 | 4234 | support/make4ht/make4ht-htlatex.lua
2021/09/30 | 4207 | support/make4ht/make4ht
2021/09/30 | 41355 | support/make4ht/README
-2021/09/30 | 41193 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2021/09/30 | 407 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/secondary_track.tikz
2021/09/30 | 4050 | graphics/pgf/contrib/tikz-trackschematic/README.md
2021/09/30 | 402 | support/make4ht/filters/make4ht-hruletohr.lua
2021/09/30 | 402 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_track.tikz
-2021/09/30 | 40229 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/09/30 | 400400 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60647.tar.xz
2021/09/30 | 3977 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-documentation.sty
+2021/09/30 | 3965 | graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.bib
2021/09/30 | 395 | support/make4ht/formats/make4ht-html5.lua
-2021/09/30 | 392793 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/09/30 | 39129 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
2021/09/30 | 386 | support/make4ht/filters/make4ht-fixligatures.lua
2021/09/30 | 3861 | support/make4ht/extensions/make4ht-ext-preprocess_input.lua
2021/09/30 | 38279 | graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.trafficcontrol.code.tex
-2021/09/30 | 38141 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2021/09/30 | 3802 | support/make4ht/domfilters/make4ht-mathmlfixes.lua
-2021/09/30 | 37807 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
2021/09/30 | 375 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/interlocking.tikz
-2021/09/30 | 37360 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/09/30 | 37241 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/09/30 | 36628 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2021/09/30 | 36564 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.tex
-2021/09/30 | 35690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
2021/09/30 | 3538 | support/make4ht/filters/make4ht-staticsite.lua
2021/09/30 | 3520 | systems/texlive/tlnet/archive/linenoamsmath.source.r60655.tar.xz
-2021/09/30 | 35087 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/09/30 | 34666 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2021/09/30 | 345 | support/make4ht/formats/make4ht-jats.lua
-2021/09/30 | 345738 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/09/30 | 33633 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2021/09/30 | 3356 | graphics/pstricks/contrib/luapstricks/README.md
-2021/09/30 | 33545 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/09/30 | 330787 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2021/09/30 | 326 | support/make4ht/formats/make4ht-xhtml.lua
-2021/09/30 | 32674 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2021/09/30 | 32576 | support/make4ht/changelog.tex
-2021/09/30 | 325044 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2021/09/30 | 3247 | support/make4ht/make4ht-xtpipes.lua
2021/09/30 | 321 | support/make4ht/domfilters/make4ht-odtpartable.lua
2021/09/30 | 3191 | support/make4ht/filters/make4ht-mathjaxnode.lua
2021/09/30 | 3167 | support/make4ht/make4ht-logging.lua
-2021/09/30 | 31620 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/09/30 | 31537 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/09/30 | 31351 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/09/30 | 31230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/09/30 | 312109 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
2021/09/30 | 310 | support/make4ht/extensions/make4ht-ext-join_colors.lua
-2021/09/30 | 30825 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2021/09/30 | 30539 | graphics/pstricks/contrib/luapstricks.zip
-2021/09/30 | 30058 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/09/30 | 29841 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/09/30 | 295204 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2021/09/30 | 291 | support/make4ht/filters/make4ht-entities.lua
-2021/09/30 | 29034 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
2021/09/30 | 288 | support/make4ht/extensions/make4ht-ext-odttemplate.lua
-2021/09/30 | 284581 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/09/30 | 284024 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/09/30 | 28391 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/09/30 | 28180 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/09/30 | 2796726 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2021/09/30 | 2794 | support/make4ht/extensions/make4ht-ext-detect_engine.lua
2021/09/30 | 2780 | support/make4ht/domfilters/make4ht-tablerows.lua
-2021/09/30 | 27728 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
2021/09/30 | 2751 | support/make4ht/make4ht-errorlogparser.lua
2021/09/30 | 2741 | support/make4ht/domfilters/make4ht-booktabs.lua
-2021/09/30 | 27390 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/09/30 | 27358 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/09/30 | 27199 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2021/09/30 | 2677 | support/tex4ebook/tex4ebook-tidyconf.conf
-2021/09/30 | 2672612 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
2021/09/30 | 26531 | graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.topology.code.tex
2021/09/30 | 264 | support/make4ht/filters/make4ht-cleanspan-nat.lua
-2021/09/30 | 263959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2021/09/30 | 26311 | graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.electrics.code.tex
2021/09/30 | 262017 | support/make4ht.zip
-2021/09/30 | 258881 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/09/30 | 25629571 | systems/texlive/tlnet/install-tl.zip
-2021/09/30 | 25291 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/09/30 | 250265 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/09/30 | 25020 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/09/30 | 24995 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2021/09/30 | 2465 | support/make4ht/make4ht-config.lua
-2021/09/30 | 243426 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2021/09/30 | 242 | macros/xetex/latex/hanzibox/build.sh
-2021/09/30 | 241812 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/09/30 | 241674 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/09/30 | 241654 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/09/30 | 23902 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2021/09/30 | 23721 | graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.vehicles.code.tex
2021/09/30 | 235544 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.pdf
-2021/09/30 | 23365 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2021/09/30 | 2324 | support/make4ht/filters/make4ht-odttemplate.lua
-2021/09/30 | 2314568 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/09/30 | 2270 | support/make4ht/filters/make4ht-domfilter.lua
2021/09/30 | 224452 | systems/texlive/tlnet/archive/linenoamsmath.doc.r60655.tar.xz
2021/09/30 | 2232 | support/make4ht/domfilters/make4ht-joincolors.lua
-2021/09/30 | 22049 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/09/30 | 215249 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/09/30 | 21225 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
2021/09/30 | 2103992 | systems/texlive/tlnet/archive/kpfonts-otf.doc.r60653.tar.xz
-2021/09/30 | 20873161 | systems/texlive/tlnet/install-tl-windows.exe
-2021/09/30 | 208049 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/09/30 | 206604 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
2021/09/30 | 2063 | graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.code.tex
-2021/09/30 | 202795 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/09/30 | 20136 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/09/30 | 2009906 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/09/30 | 199731 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
2021/09/30 | 198855 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.pdf
-2021/09/30 | 198170 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/09/30 | 196871 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/09/30 | 196740 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2021/09/30 | 19578 | support/make4ht/mkutils.lua
-2021/09/30 | 195636 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/09/30 | 194384 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2021/09/30 | 18177 | graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.constructions.code.tex
-2021/09/30 | 18176 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/09/30 | 180120 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/09/30 | 180012 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/09/30 | 17980 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/09/30 | 178353 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
2021/09/30 | 1732 | support/tex4ebook/tex4ebook-exec_mobi.lua
2021/09/30 | 17256 | systems/texlive/tlnet/archive/easybook.source.r60654.tar.xz
2021/09/30 | 17212 | systems/texlive/tlnet/archive/easybook.r60654.tar.xz
-2021/09/30 | 1713892 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
2021/09/30 | 1710 | graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.sty
-2021/09/30 | 169242 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/09/30 | 16890505 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2021/09/30 | 16786 | CTAN.sites
2021/09/30 | 16595 | support/tex4ebook/readme.tex
-2021/09/30 | 16414 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/09/30 | 16357 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/09/30 | 159578 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2021/09/30 | 15937 | support/tex4ebook/tex4ebook-exec_epub.lua
-2021/09/30 | 154806 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/09/30 | 154425 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/09/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2021/09/30 | 15359 | support/tex4ebook/tex4ebook.4ht
-2021/09/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2021/09/30 | 152568 | support/make4ht/make4ht-doc.pdf
2021/09/30 | 1520 | systems/texlive/tlnet/archive/collection-mathscience.r60655.tar.xz
-2021/09/30 | 147373 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/09/30 | 1464202 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/09/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2021/09/30 | 1458 | support/make4ht/domfilters/make4ht-odtsvg.lua
-2021/09/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/09/30 | 14349 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2021/09/30 | 1421869 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2021/09/30 | 14014 | support/tex4ebook/changelog.tex
-2021/09/30 | 136820 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/09/30 | 136818 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/09/30 | 1359309 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/09/30 | 1358952 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/09/30 | 13465 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/09/30 | 1340928 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/09/30 | 133863 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2021/09/30 | 1330 | support/make4ht/extensions/make4ht-ext-tidy.lua
2021/09/30 | 13129 | support/tex4ebook/README
-2021/09/30 | 1301193 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/09/30 | 1291300 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/09/30 | 1262338 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2021/09/30 | 1261877 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2021/09/30 | 125092 | graphics/pstricks/contrib/luapstricks/luapstricks.lua
-2021/09/30 | 124281 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2021/09/30 | 1215 | support/make4ht/filters/make4ht-svg-height.lua
2021/09/30 | 120392 | support/tex4ebook.zip
-2021/09/30 | 119819 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2021/09/30 | 1188 | systems/texlive/tlnet/archive/linenoamsmath.r60655.tar.xz
2021/09/30 | 11819 | graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.measures.code.tex
-2021/09/30 | 1169715 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/09/30 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2021/09/30 | 115350 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2021/09/30 | 1151 | support/tex4ebook/tex4ebook-exec_azw3.lua
2021/09/30 | 1143 | support/make4ht/formats/make4ht-docbook.lua
-2021/09/30 | 112982 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/09/30 | 112089 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/09/30 | 109030 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/09/30 | 108216 | systems/texlive/tlnet/archive/texlive-scripts.r60647.tar.xz
2021/09/30 | 1082124 | systems/texlive/tlnet/archive/kpfonts-otf.r60653.tar.xz
2021/09/30 | 1077 | support/make4ht/extensions/make4ht-ext-common_domfilters.lua
-2021/09/30 | 1077991 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
2021/09/30 | 10647 | support/make4ht/formats/make4ht-odt.lua
2021/09/30 | 1057 | support/make4ht/domfilters/make4ht-fixinlines.lua
2021/09/30 | 10527 | support/make4ht/mkparams.lua
-2021/09/30 | 105223 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2021/09/30 | 1039 | support/make4ht/make4ht-filterlib.lua
-2021/09/30 | 103400 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/09/30 | 103202 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
2021/09/30 | 1026 | support/make4ht/domfilters/make4ht-t4htlinks.lua
-2021/09/30 | 100625 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
2021/09/29 | 996 | macros/latex/contrib/siunitx/README.md
2021/09/29 | 98475 | macros/latex/contrib/siunitx/siunitx-unit.dtx
2021/09/29 | 9362 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
@@ -481,9 +598,9 @@
2021/09/29 | 802 | macros/latex/contrib/linenoamsmath/linenoamsmath.ins
2021/09/29 | 79241 | macros/latex/contrib/easybook/easybook.dtx
2021/09/29 | 78297 | macros/latex/contrib/easybook/easybook.tex
+2021/09/29 | 746 | graphics/pstricks/contrib/pst-fill/latex/pst-fill.sty
2021/09/29 | 6828 | fonts/kpfonts-otf/README.md
2021/09/29 | 66440 | fonts/kpfonts-otf/fonts/KpMono-Italic.otf
-2021/09/29 | 6623 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/09/29 | 6564 | systems/texlive/tlnet/archive/uwa-letterhead.source.r60635.tar.xz
2021/09/29 | 65136 | fonts/kpfonts-otf/fonts/KpMono-BoldItalic.otf
2021/09/29 | 638362 | macros/latex/contrib/siunitx/siunitx.pdf
@@ -496,7 +613,6 @@
2021/09/29 | 578327 | macros/latex/contrib/easybook/easybook.pdf
2021/09/29 | 57652 | systems/texlive/tlnet/archive/uwa-letterhead.doc.r60635.tar.xz
2021/09/29 | 5692 | systems/texlive/tlnet/archive/uwa-pif.source.r60640.tar.xz
-2021/09/29 | 5652 | systems/texlive/tlnet/archive/hanzibox.r60639.tar.xz
2021/09/29 | 5600 | systems/texlive/tlnet/archive/bxjaholiday.r60636.tar.xz
2021/09/29 | 55200 | systems/texlive/tlnet/archive/reledmac.r60637.tar.xz
2021/09/29 | 547 | macros/latex/contrib/linenoamsmath/README
@@ -508,7 +624,6 @@
2021/09/29 | 4746 | macros/latex/contrib/siunitx/siunitx-locale.dtx
2021/09/29 | 469 | fonts/kpfonts-otf/tex/KpRoman.fontspec
2021/09/29 | 458264 | fonts/kpfonts-otf/fonts/KpMath-Light.otf
-2021/09/29 | 455704 | systems/texlive/tlnet/archive/hanzibox.doc.r60639.tar.xz
2021/09/29 | 431712 | fonts/kpfonts-otf/fonts/KpMath-Regular.otf
2021/09/29 | 4305616 | fonts/kpfonts-otf.zip
2021/09/29 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
@@ -532,7 +647,6 @@
2021/09/29 | 226470 | macros/latex/contrib/linenoamsmath.zip
2021/09/29 | 2251188 | macros/latex/contrib/siunitx.zip
2021/09/29 | 224791 | macros/latex/contrib/linenoamsmath/linenoamsmath.pdf
-2021/09/29 | 21328 | systems/texlive/tlnet/archive/luapstricks.r60642.tar.xz
2021/09/29 | 21043 | fonts/kpfonts-otf/tex/kpfonts-otf.sty
2021/09/29 | 210340 | systems/texlive/tlnet/archive/bxjaholiday.doc.r60636.tar.xz
2021/09/29 | 208620 | systems/texlive/tlnet/archive/reledmac.source.r60637.tar.xz
@@ -550,9 +664,7 @@
2021/09/29 | 1584 | systems/texlive/tlnet/archive/collection-publishers.r60641.tar.xz
2021/09/29 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
2021/09/29 | 1515203 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2021/09/29 | 1492 | systems/texlive/tlnet/archive/luapstricks.doc.r60642.tar.xz
2021/09/29 | 147740 | macros/latex/contrib/siunitx/siunitx.tex
-2021/09/29 | 14724 | systems/texlive/tlnet/archive/hanzibox.source.r60639.tar.xz
2021/09/29 | 142856 | fonts/kpfonts-otf/fonts/KpRoman-BoldItalic.otf
2021/09/29 | 140444 | fonts/kpfonts-otf/fonts/KpRoman-SemiboldItalic.otf
2021/09/29 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r60643.tar.xz
@@ -648,12 +760,14 @@
2021/09/28 | 13992183 | macros/latex/contrib/willowtreebook/willowtreebook.pdf
2021/09/28 | 13508657 | macros/latex/contrib/reledmac.zip
2021/09/28 | 121871 | language/japanese/BX/bxjaholiday/bxjaholiday-ja.pdf
+2021/09/28 | 121586 | graphics/pstricks/base/generic/pstricks.tex
2021/09/28 | 1107 | macros/unicodetex/latex/uwa-letterhead/uwa-letterhead-example.tex
2021/09/28 | 1091 | language/japanese/BX/bxjaholiday/LICENSE
2021/09/28 | 1069 | macros/unicodetex/latex/uwa-pcf/README
2021/09/28 | 1056 | macros/unicodetex/latex/uwa-letterhead/README
2021/09/28 | 1032 | macros/unicodetex/latex/uwa-pif/README
2021/09/28 | 1006705 | macros/latex/contrib/reledmac/reledpar.pdf
+2021/09/27 | 9987 | graphics/pstricks/base/generic/pstricks-dots.tex
2021/09/27 | 962220 | systems/texlive/tlnet/archive/pst-3dplot.doc.r60619.tar.xz
2021/09/27 | 94232 | systems/texlive/tlnet/archive/latexmk.r60617.tar.xz
2021/09/27 | 896174 | macros/latex/contrib/reledmac/reledmac.dtx
@@ -668,6 +782,7 @@
2021/09/27 | 450713352 | systems/mac/mactex/MacTeXtras-20210927.zip
2021/09/27 | 3962 | macros/latex/contrib/reledmac/README.md
2021/09/27 | 38194 | systems/mac/mactex/ExtrasFolder.pdf
+2021/09/27 | 3152 | graphics/pstricks/base/generic/pstricks-tex.def
2021/09/27 | 306199 | macros/latex/contrib/reledmac/reledpar.dtx
2021/09/27 | 2408 | systems/texlive/tlnet/archive/scrambledenvs.r60615.tar.xz
2021/09/27 | 22632 | systems/texlive/tlnet/archive/pst-plot.r60620.tar.xz
@@ -687,6 +802,7 @@
2021/09/27 | 1095203 | support/TeX4ht/source/tex4ht-4ht.tex
2021/09/27 | 106384 | systems/texlive/tlnet/archive/pst-tools.doc.r60621.tar.xz
2021/09/27 | 10634380 | systems/texlive/tlnet/archive/pstricks-add.doc.r60622.tar.xz
+2021/09/27 | 1026 | graphics/pstricks/base/generic/pstricks-xetex.def
2021/09/26 | 9996 | systems/texlive/tlnet/archive/latexbug.source.r60609.tar.xz
2021/09/26 | 970944 | systems/texlive/tlnet/archive/chemplants.doc.r60606.tar.xz
2021/09/26 | 86744 | systems/texlive/tlnet/archive/pstricks.r60607.tar.xz
@@ -706,8 +822,10 @@
2021/09/26 | 38756 | systems/texlive/tlnet/archive/acmart.r60608.tar.xz
2021/09/26 | 367012 | fonts/erewhon-math/Erewhon-Math.otf
2021/09/26 | 3570160 | systems/texlive/tlnet/archive/acmart.doc.r60608.tar.xz
+2021/09/26 | 3300 | macros/xetex/latex/zitie/tex/zitie.luatex.def
2021/09/26 | 2741 | macros/latex/contrib/thalie/CHANGELOG.md
2021/09/26 | 24352 | fonts/erewhon-math/Erewhon-Math.ltx
+2021/09/26 | 2236 | macros/xetex/latex/zitie/tex/zitie.xetex.def
2021/09/26 | 2226464 | fonts/erewhon-math.zip
2021/09/26 | 22002 | macros/latex/contrib/scrambledenvs/scrambledenvs.dtx
2021/09/26 | 2167 | macros/latex/contrib/thalie/thalie.ins
@@ -726,27 +844,16 @@
2021/09/26 | 1001 | macros/latex/contrib/thalie/dicts/thalie-english.trsl
2021/09/25 | 9947211 | macros/latex/contrib/acmart.zip
2021/09/25 | 992225 | graphics/pgf/contrib/chemplants.zip
-2021/09/25 | 9489 | graphics/pstricks/base/generic/pstricks-dots.tex
2021/09/25 | 9066 | graphics/pgf/contrib/chemplants/chemplants-changes.tex
2021/09/25 | 88111 | graphics/pstricks/contrib/pstricks-add/tex/pstricks-add.tex
2021/09/25 | 8428 | systems/texlive/tlnet/archive/yamlvars.r60602.tar.xz
2021/09/25 | 83 | macros/latex/required/latexbug/README.md
2021/09/25 | 828382 | graphics/pgf/contrib/chemplants/chemplants-doc.pdf
-2021/09/25 | 8027659 | graphics/pstricks/base.zip
2021/09/25 | 801384 | systems/texlive/tlnet/archive/ccool.doc.r60600.tar.xz
-2021/09/25 | 769338 | macros/latex/contrib/acmart/samples/sample-lualatex.pdf
2021/09/25 | 756 | systems/texlive/tlnet/archive/collection-luatex.r60602.tar.xz
-2021/09/25 | 653977 | macros/latex/contrib/acmart/samples/sample-xelatex.pdf
-2021/09/25 | 599496 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
-2021/09/25 | 599062 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf
-2021/09/25 | 597009 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
-2021/09/25 | 587164 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
2021/09/25 | 57931 | graphics/pgf/contrib/chemplants/chemplants.sty
-2021/09/25 | 544701 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf
-2021/09/25 | 4650 | graphics/pstricks/base/Changes
2021/09/25 | 3992 | systems/texlive/tlnet/archive/ccool.r60600.tar.xz
2021/09/25 | 38152 | systems/texlive/tlnet/archive/yamlvars.doc.r60602.tar.xz
-2021/09/25 | 37132 | graphics/pstricks/base/dvips/pstricks.pro
2021/09/25 | 36311 | macros/latex/required/latexbug/latexbug.dtx
2021/09/25 | 276112 | graphics/pgf/contrib/chemplants/chemplants-doc.tex
2021/09/25 | 235988 | systems/texlive/tlnet/archive/debate.doc.r60601.tar.xz
@@ -761,71 +868,6 @@
2021/09/25 | 12786929 | graphics/pstricks/contrib/pstricks-add.zip
2021/09/25 | 12431528 | graphics/pstricks/contrib/pstricks-add/doc/pstricks-add-doc.pdf
2021/09/25 | 123017 | graphics/pgf/contrib/chemplants/chemplants-changes.pdf
-2021/09/25 | 121379 | graphics/pstricks/base/generic/pstricks.tex
2021/09/25 | 1109 | graphics/pgf/contrib/chemplants/README.md
2021/09/25 | 1070 | graphics/pstricks/contrib/pstricks-add/Changes
-2021/09/25 | 1031281 | macros/latex/contrib/acmart/samples/sample-acmsmall-conf.pdf
-2021/09/25 | 1028913 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf
-2021/09/25 | 1023651 | macros/latex/contrib/acmart/samples/sample-authordraft.pdf
2021/09/25 | 1021 | macros/latex/required/latexbug/changes.txt
-2021/09/25 | 1019861 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf
-2021/09/24 | 98416 | systems/texlive/tlnet/archive/xmpincl.doc.r60593.tar.xz
-2021/09/24 | 9677 | graphics/pstricks/contrib/pst-tools/tex/pst-tools.tex
-2021/09/24 | 93395 | graphics/pstricks/contrib/pst-3dplot/tex/pst-3dplot.tex
-2021/09/24 | 8869 | graphics/pstricks/base/doc/pst-news21.tex
-2021/09/24 | 878775 | macros/latex/contrib/acmart/acmart.pdf
-2021/09/24 | 813297 | macros/latex/contrib/ccool.zip
-2021/09/24 | 80520 | systems/texlive/tlnet/archive/glossaries.r60591.tar.xz
-2021/09/24 | 7792016 | systems/texlive/tlnet/archive/hvfloat.doc.r60587.tar.xz
-2021/09/24 | 7674 | graphics/pstricks/contrib/pst-plot/Changes
-2021/09/24 | 7316 | systems/texlive/tlnet/archive/zitie.r60595.tar.xz
-2021/09/24 | 669 | graphics/pstricks/contrib/pst-3dplot/README
-2021/09/24 | 6628 | systems/texlive/tlnet/archive/xmpincl.source.r60593.tar.xz
-2021/09/24 | 6483 | graphics/pstricks/contrib/pst-3dplot/Changes
-2021/09/24 | 64068 | systems/texlive/tlnet/archive/glossaries-extra.r60590.tar.xz
-2021/09/24 | 6378320 | systems/texlive/tlnet/archive/glossaries.doc.r60591.tar.xz
-2021/09/24 | 576 | systems/texlive/tlnet/archive/collection-langcjk.r60595.tar.xz
-2021/09/24 | 5327140 | systems/texlive/tlnet/archive/glossaries-extra.doc.r60590.tar.xz
-2021/09/24 | 48882 | macros/luatex/latex/yamlvars.zip
-2021/09/24 | 4728 | systems/texlive/tlnet/archive/membranecomputing.r60592.tar.xz
-2021/09/24 | 44 | graphics/pstricks/contrib/pst-plot/doc/data/LSM.data
-2021/09/24 | 428 | systems/texlive/tlnet/archive/tlmgrbasics.r60588.tar.xz
-2021/09/24 | 417996 | macros/latex/contrib/acmart/acmguide.pdf
-2021/09/24 | 40 | macros/latex/contrib/debate/DEPENDS.txt
-2021/09/24 | 39208 | macros/luatex/latex/yamlvars/YAMLvars.pdf
-2021/09/24 | 31368 | macros/latex/contrib/acmart/samples/samples.dtx
-2021/09/24 | 292028 | systems/texlive/tlnet/archive/zitie.doc.r60595.tar.xz
-2021/09/24 | 281536 | systems/texlive/tlnet/archive/membranecomputing.doc.r60592.tar.xz
-2021/09/24 | 251243 | macros/latex/contrib/acmart/acmart.dtx
-2021/09/24 | 236391 | macros/latex/contrib/debate.zip
-2021/09/24 | 2354 | macros/latex/contrib/debate/debate.tex
-2021/09/24 | 235280 | macros/latex/contrib/debate/debate.pdf
-2021/09/24 | 22496561 | obsolete/macros/latex/contrib/beamer-contrib/themes/fibeamer.zip
-2021/09/24 | 2172 | macros/luatex/latex/yamlvars/YAMLvars.sty
-2021/09/24 | 1956 | macros/latex/contrib/debate/debate.sty
-2021/09/24 | 18368 | graphics/pstricks/base/dvips/pst-dots.pro
-2021/09/24 | 1792 | systems/texlive/tlnet/archive/xmpincl.r60593.tar.xz
-2021/09/24 | 171580 | systems/texlive/tlnet/archive/tlmgrbasics.doc.r60588.tar.xz
-2021/09/24 | 1575233 | graphics/pstricks/contrib/pst-plot.zip
-2021/09/24 | 1444 | graphics/pstricks/contrib/pst-tools/Changes
-2021/09/24 | 142572 | graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex
-2021/09/24 | 139102 | graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdf
-2021/09/24 | 134688 | systems/texlive/tlnet/archive/glossaries.source.r60591.tar.xz
-2021/09/24 | 13204 | graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.tex
-2021/09/24 | 129526 | graphics/pstricks/base/doc/pst-news21.pdf
-2021/09/24 | 1262 | macros/luatex/latex/yamlvars/README.md
-2021/09/24 | 122012 | systems/texlive/tlnet/archive/etoc.source.r60589.tar.xz
-2021/09/24 | 1202217 | graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf
-2021/09/24 | 118771 | graphics/pstricks/contrib/pst-tools.zip
-2021/09/24 | 1185 | macros/latex/contrib/debate/README.md
-2021/09/24 | 117588 | systems/texlive/tlnet/archive/glossaries-extra.source.r60590.tar.xz
-2021/09/24 | 1134960 | systems/texlive/tlnet/archive/etoc.doc.r60589.tar.xz
-2021/09/24 | 1128 | graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty
-2021/09/24 | 11268 | systems/texlive/tlnet/archive/hvfloat.r60587.tar.xz
-2021/09/24 | 11214 | macros/latex/contrib/acmart/README
-2021/09/24 | 10720 | macros/luatex/latex/yamlvars/YAMLvars.lua
-2021/09/24 | 10608 | systems/texlive/tlnet/archive/etoc.r60589.tar.xz
-2021/09/24 | 105755 | graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
-2021/09/24 | 1046808 | graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.pdf
-2021/09/24 | 10220 | macros/luatex/latex/yamlvars/YAMLvars.tex
-2021/09/24 | 1014464 | graphics/pstricks/contrib/pst-3dplot.zip
diff --git a/graphics/pstricks/base/Changes b/graphics/pstricks/base/Changes
index 33efe0df40..9bb20606b6 100644
--- a/graphics/pstricks/base/Changes
+++ b/graphics/pstricks/base/Changes
@@ -1,24 +1,9 @@
-% $Id: Changes 269 2021-09-25 13:47:26Z herbert $
+% $Id: Changes 290 2021-10-01 09:20:29Z herbert $
For all changes see file History! Here are only the last one changes
listed.
-Changelog for
-pstricks.tex ---------
-pst-fp.tex -----------
-xdvipdfmx.con --------
-vtex.con -------------
-pstricks-doc ---------
-pstricks.pro ---------
-pst-dots.pro ---------
-pst-algparser.pro ----
-pstricks97.pro -------
-pstricks-pdf.sty -----
-pstricks.sty ---------
-pst-all.sty ---------
-
-
--------------------------------------------------------------------------
@@ -26,6 +11,10 @@ pstricks.tex --------
versions like 2.47a have only changes in other files, but not
in this main package.
+3.11 2021-10-01 - added the missing filled dots
+ - fix for pst-dots.pro (delete one dup)
+ - fix for trailing space before second pspicture
+ - added SolidOctogon for a dot
3.10a 2021-09-25 - fix introduced bug in pstricks.pro
3.10 2021-09-23 - move dot macros into a separate file pstricks-dots.tex
- use the internal Type1 version of PSTricksDotFont for
diff --git a/graphics/pstricks/base/dvips/pst-dots.pro b/graphics/pstricks/base/dvips/pst-dots.pro
index 62353d6c08..9098492b25 100644
--- a/graphics/pstricks/base/dvips/pst-dots.pro
+++ b/graphics/pstricks/base/dvips/pst-dots.pro
@@ -1,7 +1,7 @@
-% $Id: pst-dots.pro 4 2020-06-09 08:32:19Z herbert $
+% $Id: pst-dots.pro 291 2021-10-01 09:22:45Z herbert $
%
%% PostScript prologue for pstricks.tex.
-%% Version 2.02, 2009/06/16
+%% Version 0.02, 2021/10/01
%%
%% For distribution, see pstricks.tex.
%%
@@ -16,7 +16,7 @@
%% to add /Diamond, /SolidDiamond and /BoldDiamond
%% Modified by Herbert Voss (hv) - 2008/04/17
%
-12 dict dup dup begin
+12 dict dup begin
/FontType 1 def
/FontName /PSTricksDotFont def
/FontInfo 9 dict dup begin
@@ -329,6 +329,6 @@ DBB61743DC569337082176ECBAD417354A5F900EA0BB5479162ED7ECCCD71AE8
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
-/PSTricksDotFont exch definefont
+%/PSTricksDotFont exch definefont
%
%% end \ No newline at end of file
diff --git a/graphics/pstricks/base/dvips/pstricks.pro b/graphics/pstricks/base/dvips/pstricks.pro
index 178eb0475a..87dc4d7e6b 100644
--- a/graphics/pstricks/base/dvips/pstricks.pro
+++ b/graphics/pstricks/base/dvips/pstricks.pro
@@ -1,4 +1,4 @@
-% $Id: pstricks.pro 269 2021-09-25 13:47:26Z herbert $
+% $Id: pstricks.pro 290 2021-10-01 09:20:29Z herbert $
%
%% PostScript prologue for pstricks.tex.
%% Version 1.40, 2021/09/25
@@ -40,6 +40,7 @@ revision 952 gt
/tx@Dict 200 dict def % the main PSTricks dictionary
tx@Dict begin
/ADict 25 dict def % The arrow dictionary
+/fill@Dict 30 dict def % the fill dictionary
/CM { matrix currentmatrix } bind def
/SLW /setlinewidth load def
/CLW /currentlinewidth load def
diff --git a/graphics/pstricks/base/generic/pstricks-dots.tex b/graphics/pstricks/base/generic/pstricks-dots.tex
index eecc52c096..e5c3e2c022 100644
--- a/graphics/pstricks/base/generic/pstricks-dots.tex
+++ b/graphics/pstricks/base/generic/pstricks-dots.tex
@@ -1,4 +1,4 @@
-%% $Id: pstricks-dots.tex 269 2021-09-25 13:47:26Z herbert $
+%% $Id: pstricks-dots.tex 273 2021-09-27 08:11:44Z herbert $
%%
%% This is file `pstricks-dots.tex',
%%
@@ -158,71 +158,85 @@
%%70
% /Pentagon /SolidPentagon /SolidSquare /Square /Triangle /SolidTriangle /.notdef /.notdef
% /Mul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
- \newpsfontdot{B+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>}
- \newpsfontdot{BoldAdd}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>}
- \newpsfontdot{Bo}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>}
- \newpsfontdot{BoldCircle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>}
- \newpsfontdot{BoldDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>}
- \newpsfontdot{Bdiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>}
- \newpsfontdot{SolidOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<45>}
- \newpsfontdot{BoldOctogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<46>}
- \newpsfontdot{SolidHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<47>}
- \newpsfontdot{BoldHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<48>}
- \newpsfontdot{BoldBar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>}
- \newpsfontdot{B|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>}
- \newpsfontdot{Asterisk*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>}
- \newpsfontdot{SolidAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>}
- \newpsfontdot{BoldAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>}
- \newpsfontdot{Basterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>}
- \newpsfontdot{BoldOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4D>}
- \newpsfontdot{BoldOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4E>}
- \newpsfontdot{BoldPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>}
- \newpsfontdot{Bpentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>}
- \newpsfontdot{BoldSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>}
- \newpsfontdot{Bsquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>}
- \newpsfontdot{Btriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>}
- \newpsfontdot{BoldTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>}
- \newpsfontdot{BoldMul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<58>}
-%
- \newpsfontdot{+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>}
- \newpsfontdot{Add}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>}
- \newpsfontdot{bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
- \newpsfontdot{Bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
- \newpsfontdot{*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
- \newpsfontdot{o}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>}
- \newpsfontdot{Circle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>}
- \newpsfontdot{Diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>}
- \newpsfontdot{diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>}
- \newpsfontdot{Oplus*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>}
- \newpsfontdot{SolidOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>}
- \newpsfontdot{Octogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<66>}
- \newpsfontdot{Octogon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<67>}
- \newpsfontdot{Hexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<68>}
- \newpsfontdot{Bar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>}
- \newpsfontdot{|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>}
- \newpsfontdot{asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>}
- \newpsfontdot{Asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>}
- \newpsfontdot{SolidDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>}
- \newpsfontdot{diamond*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>}
- \newpsfontdot{oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>}
- \newpsfontdot{Oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>}
- \newpsfontdot{otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>}
- \newpsfontdot{Otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>}
-%
- \newpsfontdot{pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>}
- \newpsfontdot{SolidPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>}
- \newpsfontdot{Pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>}
- \newpsfontdot{pentagon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>}
- \newpsfontdot{square*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>}
- \newpsfontdot{SolidSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>}
- \newpsfontdot{square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>}
- \newpsfontdot{Square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>}
- \newpsfontdot{triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>}
- \newpsfontdot{Triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>}
- \newpsfontdot{triangle*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>}
- \newpsfontdot{SolidTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>}
- \newpsfontdot{x}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>}
- \newpsfontdot{Mul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>}
-%
+ \newpsfontdot{+}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<61>}
+ \newpsfontdot{Add}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<61>}
+ \newpsfontdot{B+}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<41>}
+ \newpsfontdot{BoldAdd}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<41>}
+%
+ \newpsfontdot{x}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<78>}
+ \newpsfontdot{times}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<78>}
+ \newpsfontdot{Mul}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<78>}
+%
+ \newpsfontdot{bullet}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<62>}
+ \newpsfontdot{Bullet}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<62>}
+ \newpsfontdot{*}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<62>}
+%
+ \newpsfontdotH{o}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<63>}{<62>}
+ \newpsfontdotH{Circle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(c)}{(b)}
+ \newpsfontdotH{Bo}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(C)}{(b)}
+ \newpsfontdotH{BoldCircle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(C)}{(b)}
+%
+ \newpsfontdot{oplus}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<6D>}
+ \newpsfontdotH{Oplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(m)}{(b)}
+ \newpsfontdotH{Oplus*}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{(e)}{(b)}
+ \newpsfontdotH{SolidOplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(e)}{(b)}
+ \newpsfontdotH{BoldOplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(M)}{(b)}
+%
+ \newpsfontdot{otimes}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<6E>}
+ \newpsfontdotH{Otimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(n)}{(b)}
+ \newpsfontdot{BoldMul}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<58>}
+ \newpsfontdotH{BoldOtimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(N)}{(b)}
+ \newpsfontdotH{SolidOtimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(E)}{(b)}
+%
+ \newpsfontdot{asterisk}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<6B>}
+ \newpsfontdot{Asterisk}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<6B>}
+ \newpsfontdot{Asterisk*}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<4A>}
+ \newpsfontdotH{SolidAsterisk}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(J)}{(b)}
+ \newpsfontdot{BoldAsterisk}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<4B>}
+ \newpsfontdot{Basterisk}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<4B>}
+%
+ \newpsfontdot{Bar}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<69>}
+ \newpsfontdot{|}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<69>}
+ \newpsfontdot{BoldBar}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<49>}
+ \newpsfontdot{B|}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<49>}
+%
+ \newpsfontdotH{triangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(t)}{(u)}
+ \newpsfontdotH{Btriangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(T)}{(u)}
+ \newpsfontdotH{Triangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(t)}{(u)}
+ \newpsfontdotH{BoldTriangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(T)}{(u)}
+ \newpsfontdot{triangle*}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<75>}
+ \newpsfontdot{SolidTriangle}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<75>}
+%
+ \newpsfontdotH{square}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(s)}{(r)}
+ \newpsfontdot{square*}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<72>}
+ \newpsfontdot{SolidSquare}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<72>}
+ \newpsfontdotH{Bsquare}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(S)}{(r)}
+ \newpsfontdotH{Square}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(s)}{(r)}
+ \newpsfontdotH{BoldSquare}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(S)}{(r)}
+%
+ \newpsfontdotH{diamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(d)}{(l)}
+ \newpsfontdotH{Diamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(d)}{(l)}
+ \newpsfontdotH{BoldDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(D)}{(l)}
+ \newpsfontdotH{Bdiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(D)}{(l)}
+ \newpsfontdot{diamond*}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<6C>}
+ \newpsfontdot{SolidDiamond}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<6C>}
+%
+ \newpsfontdotH{pentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(p)}{(q)}
+ \newpsfontdotH{Bpentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(P)}{(q)}
+ \newpsfontdotH{BoldPentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(P)}{(q)}
+ \newpsfontdotH{Pentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(p)}{(q)}
+ \newpsfontdot{pentagon*}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<71>}
+ \newpsfontdot{SolidPentagon}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<71>}
+%
+ \newpsfontdotH{Hexagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(h)}{(G)}
+ \newpsfontdot{SolidHexagon}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<47>}
+ \newpsfontdotH{BoldHexagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(H)}{(G)}
+ \newpsfontdot{BoldHexagon}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<48>}
+%
+ \newpsfontdotH{Octogon}[1 0 0 1 0 0]{PSTricksDotFont}{(f)}{(g)}
+ \newpsfontdot{Octogon*}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<67>}
+ \newpsfontdotH{BoldOctogon}[1 0 0 1 0 0]{PSTricksDotFont}{(F)}{(g)}
+ \newpsfontdot{SolidOctogon}[1.0 0.0 0.0 1.0 0 0]{PSTricksDotFont}{<67>}
+%%
%% END: pstricks-dots.tex
\endinput
diff --git a/graphics/pstricks/base/generic/pstricks-tex.def b/graphics/pstricks/base/generic/pstricks-tex.def
index 0e69a13917..85df2b710b 100644
--- a/graphics/pstricks/base/generic/pstricks-tex.def
+++ b/graphics/pstricks/base/generic/pstricks-tex.def
@@ -1,6 +1,7 @@
-%% $Id: pstricks-tex.def 169 2021-08-31 17:46:12Z herbert $
+%% $Id: pstricks-tex.def 276 2021-09-27 11:28:22Z herbert $
%% pstricks-tex.def
-%% Copyright 2017- Herbert Voss
+%
+%% fileversion and filedate see main file pstricks.tex
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
diff --git a/graphics/pstricks/base/generic/pstricks-xetex.def b/graphics/pstricks/base/generic/pstricks-xetex.def
index 68049094a2..61495720b2 100644
--- a/graphics/pstricks/base/generic/pstricks-xetex.def
+++ b/graphics/pstricks/base/generic/pstricks-xetex.def
@@ -1,7 +1,5 @@
-%% $Id: pstricks-xetex.def 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pstricks-xetex.def 276 2021-09-27 11:28:22Z herbert $
%%
-%% Copyright 2019- Herbert Voss
-%
% 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.
@@ -13,6 +11,7 @@
% The xdvipdfmx driver does not support all node macros. In the following
% there are alternatives defined:
%
+%% fileversion and filedate see main file pstricks.tex
%% \ncput -> \NCput
%
\def\NCput{\pst@object{NCput}}
diff --git a/graphics/pstricks/base/generic/pstricks.tex b/graphics/pstricks/base/generic/pstricks.tex
index 1ce453ecf5..d98e585069 100644
--- a/graphics/pstricks/base/generic/pstricks.tex
+++ b/graphics/pstricks/base/generic/pstricks.tex
@@ -70,7 +70,7 @@
\XKV@tempa
}
%
-\def\ProvidesPackageRCS#1{\typeout{Loading #1}}%
+\def\ProvidesPackageRCS#1{\typeout{Loading #1}}% needed for the pgf packages
%\@ifnextchar[\ProvidesPackageRCS@i{\ProvidesPackageRCS@i[] }}%$
%\def\ProvidesPackageRCS@i[#1]#2{}
@@ -81,8 +81,8 @@
\fi
\let\pgfforeach\foreach
%
-\def\fileversion{3.10a}
-\def\filedate{2021/09/25}
+\def\fileversion{3.11}
+\def\filedate{2021/09/27}
\pst@addfams{pstricks}
%
%\define@boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{}
@@ -489,7 +489,6 @@
\@ifundefined{pst@ATH}{\def\pst@ATH<#1>{}}{}
%
\pstheader{pstricks.pro}
-%\pstheader{pstricks-fonts.pro}
\pstheader{pst-algparser.pro}
\pstheader{pst-tools.pro}
%
@@ -3759,12 +3758,19 @@ pop
\def\tx@RotEnd{ RotEnd }
\def\pst@rotate#1#2{%
+ \ifx\relax#1\relax\else
\setbox#2=\hbox{\pst@Verb{% check for empty #1
(#1) /strAngle ED strAngle length 0 eq { 0 }{ #1 } ifelse
%\ifPSTlualatex neg \fi
\tx@RotBegin}\box#2\pst@Verb{\tx@RotEnd}}%
+ \fi
}%
+% \setbox#2=\hbox{\pst@Verb{% check for empty #1
+% (#1) /strAngle ED strAngle length 0 eq { 0 }{ #1 } ifelse
+% %\ifPSTlualatex neg \fi
+% \tx@RotBegin}\box#2\pst@Verb{\tx@RotEnd}}%
+
\def\psput@cartesian#1{%
\hbox to \z@{\kern\pst@dimg{\vbox to \z@{\vss\box#1\vskip\pst@dimh}\hss}}%
}
@@ -4100,9 +4106,9 @@ pop
\ifshowgrid\ifnum\showgridp@s=0\psgrid[style=gridstyle]\fi\fi
% ----------- 1.10/12 end hv -------------------
\ignorespaces% % 2008-12-07
- \pstVerb{\pst@number\pslinewidth setlinewidth 0 setgray}% default setting (needed for lualatex)
\ifPst@pgffunctions\pstVerb{ pgffunctions }\fi% hv 2013-04-17
}
+
\def\pic@coor{(0,0)(0,0)(10,10)}
\def\endpspicture{%
\ifshowgrid\ifnum\showgridp@s>0
@@ -4141,6 +4147,8 @@ pop
\@namedef{endpspicture*}{\endpspicture}
%
\ifx\pstcustomize\relax \input pstricks.con \fi
+\pstVerb{0.8 setlinewidth 0 setgray}% default setting (needed for lualatex)
+
\catcode`\@=\PstAtCode\relax
%
\endinput
diff --git a/graphics/pstricks/base/latex/pstricks.sty b/graphics/pstricks/base/latex/pstricks.sty
index ad58f86fca..b671da7580 100644
--- a/graphics/pstricks/base/latex/pstricks.sty
+++ b/graphics/pstricks/base/latex/pstricks.sty
@@ -1,4 +1,4 @@
-% $Id: pstricks.sty 181 2021-09-04 06:35:45Z herbert $
+% $Id: pstricks.sty 263 2021-09-24 17:58:30Z herbert $
%%
%% This is file `pstricks.sty'.
%%
@@ -84,7 +84,6 @@
\DeclareOption*{\PassOptionsToPackage\CurrentOption{\pst@ColorPackage}}
\ProcessOptions\relax
-%\RequirePackage{iftex}
\ifpst@useCalc
\RequirePackage{pst-calculate}
\fi
diff --git a/graphics/pstricks/contrib/pst-fill/Changes b/graphics/pstricks/contrib/pst-fill/Changes
index 9310a2082c..8b7ad7e33b 100644
--- a/graphics/pstricks/contrib/pst-fill/Changes
+++ b/graphics/pstricks/contrib/pst-fill/Changes
@@ -1,4 +1,6 @@
pst-fill.sty --------
+
pst-fill.tex --------
+1.02 2021-10-01 make it run under lualatex
1.01 2007-03-10 bugfix for incomplete ifx (hv)
diff --git a/graphics/pstricks/contrib/pst-fill/Makefile b/graphics/pstricks/contrib/pst-fill/Makefile
deleted file mode 100644
index 1586e6f076..0000000000
--- a/graphics/pstricks/contrib/pst-fill/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-
-# `Makefile' for `pst-fill.pdf', hv, 2006/08/11
-
-.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
-
-MAIN = pst-fill
-
-LATEX = latex
-
-ARCHNAME = $(MAIN)-$(shell date +%y%m%d)
-
-ARCHFILES = $(MAIN).dtx $(MAIN).ins Makefile
-
-all : $(MAIN).sty doc clean
-
-$(MAIN).sty : $(MAIN).dtx
-%.sty : %.dtx
- tex $(basename $<).ins
-
-doc: $(MAIN).pdf
-
-$(MAIN).pdf : $(MAIN).ps
- GS_OPTIONS=-dAutoRotatePages=/None ps2pdf $<
-
-$(MAIN).ps : $(MAIN).dvi
- dvips $<
-
-$(MAIN).dvi : $(MAIN).dtx
- $(LATEX) $<
- if ! test -f $(basename $<).glo ; then touch $(basename $<).glo; fi
- if ! test -f $(basename $<).idx ; then touch $(basename $<).idx; fi
- makeindex -s gglo.ist -t $(basename $<).glg -o $(basename $<).gls \
- $(basename $<).glo
- makeindex -s gind.ist -t $(basename $<).ilg -o $(basename $<).ind \
- $(basename $<).idx
- $(LATEX) $<
- $(LATEX) $<
-
-clean :
- $(RM) $(addprefix $(MAIN), .log .aux .glg .glo .gls .ilg .idx .ind .tmp .toc .out)
- $(RM) $(addprefix $(MAIN), .dvi .ps)
-
-veryclean : clean
- $(RM) $(MAIN).pdf
-
-arch :
- zip $(ARCHNAME).zip $(ARCHFILES)
-
-# EOF
diff --git a/graphics/pstricks/contrib/pst-fill/README b/graphics/pstricks/contrib/pst-fill/README
index 71304960df..6a97aba507 100644
--- a/graphics/pstricks/contrib/pst-fill/README
+++ b/graphics/pstricks/contrib/pst-fill/README
@@ -1,20 +1,8 @@
pst-fill: tiling and filing of areas and characters
-
-pst-fill.dtx - The dtx file
-pst-fill.ins - The ins file
-pst-fill.pdf - The documentation, generated from the docstrip file
-
-to get the sty, the tex and the pdf file, run the Makefile or alternative
-
-latex pst-fill.ins
-latex pst-fill.dtx
-makeindex -s gind.ist pst-fill
-makeindex -s gglo.ist -o pst-fill.gls pst-fill.glo
-latex pst-fill.dtx
-dvips pst-fill.dvi
-ps2pdf pst-fill.ps
-
+pst-fill.sty - The latex file
+pst-fill.tex - The tex file
+pst-fill-doc.pdf - The documentation, generated from the docstrip file
This version of pst-fill uses the extended version of the keyval
package. So be sure that you
@@ -23,7 +11,10 @@ package. So be sure that you
- do not load another package after pst-fill, which loads
the old keyval.sty or pst-key.tex
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
--
-Herbert Voss 2006-11-06
+hvoss@tug.org \ No newline at end of file
diff --git a/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.bib b/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.bib
new file mode 100644
index 0000000000..a92704ac2d
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.bib
@@ -0,0 +1,168 @@
+@STRING{tugboat = {TUGboat} }
+@STRING{beiprogramm = {{\TeX}-Beiprogramm} }
+@STRING{bretter = {Bretter, die die Welt bedeuten} }
+@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{editorial = {Editorial} }
+@STRING{fremdebuehne = {Von fremden B{\"u}hnen} }
+@STRING{fundus = {Aus dem Fundus} }
+@STRING{hinterbuehne = {Hinter der B{\"u}hne} }
+@STRING{leserbrief = {Leserbrief(e)} }
+@STRING{magazin = {Magazin} }
+@STRING{rezension = {Rezensionen} }
+@STRING{schonimmer = {Was Sie schon immer {\"u}ber {\TeX} wissen wollten \dots} }
+@STRING{theaterkasse = {Von der Theaterkasse} }
+@STRING{theatertage = {{\TeX}-Theatertage} }
+
+@manual{PostScript95,
+author= {Adobe Systems~Incorporated},
+title = {PostScript Language Reference Manual},
+publisher = {Addison-Wesley},
+edition=2,
+date ={1995}
+}
+
+@article{Bolek98,
+author={Piotr Bolek},
+title={\MP{} and patterns},
+journal = tugboat,
+volume=19,
+number=3,
+pages= {276--283},
+date = {1998-09},
+}
+%
+@article{MLgraphTSI,
+author={Emmanuel Chailloux and Guy Cousineau and Ascánder Suárez},
+title={Programmation fonctionnelle de graphismes pour la production
+d'illustrations techniques},
+journal={Technique et science informatique},
+volume=15,
+number=7,
+pages={977--1007},
+date= {1996},
+}
+%
+@book{Deledicq97,
+author={André Deledicq},
+title={Le monde des pavages},
+Publisher={ACL Editions},
+date={1997},
+}
+%
+@article{EsperetGirou98,
+author={Philippe Esperet and Denis Girou},
+title={Coloriage du pavage dit de Truchet},
+journal={Cahiers GUTenberg},
+Number=31,
+pages={ 5--18},
+date={1998-12},
+}
+
+@article{Girou94,
+ author = {Denis Girou},
+ title = {Pr\'esentation de {PST}ricks},
+ journal = {Cahier {GUT}enberg},
+ year = 1994,
+ volume = {16},
+ month = apr,
+ pages = {21-70},
+}
+
+@book{LGC97,
+author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Dennis Roegel and Herbert Vo\ss},
+ title = {The {\LaTeX} {G}raphics {C}ompanion},
+ publisher = {{Addison-Wesley Publishing Company}},
+ edition = {2},
+ year = {2007},
+ location = {Boston, Mass.}
+}
+
+@book{GS87,
+author={Branko Grünbaum and Geoffrey Shephard},
+title= {Tilings and Patterns},
+publisher={Freeman and Company},
+date={1987},
+}
+@book{Hoenig97,
+author= {Alan Hoenig},
+title= {\TeX{} Unbound: \LaTeX{} \& \TeX{}},
+subtitle={Strategies, Fonts, Graphics, and More},
+publisher={Oxford University Press},
+date={1997},
+}
+%
+@ctan{XYpic,
+title = {The Xypic package},
+subtitle = {Flexible diagramming macros},
+author = {Rose, Kristoffer H. and Moore, Ross},
+url = {https://ctan.org/pkg/xypic},
+urldate = {2021-09-30},
+date = {},
+version = {3.8.9},
+}
+%
+@article{LAAN96,
+author= {Kees van der Laan},
+title= {Paradigms: Just a little bit of PostScript},
+journal={MAPS},
+volume =17,
+pages = {137--150},
+date = {1996},
+}
+%
+@article{LAAN97,
+author= {Kees van der Laan},
+title= {Tiling in PostScript and \MF{} -- Escher's
+wink},
+journal={MAPS},
+volume =19,
+number=2,
+pages = {39--67},
+date = {1997},
+}
+
+@ctan{vanZandt93,
+ Title = {PSTricks -- {\PS} macros for {G}eneric \TeX},
+ author = {Timothy Van Zandt and Herbert Voß} ,
+ date = 2016,
+ url = {http://PSTricks.tug.org/},
+ urldate={2016-04-18},
+}
+%
+@article{vanZandtGirou94,
+ author = {Timothy Van Zandt and Denis Girou},
+ title = {Inside PSTricks},
+ journal = {TUGboat},
+ year = {1994},
+ volume = {15},
+ month = sep,
+ pages = {239--246}
+}
+
+%
+@Book{voss07,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
+ edition = {7},
+ publisher = {DANTE and Lehmanns Media},
+ year = {2016},
+ location = {Heidelberg and Berlin}
+}
+
+@Book{PSTricksE,
+ author = {Herbert Vo\ss{}},
+ title = {\texttt{PSTricks} -- {G}raphics and {P}ost{S}cript for \LaTeX},
+ edition = {1},
+ publisher = {UIT},
+ year = {2011},
+ location = {Cambridge -- UK}
+}
+%
+@jornal{Wang65,
+author= {Hao Wang},
+title={Games, Logic and Computers},
+jpurnal={Scientific American},
+pages={98--106},
+date ={1965-11},
+}
+
diff --git a/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.pdf b/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.pdf
new file mode 100644
index 0000000000..4e2abf14df
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.tex b/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.tex
new file mode 100644
index 0000000000..edcbfdd308
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-fill/doc/pst-fill-doc.tex
@@ -0,0 +1,1238 @@
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{}
+%% $Id: pst-fill-doc.tex 293 2021-10-01 11:24:25Z herbert $
+\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,
+ headings=small, headinclude=false,footinclude=false,oneside]{pst-doc}
+
+\usepackage{hvlogos,hvextern}
+\usepackage{pstricks,pst-grad}
+\usepackage{pst-text,pst-node}
+\usepackage[tiling]{pst-fill}
+
+\input random.tex
+
+\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
+\makeatletter
+\newcommand\acro[1]{\textsc{#1}\@}
+\def\CTAN{\acro{CTAN}}
+\let\texttub\textsl % % redefined in other situations
+\def\TUB{\texttub{TUGboat}}
+\def\TUG{\TeX\ \UG}
+\def\tug{\acro{TUG}}
+\def\UG{Users Group}
+\newcommand\CTANdirectory[1]{\expandafter\urldef\csname CTAN@#1\endcsname\path}
+\newcommand\CTANfile[1]{\expandafter\urldef\csname CTAN@#1\endcsname\path}
+\newcommand\CTANref[1]{\expandafter\@setref\csname CTAN@#1\endcsname\relax{#1}}
+\makeatother
+\CTANdirectory{mpattern}{graphics/metapost/macros/mpattern}
+\CTANdirectory{pstricks}{graphics/pstricks}
+\CTANdirectory{pst-fill.sty}{graphics/pstricks/latex/pst-fill.sty}
+\CTANdirectory{pst-fill}{graphics/pstricks/generic/pst-fill.tex}
+\CTANdirectory{Roegel}{graphics/metapost/contrib/macros/truchet}
+\CTANdirectory{xypic}{macros/generic/diagrams/xypic}
+%
+\definecolor{LemonChiffon}{rgb}{1.,0.98,0.8}
+\definecolor{LightBlue} {rgb}{0.8,0.85,0.95}
+\definecolor{PaleGreen} {rgb}{0.88,1,0.88}
+\definecolor{PeachPuff} {rgb}{1.0,0.85,0.73}
+%
+\newcommand{\FillPackage}{\texttt{`pst-fill'}}
+\newcommand{\XYpic}{%
+ \leavevmode\hbox{\kern-.1em X\kern-.3em\lower.4ex\hbox{Y\kern-.15em}-pic}}
+\psset{dimen=middle}
+%
+% % Translation in PSTricks from the one drawn by Emmanuel Chailloux and
+% % Guy Cousineau for the MLgraph system
+% % (see /ftp.ens.fr:/pub/unix/lang/MLgraph/version-2.1/MLgraph-refman.ps.gz)
+% % The kangaroo itself is reproduce from an original picture from Raoul Raba
+ \newcommand{\DimX}{2.47}
+ \newcommand{\DimY}{4.8}
+ \newcommand{\DimXDivTwo}{1.235}
+%
+ \newcommand\KangarooItself[1]{%
+ \pspolygon[fillstyle=solid,fillcolor=#1]%
+ (52.5,68)(55,72.5)(55.8,76.5)(56.8,79.8)(58.2,83)(60,85.8)(61.5,86.5)
+ (64,87)(66,87.5)(67.8,87.3)(70,87)(71.5,87.3)(73,88)(74.7,88.5)
+ (76,90.3)(77,91.5)(72.8,93.8)(69,96)(64.5,99)(59.4,103)(56.2,106.3)
+ (53,110.5)(49.5,115.5)(47.2,119.9)(45.7,126)(43.2,123)(41.5,121)(37.5,125)
+ (37,122.5)(36.8,120)(37,117)(37.6,113.5)(38.6,110)(40,106.3)(42,102.3)
+ (43.5,99.5)(45,97)(46.2,94)(46.8,91.7)(47.2,88)(47,83.5)(46.3,80.8)
+ (45.3,78.5)(42.5,76.5)(39.5,75.8)(36,75.9)(33,75.9)(29,76.2)(26,77)
+ (22.3,77.5)(18,78.4)(12.8,79.3)(8.6,80)(5.5,80.3)(3,80.5)(0,80)
+ (-5.2,78.5)(-9,76.3)(-11.2,74.8)(-13,72.5)(-16.5,68)(-16.5,68)(-19.5,62.5)
+ (-22,58)(-25.5,53)(-29,48.5)(-32.5,45)(-36,42)(-39,39.5)(-44,37)
+ (-49,35)(-51,34)(-53.5,34.5)(-55.5,36)(-56.5,38)(-56.5,40.5)(-55,41.5)
+ (-53.5,41)(-51.5,41)(-50.5,43)(-50.5,44.5)(-51,47)(-51.5,47.2)(-56.5,47)
+ (-58.5,46.5)(-60,44.7)(-62,42.3)(-63,39.5)(-63.5,36.3)(-63.5,33)(-63.1,29.5)
+ (-61.5,26)(-58,23.6)(-54,22.2)(-50.7,22)(-47.5,22)(-44.5,22.3)(-41,23.5)
+ (-36.8,25.8)(-33,28)(-28.5,31)(-23.4,35)(-20.2,38.3)(-17,42.5)(-13.5,47.5)
+ (-11.2,51.9)(-9.7,58)(-7.2,55)(-5.5,53)(-1.5,57)(-1,54.5)(-0.8,52)
+ (-1,49)(-1.6,45.5)(-2.6,42)(-4,38.3)(-6,34.3)(-7.5,31.5)(-9,29)
+ (-10.2,26)(-10.8,23.7)(-11.2,20)(-11,15.5)(-10.3,12.8)(-9.3,10.5)(-6.5,8.5)
+ (-3.5,7.8)(0,7.9)(3,7.9)(7,8.2)(10,9)(13.7,9.5)(18,10.4)
+ (23.2,11.3)(27.4,12)(30.5,12.3)(33,12.5)(36,12)(41.2,10.5)(45,8.3)
+ (47.2,6.8)(49,4.5)(52.5,0)(50,4.5)(49.2,8.5)(48.2,11.8)(46.8,15)
+ (45,17.8)(43.5,18.5)(41,19)(39,19.5)(37.2,19.3)(35,19)(33.5,19.3)
+ (32,20)(30.3,20.5)(29,22.3)(28,23.5)(28,23.5)(24.5,22.3)(21.5,22)
+ (18.3,22)(15,22.2)(11,23.6)(7.5,26)(5.9,29.5)(5.5,33)(5.5,36.3)
+ (6,39.5)(7,42.3)(9,44.7)(10.5,46.5)(12.5,47)(17.5,47.2)(18,47)
+ (18.5,44.5)(18.5,43)(17.5,41)(15.5,41)(14,41.5)(12.5,40.5)(12.5,38)
+ (13.5,36)(15.5,34.5)(18,34)(20,35)(25,37)(30,39.5)(33,42)
+ (36.5,45)(40,48.5)(43.5,53)(47,58)(49.5,62.5)(52.5,68)
+ \pscircle*[linecolor=white](58.2,98.3){2\psxunit}
+\pscircle*(58.2,97.3){\psxunit}
+% Mouth
+\psline(71.5,88)(70,89.3)(68.5,90.3)(67,91.9)%
+% Tear
+\psline(42,121)(45,118)(47,115.3)(48.5,112.7)(50,110)(51.8,106.5)
+ (52.5,103.7)(53,100.5)%
+\pspolygon(41.2,115.8)(43.2,114.7)(45,112.5)(47,109.8)(48,107)(49.5,104.2)%
+ (50.5,101.6)(51,98.5)(47.7,100.6)(46,102.2)(44.8,104)(43.5,106)
+ (42.5,108)(41.7,110.5)(41,113.2)}
+%
+\newcommand\Kangaroo[1]{%
+ \begin{pspicture}(\DimX,\DimY)
+ \psset{unit=0.035278cm}%
+ \KangarooItself{#1}%
+ \end{pspicture}}
+%
+\newcommand\KangarooPstChart[1]{{%
+ \psset{xunit=0.006784,yunit=0.00735,linewidth=0.01}%
+ \begin{pspicture}(-65.5,0)(82,126)%
+ \KangarooItself{#1}%
+ \end{pspicture}}}
+%
+%
+% For the possible index and changes log
+\setlength{\columnseprule}{0.6pt}
+%
+% Beginning of the documentation itself
+\title{\texttt{pst-fill}\\A PSTricks package for filling and tiling areas}
+%\author{Timothy Van Zandt\thanks{\protect\url{tvz@econ.insead.fr}. (documentation by
+\author{Timothy Van Zandt\\Denis Girou\\ Herbert Voß}
+%
+%\date{\shortstack{\today --- Version 1.00\\
+% {\small Documentation revised \today}}}
+
+\addbibresource{\jobname.bib}
+
+\begin{document}
+\settitle
+\tableofcontents
+%
+\begin{abstract}
+ \FillPackage{} is a PSTricks \cite{vanZandt93},\cite{Girou94},\cite{vanZandtGirou94},
+\cite{Hoenig97},\cite{LGC97}
+package to draw easily
+ various kinds of filling and tiling of areas. It is also a good example of
+ the great power and flexibility of PSTricks, as in fact it is a very short
+ program (it body is around 200~lines long) but nevertheless really powerful.
+
+ It was written in 1994 by Timothy \textsc{van Zandt} but
+ publicly available only in PSTricks 97 and without any documentation.
+ We describe here the version \emph{97 patch 2} of December 12, 1997, which
+ is the original one modified by myself to manage \emph{tilings} in the
+ so-called \emph{automatic} mode. This article would like to serve both of
+ reference manual and of user's guide.
+%
+This package is available on \CTAN{} in the
+ \texttt{graphics/pstricks} directory (files \texttt{latex/pst-fill.sty} and
+ \texttt{generic/pst-fill.tex}).
+\end{abstract}
+%
+\section{Introduction}
+
+ Here we will refer as \emph{filling} as the operation which consist to fill
+a defined area by a pattern (or a composition of patterns). We will refer as
+\emph{tiling} as the operation which consist to do the same thing, but with
+the control of the starting point, which is here the upper left corner.
+The pattern is positioned relatively to this point. This make an essential
+difference between the two modes, as without control of the starting point we
+can't draw \emph{tilings} (sometimes called \emph{tesselations}) as used in
+many fields of Art and Science%
+\footnote{For an extensive presentation of tilings, in their history and usage
+in many fields, see the reference book \cite{GS87}.
+
+In the \TeX{} world, few work was done on tilings. You can look at the
+\emph{tile} extension of the \XYpic{} package \cite{XYpic}, at the articles of
+Kees \textsc{van der Laan} \cite[paragraph 7]{LAAN96} (the tiling was in
+fact directly done in PostScript) and \cite{LAAN97}, at the \MP{} program
+(available on \path{CTAN:graphics/metapost/contrib/macros/truchet}) by Denis \textsc{Roegel} for the
+\textsc{Truchet} contest in 1995 \cite{EsperetGirou98} and at the \MP{}
+package \cite{Bolek98} to draw patterns, which have a strong connection with
+tilings.}
+
+Nevertheless, as tilings are a wide and difficult field in mathematics, this
+package is limited to simple ones, mainly \emph{monohedral} tilings with one
+prototile (which can be composite, see section \ref{sec:KindTiles}). With some
+experience and wiliness we can do more and obtained easily rather
+sophisticated results, but obviously hyperbolic tilings like the famous
+\textsc{Escher} ones or aperiodic tilings like the \textsc{Penrose} ones are
+not in the capabilities of this package. For more complex needs, we must used
+low level and more painfull technics, with the basic \cs{multido}
+and \cs{multirput} macros.
+
+
+\newcommand\Square{\begin{pspicture}(1,1)\psframe[dimen=middle](1,1)\end{pspicture}}
+\newcommand\Tiling[2][]{%
+ \begin{pspicture}#2
+ \psframe[fillstyle=boxfill,#1]#2
+\end{pspicture}}
+
+
+\section{Package history and description of it two different modes}
+%
+ As already said, this package was written in 1994 by Timothy \textsc{van
+Zandt}. Two modes were defined, called respectively \emph{manual} and
+\emph{automatic}. For both, the pattern is generated on contiguous positions in
+a rather large area which include the region to fill, later cut to the
+required dimensions by clipping mechanism. In the first mode, the pattern is
+explicitely inserted in the PostScript file each time. In the second one, the
+result is the same but with an unique explicit insertion of the pattern and a
+repetition done by PostScript. Nevertheless, in this method, the control of
+the starting point was loosed, so it allowed only to \emph{fill} a region and
+not to \emph{tile} it.
+
+Between the two modes, \emph{tiling} and filling is a difference: for filling the current point
+is taken into account and two identical objects in a line may differ in the output.
+
+\pstFillSetDefaults
+ See the difference between the two modes, \emph{tiling}:
+{\psset{unit=0.5}
+ \psboxfill{\begin{pspicture}(1,1)\psframe[dimen=middle](1,1)\end{pspicture}}
+ \begin{pspicture}(3,3.3)
+ \psframe[fillstyle=boxfill](3,3)
+ \end{pspicture}
+}
+and \emph{filling}:
+{%
+\makeatletter
+\pst@def{BoxFill}<%
+ gsave
+ gsave \tx@STV CM grestore dtransform CM idtransform
+ abs /h ED abs /w ED
+ pathbbox
+ h div round 2 add cvi /y2 ED
+ w div round 2 add cvi /x2 ED
+ h div round 2 sub cvi /y1 ED
+ w div round 2 sub cvi /x1 ED
+ /y2 y2 y1 sub def
+ /x2 x2 x1 sub def
+ CP
+ y1 h mul sub neg /y1 ED
+ x1 w mul sub neg /x1 ED
+ clip
+ y2 {
+ /x x1 def
+ x2 {
+ save CP x y1 T moveto Box restore
+ /x x w add def
+ } repeat
+ /y1 y1 h add def
+ } repeat
+ currentpoint currentfont grestore setfont moveto>
+ \makeatother
+%
+ \psset{unit=0.5}
+ \psboxfill{\begin{pspicture}(1,1)\psframe[dimen=middle](1,1)\end{pspicture}}
+ \begin{pspicture}(3,3.3)
+ \psframe[fillstyle=boxfill](3,3)
+ \end{pspicture}
+ or
+ \begin{pspicture}(3,3.3)
+ \psframe[fillstyle=boxfill](3,3)
+ \end{pspicture}
+}
+as we can see that initial position is arbitrary and dependent of
+the current point.
+
+
+It's clear that usage of filling is very restrictive comparing to tiling,
+as desired effects required very often the possibility to control the starting
+point. So, this mode was of limited interest, but unfortunately the
+\emph{manual} one has the very big disadvantage to require very huge amounts
+of ressources, mainly in disk space and consequently in printing time.
+A small tiling can require sometimes several megabytes in \emph{manual} mode!
+So, it was very often not really usable in practice.
+
+It is why I modified the code, to allow tilings in \emph{automatic} mode,
+controlling in this mode too the starting point. And most of the time, that is
+to say if some special options are not used, the tiling is done exactly in the
+region described, which make it faster. So there is no more reason to use the
+\emph{manual} mode, apart very special cases where \emph{automatic} one cannot
+work, as explained later -- currently, I know only one case.
+
+ To load this modified \emph{automatic} mode, with \LaTeX{} use
+simply:\newline
+\verb+\usepackage[tiling]{pst-fill}+\newline
+and in plain \TeX{} after:\newline
+\verb+\input{pst-fill}+\newline
+add the following definition:\newline
+\verb+\def\PstTiling{1}+
+
+To obtain the original behaviour, just don't use the \emph{tiling} optional
+keyword at loading.
+
+Take care than in \emph{tiling} mode, I introduce also some other changes.
+First I define aliases on some parameter names for consistancy (all specific
+parameters will begin by the \texttt{fill} prefix in this case) and I change
+some default values, which were not well adapted for tilings (\Lkeyword{fillsep}
+is set to 0 and as explained \Lkeyword{fillsize} set to \Lkeyval{auto}). I rename
+\Lkeyword{fillcycle} to \Lkeyword{fillcyclex}. I also restore normal way so that
+the frame of the area is drawn and all line (\Lkeyword{linestyle},
+\Lkeyword{linecolor}, \texttt{doubleline}, etc.) parameters are now active (but
+there are not in non \emph{tiling} mode). And I also introduce new parameters
+to control the tilings (see below).
+
+ \textbf{In all the following examples, we will consider only the
+\Lkeyword{tiling} mode.}
+%
+ To do a tiling, we have just to define the pattern with the
+\Lcs{psboxfill} macro and to use the new \Lkeyword{fillstyle}
+\Lkeyval{boxfill}.
+%
+ Note that tilings are drawn from left to right and top to bottom, which can
+have an importance in some circonstances.
+%
+ PostScript programmers can be also interested to know that, even in the
+\emph{automatic} mode, the iterations of the pattern are managed directly by
+the PostScript code of the package which used only PostScript Level 1
+operators. The special ones introduced in Level 2 for drawing of patterns
+\cite[section 4.9]{PostScript95} are not used.
+%
+ And first, for conveniance, we define a simple \Lcs{Tiling} macro, which
+will simplify our examples:
+%
+\begin{verbatim}
+ \newcommand{\Tiling}[2][]{%
+ \begin{pspicture}#2
+ \psframe[fillstyle=boxfill,#1]#2
+ \end{pspicture}}
+\end{verbatim}
+%
+\subsection{Parameters}
+%
+ There are \textbf{14} specific parameters available to change the way the
+filling/tiling is defined, and one debugging option.
+%
+\begin{description}
+ \item [\Lkeyword{fillangle} (real)\hfill :] the value of the rotation
+ applied to the patterns (\emph{Default:~0}).
+\end{description}
+%
+\pstFillSetDefaults
+%
+ In this case, we must force the tiling area to be notably larger than the
+area to cover, to be sure that the defined area will be covered after rotation.
+\begin{LTXexample}[width=4cm,pos=l]
+\newcommand\Cross{\begin{pspicture}(1,1)
+ \psline[linecolor=red,dimen=middle](0,0.5)(1,0.5)
+ \psline[linecolor=blue,dimen=middle](0.5,0)(0.5,1)
+\end{pspicture}}
+\psset{unit=0.5cm}
+\psboxfill{\Cross}
+\Tiling[fillangle=0]{(3,3)} \\[2pt]
+\Tiling[fillangle=45]{(3,3)}\\[2pt]
+\Tiling[fillangle=-60]{(3,3)}
+\end{LTXexample}
+
+
+\begin{description}
+ \item[\Lkeyword{fillsepx} (real$\|$dim) :] value of the horizontal
+ separation between consecutive patterns (\emph{Default:~0 for
+ tilings\footnote{This option is not part of the original package
+ and is available only if the
+ \texttt{tiling} keyword is used when loading the package.} , 2pt otherwise}).
+ \item [\Lkeyword{fillsepy} (real$\|$dim)\hfill :] value of the vertical
+ separation between consecutive patterns (\emph{Default:~0 for
+ ti\-lings\footnote{ebd.}, 2pt otherwise}).
+%\addtocounter{footnote}{-1}
+ \item [\Lkeyword{fillsep} (real$\|$dim)\hfill :] value of horizontal and
+ vertical separations between consecutive patterns (\emph{Default:~0 for
+ tilings\footnote{ebd.}, 2pt otherwise}).
+\end{description}
+
+ These values can be negative, which allow the tiles to overlap.
+
+\begin{LTXexample}[width=\linewidth]
+\psset{unit=0.5cm}
+\psboxfill{\Square}
+\Tiling[fillsepx=2mm]{(3,3)} \quad
+\Tiling[fillsepy=1mm]{(3,3)} \quad
+\Tiling[fillsep=0.5]{(3,3)} \quad
+\Tiling[fillsep=-0.5]{(3,3)}
+\end{LTXexample}
+
+
+
+
+\begin{description}
+ \item [\Lkeyword{fillcyclex}\footnotemark\ (integer)\hfill :] Shift
+ coefficient applied to each row (\emph{Default:~0}).
+ \footnote{It was \texttt{fillcycle} in the original version.}
+ \item [\Lkeyword{fillcycley}\footnotemark\ (integer)\hfill :] Same thing for
+ columns (\emph{Default:~0}).
+ \item [\Lkeyword{fillcycle}\footnote{ebd.} (integer)\hfill :] Allow to fix
+ both \Lkeyword{fillcyclex} and \Lkeyword{fillcycley} directly to the same value
+ (\emph{Default:~0}).
+\end{description}
+
+ For instance, if \Lkeyword{fillcyclex} is 2, the second row of patterns will
+be horizontally shifted by a factor of $\frac{1}{2}=0.5$, and by a factor of
+0.333 if \Lkeyword{fillcyclex} is 3, etc.). These values can be negative.
+
+\begin{LTXexample}[width=\linewidth]
+\psset{unit=0.5}
+\psboxfill{\Square}
+\newcommand\TilingA[1]{\Tiling[fillcyclex=#1]{(3,3)}}
+\TilingA{0} \TilingA{1} \quad
+\TilingA{2} \TilingA{3}\quad
+\TilingA{4} \TilingA{5}\quad
+\TilingA{6} \TilingA{-3}\\[3mm]
+\Tiling[fillcycley=2]{(3,3)}\quad
+\Tiling[fillcycley=3]{(3,3)}\quad
+\Tiling[fillcycley=-3]{(3,3)}\quad
+\Tiling[fillcycle=2]{(3,3)}
+\end{LTXexample}
+
+\begin{description}
+ \item [\Lkeyword{fillmovex}\footnotemark\ (real$\|$dim)\hfill :] value of the
+ horizontal moves between consecutive patterns (\emph{Default:~0}).
+ \item [\Lkeyword{fillmovey}\footnotemark\ (real$\|$dim)\hfill :] value of the
+ vertical moves between consecutive patterns (\emph{Default:~0}).
+ \item [\Lkeyword{fillmove}\footnotemark\ (real$\|$dim)\hfill :] value of
+ horizontal and vertical moves between consecutive patterns
+ (\emph{Default:~0}).
+\end{description}
+
+ These parameters allow the patterns to overlap and to draw some special
+kinds of tilings. They are implemented only for the \emph{automatic} and
+\emph{tiling} modes and their values can be negative.
+
+ In some cases, the effect of these parameters will be the same that with the
+\texttt{fillcycle?} ones, but you can see that it is not true for some other
+values.
+
+\begin{LTXexample}
+\psset{unit=0.5}
+\psboxfill{\Square}
+\Tiling[fillmovex=0.5]{(3,3)}\quad
+\Tiling[fillmovey=0.5]{(3,3)}\quad
+\Tiling[fillmove=0.5]{(3,3)}\quad
+\Tiling[fillmove=-0.5]{(3,3)}
+\end{LTXexample}
+
+\begin{description}
+ \item [\Lkeyword{fillsize}
+ (auto$\|$\{(real$\|$dim,real$\|$dim)(real$\|$dim,real$\|$dim)\}) :] The
+ choice of \emph{automatic} mode or the size of the area in \emph{manual}
+ mode. If first pair values are not given, (0,0) is used. (\emph{Default:
+ auto when \emph{tiling} mode is used, {(-15cm,-15cm)(15cm,15cm)}
+ otherwise}).
+\end{description}
+
+ As explained in the introduction, the \emph{manual} mode can require very
+huge amount of computer ressources. So, it usage is to discourage in front off
+the \emph{automatic} mode. It seems only useful in special circonstances, in
+fact when the \emph{automatic} mode failed, which is known only in one case,
+for some kinds of EPS files, as the ones produce by dump of portions of
+screens (see \ref{sec:GraphicFiles}).
+
+\begin{description}
+ \item [\Lkeyword{fillloopaddx}\footnotemark\ (integer)\hfill :] number of
+ times the pattern is added on left and right positions (\emph{Default:~0}).
+ \item [\Lkeyword{fillloopaddy}\footnotemark\ (integer)\hfill :] number of
+ times the pattern is added on top and bottom positions (\emph{Default:~0}).
+ \item [\Lkeyword{fillloopadd}\footnotemark\ (integer)\hfill :] number of
+ times the pattern is added on left, right, top and bottom positions
+ (\emph{Default:~0}).
+\end{description}
+
+ These parameters are only useful in special circonstances, as for complex
+patterns when the size of the rectangular box used to tile the area doesn't
+correspond to the pattern itself (see an example in Figure~\ref{fig:Sheeps})
+and also sometimes when the size of the pattern is not a divisor of the size
+of the area to fill and that the number of loop repeats is not properly
+computed, which can occur.
+
+ They are implemented only for the \emph{tiling} mode.
+
+
+
+\begin{description}
+ \item [\Lkeyword{PstDebug}\footnotemark\ (integer, 0 or 1)\hfill :] to
+ require to see the exact tiling done, without clipping (\emph{Default:~0}).
+\end{description}
+
+
+ It's mainly useful for debugging or to understand better how the tilings
+are done. It is implemented only for the \emph{tiling} mode.
+
+
+%\begin{LTXexample}[width=\linewidth]
+\psset{unit=0.3cm,PstDebug=1}
+\psboxfill{\Square}
+\psset{linewidth=1mm}
+\Tiling{(2,2)}\hfill \Tiling[fillcyclex=2]{(2,2)}\hfill\Tiling[fillmove=0.5]{(2,2)}
+%\end{LTXexample}
+
+\begin{lstlisting}
+\psset{unit=0.3cm,PstDebug=1}
+\psboxfill{\Square}
+\psset{linewidth=1mm}
+\Tiling{(2,2)}\hfill \Tiling[fillcyclex=2]{(2,2)}\hfill\Tiling[fillmove=0.5]{(2,2)}
+\end{lstlisting}
+
+\psset{unit=1cm,PstDebug=0,linewidth=0.8pt}
+
+\section{Examples}
+
+ In fact this unique \Lcs{psboxfill} macro allow a lot a variations and
+different usages. We will try here to demonstrate this.
+
+\subsection{Kind of tiles}
+\label{sec:KindTiles}
+
+ Of course, we can access to all the power of PSTricks macros to define the
+\emph{tiles} (\emph{patterns}) used. So, we can define complicated ones.
+
+ Here we give four other Archimedian tilings (those built with only some
+regular polygons) among the twelve existing, first discovered completely by
+Johanes \textsc{Kepler} at the beginning of 17th century \cite{GS87}, the two
+other \emph{regular} ones with the tiling by squares, formed by a unique
+regular polygon, and two other formed by two different regular polygons.
+
+\begin{LTXexample}[pos=t]
+ \newcommand{\Triangle}{%
+ \begin{pspicture}(1,1)
+ \pstriangle[dimen=middle](0.5,0)(1,1)
+ \end{pspicture}}
+ \newcommand\Hexagon{
+ \begin{pspicture}(0.866,0.75)% sin(60)=0.866
+ \pspolygon[dimen=middle]% % Hexagon
+ (0.5;30)(0.5;90)(0.5;150)(0.5;210)(0.5;270)(0.5;330)
+ \end{pspicture}}
+ \psset{unit=0.5cm}
+ \psboxfill{\Triangle}
+ \Tiling{(4,4)}\qquad
+ \Tiling[fillcyclex=2]{(4,4)}\qquad
+ \psboxfill{\Hexagon}
+ \Tiling[fillcyclex=2,fillloopaddy=1]{(5,5)}
+\end{LTXexample}
+
+\begin{LTXexample}[pos=t]
+ \newcommand{\ArchimedianA}{%Archimedian tiling 3^2.4.3.4
+ \psset{dimen=middle}
+ % sin(60)=0.866
+ \begin{pspicture}(1.866,1.866)
+ \psframe(1,1)
+ \psline(1,0)(1.866,0.5)(1,1)(0.5,1.866)(0,1)(-0.866,0.5)
+ \psline(0,0)(0.5,-0.866)
+ \end{pspicture}}
+ \newcommand{\ArchimedianB}{% Archimedian tiling 4.8^2
+ \psset{dimen=middle,unit=1.5cm}
+ % sin(22.5)=0.3827 ; cos(22.5)=0.9239
+ \begin{pspicture}(1.3066,0.6533)
+ \SpecialCoor
+ % Octogon
+ \pspolygon(0.5;22.5)(0.5;67.5)(0.5;112.5)(0.5;157.5)
+ (0.5;202.5)(0.5;247.5)(0.5;292.5)(0.5;337.5)
+ \end{pspicture}}
+
+ \psset{unit=0.5cm}
+ \psboxfill{\ArchimedianA}
+ \Tiling[fillmove=0.5]{(7,7)}\hfill
+ \psboxfill{\ArchimedianB}
+ \Tiling[fillcyclex=2,fillloopaddy=1]{(7,7)}
+\end{LTXexample}
+
+ We can of course tile an area arbitrarily defined. And with the
+\Lkeyword{addfillstyle} parameter\footnote{Introduced in PSTricks 97.}, we can
+easily mix the \Lkeyword{boxfill} style with another one.
+
+\begin{LTXexample}[width=6cm]
+ \psset{unit=0.5cm,dimen=middle}
+ \psboxfill{%
+ \begin{pspicture}(1,1)
+ \psframe(1,1)
+ \pscircle(0.5,0.5){0.25}
+ \end{pspicture}}
+ \begin{pspicture}(4,6)
+ \pspolygon[fillstyle=boxfill,fillsep=0.25](0,1)(1,4)(4,6)(4,0)(2,1)
+ \end{pspicture}\hspace{1em}
+ \begin{pspicture}(4,4)
+% \pscircle[linestyle=none,fillstyle=solid,fillcolor=yellow,fillsep=0.5,
+% addfillstyle=boxfill](2,2){2}
+ \end{pspicture}
+\end{LTXexample}
+%
+ Various effects can be obtained, sometimes complicated ones very easily, as
+in this example reproduced from one shown by Slavik \textsc{Jablan} in the
+field of \emph{OpTiles}, inspired by the \emph{Op-art}:
+
+\begin{LTXexample}[pos=t]
+\newcommand\ProtoTile{%
+ \begin{pspicture}(1,1)%%1/12=0.08333
+ \psset{linestyle=none,linewidth=0,
+ hatchwidth=0.08333\psunit,hatchsep=0.08333\psunit}
+ \psframe[fillstyle=solid,fillcolor=black,addfillstyle=hlines,hatchcolor=white](1,1)
+ \pswedge[fillstyle=solid,fillcolor=white,addfillstyle=hlines]{1}{0}{90}
+ \end{pspicture}}
+\newcommand\BasicTile{%
+ \begin{pspicture}(2,1)
+ \rput[lb](0,0){\ProtoTile}\rput[lb](1,0){\psrotateleft{\ProtoTile}}
+ \end{pspicture}}
+\ProtoTile\hfill\BasicTile\hfill
+\psboxfill{\BasicTile}
+\Tiling[fillcyclex=2]{(4,4)}
+\end{LTXexample}
+
+ It is also directly possible to surimpose several different tilings. Here is
+the splendid visual proof of the \textsc{Pytha\-gore} theorem done by the arab
+mathematician \textsc{Annairizi} around the year 900, given by superposition
+of two tilings by squares of different sizes.
+
+\begin{LTXexample}[pos=t]
+\psset{unit=1.5,dimen=middle}
+\begin{pspicture*}(3,3)
+ \psboxfill{\begin{pspicture}(1,1)
+ \psframe(1,1)\end{pspicture}}
+ \psframe[fillstyle=boxfill](3,3)
+ \psboxfill{\begin{pspicture}(1,1)
+ \rput{-37}{\psframe[linecolor=red](0.8,0.8)}
+ \end{pspicture}}
+ \psframe[fillstyle=boxfill](3,4)
+ \pspolygon[fillstyle=hlines,hatchangle=90](1,2)(1.64,1.53)(2,2)
+\end{pspicture*}
+\end{LTXexample}
+
+ In a same way, it is possible to build tilings based on figurative patterns,
+in the style of the famous \textsc{Escher} ones. Following an example of
+Andr\'e \textsc{Deledicq} \cite{Deledicq97}, we first show a simple tiling of
+the \emph{p1} category (according to the international classification of the
+17~symmetry groups of the plane first discovered by the russian
+crystalographer Jevgraf \textsc{Fedorov} at the end of the 19th century):
+
+\begin{LTXexample}[pos=t]
+ \newcommand\SheepHead[1]{%
+ \begin{pspicture}(3,1.5)
+ \pscustom[liftpen=2,fillstyle=solid,fillcolor=#1]{%
+ \pscurve(0.5,-0.2)(0.6,0.5)(0.2,1.3)(0,1.5)(0,1.5)
+ (0.4,1.3)(0.8,1.5)(2.2,1.9)(3,1.5)(3,1.5)(3.2,1.3)
+ (3.6,0.5)(3.4,-0.3)(3,0)(2.2,0.4)(0.5,-0.2)}
+ \pscircle*(2.65,1.25){0.12\psunit} %Eye
+ \psccurve*(3.5,0.3)(3.35,0.45)(3.5,0.6)(3.6,0.4)% Muzzle
+ % Mouth
+ \pscurve(3,0.35)(3.3,0.1)(3.6,0.05)
+ % Ear
+ \pscurve(2.3,1.3)(2.1,1.5)(2.15,1.7)\pscurve(2.1,1.7)(2.35,1.6)(2.45,1.4)
+ \end{pspicture}}
+ \psboxfill{\psset{unit=0.5}\SheepHead{yellow}\SheepHead{cyan}}
+ \Tiling[fillcyclex=2,fillloopadd=1]{(10,5)}
+\end{LTXexample}
+\label{fig:Sheeps}
+
+ Now a tiling of the \emph{pg} category (the code for the kangaroo itself is
+too long to be shown here, but has no difficulties ; the kangaroo is reproduce
+from an original picture from Raoul \textsc{Raba} and here is a translation in
+PSTricks from the one drawn by Emmanuel \textsc{Chailloux} and Guy
+\textsc{Cousineau} for their MLgraph system \cite{MLgraphTSI}):
+
+\begin{LTXexample}[pos=t]
+\psboxfill{\psset{unit=0.4}
+ \Kangaroo{yellow}\Kangaroo{red}\Kangaroo{cyan}\Kangaroo{green}%
+ \psscalebox{-1 1}{%
+ \rput(1.235,4.8){\Kangaroo{green}\Kangaroo{cyan}\Kangaroo{red}\Kangaroo{yellow}}}}
+ \Tiling[fillloopadd=1]{(10,6)}
+\end{LTXexample}
+
+ And here a \textsc{Wang} tiling \cite{Wang65}, \cite[chapter
+11]{GS87}, based on very simple tiles of the form of a square and composed
+of four colored triangles. Such tilings are built with only a matching color
+constraint. Despite of it simplicity, it is an important kind of tilings, as
+\textsc{Wang} and others used them to study the special class of
+\emph{aperiodic} tilings, and also because it was shown that surprisingly this
+tiling is similar to a \textsc{Turing} machine.
+
+\begin{LTXexample}[pos=t]
+ \newcommand{\WangTile}[4]{%
+ \begin{pspicture}(1,1)
+ \pspolygon*[linecolor=#1](0,0)(0,1)(0.5,0.5)
+ \pspolygon*[linecolor=#2](0,1)(1,1)(0.5,0.5)
+ \pspolygon*[linecolor=#3](1,1)(1,0)(0.5,0.5)
+ \pspolygon*[linecolor=#4](1,0)(0,0)(0.5,0.5)
+ \end{pspicture}}
+ \newcommand{\WangTileA}{\WangTile{cyan}{yellow}{cyan}{cyan}}
+ \newcommand{\WangTileB}{\WangTile{yellow}{cyan}{cyan}{red}}
+ \newcommand{\WangTileC}{\WangTile{cyan}{red}{yellow}{yellow}}
+ \newcommand{\WangTiles}[1][]{%
+ \begin{pspicture}(3,3) \psset{ref=lb}
+ \rput(0,2){\WangTileB} \rput(1,2){\WangTileA}%
+ \rput(2,2){\WangTileC} \rput(0,1){\WangTileC}%
+ \rput(1,1){\WangTileB} \rput(2,1){\WangTileA}
+ \rput(0,0){\WangTileA} \rput(1,0){\WangTileC}%
+ \rput(2,0){\WangTileB}
+ #1
+ \end{pspicture}}
+ \WangTileA\hfill\WangTileB\hfill\WangTileC\hfill
+ \WangTiles[{\psgrid[subgriddiv=0,gridlabels=0](3,3)}]\hfill
+ \psset{unit=0.4} \psboxfill{\WangTiles} \Tiling{(12,12)}
+\end{LTXexample}
+
+\subsection{External graphic files}
+\label{sec:GraphicFiles}
+
+ We can also fill an arbitrary area with an external image. We have only,
+as usual, to matter of the \emph{BoundingBox} definition if there is no one
+provided or if it is not the accurate one, as for the well known
+\texttt{tiger} picture part of the \texttt{ghostscript} distribution.
+
+\begin{LTXexample}[pos=t]
+ \psboxfill{%Strangely require x1=x2...
+ \begin{pspicture}(0,1)(0,4.1)
+ \includegraphics[bb=17 176 560 74,width=3cm]{images/tiger}
+ \end{pspicture}}
+ \Tiling{(6,6.2)}
+\end{LTXexample}
+
+ Nevertheless, there are some special files for which the \emph{automatic}
+mode doesn't work, specially for some files obtained by a screen dump, as in
+the next example, where a picture was reduced before it conversion in the
+\emph{Encapsulated PostScript} format by a screen dump utility. In this case,
+usage of the \emph{manual} mode is the only alternative, at the price of the
+real multiple inclusion of the EPS file. We must take care to specify the
+correct \texttt{fillsize} parameter, because otherwise the default values are
+large and will load the file many times, perhaps just really using few
+occurrences as the other ones would be clipped...
+
+\begin{LTXexample}[pos=t]
+ \psboxfill{\includegraphics{images/flowers}}
+ \begin{pspicture}(8,4)
+ \psellipse[fillstyle=boxfill,fillsize={(8,4)}](4,2)(4,2)
+ \end{pspicture}
+\end{LTXexample}
+
+\subsection{Tiling of characters}
+
+ We can also use the \cs{psboxfill} macro to fill the interior of characters
+for special effects like these ones:
+
+\begin{LTXexample}[pos=t]
+ \DeclareFixedFont{\bigsf}{T1}{phv}{b}{n}{4.5cm}
+ \DeclareFixedFont{\smallrm}{T1}{ptm}{m}{n}{3mm}
+ \psboxfill{\smallrm Since 182 days...}
+ \begin{pspicture*}(8,4)
+ \centerline{%
+ \pscharpath[fillstyle=gradient,gradangle=-45,
+ gradmidpoint=0.5,addfillstyle=boxfill,
+ fillangle=45,fillsep=0.7mm]
+ {\rput[b](0,0.1){\bigsf 2000}}}
+ \end{pspicture*}
+\end{LTXexample}
+
+\begin{LTXexample}[pos=t]
+ \DeclareFixedFont{\mediumrm}{T1}{ptm}{m}{n}{2cm}
+ \psboxfill{%
+ \psset{unit=0.1,linewidth=0.2pt}
+ \Kangaroo{PeachPuff}\Kangaroo{PaleGreen}%
+ \Kangaroo{LightBlue}\Kangaroo{LemonChiffon}%
+ \psscalebox{-1 1}{%
+ \rput(1.235,4.8){%
+ \Kangaroo{LemonChiffon}\Kangaroo{LightBlue}%
+ \Kangaroo{PaleGreen}\Kangaroo{PeachPuff}}}}%
+% A kangaroo of kangaroos...
+ \begin{pspicture}(8,2)
+ \pscharpath[linestyle=none,fillstyle=boxfill,fillloopadd=1]
+ {\rput[b](4,0){\mediumrm Kangaroo}}
+ \end{pspicture}
+\end{LTXexample}
+
+\subsection{Other kinds of usage}
+
+ Other kinds of usage can be imagined. For instance, we can use tilings in a
+sort of degenerated way to draw some special lines made by a unique or
+multiple repeating patterns. But it can be only a special dashed line, as here
+with three different dashes:
+
+\begin{LTXexample}[pos=t]
+ \newcommand{\Dashes}{%
+ \psset{dimen=middle}
+ \begin{pspicture}(0,-0.5\pslinewidth)(1,0.5\pslinewidth)
+ \rput(0,0){\psline(0.4,0)}%
+ \rput(0.5,0){\psline(0.2,0)}%
+ \rput(0.8,0){\psline(0.1,0)}
+ \end{pspicture}}
+
+ \newcommand{\SpecialDashedLine}[3]{%
+ \psboxfill{#3}
+ \Tiling[linestyle=none]
+ {(#1,-0.5\pslinewidth)(#2,0.5\pslinewidth)}}
+
+ \SpecialDashedLine{0}{7}{\Dashes}
+
+ \psset{unit=0.5,linewidth=1mm,linecolor=red}
+ \SpecialDashedLine{0}{10}{\Dashes}
+\end{LTXexample}
+
+ It allows also to use special patterns in business graphics, as in the
+following example generated by \texttt{PstChart}\footnote{A personal
+development to draw business charts with PSTricks, not distributed.}.
+
+
+\vspace{3mm}
+\begin{figure}[!ht]
+\centering
+\psset{unit=0.75cm}
+% Generated by pstchart.sh version 0.21 (11/28/97)
+{\psset{dimen=middle}
+\psset{xunit=2,yunit=5}
+\begin{pspicture}(-0.6,-0.2)(6.6,2.3)
+% Title
+ \rput(3,2.200){\shortstack{Fantaisist repartition of kangaroos\\
+ in the world (in thousands)}}
+% Frame background
+ \psframe*[linecolor=LemonChiffon!40](0,0)(6,2.000)
+% Graduations
+ \multido{\r=0.0+0.500,\n=0+500}{5}{\rput[r](-0.12,\r){\psscalebox{0.8}{\n}}}
+% Minor ticks
+ \multips(0,0.100)(0,0.100){19}{\psline[unit=4.8pt](1,0)}
+ \multips(6,0.100)(0,0.100){19}{\psline[unit=4.8pt](-1,0)}
+% Major ticks
+ \multips(0,0.500)(0,0.500){3}{\psline[unit=9.6pt](1,0)}
+ \multips(6,0.500)(0,0.500){3}{\psline[unit=9.6pt](-1,0)}
+% Lines from major ticks marks
+ \multips(0,0.500)(0,0.500){3}{\psline[linestyle=dotted,linewidth=0.6pt](6,0)}
+% Drawing for the data
+ \psset{linestyle=none,fillcycley=1,fillcyclex=1,fillloopaddy=2}
+ \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{red}}
+ \rput(0.7,0){\psframe[fillstyle=boxfill](0,0)(0.75,1.8)}
+ \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{yellow}}
+ \rput(1.7,0){\psframe[fillstyle=boxfill](0,0)(0.75,0.8)}
+ \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{cyan}}
+ \rput(2.7,0){\psframe[fillstyle=boxfill](0,0)(0.75,0.55)}
+ \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{magenta}}
+ \rput(3.7,0){\psframe[fillstyle=boxfill](0,0)(0.75,0.5)}
+ \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{green}}
+ \rput(4.7,0){\psframe[fillstyle=boxfill](0,0)(0.75,0.2)}
+% Bottom labels
+ \uput{0.2}[270]{0}(1,0){\psscalebox{0.7}{Oceania}}
+ \uput{0.2}[270]{0}(2,0){\psscalebox{0.7}{Africa}}
+ \uput{0.2}[270]{0}(3,0){\psscalebox{0.7}{Asia}}
+ \uput{0.2}[270]{0}(4,0){\psscalebox{0.7}{America}}
+ \uput{0.2}[270]{0}(5,0){\psscalebox{0.7}{Europe}}
+% Frame box around the chart
+ \psframe[linestyle=solid](0,0)(6,2.000)
+\end{pspicture}}
+ \caption{Bar chart generated by PstChart, with bars filled by patterns}
+ \label{fig:PstChart}
+\end{figure}
+
+
+\section{``Dynamic'' tilings}
+
+ In some cases, tilings used non \emph{static} tiles, that is to say that the
+\emph{prototile(s)}, even if unique, can have several forms, by instance
+specified by different colors or rotations, not fixed before generation or
+varying each time.
+
+\subsection{Lewthwaite-Pickover-Truchet tiling}
+
+
+
+
+
+ We give here for example the so-called \emph{Truchet} tiling, which much be
+in fact better called \emph{Lewthwaite-Pick\-over-Truchet (LPT)} tiling%
+\footnote{For description of the context, history and references about
+S\'ebastien \textsc{Truchet} and this tiling, see \cite{EsperetGirou98}.}.
+
+ The unique prototile is only a square with two opposite circle arcs.
+This tile has obviously two positions, if we rotate it from 90 degrees (see
+the two tiles on the next figure). A \emph{LPT tiling} is a tiling with
+randomly oriented LPT tiles. We can see that even if it is very simple in it
+principle, it draw sophisticated curves with strange properties.
+
+ Nevertheless, in the straightforward way \FillPackage{} does not work,
+because the \Lcs{psboxfill} macro store the content of the tile used in a
+\TeX{} box, which is static. So the calling to the random function is done
+only one time, which explain that only one rotation of the tile is used for
+all the tiling. It's only the one of the two rotations which could differ from
+one drawing to the next one...
+
+% Truchet (Lewthwaite-Pickover-Truchet) tiling
+% --------------------------------------------
+
+\begin{LTXexample}[pos=t]
+% LPT prototile
+ \newcommand\ProtoTileLPT{%
+ \psset{dimen=middle}
+ \begin{pspicture}(1,1)
+ \psframe(1,1)
+ \psarc(0,0){0.5}{0}{90}
+ \psarc(1,1){0.5}{-180}{-90}
+ \end{pspicture}}
+
+% LPT tile
+ \newcount\Boolean
+ \newcommand{\BasicTileLPT}{%
+% From random.tex by Donald Arseneau
+ \setrannum{\Boolean}{0}{1}%
+ \ifnum\Boolean=0
+ \ProtoTileLPT%
+ \else
+ \psrotateleft{\ProtoTileLPT}%
+ \fi}
+
+ \ProtoTileLPT\hfill\psrotateleft{\ProtoTileLPT}\hfill
+ \psset{unit=0.5}
+ \psboxfill{\BasicTileLPT}
+ \Tiling{(5,5)}
+\end{LTXexample}
+
+
+ But, for simple cases, there is a solution to this problem using a mixture
+of PSTricks and PostScript programming. Here the PSTricks
+construction \Lcs{pscustom}\verb+{+\Lcs{code}\verb+{...}}+ allow to insert PostScript code
+inside the \LaTeX{} + PSTricks one.
+
+ Programmation is less straightforward, but it has also the advantage to be
+notably faster, as all the tilings operations are done in PostScript, and
+mainly to not be limited by \TeX{} memory (the \TeX{} + PSTricks solution
+I wrote in 1995 for the colored problem was limited to small sizes for this
+reason). Just note also that \Lcs{pslbrace} and \Lcs{psrbrace} are two
+PSTricks macros to define and be able to insert the \verb+{+ and \verb+}+
+characters.
+
+
+
+
+\begin{LTXexample}[pos=t]
+% LPT prototile
+\newcommand\ProtoTileLPT{%
+ \psset{dimen=middle}
+ \psframe(1,1)
+ \psarc[linecolor=blue](0,0){0.5}{0}{90}
+ \psarc[linecolor=red](1,1){0.5}{-180}{-90}}
+
+\newcount\InitCounter
+
+\ifPSTlualatex
+ \newcommand\BasicTileLPT{%
+ \InitCounter=\the\time
+ \begin{pspicture}(1,1)
+ \pstverb{
+ rand \the\InitCounter\space add 2 mod 0 eq
+ {\luaPSTbox\hbox{\ProtoTileLPT}}%
+ { 1 0 \csname tx@ScreenCoor\endcsname translate
+ \luaPSTbox\hbox{\psrotateleft{\ProtoTileLPT}}} ifelse /.TeXBox findresource exec
+ }%
+ \end{pspicture}}
+\else
+ \newcommand\BasicTileLPT{%
+ \InitCounter=\the\time
+ \pscustom{\code{%
+ rand \the\InitCounter\space add 2 mod 0 eq \pslbrace}}
+ \begin{pspicture}(1,1)
+ \ProtoTileLPT
+ \end{pspicture}%
+ \pscustom{\code{\psrbrace \pslbrace}}
+ \psrotateleft{\ProtoTileLPT}%
+ \pscustom{\code{\psrbrace ifelse}}}
+\fi
+\psset{fillcycley=1,fillcyclex=1,fillloopaddy=2,unit=0.4,linewidth=0.8pt}
+\psboxfill{\BasicTileLPT}
+\Tiling{(10,10)}
+\end{LTXexample}
+
+
+
+
+ Using the very surprising fact (see \cite{EsperetGirou98}) that
+coloration of these tiles do not depend of their neighbors (even if it is
+difficult to believe as the opposite seems obvious!) but only of the parity of
+the value of row and column positions, we can directly program in the same way
+a colored version of the LPT tiling.
+
+ We have also introduce in the \FillPackage{} code for \emph{tiling} mode two
+new accessible Post\-Script variables, \texttt{row} and
+\texttt{column}\footnotemark, which can be useful in some circonstances, like
+this one.
+
+
+
+
+
+\newcommand\ProtoTileLPT[2]{%
+ \psset{dimen=middle,linestyle=none,fillstyle=solid}
+ \psframe[fillcolor=#1](1,1)
+ \psset{fillcolor=#2}
+ \pswedge(0,0){0.5}{0}{90}
+ \pswedge(1,1){0.5}{-180}{-90}}
+
+\newcount\InitCounter
+
+\ifPSTlualatex
+ \newcommand\BasicTileLPT[2]{%
+ \InitCounter=\the\time
+ \begin{pspicture}(1,1)%
+ \pstverb{
+ rand \the\InitCounter\space sub 2 mod 0 eq {
+ \txfillDict row column end add 2 mod 0 eq {\luaPSTbox\hbox{%
+ \ProtoTileLPT{#1}{#2}%
+ }} {\luaPSTbox\hbox{%
+ \ProtoTileLPT{#2}{#1}%
+ }} ifelse /.TeXBox findresource exec
+ } {
+ 1 0 \csname tx@ScreenCoor\endcsname translate
+ \txfillDict row column end add 2 mod 0 eq {\luaPSTbox\hbox{%
+ \psrotateleft{\ProtoTileLPT{#2}{#1}}%
+ }} {\luaPSTbox\hbox{%
+ \psrotateleft{\ProtoTileLPT{#1}{#2}}%
+ }} ifelse /.TeXBox findresource exec
+ } ifelse
+ }%
+ \end{pspicture}}
+\else
+ \newcommand\BasicTileLPT[2]{%
+ \InitCounter=\the\time
+ \pscustom{\code{%
+ rand \the\InitCounter\space sub 2 mod 0 eq \pslbrace
+ row column add 2 mod 0 eq \pslbrace}}
+ \begin{pspicture}(1,1)\ProtoTileLPT{#1}{#2}\end{pspicture}%
+ \pscustom{\code{\psrbrace \pslbrace}}
+ \ProtoTileLPT{#2}{#1}%
+ \pscustom{\code{%
+ \psrbrace ifelse \psrbrace \pslbrace row column add 2 mod 0 eq \pslbrace}}
+ \psrotateleft{\ProtoTileLPT{#2}{#1}}\pscustom{\code{\psrbrace \pslbrace}}
+ \psrotateleft{\ProtoTileLPT{#1}{#2}}\pscustom{\code{\psrbrace ifelse \psrbrace ifelse}}}
+\fi
+
+\psboxfill{\BasicTileLPT{red}{yellow}}
+\Tiling{(4,4)}\hfill
+\psset{unit=0.4}\psboxfill{\BasicTileLPT{blue}{cyan}}
+\Tiling{(15,15)}
+
+
+\psset{unit=1cm}
+\begin{lstlisting}
+\newcommand\ProtoTileLPT[2]{%
+ \psset{dimen=middle,linestyle=none,fillstyle=solid}
+ \psframe[fillcolor=#1](1,1)
+ \psset{fillcolor=#2}
+ \pswedge(0,0){0.5}{0}{90}
+ \pswedge(1,1){0.5}{-180}{-90}}
+
+\newcount\InitCounter
+
+ \newcommand\BasicTileLPT[2]{%
+ \InitCounter=\the\time
+ \begin{pspicture}(1,1)%
+ \pstverb{
+ rand \the\InitCounter\space sub 2 mod 0 eq {
+ \txfillDict row column end add 2 mod 0 eq {\luaPSTbox\hbox{%
+ \ProtoTileLPT{#1}{#2}%
+ }} {\luaPSTbox\hbox{%
+ \ProtoTileLPT{#2}{#1}%
+ }} ifelse /.TeXBox findresource exec
+ } {
+ 1 0 \csname tx@ScreenCoor\endcsname translate
+ \txfillDict row column end add 2 mod 0 eq {\luaPSTbox\hbox{%
+ \psrotateleft{\ProtoTileLPT{#2}{#1}}%
+ }} {\luaPSTbox\hbox{%
+ \psrotateleft{\ProtoTileLPT{#1}{#2}}%
+ }} ifelse /.TeXBox findresource exec
+ } ifelse
+ }%
+ \end{pspicture}}
+
+ \psboxfill{\BasicTileLPT{red}{yellow}}
+ \Tiling{(4,4)}\hfill
+ \psset{unit=0.4}\psboxfill{\BasicTileLPT{blue}{cyan}}
+ \Tiling{(15,15)}
+\end{lstlisting}
+
+
+ Another classic example is to generate coordinates and numerotation for a
+grid. Of course, it is possible to do it directly in PSTricks using nested
+\Lcs{multido} commands. It would be clearly easy to program, but, nevertheless,
+for users who have a little knowledge of PostScript programming, this offer
+an alternative which is useful for large cases, because on this way it will
+be notably faster and less computer ressources consuming.
+
+ Remember here that the tiling is drawn from left to right, and top to
+bottom, and note that the PostScript variable \texttt{x2} give the total
+number of columns.
+
+
+
+\begin{externalDocument}[
+% grfOptions={width=0.48\linewidth},
+% pages={1,3},
+% frame,
+ compiler=lualatex,
+% showFilename,
+ crop,
+ cropmargin=5,
+ eps,
+ force,
+ %runs=2,
+ code,
+ docType=latex,
+ %frame,
+ %lstOptions={columns=fixed}
+ ]{pst-fill-doc}
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{uncompress}
+\documentclass{article}
+\pagestyle{empty}
+\usepackage[tiling]{pst-fill}
+%StartVisiblePreamble
+\newcommand\Square{\begin{pspicture}(1,1)\psframe[dimen=middle](1,1)\end{pspicture}}
+\newcommand\Tiling[2][]{%
+ \begin{pspicture}#2 \psframe[fillstyle=boxfill,#1]#2\end{pspicture}}
+\newcommand\ProtoTile{%
+ \Square
+ \pscustom{%
+ \moveto(-0.9,0.75) % In PSTricks units
+ \code{\ifPSTlualatex\txfillDict\fi
+ /Times-Italic findfont 8 scalefont setfont
+ (\string\() show row 3 string cvs show (,) show
+ column 3 string cvs show (\string\)) show \ifPSTlualatex end \fi}
+ \moveto(-0.5,0.25) % In PSTricks units
+ \code{\ifPSTlualatex\txfillDict\fi
+ /Times-Bold findfont 18 scalefont setfont
+ 1 0 0 setrgbcolor % Red color
+ /center { dup stringwidth pop 2 div neg 0 rmoveto } def
+ row 1 sub x2 mul column add 3 string cvs
+ center show \ifPSTlualatex end \fi }}}
+%StopVisiblePreamble
+\begin{document}
+\psset{fillcycley=0,fillcyclex=0,fillloopaddy=0}
+\psboxfill{\ProtoTile}
+\Tiling{(6,4)}
+\end{document}
+\end{externalDocument}
+
+
+
+\subsection{A complete example: the Poisson equation}
+
+ To finish, we will show a complete real example, a drawing to explain the
+method used to solve the \textsc{Poisson} equation by a domain
+decomposition method, adapted to distributed memory computers. The
+objective is to show the communications required between processes and the
+position of the data to exchange. This code also show some useful and powerful
+technics for PSTricks programming (look specially at the way some higher level
+macros are defined, and how the same object is used to draw the four
+neighbors).
+
+\psset{unit=1cm}
+\newcommand{\Pattern}[1]{%
+ \begin{pspicture}(-0.25,-0.25)(0.25,0.25)\rput{*0}{\psdot[dotstyle=#1]}
+ \end{pspicture}}
+\newcommand{\West}{\Pattern{o}} \newcommand{\South}{\Pattern{x}}
+\newcommand{\Central}{\Pattern{+}}\newcommand{\North}{\Pattern{square}}
+\newcommand{\East}{\Pattern{triangle}}
+\newcommand{\Cross}{%
+ \pspolygon[unit=0.5,linewidth=0.2,linecolor=red](0,0)(0,1)(1,1)(1,2)(2,2)(2,1)%
+ (3,1)(3,0)(2,0)(2,-1)(1,-1)(1,0)}
+\newcommand{\StylePosition}[1]{\LARGE\textcolor{red}{\textbf{#1}}}
+\newcommand{\SubDomain}[4]{%
+ \psboxfill{#4}\begin{psclip}{\psframe[linestyle=none]#1}%
+ \psframe[linestyle=#3](5,5)\psframe[fillstyle=boxfill]#2%
+ \end{psclip}}
+\newcommand{\SendArea}[1]{\psframe[fillstyle=solid,fillcolor=cyan]#1}
+\newcommand{\ReceiveData}[2]{%
+ \psboxfill{#2}\psframe[fillstyle=solid,fillcolor=yellow,addfillstyle=boxfill]#1}%
+\newcommand{\Neighbor}[2]{%
+ \begin{pspicture}(5,5)
+ \rput{*0}(2.5,2.5){\StylePosition{#1}}
+ \ReceiveData{(0.5,0)(4.5,0.5)}{\Central}\SendArea{(0.5,0.5)(4.5,1)}%
+ \SubDomain{(5,2)}{(0.5,0.5)(4.5,3)}{dashed}{#2}%
+ \pcarc[arcangle=45,arrows=->](0.5,-1.25)(0.5,0.25)%
+ \pcarc[arcangle=45,arrows=->,linestyle=dotted,dotsep=2pt](4.5,0.75)(4.5,-0.75)%
+ \end{pspicture}}%
+ \psset{dimen=middle,dotscale=2,fillloopadd=2}
+\begin{pspicture}(-5.7,-5.7)(5.7,5.7)
+ \rput(0,0){%
+ \begin{pspicture}(5,5)
+ \ReceiveData{(0,0.5)(0.5,4.5)}{\West} \ReceiveData{(4.5,0.5)(5,4.5)}{\East}
+ \ReceiveData{(0.5,4.5)(4.5,5)}{\North}\ReceiveData{(0.5,0)(4.5,0.5)}{\South}
+ \SendArea{(0.5,0.5)(1,4.5)}\SendArea{(4,0.5)(4.5,4.5)}
+ \SendArea{(0.5,0.5)(4.5,1)}\SendArea{(0.5,4)(4.5,4.5)}
+ \SubDomain{(5,5)}{(0.5,0.5)(4.5,4.5)}{solid}{\Central}
+ \psline(1,0.5)(1,4.5)\psline(4,0.5)(4,4.5)%
+ \rput(1.5,4){\Cross}\rput(2,2){\Cross}%
+ \end{pspicture}}%
+ \rput(0,5.5){\Neighbor{N}{\North}}\rput{-90}(5.5,0){\Neighbor{E}{\East}}%
+ \rput{90}(-5.5,0){\Neighbor{W}{\West}}\rput{180}(0,-5.5){\Neighbor{S}{\South}}%
+\end{pspicture}
+
+\begin{lstlisting}
+ \newcommand{\Pattern}[1]{%
+ \begin{pspicture}(-0.25,-0.25)(0.25,0.25)\rput{*0}{\psdot[dotstyle=#1]}
+ \end{pspicture}}
+ \newcommand{\West}{\Pattern{o}} \newcommand{\South}{\Pattern{x}}
+ \newcommand{\Central}{\Pattern{+}}\newcommand{\North}{\Pattern{square}}
+ \newcommand{\East}{\Pattern{triangle}}
+ \newcommand{\Cross}{%
+ \pspolygon[unit=0.5,linewidth=0.2,linecolor=red](0,0)(0,1)(1,1)(1,2)(2,2)(2,1)
+ (3,1)(3,0)(2,0)(2,-1)(1,-1)(1,0)}
+ \newcommand{\StylePosition}[1]{\LARGE\textcolor{red}{\textbf{#1}}}
+ \newcommand{\SubDomain}[4]{%
+ \psboxfill{#4}
+ \begin{psclip}{\psframe[linestyle=none]#1}
+ \psframe[linestyle=#3](5,5)\psframe[fillstyle=boxfill]#2
+ \end{psclip}}
+ \newcommand{\SendArea}[1]{\psframe[fillstyle=solid,fillcolor=cyan]#1}
+ \newcommand{\ReceiveData}[2]{%
+ \psboxfill{#2}
+ \psframe[fillstyle=solid,fillcolor=yellow,addfillstyle=boxfill]#1}
+ \newcommand{\Neighbor}[2]{%
+ \begin{pspicture}(5,5)
+ \rput{*0}(2.5,2.5){\StylePosition{#1}}
+ \ReceiveData{(0.5,0)(4.5,0.5)}{\Central}\SendArea{(0.5,0.5)(4.5,1)}
+ \SubDomain{(5,2)}{(0.5,0.5)(4.5,3)}{dashed}{#2}%
+% Receive and send arrows
+ \pcarc[arcangle=45,arrows=->](0.5,-1.25)(0.5,0.25)
+ \pcarc[arcangle=45,arrows=->,linestyle=dotted,dotsep=2pt](4.5,0.75)(4.5,-0.75)
+ \end{pspicture}}
+ \psset{dimen=middle,dotscale=2,fillloopadd=2}
+ \begin{pspicture}(-5.7,-5.7)(5.7,5.7)
+% Central domain
+ \rput(0,0){%
+ \begin{pspicture}(5,5)
+% Receive from West, East, North and South
+ \ReceiveData{(0,0.5)(0.5,4.5)}{\West} \ReceiveData{(4.5,0.5)(5,4.5)}{\East}
+ \ReceiveData{(0.5,4.5)(4.5,5)}{\North}\ReceiveData{(0.5,0)(4.5,0.5)}{\South}
+% send area for West, East, North and South
+ \SendArea{(0.5,0.5)(1,4.5)} \SendArea{(4,0.5)(4.5,4.5)}
+ \SendArea{(0.5,0.5)(4.5,1)} \SendArea{(0.5,4)(4.5,4.5)}
+% Central domain
+ \SubDomain{(5,5)}{(0.5,0.5)(4.5,4.5)}{solid}{\Central}
+% Redraw overlapped linesY
+ \psline(1,0.5)(1,4.5) \psline(4,0.5)(4,4.5)
+% Two crossesY
+ \rput(1.5,4){\Cross} \rput(2,2){\Cross}
+ \end{pspicture}}
+% The four neighborsY
+ \rput(0,5.5){\Neighbor{N}{\North}} \rput{-90}(5.5,0){\Neighbor{E}{\East}}
+ \rput{90}(-5.5,0){\Neighbor{W}{\West}} \rput{180}(0,-5.5){\Neighbor{S}{\South}}
+ \end{pspicture}
+\end{lstlisting}
+%
+
+\section{Debugging}
+
+For debugging (to debug, set PstDebug=1)
+we now use the one from pstricks to prevent a clash with package
+pstricks 2004-06-22
+% \define@key[psset]{pst-fill}{PstDebug}{\pst@getint{#1}\psk@PstDebug}
+ \psset{PstDebug=0}
+
+\printbibliography
+\printindex
+
+
+\end{document}
+
diff --git a/graphics/pstricks/contrib/pst-fill/latex/pst-fill.sty b/graphics/pstricks/contrib/pst-fill/latex/pst-fill.sty
new file mode 100644
index 0000000000..d5a2eb9736
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-fill/latex/pst-fill.sty
@@ -0,0 +1,23 @@
+%%
+%% This is file `pst-fill.sty',
+%%
+%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
+%% Herbert Voss <hvoss@tug.org>
+%% (C) 2007-2021
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-fill' is a PSTricks package for filling and tiling areas
+%%
+\RequirePackage{pstricks}
+\ProvidesPackage{pst-fill}[2010/03/20 package wrapper for pst-fill.tex (hv)]
+\DeclareOption{tiling}{\def\PstTiling{true}}
+\ProcessOptions\relax
+\input{pst-fill.tex}
+\ProvidesFile{pst-fill.tex} [\filedate\space v\fileversion\space `PST-fill' (tvz,dg,hv)]
+\endinput
+%%
+%% End of file `pst-fill.sty'.
diff --git a/graphics/pstricks/contrib/pst-fill/pst-fill.dtx b/graphics/pstricks/contrib/pst-fill/pst-fill.dtx
deleted file mode 100644
index 43961608a2..0000000000
--- a/graphics/pstricks/contrib/pst-fill/pst-fill.dtx
+++ /dev/null
@@ -1,1817 +0,0 @@
-% \iffalse meta-comment, etc.
-%%
-%% Package `pst-fill.dtx'
-%%
-%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
-%% Herbert Voss <voss@pstricks.de>
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN archives
-%% in directory macros/latex/base/lppl.txt.
-%%
-%% DESCRIPTION:
-%% `pst-fill' is a PSTricks package for filling and tiling areas
-%%
-% \fi
-% \changes{v1.01}{2007/03/10}{bugfix for incomplete ifx (hv)}
-% \changes{v1.00}{2006/11/06}{use pst-xkey for extend keys (hv)}
-% \changes{v0.99}{2004/08/17}{merge the VTeX and TeX versions (patch 4) (hv)}
-% \changes{v0.98}{2004/06/22}{delete the Pst@Debug option and use the
-% the one from pstricks to prevent a clash with pst-gr3d (hv)}
-% \changes{v0.97}{2001/10/09}{make it work with VTeX (mv)}
-% \changes{v0.94}{1997/04/08}{With a \PstTiling macro defined (or "tiling" optional parameter
-% on \textbackslash usepackage[tiling]{pst-fill}), this file run exactly as
-% the original boxfill.tex file from Timothy, version 0.94,
-% except a correction in \textbackslash pst@ManualFillCycle to avoid a division by 0.
-% It's the default.}
-% \changes{v0.93}{1997/04/07}{With a \textbackslash PstTiling macro defined (or "tiling" optional parameter
-% on \textbackslash usepackage[tiling]{pst-fill}) there are several add-ons
-% and changes to do `tiling' rather than `filling' in "automatic" mode :
-% - we fix the position of the beginning of tiling,
-% - we allow normally the framing of the area as expected, using
-% the line.... parameters
-% - we define move parameters fillmovex, fillmovey and fillmove,
-% - we define fillcyclex as previous fillcycle parameter, and add the
-% fillcycley and fillcycle (both fillcyclex and fillcycley) ones
-% - we can extend the tiling area using fillloopaddx, fillloopaddy and
-% fillloopadd parameters,
-% - we can debug and see the whole tiling area without clipping using
-% PstDebug parameter,
-% - for names consistancy, we can use fillangle in place of boxfillangle
-% and fillsize in place of boxfillsize,
-% - default value for fillsep is 0 and for fillsize is auto.}
-%
-% \DoNotIndex{\!,\",\#,\$,\%,\&,\',\(,\+,\*,\,,\-,\.,\/,\:,\;,\<,\=,\>,\?}
-% \DoNotIndex{\@,\@B,\@K,\@cTq,\@f,\@fPl,\@ifnextchar,\@nameuse,\@oVk}
-% \DoNotIndex{\[,\\,\],\^,\_,\ }
-% \DoNotIndex{\^,\\^,\\\^,$\^$,$\\^$,$\\^$}
-% \DoNotIndex{\0,\2,\4,\5,\6,\7,\8,}
-% \DoNotIndex{\A,\a}
-% \DoNotIndex{\B,\b,\Bc,\begin,\Bq,\Bqc}
-% \DoNotIndex{\C,\c,\catcode,\cJA,\CodelineIndex,\csname}
-% \DoNotIndex{\D,\def,\define@key,\Df,\divide,\DocInput,\documentclass,\pst@addfams}
-% \DoNotIndex{\eCN,\edef,\else,\eHd,\eMcj,\EnableCrossrefs,\end,\endcsname}
-% \DoNotIndex{\endCenterExample,\endExample,\endinput,\endpsclip}
-% \DoNotIndex{\PrintIndex,\PrintChanges,\ProvidesFile}
-% \DoNotIndex{\endpspicture,\endSideBySideExample,\Example}
-% \DoNotIndex{\F,\f,\FdUrr,\fi,\filedate,\fileversion,\FV@Environment}
-% \DoNotIndex{\FV@UseKeyValues,\FV@XRightMargin,\FVB@Example,\fvset}
-% \DoNotIndex{\G,\g,\GetFileInfo,\gr,\GradientLoaded,\gsFKrbK@o,\gsj,\gsOX}
-% \DoNotIndex{\hbadness,\hfuzz,\HLEmphasize,\HLMacro,\HLMacro@i}
-% \DoNotIndex{\HLReverse,\HLReverse@i,\hqcu,\HqY}
-% \DoNotIndex{\I,\i,\ifx,\input,\Ir,\IU}
-% \DoNotIndex{\j,\jl,\JT,\JVodH}
-% \DoNotIndex{\K,\k,\kfSlL}
-% \DoNotIndex{\L,\let}
-% \DoNotIndex{\message,\mHNa,\mIU}
-% \DoNotIndex{\N,\nB,\newcmykcolor,\newdimen,\newif,\nW}
-% \DoNotIndex{\O,\oCDJDo,\ocQhVI,\OnlyDescription,\oRKJ}
-% \DoNotIndex{\P,\p,\ProvidesPackage,\psframe,\pslinewidth,\psset}
-% \DoNotIndex{\PstAtCode,\PSTricksLoaded}
-% \DoNotIndex{\q,\Qr,\qssRXq,\qu,\qXjFQp,\qYL}
-% \DoNotIndex{\R,\r,\RecordChanges,\relax,\RlaYI,\rN,\Rp,\rp,\RPDXNn,\rput}
-% \DoNotIndex{\S,\scalebox,\SgY,\SideBySide@Example,\SideBySideExample}
-% \DoNotIndex{\SgY,\sk,\Sp,\space,\sZb}
-% \DoNotIndex{\T,\the,\tw@}
-% \DoNotIndex{\u,\UiSWGEf@,\uJi,\usepackage,\uVQdMM,\UYj}
-% \DoNotIndex{\VerbatimEnvironment,\VerbatimInput,\VrC@}
-% \DoNotIndex{\WhZ,\WjKCYb,\WNs}
-% \DoNotIndex{\XkN,\XW}
-% \DoNotIndex{\Z,\ZCM,\Ze}
-% \DoNotIndex{\addtocounter,\advance,\alph,\arabic,\AtBeginDocument,\AtEndDocument}
-% \DoNotIndex{\AtEndOfPackage,\begingroup,\bfseries,\bgroup,\box,\csname}
-% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\expandafter,\fi}
-% \DoNotIndex{\TeX,\z@,\p@,\@one,\xdef,\thr@@,\string,\sixt@@n,\reset,\or,\multiply,\repeat,\RequirePackage}
-% \DoNotIndex{\@cclvi,\@ne,\@ehpa,\@nil,\copy,\dp,\global,\hbox,\hss,\ht,\ifodd,\ifdim,\ifcase,\kern}
-% \DoNotIndex{\chardef,\loop,\leavevmode,\ifnum,\lower}
-% \setcounter{IndexColumns}{2}
-%
-% ^^A To extend the height used for the text
-%
-% ^^A Aligned labels in a description environment
-%\newenvironment{Description}[1]{%
-%\begin{list}{nothing}{\setlength{\leftmargin}{#1}
-%\setlength{\labelwidth}{\leftmargin}\setlength{\labelsep}{1mm}}}
-%{\end{list}}
-%
-% ^^A For macro names
-%\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
-%
-%
-% ^^A From ltugboat.cls
-% ^^A For references
-%\makeatletter
-%\newcommand\acro[1]{\textsc{#1}\@}
-%\def\CTAN{\acro{CTAN}}
-%\let\texttub\textsl % ^^A redefined in other situations
-%\def\TUB{\texttub{TUGboat}}
-%\def\TUG{\TeX\ \UG}
-%\def\tug{\acro{TUG}}
-%\def\UG{Users Group}
-% ^^A For the bibliography
-%\let\@internalcite\cite
-%\def\cite{\def\@citeseppen{-1000}%
-% \def\@cite##1##2{(##1\if@tempswa , ##2\fi)}%
-% \def\citeauthoryear##1##2##3{##1, ##3}\@internalcite}
-%\def\etal{et\,al.\@}
-%\newcommand\CTANdirectory[1]{\expandafter\urldef
-% \csname CTAN@#1\endcsname\path}
-%\newcommand\CTANfile[1]{\expandafter\urldef
-% \csname CTAN@#1\endcsname\path}
-%\newcommand\CTANref[1]{\expandafter\@setref\csname CTAN@#1\endcsname
-% \relax{#1}}
-%\makeatother
-% ^^A Define CTAN addresses
-%\CTANdirectory{mpattern}{graphics/metapost/macros/mpattern}
-%\CTANdirectory{pstricks}{graphics/pstricks}
-%\CTANdirectory{pst-fill.sty}{graphics/pstricks/latex/pst-fill.sty}
-%\CTANdirectory{pst-fill}{graphics/pstricks/generic/pst-fill.tex}
-%\CTANdirectory{Roegel}{graphics/metapost/contrib/macros/truchet}
-%\CTANdirectory{xypic}{macros/generic/diagrams/xypic}
-%
-% ^^A Personal macros (D.G.)
-% ^^A ----------------------
-%
-% ^^A Some colors used
-%\definecolor{LemonChiffon}{rgb}{1.,0.98,0.8}
-%\definecolor{LightBlue} {rgb}{0.8,0.85,0.95}
-%\definecolor{PaleGreen} {rgb}{0.88,1,0.88}
-%\definecolor{PeachPuff} {rgb}{1.0,0.85,0.73}
-%
-% ^^A To define a unique string for TeX and LaTeX
-%\newcommand{\AllTeX}{%
-%{\rm(L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em)%
-%T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
-%
-% ^^A Bibliography style
-%\bibliographystyle{ltugbib}
-%
-% ^^A Name macros
-%\newcommand{\FillPackage}{\textsf{`pst-fill'}}
-%\newcommand{\XYpic}{%
-%\leavevmode\hbox{\kern-.1em X\kern-.3em\lower.4ex\hbox{Y\kern-.15em}-pic}}
-%
-%\makeatletter
-%
-% ^^A Example environments
-% ^^A (do not use in them the four JXYZ characters, that we will use
-% ^^A as escape characters!)
-%
-% ^^A Default PSTricks parameters
-% \psset{dimen=middle}
-%
-% ^^A Translation in PSTricks from the one drawn by Emmanuel Chailloux and
-% ^^A Guy Cousineau for the MLgraph system
-% ^^A (see /ftp.ens.fr:/pub/unix/lang/MLgraph/version-2.1/MLgraph-refman.ps.gz)
-% ^^A The kangaroo itself is reproduce from an original picture from Raoul Raba
-% \newcommand{\DimX}{2.47}
-% \newcommand{\DimY}{4.8}
-% \newcommand{\DimXDivTwo}{1.235}
-%
-% \newcommand{\KangarooItself}[1]{%
-% ^^A Body
-% \pspolygon[fillstyle=solid,fillcolor=#1]%
-% (52.5,68)(55,72.5)(55.8,76.5)(56.8,79.8)(58.2,83)(60,85.8)(61.5,86.5)
-% (64,87)(66,87.5)(67.8,87.3)(70,87)(71.5,87.3)(73,88)(74.7,88.5)
-% (76,90.3)(77,91.5)(72.8,93.8)(69,96)(64.5,99)(59.4,103)(56.2,106.3)
-% (53,110.5)(49.5,115.5)(47.2,119.9)(45.7,126)(43.2,123)(41.5,121)(37.5,125)
-% (37,122.5)(36.8,120)(37,117)(37.6,113.5)(38.6,110)(40,106.3)(42,102.3)
-% (43.5,99.5)(45,97)(46.2,94)(46.8,91.7)(47.2,88)(47,83.5)(46.3,80.8)
-% (45.3,78.5)(42.5,76.5)(39.5,75.8)(36,75.9)(33,75.9)(29,76.2)(26,77)
-% (22.3,77.5)(18,78.4)(12.8,79.3)(8.6,80)(5.5,80.3)(3,80.5)(0,80)
-% (-5.2,78.5)(-9,76.3)(-11.2,74.8)(-13,72.5)(-16.5,68)(-16.5,68)(-19.5,62.5)
-% (-22,58)(-25.5,53)(-29,48.5)(-32.5,45)(-36,42)(-39,39.5)(-44,37)
-% (-49,35)(-51,34)(-53.5,34.5)(-55.5,36)(-56.5,38)(-56.5,40.5)(-55,41.5)
-% (-53.5,41)(-51.5,41)(-50.5,43)(-50.5,44.5)(-51,47)(-51.5,47.2)(-56.5,47)
-% (-58.5,46.5)(-60,44.7)(-62,42.3)(-63,39.5)(-63.5,36.3)(-63.5,33)(-63.1,29.5)
-% (-61.5,26)(-58,23.6)(-54,22.2)(-50.7,22)(-47.5,22)(-44.5,22.3)(-41,23.5)
-% (-36.8,25.8)(-33,28)(-28.5,31)(-23.4,35)(-20.2,38.3)(-17,42.5)(-13.5,47.5)
-% (-11.2,51.9)(-9.7,58)(-7.2,55)(-5.5,53)(-1.5,57)(-1,54.5)(-0.8,52)
-% (-1,49)(-1.6,45.5)(-2.6,42)(-4,38.3)(-6,34.3)(-7.5,31.5)(-9,29)
-% (-10.2,26)(-10.8,23.7)(-11.2,20)(-11,15.5)(-10.3,12.8)(-9.3,10.5)(-6.5,8.5)
-% (-3.5,7.8)(0,7.9)(3,7.9)(7,8.2)(10,9)(13.7,9.5)(18,10.4)
-% (23.2,11.3)(27.4,12)(30.5,12.3)(33,12.5)(36,12)(41.2,10.5)(45,8.3)
-% (47.2,6.8)(49,4.5)(52.5,0)(50,4.5)(49.2,8.5)(48.2,11.8)(46.8,15)
-% (45,17.8)(43.5,18.5)(41,19)(39,19.5)(37.2,19.3)(35,19)(33.5,19.3)
-% (32,20)(30.3,20.5)(29,22.3)(28,23.5)(28,23.5)(24.5,22.3)(21.5,22)
-% (18.3,22)(15,22.2)(11,23.6)(7.5,26)(5.9,29.5)(5.5,33)(5.5,36.3)
-% (6,39.5)(7,42.3)(9,44.7)(10.5,46.5)(12.5,47)(17.5,47.2)(18,47)
-% (18.5,44.5)(18.5,43)(17.5,41)(15.5,41)(14,41.5)(12.5,40.5)(12.5,38)
-% (13.5,36)(15.5,34.5)(18,34)(20,35)(25,37)(30,39.5)(33,42)
-% (36.5,45)(40,48.5)(43.5,53)(47,58)(49.5,62.5)(52.5,68)
-% ^^A Eye
-% \pscircle*[linecolor=white](58.2,98.3){2\psxunit}
-% \pscircle*(58.2,97.3){\psxunit}
-% ^^A Mouth
-% \psline(71.5,88)(70,89.3)(68.5,90.3)(67,91.9)
-% ^^A Tear
-% \psline(42,121)(45,118)(47,115.3)(48.5,112.7)(50,110)(51.8,106.5)
-% (52.5,103.7)(53,100.5)
-% \pspolygon(41.2,115.8)(43.2,114.7)(45,112.5)(47,109.8)(48,107)(49.5,104.2)%
-% (50.5,101.6)(51,98.5)(47.7,100.6)(46,102.2)(44.8,104)(43.5,106)
-% (42.5,108)(41.7,110.5)(41,113.2)}
-%
-% \newcommand{\Kangaroo}[1]{%
-% \begin{pspicture}(\DimX,\DimY)
-% \psset{unit=0.035278}
-% \KangarooItself{#1}
-% \end{pspicture}}
-%
-% \newcommand{\KangarooPstChart}[1]{{%
-% \psset{xunit=0.006784,yunit=0.00735,linewidth=0.01}
-% \begin{pspicture}(-65.5,0)(82,126)
-% \KangarooItself{#1}
-% \end{pspicture}}}
-%
-%
-% ^^A For the possible index and changes log
-% \setlength{\columnseprule}{0.6pt}
-%
-% ^^A Beginning of the documentation itself
-%\title{\texttt{pst-fill}\\A PSTricks package for filling and tiling areas}
-%\author{Timothy Van Zandt\thanks{\protect\url{tvz@econ.insead.fr}. (documentation by
-% Denis Girou (\protect\url{Denis.Girou@idris.fr}) and Herbert Vo\ss (\protect\url{hvoss@tug.org}).}}
-%
-%\date{\shortstack{\today --- Version 1.00\\
-% {\small Documentation revised \today}}}
-% \maketitle
-% \tableofcontents
-%
-%\begin{abstract}
-% \FillPackage{} is a PSTricks \cite{vanZandt93},\cite{Girou94},\cite{vanZandtGirou94},
-%\cite{Hoenig97},\cite{LGC97} package to draw easily
-% various kinds of filling and tiling of areas. It is also a good example of
-% the great power and flexibility of PSTricks, as in fact it is a very short
-% program (it body is around 200~lines long) but nevertheless really powerful.
-%
-% \hspace{5mm} It was written in 1994 by Timothy \textsc{van Zandt} but
-% publicly available only in PSTricks 97 and without any documentation.
-% We describe here the version \emph{97 patch 2} of December 12, 1997, which
-% is the original one modified by myself to manage \emph{tilings} in the
-% so-called \emph{automatic} mode. This article would like to serve both of
-% reference manual and of user's guide.
-%
-%This package is available on \CTAN{} in the
-% \texttt{graphics/pstricks} directory (files \texttt{latex/pst-fill.sty} and
-% \texttt{generic/pst-fill.tex}).
-%\end{abstract}
-%
-%\section{Introduction}
-%
-% Here we will refer as \emph{filling} as the operation which consist to fill
-%a defined area by a pattern (or a composition of patterns). We will refer as
-%\emph{tiling} as the operation which consist to do the same thing, but with
-%the control of the starting point, which is here the upper left corner.
-%The pattern is positioned relatively to this point. This make an essential
-%difference between the two modes, as without control of the starting point we
-%can't draw \emph{tilings} (sometimes called \emph{tesselations}) as used in
-%many fields of Art and Science%
-%\footnote{For an extensive presentation of tilings, in their history and usage
-%in many fields, see the reference book \cite{GS87}.
-%
-% In the \TeX{} world, few work was done on tilings. You can look at the
-%\emph{tile} extension of the \XYpic{} package \cite{XYpic}, at the articles of
-%Kees \textsc{van der Laan} \cite[paragraph 7]{LAAN96} (the tiling was in
-%fact directly done in PostScript) and \cite{LAAN97}, at the \MP{} program
-%(available on \CTANref{Roegel}) by Denis \textsc{Roegel} for the
-%\textsc{Truchet} contest in 1995 \cite{EsperetGirou98} and at the \MP{}
-%package \cite{Bolek98} to draw patterns, which have a strong connection with
-%tilings.}.
-%
-% Nevertheless, as tilings are a wide and difficult field in mathematics, this
-%package is limited to simple ones, mainly \emph{monohedral} tilings with one
-%prototile (which can be composite, see section \ref{sec:KindTiles}). With some
-%experience and wiliness we can do more and obtained easily rather
-%sophisticated results, but obviously hyperbolic tilings like the famous
-%\textsc{Escher} ones or aperiodic tilings like the \textsc{Penrose} ones are
-%not in the capabilities of this package. For more complex needs, we must used
-%low level and more painfull technics, with the basic \cs{multido}
-%and \cs{multirput} macros.
-%
-%\section{Package history and description of it two different modes}
-%
-% As already said, this package was written in 1994 by Timothy \textsc{van
-%Zandt}. Two modes were defined, called respectively \emph{manual} and
-%\emph{automatic}. For both, the pattern is generated on contiguous positions in
-%a rather large area which include the region to fill, later cut to the
-%required dimensions by clipping mechanism. In the first mode, the pattern is
-%explicitely inserted in the PostScript file each time. In the second one, the
-%result is the same but with an unique explicit insertion of the pattern and a
-%repetition done by PostScript. Nevertheless, in this method, the control of
-%the starting point was loosed, so it allowed only to \emph{fill} a region and
-%not to \emph{tile} it.
-%
-% See the difference between the two modes, \emph{tiling}:
-% {\psset{unit=0.5cm}%
-% \psboxfill{\begin{pspicture}(1,1)\psframe[dimen=middle](1,1)\end{pspicture}}
-% \begin{pspicture}(3,3.3)
-% \psframe[fillstyle=boxfill](3,3)
-% \end{pspicture}}
-% and \emph{filling}:
-%{%
-% \makeatletter
-%\pst@def{BoxFill}<
-% gsave
-% gsave \tx@STV CM grestore dtransform CM idtransform
-% abs /h ED abs /w ED
-% pathbbox
-% h div round 2 add cvi /y2 ED
-% w div round 2 add cvi /x2 ED
-% h div round 2 sub cvi /y1 ED
-% w div round 2 sub cvi /x1 ED
-% /y2 y2 y1 sub def
-% /x2 x2 x1 sub def
-% CP
-% y1 h mul sub neg /y1 ED
-% x1 w mul sub neg /x1 ED
-% clip
-% y2 {
-% /x x1 def
-% x2 {
-% save CP x y1 T moveto Box restore
-% /x x w add def
-% } repeat
-% /y1 y1 h add def
-% } repeat
-% currentpoint currentfont grestore setfont moveto>
-% \makeatother
-%
-% \psset{unit=0.5}
-% \psboxfill{\begin{pspicture}(1,1)\psframe[dimen=middle](1,1)\end{pspicture}}
-% \begin{pspicture}(3,3.3)
-% \psframe[fillstyle=boxfill](3,3)
-% \end{pspicture}
-% or
-% \begin{pspicture}(3,3.3)
-% \psframe[fillstyle=boxfill](3,3)
-% \end{pspicture}
-%}
-%as we can see that initial position is arbitrary and dependent of
-%the current point.
-%
-%
-% It's clear that usage of filling is very restrictive comparing to tiling,
-%as desired effects required very often the possibility to control the starting
-%point. So, this mode was of limited interest, but unfortunately the
-%\emph{manual} one has the very big disadvantage to require very huge amounts
-%of ressources, mainly in disk space and consequently in printing time.
-%A small tiling can require sometimes several megabytes in \emph{manual} mode!
-%So, it was very often not really usable in practice.
-%
-%It is why I modified the code, to allow tilings in \emph{automatic} mode,
-%controlling in this mode too the starting point. And most of the time, that is
-%to say if some special options are not used, the tiling is done exactly in the
-%region described, which make it faster. So there is no more reason to use the
-%\emph{manual} mode, apart very special cases where \emph{automatic} one cannot
-%work, as explained later -- currently, I know only one case.
-%
-% To load this modified \emph{automatic} mode, with \LaTeX{} use
-%simply:\newline
-%\verb+\usepackage[tiling]{pst-fill}+\newline
-%and in plain \TeX{} after:\newline
-%\verb+\input{pst-fill}+\newline
-%add the following definition:\newline
-%\verb+\def\PstTiling{true}+
-%
-% To obtain the original behaviour, just don't use the \emph{tiling} optional
-%keyword at loading.
-%
-% Take care than in \emph{tiling} mode, I introduce also some other changes.
-%First I define aliases on some parameter names for consistancy (all specific
-%parameters will begin by the \texttt{fill} prefix in this case) and I change
-%some default values, which were not well adapted for tilings (\texttt{fillsep}
-%is set to 0 and as explained \texttt{fillsize} set to \texttt{auto}). I rename
-%\texttt{fillcycle} to \texttt{fillcyclex}. I also restore normal way so that
-%the frame of the area is drawn and all line (\texttt{linestyle},
-%\texttt{linecolor}, \texttt{doubleline}, etc.) parameters are now active (but
-%there are not in non \emph{tiling} mode). And I also introduce new parameters
-%to control the tilings (see below).
-%
-% \textbf{In all the following examples, we will consider only the
-% \emph{tiling} mode.}
-%
-% To do a tiling, we have just to define the pattern with the
-% \verb+\psboxfill+ macro and to use the new \texttt{fillstyle}
-% \verb+boxfill+.
-%
-% Note that tilings are drawn from left to right and top to bottom, which can
-%have an importance in some circonstances.
-%
-% PostScript programmers can be also interested to know that, even in the
-%\emph{automatic} mode, the iterations of the pattern are managed directly by
-%the PostScript code of the package which used only PostScript Level 1
-%operators. The special ones introduced in Level 2 for drawing of patterns
-%\cite[section 4.9]{PostScript95} are not used.
-%
-% And first, for conveniance, we define a simple \cs{Tiling} macro, which
-%will simplify our examples:
-%
-%\begin{verbatim}
-% \newcommand{\Tiling}[2][]{%
-% \edef\Temp{#1}%
-% \begin{pspicture}#2
-% \ifx\Temp\empty
-% \psframe[fillstyle=boxfill]#2
-% \else
-% \psframe[fillstyle=boxfill,#1]#2
-% \fi
-% \end{pspicture}}
-%\end{verbatim}
-%
-%
-%\newcommand{\Tiling}[2][]{%
-% \edef\Temp{#1}%
-% \begin{pspicture}#2
-% \ifx\Temp\empty
-% \psframe[fillstyle=boxfill]#2
-% \else
-% \psframe[fillstyle=boxfill,#1]#2
-% \fi
-% \end{pspicture}}
-%
-%\subsection{Parameters}
-%
-% There are \textbf{14} specific parameters available to change the way the
-% filling/tiling is defined, and one debugging option.
-%
-% \begin{Description}{2cm}
-% \item [fillangle (real)\hfill :] the value of the rotation
-% applied to the patterns (\emph{Default:~0}).
-% \end{Description}
-%
-%
-% In this case, we must force the tiling area to be notably larger than the
-% area to cover, to be sure that the defined area will be covered after rotation.
-% \lstset{gobble=2}
-% \begin{LTXexample}
-% \newcommand{\Square}{%
-% \begin{pspicture}(1,1)
-% \psframe[dimen=middle](1,1)
-% \end{pspicture}}
-% \psset{unit=0.5}
-% \psboxfill{\Square}
-% \Tiling[fillangle=45]{(3,3)}\quad
-% \Tiling[fillangle=-60]{(3,3)}
-% \end{LTXexample}
-%
-% \newcommand{\Square}{\begin{pspicture}(1,1)\psframe[dimen=middle](1,1)\end{pspicture}}
-%
-% \begin{Description}{2cm}
-% \setcounter{footnote}{1}
-% \item[\texttt{fillsepx} (real$\|$dim) :] value of the horizontal
-% separation between consecutive patterns (\emph{Default:~0 for
-% tilings\footnotemark, 2pt otherwise}). \footnotetext{This option was added
-% by me, is not part of the original package and is available only if the
-% \texttt{tiling} keyword is used when loading the package.}
-% \setcounter{footnote}{1}
-% \item [\texttt{fillsepy} (real$\|$dim)\hfill :] value of the vertical
-% separation between consecutive patterns (\emph{Default:~0 for
-% ti\-lings\footnotemark, 2pt otherwise}).
-% \setcounter{footnote}{1}
-% \item [\texttt{fillsep} (real$\|$dim)\hfill :] value of horizontal and
-% vertical separations between consecutive patterns (\emph{Default:~0 for
-% tilings\footnotemark, 2pt otherwise}).
-% \end{Description}
-%
-% These values can be negative, which allow the tiles to overlap.
-%
-% \begin{LTXexample}
-% \psset{unit=0.5}
-% \psboxfill{\Square}
-% \Tiling[fillsepx=2mm]{(3,3)}
-% \Tiling[fillsepy=1mm]{(3,3)}\\
-% \Tiling[fillsep=0.5]{(3,3)}
-% \Tiling[fillsep=-0.5]{(3,3)}
-% \end{LTXexample}
-%
-% \begin{Description}{2cm}
-% \item [\texttt{fillcyclex}\footnotemark\ (integer)\hfill :] Shift
-% coefficient applied to each row (\emph{Default:~0}).
-% \footnotetext{It was \texttt{fillcycle} in the original version.}
-% \setcounter{footnote}{1}
-% \item [\texttt{fillcycley}\footnotemark\ (integer)\hfill :] Same thing for
-% columns (\emph{Default:~0}).
-% \setcounter{footnote}{1}
-% \item [\texttt{fillcycle}\footnotemark\ (integer)\hfill :] Allow to fix
-% both \texttt{fillcyclex} and \texttt{fillcycley} directly to the same value
-% (\emph{Default:~0}).
-% \end{Description}
-%
-% For instance, if \texttt{fillcyclex} is 2, the second row of patterns will
-% be horizontally shifted by a factor of $\frac{1}{2}=0.5$, and by a factor of
-% 0.333 if \texttt{fillcyclex} is 3, etc.). These values can be negative.
-%
-% \begin{LTXexample}[width=0.35\linewidth]
-% \psset{unit=0.5}
-% \psboxfill{\Square}
-% \newcommand{\TilingA}[1]{\Tiling[fillcyclex=#1]{(3,3)}}
-% \TilingA{0} \TilingA{1}\\
-% \TilingA{2} \TilingA{3}\\[3mm]
-% \TilingA{4} \TilingA{5}\\
-% \TilingA{6} \TilingA{-3}\\[3mm]
-% \Tiling[fillcycley=2]{(3,3)}
-% \Tiling[fillcycley=3]{(3,3)}\\
-% \Tiling[fillcycley=-3]{(3,3)}
-% \Tiling[fillcycle=2]{(3,3)}
-% \end{LTXexample}
-%
-% \begin{Description}{2cm}
-% \setcounter{footnote}{1}
-% \item [\texttt{fillmovex}\footnotemark\ (real$\|$dim)\hfill :] value of the
-% horizontal moves between consecutive patterns (\emph{Default:~0}).
-% \setcounter{footnote}{1}
-% \item [\texttt{fillmovey}\footnotemark\ (real$\|$dim)\hfill :] value of the
-% vertical moves between consecutive patterns (\emph{Default:~0}).
-% \setcounter{footnote}{1}
-% \item [\texttt{fillmove}\footnotemark\ (real$\|$dim)\hfill :] value of
-% horizontal and vertical moves between consecutive patterns
-% (\emph{Default:~0}).
-% \end{Description}
-%
-% These parameters allow the patterns to overlap and to draw some special
-% kinds of tilings. They are implemented only for the \emph{automatic} and
-% \emph{tiling} modes and their values can be negative.
-%
-% In some cases, the effect of these parameters will be the same that with the
-% \texttt{fillcycle?} ones, but you can see that it is not true for some other
-% values.
-%
-% \begin{LTXexample}
-% \psset{unit=0.5}
-% \psboxfill{\Square}
-% \Tiling[fillmovex=0.5]{(3,3)}
-% \Tiling[fillmovey=0.5]{(3,3)}\\
-% \Tiling[fillmove=0.5]{(3,3)}
-% \Tiling[fillmove=-0.5]{(3,3)}
-% \end{LTXexample}
-%
-% \begin{Description}{2cm}
-% \item [\texttt{fillsize}
-% (auto$\|$\{(real$\|$dim,real$\|$dim)(real$\|$dim,real$\|$dim)\}) :] The
-% choice of \emph{automatic} mode or the size of the area in \emph{manual}
-% mode. If first pair values are not given, (0,0) is used. (\emph{Default:
-% auto when \emph{tiling} mode is used, {(-15cm,-15cm)(15cm,15cm)}
-% otherwise}).
-% \end{Description}
-%
-% As explained in the introduction, the \emph{manual} mode can require very
-% huge amount of computer ressources. So, it usage is to discourage in front off
-% the \emph{automatic} mode. It seems only useful in special circonstances, in
-% fact when the \emph{automatic} mode failed, which is known only in one case,
-% for some kinds of EPS files, as the ones produce by dump of portions of
-% screens (see \ref{sec:GraphicFiles}).
-%
-% \begin{Description}{2cm}
-% \setcounter{footnote}{1}
-% \item [\texttt{fillloopaddx}\footnotemark\ (integer)\hfill :] number of
-% times the pattern is added on left and right positions (\emph{Default:~0}).
-% \setcounter{footnote}{1}
-% \item [\texttt{fillloopaddy}\footnotemark\ (integer)\hfill :] number of
-% times the pattern is added on top and bottom positions (\emph{Default:~0}).
-% \setcounter{footnote}{1}
-% \item [\texttt{fillloopadd}\footnotemark\ (integer)\hfill :] number of
-% times the pattern is added on left, right, top and bottom positions
-% (\emph{Default:~0}).
-% \end{Description}
-%
-% These parameters are only useful in special circonstances, as for complex
-% patterns when the size of the rectangular box used to tile the area doesn't
-% correspond to the pattern itself (see an example in Figure~\ref{fig:Sheeps})
-% and also sometimes when the size of the pattern is not a divisor of the size
-% of the area to fill and that the number of loop repeats is not properly
-% computed, which can occur.
-%
-% They are implemented only for the \emph{tiling} mode.
-%
-% \begin{Description}{2cm}
-% \setcounter{footnote}{1}
-% \item [\texttt{PstDebug}\footnotemark\ (integer, 0 or 1)\hfill :] to
-% require to see the exact tiling done, without clipping (\emph{Default:~0}).
-% \end{Description}
-%
-% It's mainly useful for debugging or to understand better how the tilings
-% are done. It is implemented only for the \emph{tiling} mode.
-%
-% \begin{LTXexample}
-% \psset{unit=0.3,PstDebug=1}
-% \psboxfill{\Square}
-% \psset{linewidth=1mm}
-% \Tiling{(2,2)}\\[5mm]
-% \Tiling[fillcyclex=2]{(2,2)}\\[1cm]
-% \Tiling[fillmove=0.5]{(2,2)}
-% \end{LTXexample}
-%
-% \vspace{3cm}
-% \section{Examples}
-%
-% In fact this unique \cs{psboxfill} macro allow a lot a variations and
-% different usages. We will try here to demonstrate this.
-%
-% \subsection{Kind of tiles}
-% \label{sec:KindTiles}
-%
-% Of course, we can access to all the power of PSTricks macros to define the
-% \emph{tiles} (\emph{patterns}) used. So, we can define complicated ones.
-%
-% Here we give four other Archimedian tilings (those built with only some
-% regular polygons) among the twelve existing, first discovered completely by
-% Johanes \textsc{Kepler} at the beginning of 17th century \cite{GS87}, the two
-% other \emph{regular} ones with the tiling by squares, formed by a unique
-% regular polygon, and two other formed by two different regular polygons.
-%
-% \begin{LTXexample}[pos=t]
-% \newcommand{\Triangle}{%
-% \begin{pspicture}(1,1)
-% \pstriangle[dimen=middle](0.5,0)(1,1)
-% \end{pspicture}}
-% \newcommand{\Hexagon}{
-% ^^A sin(60)=0.866
-% \begin{pspicture}(0.866,0.75)
-% \SpecialCoor
-% ^^A Hexagon
-% \pspolygon[dimen=middle]%
-% (0.5;30)(0.5;90)(0.5;150)(0.5;210)(0.5;270)(0.5;330)
-% \end{pspicture}}
-%
-% \psset{unit=0.5}
-% \psboxfill{\Triangle}
-% \Tiling{(4,4)}\hfill
-% ^^A The two other regular tilings
-% \Tiling[fillcyclex=2]{(4,4)}\hfill
-% \psboxfill{\Hexagon}
-% \Tiling[fillcyclex=2,fillloopaddy=1]{(5,5)}
-% \end{LTXexample}
-%
-% \begin{LTXexample}[pos=t]
-% \newcommand{\ArchimedianA}{%
-% ^^A Archimedian tiling 3^2.4.3.4
-% \psset{dimen=middle}
-% ^^A sin(60)=0.866
-% \begin{pspicture}(1.866,1.866)
-% \psframe(1,1)
-% \psline(1,0)(1.866,0.5)(1,1)(0.5,1.866)(0,1)(-0.866,0.5)
-% \psline(0,0)(0.5,-0.866)
-% \end{pspicture}}
-% \newcommand{\ArchimedianB}{%
-% ^^A Archimedian tiling 4.8^2
-% \psset{dimen=middle,unit=1.5}
-% ^^A sin(22.5)=0.3827 ; cos(22.5)=0.9239
-% \begin{pspicture}(1.3066,0.6533)
-% \SpecialCoor
-% ^^A Octogon
-% \pspolygon(0.5;22.5)(0.5;67.5)(0.5;112.5)(0.5;157.5)
-% (0.5;202.5)(0.5;247.5)(0.5;292.5)(0.5;337.5)
-% \end{pspicture}}
-%
-% \psset{unit=0.5}
-% \psboxfill{\ArchimedianA}
-% \Tiling[fillmove=0.5]{(7,7)}\hfill
-% \psboxfill{\ArchimedianB}
-% \Tiling[fillcyclex=2,fillloopaddy=1]{(7,7)}
-% \end{LTXexample}
-%
-% \setcounter{footnote}{3}
-% We can of course tile an area arbitrarily defined. And with the
-% \texttt{addfillstyle} parameter\footnote{Introduced in PSTricks 97.}, we can
-% easily mix the \texttt{boxfill} style with another one.
-%
-% \begin{LTXexample}[width=6cm]
-% \psset{unit=0.5,dimen=middle}
-% \psboxfill{%
-% \begin{pspicture}(1,1)
-% \psframe(1,1)
-% \pscircle(0.5,0.5){0.25}
-% \end{pspicture}}
-% \begin{pspicture}(4,6)
-% \pspolygon[fillstyle=boxfill,fillsep=0.25](0,1)(1,4)(4,6)(4,0)(2,1)
-% \end{pspicture}\hspace{1em}
-% \begin{pspicture}(4,4)
-%% \pscircle[linestyle=none,fillstyle=solid,fillcolor=yellow,fillsep=0.5,
-%% addfillstyle=boxfill](2,2){2}
-% \end{pspicture}
-% \end{LTXexample}
-%
-% Various effects can be obtained, sometimes complicated ones very easily, as
-% in this example reproduced from one shown by Slavik \textsc{Jablan} in the
-% field of \emph{OpTiles}, inspired by the \emph{Op-art}:
-%
-% \begin{LTXexample}[pos=t]
-% \newcommand{\ProtoTile}{%
-% \begin{pspicture}(1,1)%%% 1/12=0.08333
-% \psset{linestyle=none,linewidth=0,
-% hatchwidth=0.08333\psunit,hatchsep=0.08333\psunit}
-% \psframe[fillstyle=solid,fillcolor=black,addfillstyle=hlines,hatchcolor=white](1,1)
-% \pswedge[fillstyle=solid,fillcolor=white,addfillstyle=hlines]{1}{0}{90}
-% \end{pspicture}}
-% \newcommand{\BasicTile}{%
-% \begin{pspicture}(2,1)
-% \rput[lb](0,0){\ProtoTile}\rput[lb](1,0){\psrotateleft{\ProtoTile}}
-% \end{pspicture}}
-% \ProtoTile\hfill\BasicTile\hfill
-% \psboxfill{\BasicTile}
-% \Tiling[fillcyclex=2]{(4,4)}
-% \end{LTXexample}
-%
-% It is also directly possible to surimpose several different tilings. Here is
-% the splendid visual proof of the \textsc{Pytha\-gore} theorem done by the arab
-% mathematician \textsc{Annairizi} around the year 900, given by superposition
-% of two tilings by squares of different sizes.
-%
-% \begin{LTXexample}[pos=t]
-% \psset{unit=1.5,dimen=middle}
-% \begin{pspicture*}(3,3)
-% \psboxfill{\begin{pspicture}(1,1)
-% \psframe(1,1)\end{pspicture}}
-% \psframe[fillstyle=boxfill](3,3)
-% \psboxfill{\begin{pspicture}(1,1)
-% \rput{-37}{\psframe[linecolor=red](0.8,0.8)}
-% \end{pspicture}}
-% \psframe[fillstyle=boxfill](3,4)
-% \pspolygon[fillstyle=hlines,hatchangle=90](1,2)(1.64,1.53)(2,2)
-% \end{pspicture*}
-% \end{LTXexample}
-%
-% In a same way, it is possible to build tilings based on figurative patterns,
-% in the style of the famous \textsc{Escher} ones. Following an example of
-% Andr\'e \textsc{Deledicq} \cite{Deledicq97}, we first show a simple tiling of
-% the \emph{p1} category (according to the international classification of the
-% 17~symmetry groups of the plane first discovered by the russian
-% crystalographer Jevgraf \textsc{Fedorov} at the end of the 19th century):
-%
-% \begin{LTXexample}[pos=t]
-% \newcommand{\SheepHead}[1]{%
-% \begin{pspicture}(3,1.5)
-% \pscustom[liftpen=2,fillstyle=solid,fillcolor=#1]{%
-% \pscurve(0.5,-0.2)(0.6,0.5)(0.2,1.3)(0,1.5)(0,1.5)
-% (0.4,1.3)(0.8,1.5)(2.2,1.9)(3,1.5)(3,1.5)(3.2,1.3)
-% (3.6,0.5)(3.4,-0.3)(3,0)(2.2,0.4)(0.5,-0.2)}
-% \pscircle*(2.65,1.25){0.12\psunit} % Eye
-% \psccurve*(3.5,0.3)(3.35,0.45)(3.5,0.6)(3.6,0.4)% Muzzle
-% ^^A % Mouth
-% \pscurve(3,0.35)(3.3,0.1)(3.6,0.05)
-% ^^A % Ear
-% \pscurve(2.3,1.3)(2.1,1.5)(2.15,1.7)\pscurve(2.1,1.7)(2.35,1.6)(2.45,1.4)
-% \end{pspicture}}
-% \psboxfill{\psset{unit=0.5}\SheepHead{yellow}\SheepHead{cyan}}
-% \Tiling[fillcyclex=2,fillloopadd=1]{(10,5)}
-% \end{LTXexample}
-% \label{fig:Sheeps}
-%
-% Now a tiling of the \emph{pg} category (the code for the kangaroo itself is
-% too long to be shown here, but has no difficulties ; the kangaroo is reproduce
-% from an original picture from Raoul \textsc{Raba} and here is a translation in
-% PSTricks from the one drawn by Emmanuel \textsc{Chailloux} and Guy
-% \textsc{Cousineau} for their MLgraph system \cite{MLgraphTSI}):
-%
-% \begin{LTXexample}[pos=t]
-% \psboxfill{\psset{unit=0.4}
-% \Kangaroo{yellow}\Kangaroo{red}\Kangaroo{cyan}\Kangaroo{green}%
-% \psscalebox{-1 1}{%
-% \rput(1.235,4.8){\Kangaroo{green}\Kangaroo{cyan}\Kangaroo{red}\Kangaroo{yellow}}}}
-% \Tiling[fillloopadd=1]{(10,6)}
-% \end{LTXexample}
-%
-% And here a \textsc{Wang} tiling \cite{Wang65}, \cite[chapter
-% 11]{GS87}, based on very simple tiles of the form of a square and composed
-% of four colored triangles. Such tilings are built with only a matching color
-% constraint. Despite of it simplicity, it is an important kind of tilings, as
-% \textsc{Wang} and others used them to study the special class of
-% \emph{aperiodic} tilings, and also because it was shown that surprisingly this
-% tiling is similar to a \textsc{Turing} machine.
-%
-% \begin{LTXexample}[pos=t]
-% \newcommand{\WangTile}[4]{%
-% \begin{pspicture}(1,1)
-% \pspolygon*[linecolor=#1](0,0)(0,1)(0.5,0.5)
-% \pspolygon*[linecolor=#2](0,1)(1,1)(0.5,0.5)
-% \pspolygon*[linecolor=#3](1,1)(1,0)(0.5,0.5)
-% \pspolygon*[linecolor=#4](1,0)(0,0)(0.5,0.5)
-% \end{pspicture}}
-% \newcommand{\WangTileA}{\WangTile{cyan}{yellow}{cyan}{cyan}}
-% \newcommand{\WangTileB}{\WangTile{yellow}{cyan}{cyan}{red}}
-% \newcommand{\WangTileC}{\WangTile{cyan}{red}{yellow}{yellow}}
-% \newcommand{\WangTiles}[1][]{%
-% \begin{pspicture}(3,3) \psset{ref=lb}
-% \rput(0,2){\WangTileB} \rput(1,2){\WangTileA}%
-% \rput(2,2){\WangTileC} \rput(0,1){\WangTileC}%
-% \rput(1,1){\WangTileB} \rput(2,1){\WangTileA}
-% \rput(0,0){\WangTileA} \rput(1,0){\WangTileC}%
-% \rput(2,0){\WangTileB}
-% #1
-% \end{pspicture}}
-% \WangTileA\hfill\WangTileB\hfill\WangTileC\hfill
-% \WangTiles[{\psgrid[subgriddiv=0,gridlabels=0](3,3)}]\hfill
-% \psset{unit=0.4} \psboxfill{\WangTiles} \Tiling{(12,12)}
-% \end{LTXexample}
-%
-% \subsection{External graphic files}
-% \label{sec:GraphicFiles}
-%
-% We can also fill an arbitrary area with an external image. We have only,
-% as usual, to matter of the \emph{BoundingBox} definition if there is no one
-% provided or if it is not the accurate one, as for the well known
-% \texttt{tiger} picture part of the \texttt{ghostscript} distribution.
-%
-% \begin{LTXexample}[pos=t]
-% \psboxfill{%% Strangely require x1=x2...
-% \begin{pspicture}(0,1)(0,4.1)
-% \includegraphics[bb=17 176 560 74,width=3cm]{tiger}
-% \end{pspicture}}
-% \Tiling{(6,6.2)}
-% \end{LTXexample}
-%
-% Nevertheless, there are some special files for which the \emph{automatic}
-% mode doesn't work, specially for some files obtained by a screen dump, as in
-% the next example, where a picture was reduced before it conversion in the
-% \emph{Encapsulated PostScript} format by a screen dump utility. In this case,
-% usage of the \emph{manual} mode is the only alternative, at the price of the
-% real multiple inclusion of the EPS file. We must take care to specify the
-% correct \texttt{fillsize} parameter, because otherwise the default values are
-% large and will load the file many times, perhaps just really using few
-% occurrences as the other ones would be clipped...
-%
-% \begin{LTXexample}[pos=t]
-% \psboxfill{\includegraphics{flowers}}
-% \begin{pspicture}(8,4)
-% \psellipse[fillstyle=boxfill,fillsize={(8,4)}](4,2)(4,2)
-% \end{pspicture}
-% \end{LTXexample}
-%
-% \subsection{Tiling of characters}
-%
-% We can also use the \cs{psboxfill} macro to fill the interior of characters
-% for special effects like these ones:
-%
-% \begin{LTXexample}[pos=t]
-% \DeclareFixedFont{\bigsf}{T1}{phv}{b}{n}{4.5cm}
-% \DeclareFixedFont{\smallrm}{T1}{ptm}{m}{n}{3mm}
-% \psboxfill{\smallrm Since 182 days...}
-% \begin{pspicture*}(8,4)
-% \centerline{%
-% \pscharpath[fillstyle=gradient,gradangle=-45,
-% gradmidpoint=0.5,addfillstyle=boxfill,
-% fillangle=45,fillsep=0.7mm]
-% {\rput[b](0,0.1){\bigsf 2000}}}
-% \end{pspicture*}
-% \end{LTXexample}
-%
-% \begin{LTXexample}[pos=t]
-% \DeclareFixedFont{\mediumrm}{T1}{ptm}{m}{n}{2cm}
-% \psboxfill{%
-% \psset{unit=0.1,linewidth=0.2pt}
-% \Kangaroo{PeachPuff}\Kangaroo{PaleGreen}%
-% \Kangaroo{LightBlue}\Kangaroo{LemonChiffon}%
-% \psscalebox{-1 1}{%
-% \rput(1.235,4.8){%
-% \Kangaroo{LemonChiffon}\Kangaroo{LightBlue}%
-% \Kangaroo{PaleGreen}\Kangaroo{PeachPuff}}}}
-% ^^A % A kangaroo of kangaroos...
-% \begin{pspicture}(8,2)
-% \pscharpath[linestyle=none,fillstyle=boxfill,fillloopadd=1]
-% {\rput[b](4,0){\mediumrm Kangaroo}}
-% \end{pspicture}
-% \end{LTXexample}
-%
-% \subsection{Other kinds of usage}
-%
-% Other kinds of usage can be imagined. For instance, we can use tilings in a
-% sort of degenerated way to draw some special lines made by a unique or
-% multiple repeating patterns. But it can be only a special dashed line, as here
-% with three different dashes:
-%
-% \begin{LTXexample}[pos=t]
-% \newcommand{\Dashes}{%
-% \psset{dimen=middle}
-% \begin{pspicture}(0,-0.5\pslinewidth)(1,0.5\pslinewidth)
-% \rput(0,0){\psline(0.4,0)}%
-% \rput(0.5,0){\psline(0.2,0)}%
-% \rput(0.8,0){\psline(0.1,0)}
-% \end{pspicture}}
-%
-% \newcommand{\SpecialDashedLine}[3]{%
-% \psboxfill{#3}
-% \Tiling[linestyle=none]
-% {(#1,-0.5\pslinewidth)(#2,0.5\pslinewidth)}}
-%
-% \SpecialDashedLine{0}{7}{\Dashes}
-%
-% \psset{unit=0.5,linewidth=1mm,linecolor=red}
-% \SpecialDashedLine{0}{10}{\Dashes}
-% \end{LTXexample}
-%
-% It allow also to use special patterns in business graphics, as in the
-% following example generated by \texttt{PstChart}\footnote{A personal
-% development to draw business charts with PSTricks, not distributed.}.
-%
-% \vspace{3mm}
-% \begin{figure}[!ht]
-% \centering
-% \psset{unit=0.75}
-% ^^A % Generated by pstchart.sh version 0.21 (11/28/97)
-% {\psset{dimen=middle}
-% \psset{xunit=2,yunit=0.005}
-% \begin{pspicture}(-0.6,-200)(6.6,2300)
-% ^^A % Title
-% \rput(3,2200){\shortstack{Fantaisist repartition of kangaroos\\
-% in the world (in thousands)}}
-% ^^A % Frame background
-% \psframe[fillstyle=solid,fillcolor=LemonChiffon](0,0)(6,2000)
-% ^^A % Graduations
-% \multido{\n=0+500}{5}{\rput[r](-0.12,\n){\psscalebox{0.8}{\n}}}
-% ^^A % Minor ticks
-% \multips(0,100)(0,100){19}{\psline[unit=4.8pt](1,0)}
-% \multips(6,100)(0,100){19}{\psline[unit=4.8pt](-1,0)}
-% ^^A % Major ticks
-% \multips(0,500)(0,500){3}{\psline[unit=9.6pt](1,0)}
-% \multips(6,500)(0,500){3}{\psline[unit=9.6pt](-1,0)}
-% ^^A % Lines from major ticks marks
-% \multips(0,500)(0,500){3}{\psline[linestyle=dotted,linewidth=0.6pt](6,0)}
-% ^^A % Drawing for the data
-% \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{red}}
-% \psframe[linestyle=none,fillstyle=boxfill,fillloopaddy=1](0.61,0)(1.39,1800)
-% \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{yellow}}
-% \psframe[linestyle=none,fillstyle=boxfill,fillloopaddy=1](1.61,0)(2.39,800)
-% \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{cyan}}
-% \psframe[linestyle=none,fillstyle=boxfill,fillloopaddy=1](2.61,0)(3.39,550)
-% \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{magenta}}
-% \psframe[linestyle=none,fillstyle=boxfill,fillloopaddy=1](3.61,0)(4.39,500)
-% \psboxfill{\psset{unit=0.78\psxunit}\KangarooPstChart{green}}
-% \psframe[linestyle=none,fillstyle=boxfill,fillloopaddy=1](4.61,0)(5.39,200)
-% ^^A % Bottom labels
-% \uput{0.2}[270]{0}(1,0){\psscalebox{0.7}{Oceania}}
-% \uput{0.2}[270]{0}(2,0){\psscalebox{0.7}{Africa}}
-% \uput{0.2}[270]{0}(3,0){\psscalebox{0.7}{Asia}}
-% \uput{0.2}[270]{0}(4,0){\psscalebox{0.7}{America}}
-% \uput{0.2}[270]{0}(5,0){\psscalebox{0.7}{Europe}}
-% ^^A % Frame box around the chart
-% \psframe[linestyle=solid](0,0)(6,2000)
-% \end{pspicture}}
-% \caption{Bar chart generated by PstChart, with bars filled by patterns}
-% \label{fig:PstChart}
-% \end{figure}
-%
-% \section{``Dynamic'' tilings}
-%
-% In some cases, tilings used non \emph{static} tiles, that is to say that the
-% \emph{prototile(s)}, even if unique, can have several forms, by instance
-% specified by different colors or rotations, not fixed before generation or
-% varying each time.
-%
-% \subsection{Lewthwaite-Pickover-Truchet tiling}
-%
-% We give here for example the so-called \emph{Truchet} tiling, which much be
-% in fact better called \emph{Lewthwaite-Pick\-over-Truchet (LPT)} tiling%
-% \footnote{For description of the context, history and references about
-% S\'ebastien \textsc{Truchet} and this tiling, see \cite{EsperetGirou98}.}.
-%
-% The unique prototile is only a square with two opposite circle arcs.
-% This tile has obviously two positions, if we rotate it from 90 degrees (see
-% the two tiles on the next figure). A \emph{LPT tiling} is a tiling with
-% randomly oriented LPT tiles. We can see that even if it is very simple in it
-% principle, it draw sophisticated curves with strange properties.
-%
-% Nevertheless, in the straightforward way \FillPackage{} does not work,
-% because the \cs{psboxfill} macro store the content of the tile used in a
-% \TeX{} box, which is static. So the calling to the random function is done
-% only one time, which explain that only one rotation of the tile is used for
-% all the tiling. It's only the one of the two rotations which could differ from
-% one drawing to the next one...
-%
-% ^^A % Truchet (Lewthwaite-Pickover-Truchet) tiling
-% ^^A % --------------------------------------------
-%
-% \begin{LTXexample}[pos=t]
-% ^^A % LPT prototile
-% \newcommand{\ProtoTileLPT}{%
-% \psset{dimen=middle}
-% \begin{pspicture}(1,1)
-% \psframe(1,1)
-% \psarc(0,0){0.5}{0}{90}
-% \psarc(1,1){0.5}{-180}{-90}
-% \end{pspicture}}
-%
-% ^^A % LPT tile
-% \newcount\Boolean
-% \newcommand{\BasicTileLPT}{%
-% ^^A % From random.tex by Donald Arseneau
-% \setrannum{\Boolean}{0}{1}%
-% \ifnum\Boolean=0
-% \ProtoTileLPT%
-% \else
-% \psrotateleft{\ProtoTileLPT}%
-% \fi}
-%
-% \ProtoTileLPT\hfill\psrotateleft{\ProtoTileLPT}\hfill
-% \psset{unit=0.5}
-% \psboxfill{\BasicTileLPT}
-% \Tiling{(5,5)}
-% \end{LTXexample}
-%
-% But, for simple cases, there is a solution to this problem using a mixture
-% of PSTricks and PostScript programming. Here the PSTricks
-% construction \verb+\pscustom{\code{...}}+ allow to insert PostScript code
-% inside the \LaTeX{} + PSTricks one.
-%
-% Programmation is less straightforward, but it has also the advantage to be
-% notably faster, as all the tilings operations are done in PostScript, and
-% mainly to not be limited by \TeX{} memory (the \TeX{} + PSTricks solution
-% I wrote in 1995 for the colored problem was limited to small sizes for this
-% reason). Just note also that \cs{pslbrace} and \cs{psrbrace} are two
-% PSTricks macros to define and be able to insert the \verb+{+ and \verb+}+
-% characters.
-%
-% \begin{LTXexample}[pos=t]
-% ^^A % LPT prototile
-% \newcommand{\ProtoTileLPT}{%
-% \psset{dimen=middle}
-% \psframe(1,1)
-% \psarc(0,0){0.5}{0}{90}
-% \psarc(1,1){0.5}{-180}{-90}}
-%
-% ^^A % Counter to change the random seed
-% \newcount\InitCounter
-% ^^A % LPT tile
-% \newcommand{\BasicTileLPT}{%
-% \InitCounter=\the\time
-% \pscustom{\code{%
-% rand \the\InitCounter\space sub 2 mod 0 eq \pslbrace}}
-% \begin{pspicture}(1,1)
-% \ProtoTileLPT
-% \end{pspicture}%
-% \pscustom{\code{\psrbrace \pslbrace}}
-% \psrotateleft{\ProtoTileLPT}%
-% \pscustom{\code{\psrbrace ifelse}}}
-%
-% \psset{unit=0.4,linewidth=0.4pt}
-% \psboxfill{\BasicTileLPT}
-% \Tiling{(15,15)}
-% \end{LTXexample}
-%
-% Using the very surprising fact (see \cite{EsperetGirou98}) that
-% coloration of these tiles do not depend of their neighbors (even if it is
-% difficult to believe as the opposite seems obvious!) but only of the parity of
-% the value of row and column positions, we can directly program in the same way
-% a colored version of the LPT tiling.
-%
-% \setcounter{footnote}{1}
-% We have also introduce in the \FillPackage{} code for \emph{tiling} mode two
-% new accessible Post\-Script variables, \texttt{row} and
-% \texttt{column}\footnotemark, which can be useful in some circonstances, like
-% this one.
-%
-% \begin{LTXexample}[pos=t]
-% ^^A % LPT prototile
-% \newcommand{\ProtoTileLPT}[2]{%
-% \psset{dimen=middle,linestyle=none,fillstyle=solid}
-% \psframe[fillcolor=#1](1,1)
-% \psset{fillcolor=#2}
-% \pswedge(0,0){0.5}{0}{90} \pswedge(1,1){0.5}{-180}{-90}}
-% ^^A % Counter to change the random seed
-% \newcount\InitCounter
-% ^^A % LPT tile
-% \newcommand{\BasicTileLPT}[2]{%
-% \InitCounter=\the\time
-% \pscustom{\code{%
-% rand \the\InitCounter\space sub 2 mod 0 eq \pslbrace
-% row column add 2 mod 0 eq \pslbrace}}
-% \begin{pspicture}(1,1)\ProtoTileLPT{#1}{#2}\end{pspicture}%
-% \pscustom{\code{\psrbrace \pslbrace}}
-% \ProtoTileLPT{#2}{#1}%
-% \pscustom{\code{%
-% \psrbrace ifelse \psrbrace \pslbrace row column add 2 mod 0 eq \pslbrace}}
-% \psrotateleft{\ProtoTileLPT{#2}{#1}}\pscustom{\code{\psrbrace \pslbrace}}
-% \psrotateleft{\ProtoTileLPT{#1}{#2}}\pscustom{\code{\psrbrace ifelse \psrbrace ifelse}}}
-% \psboxfill{\BasicTileLPT{red}{yellow}}
-% \Tiling{(4,4)}\hfill
-% \psset{unit=0.4}\psboxfill{\BasicTileLPT{blue}{cyan}}
-% \Tiling{(15,15)}
-% \end{LTXexample}
-%
-% Another classic example is to generate coordinates and numerotation for a
-% grid. Of course, it is possible to do it directly in PSTricks using nested
-% \cs{multido} commands. It would be clearly easy to program, but, nevertheless,
-% for users who have a little knowledge of PostScript programming, this offer
-% an alternative which is useful for large cases, because on this way it will
-% be notably faster and less computer ressources consuming.
-%
-% Remember here that the tiling is drawn from left to right, and top to
-% bottom, and note that the PostScript variable \texttt{x2} give the total
-% number of columns.
-%
-% \begin{LTXexample}[pos=t]
-% ^^A % \Escape will be the \ character
-% {\catcode`\!=0\catcode`\\=11!gdef!Escape{\}}
-% \newcommand{\ProtoTile}{%
-% \Square\pscustom{%
-% \moveto(-0.9,0.75) % In PSTricks units
-% \code{ /Times-Italic findfont 8 scalefont setfont
-% (\Escape() show row 3 string cvs show (,) show
-% column 3 string cvs show (\Escape)) show}
-% \moveto(-0.5,0.25) % In PSTricks units
-% \code{ /Times-Bold findfont 18 scalefont setfont
-% 1 0 0 setrgbcolor % Red color
-% /center {dup stringwidth pop 2 div neg 0 rmoveto} def
-% row 1 sub x2 mul column add 3 string cvs center show}}}
-% \psboxfill{\ProtoTile}
-% \Tiling{(6,4)}
-% \end{LTXexample}
-%
-% \subsection{A complete example: the Poisson equation}
-%
-% To finish, we will show a complete real example, a drawing to explain the
-% method used to solve the \textsc{Poisson} equation by a domain
-% decomposition method, adapted to distributed memory computers. The
-% objective is to show the communications required between processes and the
-% position of the data to exchange. This code also show some useful and powerful
-% technics for PSTricks programming (look specially at the way some higher level
-% macros are defined, and how the same object is used to draw the four
-% neighbors).
-%
-%\psset{unit=1cm}
-%\newcommand{\Pattern}[1]{%
-% \begin{pspicture}(-0.25,-0.25)(0.25,0.25)\rput{*0}{\psdot[dotstyle=#1]}
-% \end{pspicture}}
-%\newcommand{\West}{\Pattern{o}} \newcommand{\South}{\Pattern{x}}
-%\newcommand{\Central}{\Pattern{+}}\newcommand{\North}{\Pattern{square}}
-%\newcommand{\East}{\Pattern{triangle}}
-%\newcommand{\Cross}{%
-% \pspolygon[unit=0.5,linewidth=0.2,linecolor=red](0,0)(0,1)(1,1)(1,2)(2,2)(2,1)%
-% (3,1)(3,0)(2,0)(2,-1)(1,-1)(1,0)}
-%\newcommand{\StylePosition}[1]{\LARGE\textcolor{red}{\textbf{#1}}}
-%\newcommand{\SubDomain}[4]{%
-% \psboxfill{#4}\begin{psclip}{\psframe[linestyle=none]#1}%
-% \psframe[linestyle=#3](5,5)\psframe[fillstyle=boxfill]#2%
-% \end{psclip}}
-%\newcommand{\SendArea}[1]{\psframe[fillstyle=solid,fillcolor=cyan]#1}
-%\newcommand{\ReceiveData}[2]{%
-% \psboxfill{#2}\psframe[fillstyle=solid,fillcolor=yellow,addfillstyle=boxfill]#1}%
-%\newcommand{\Neighbor}[2]{%
-% \begin{pspicture}(5,5)
-% \rput{*0}(2.5,2.5){\StylePosition{#1}}
-% \ReceiveData{(0.5,0)(4.5,0.5)}{\Central}\SendArea{(0.5,0.5)(4.5,1)}%
-% \SubDomain{(5,2)}{(0.5,0.5)(4.5,3)}{dashed}{#2}%
-% \pcarc[arcangle=45,arrows=->](0.5,-1.25)(0.5,0.25)%
-% \pcarc[arcangle=45,arrows=->,linestyle=dotted,dotsep=2pt](4.5,0.75)(4.5,-0.75)%
-% \end{pspicture}}%
-% \psset{dimen=middle,dotscale=2,fillloopadd=2}
-%\begin{pspicture}(-5.7,-5.7)(5.7,5.7)
-% \rput(0,0){%
-% \begin{pspicture}(5,5)
-% \ReceiveData{(0,0.5)(0.5,4.5)}{\West} \ReceiveData{(4.5,0.5)(5,4.5)}{\East}
-% \ReceiveData{(0.5,4.5)(4.5,5)}{\North}\ReceiveData{(0.5,0)(4.5,0.5)}{\South}
-% \SendArea{(0.5,0.5)(1,4.5)}\SendArea{(4,0.5)(4.5,4.5)}
-% \SendArea{(0.5,0.5)(4.5,1)}\SendArea{(0.5,4)(4.5,4.5)}
-% \SubDomain{(5,5)}{(0.5,0.5)(4.5,4.5)}{solid}{\Central}
-% \psline(1,0.5)(1,4.5)\psline(4,0.5)(4,4.5)%
-% \rput(1.5,4){\Cross}\rput(2,2){\Cross}%
-% \end{pspicture}}%
-% \rput(0,5.5){\Neighbor{N}{\North}}\rput{-90}(5.5,0){\Neighbor{E}{\East}}%
-% \rput{90}(-5.5,0){\Neighbor{W}{\West}}\rput{180}(0,-5.5){\Neighbor{S}{\South}}%
-%\end{pspicture}
-%
-% \begin{lstlisting}
-% \newcommand{\Pattern}[1]{%
-% \begin{pspicture}(-0.25,-0.25)(0.25,0.25)\rput{*0}{\psdot[dotstyle=#1]}
-% \end{pspicture}}
-% \newcommand{\West}{\Pattern{o}} \newcommand{\South}{\Pattern{x}}
-% \newcommand{\Central}{\Pattern{+}}\newcommand{\North}{\Pattern{square}}
-% \newcommand{\East}{\Pattern{triangle}}
-% \newcommand{\Cross}{%
-% \pspolygon[unit=0.5,linewidth=0.2,linecolor=red](0,0)(0,1)(1,1)(1,2)(2,2)(2,1)
-% (3,1)(3,0)(2,0)(2,-1)(1,-1)(1,0)}
-% \newcommand{\StylePosition}[1]{\LARGE\textcolor{red}{\textbf{#1}}}
-% \newcommand{\SubDomain}[4]{%
-% \psboxfill{#4}
-% \begin{psclip}{\psframe[linestyle=none]#1}
-% \psframe[linestyle=#3](5,5)\psframe[fillstyle=boxfill]#2
-% \end{psclip}}
-% \newcommand{\SendArea}[1]{\psframe[fillstyle=solid,fillcolor=cyan]#1}
-% \newcommand{\ReceiveData}[2]{%
-% \psboxfill{#2}
-% \psframe[fillstyle=solid,fillcolor=yellow,addfillstyle=boxfill]#1}
-% \newcommand{\Neighbor}[2]{%
-% \begin{pspicture}(5,5)
-% \rput{*0}(2.5,2.5){\StylePosition{#1}}
-% \ReceiveData{(0.5,0)(4.5,0.5)}{\Central}\SendArea{(0.5,0.5)(4.5,1)}
-% \SubDomain{(5,2)}{(0.5,0.5)(4.5,3)}{dashed}{#2}%
-% ^^A % Receive and send arrows
-% \pcarc[arcangle=45,arrows=->](0.5,-1.25)(0.5,0.25)
-% \pcarc[arcangle=45,arrows=->,linestyle=dotted,dotsep=2pt](4.5,0.75)(4.5,-0.75)
-% \end{pspicture}}
-% \psset{dimen=middle,dotscale=2,fillloopadd=2}
-% \begin{pspicture}(-5.7,-5.7)(5.7,5.7)
-% ^^A % Central domain
-% \rput(0,0){%
-% \begin{pspicture}(5,5)
-% ^^A % Receive from West, East, North and South
-% \ReceiveData{(0,0.5)(0.5,4.5)}{\West} \ReceiveData{(4.5,0.5)(5,4.5)}{\East}
-% \ReceiveData{(0.5,4.5)(4.5,5)}{\North}\ReceiveData{(0.5,0)(4.5,0.5)}{\South}
-% ^^A % send area for West, East, North and South
-% \SendArea{(0.5,0.5)(1,4.5)} \SendArea{(4,0.5)(4.5,4.5)}
-% \SendArea{(0.5,0.5)(4.5,1)} \SendArea{(0.5,4)(4.5,4.5)}
-% ^^A % Central domain
-% \SubDomain{(5,5)}{(0.5,0.5)(4.5,4.5)}{solid}{\Central}
-% ^^A % Redraw overlapped linesY
-% \psline(1,0.5)(1,4.5) \psline(4,0.5)(4,4.5)
-% ^^A % Two crossesY
-% \rput(1.5,4){\Cross} \rput(2,2){\Cross}
-% \end{pspicture}}
-% ^^A % The four neighborsY
-% \rput(0,5.5){\Neighbor{N}{\North}} \rput{-90}(5.5,0){\Neighbor{E}{\East}}
-% \rput{90}(-5.5,0){\Neighbor{W}{\West}} \rput{180}(0,-5.5){\Neighbor{S}{\South}}
-% \end{pspicture}
-% \end{lstlisting}
-%
-%
-%
-% Bibliography
-% \begin{thebibliography}{99}
-% \bibitem{PostScript95} Adobe, Systems~Incorporated, \emph{PostScript Language
-% Reference Manual}, Addison-Wesley, 2~edition, 1995.
-%
-% \bibitem{Bolek98} Piotr Bolek, \MP{} and patterns, \emph{\TUB}, Volume~19,
-% Number~3, pages 276--283, September 1998, \CTANref{mpattern}.
-%
-% \bibitem{MLgraphTSI} Emmanuel Chailloux, Guy Cousineau and Asc\'ander
-% Su\'arez, Programmation fonctionnelle de graphismes pour la production
-% d'illustrations techniques, \emph{Technique et science informatique},
-% Volume~15, Number~7, pages 977--1007, 1996 (in french).
-%
-% \bibitem{Deledicq97} Andr\'e Deledicq, \emph{Le monde des pavages}, ACL
-% \'Editions, 1997 (in french).
-%
-% \bibitem{EsperetGirou98} Philippe Esperet and Denis Girou,
-% Coloriage du pavage dit de Truchet, Cahiers GUTenberg, Number~31,
-% pages 5--18, December~1998 (in french).
-%
-% \bibitem{Girou94} Denis Girou, Pr\'esentation de PSTricks, \emph{Cahiers
-% GUTenberg}, Number~16, pages 21--70, February~1994 (in french).
-%
-% \bibitem{LGC97} Michel Goossens, Sebastian Rahtz and Frank Mittelbach,
-% \emph{The \LaTeX{} Graphics Companion}, Addison-Wesley, 2005.
-%
-% \bibitem{GS87} Branko Gr\"unbaum and Geoffrey Shephard, \emph{Tilings and
-% Patterns}, Freeman and Company, 1987.
-%
-% \bibitem{Hoenig97} Alan Hoenig, \emph{\TeX{} Unbound: \LaTeX{} \& \TeX{}
-% Strategies, Fonts, Graphics, and More}, Oxford University Press, 1997.
-%
-% \bibitem{XYpic} Kristoffer~H. Rose and Ross Moore, \XYpic. Pattern and Tile
-% extension, available from \CTAN, 1991-1998, \CTANref{xypic}.
-%
-% \bibitem{LAAN96} Kees van der Laan, Paradigms: Just a little bit of PostScript,
-% \emph{MAPS}, Volume~17, pages 137--150, 1996.
-%
-% \bibitem{LAAN97} Kees van der Laan, Tiling in PostScript and \MF{} -- Escher's
-% wink, \emph{MAPS}, Volume~19, Number~2, pages 39--67, 1997.
-%
-% \bibitem{vanZandt93} Timothy Van Zandt, PSTricks. PostScript macros for
-% Generic \TeX, available from \CTAN, 1993, \CTANref{pstricks}.
-%
-% \bibitem{vanZandtGirou94} Timothy Van Zandt and Denis Girou, Inside PSTricks,
-% \emph{\TUB}, Volume~15, Number~3, pages 239--246, September 1994.
-%
-%
-% \bibitem{voss07} Herbert Vo\ss, PSTricks -- Graphics for \TeX\ and \LaTeX, DANTE/Lehmanns, 4th ed., 2007.
-% \bibitem{Wang65} Hao Wang, Games, Logic and Computers, \emph{Scientific
-% American}, pages 98--106, November 1965.
-% \end{thebibliography}
-%
-%
-% \StopEventually{}
-%
-% ^^A .................... End of the documentation part ....................
-%
-% \section{Driver file}
-%
-% The next bit of code contains the documentation driver file for \TeX{},
-% i.e., the file that will produce the documentation you are currently
-% reading. It will be extracted from this file by the \texttt{docstrip}
-% program.
-%
-% \begin{macrocode}
-%<*driver>
-\documentclass{ltxdoc}
-\GetFileInfo{pst-fill.dtx}
-%
-\usepackage[T1]{fontenc}
-\usepackage{lmodern} % For PDF
-\usepackage{graphicx} % `graphicx' LaTeX standard package
-\usepackage{showexpl}
-\usepackage{mflogo} % For the MetaFont and MetaPost logos
-\input{random.tex} % Random macros from Donald Arseneau
-\usepackage{url} % URLs convenient typesetting
-\usepackage{multido} % General loop macro
-\usepackage[dvipsnames]{pstricks} % PSTricks with the `color' extension
-\usepackage{pst-text} % PSTricks package for character path
-\usepackage{pst-grad} % PSTricks package for gradient filling
-\usepackage{pst-node} % PSTricks package for nodes
-\usepackage[tiling]{pst-fill} % PSTricks package for filling/tiling
-%
-\AtBeginDocument{%
-% \OnlyDescription % comment out for implementation details
- \EnableCrossrefs
- \CodelineIndex
- \RecordChanges}
-\AtEndDocument{%
- \PrintIndex
- \setcounter{IndexColumns}{1}
- \PrintChanges}
-\hbadness=7000 % Over and under full box warnings
-\hfuzz=3pt
-\begin{document}
- \DocInput{pst-fill.dtx}
-\end{document}
-%</driver>
-% \end{macrocode}
-%
-% \section{\texttt{pst-fill} \LaTeX{} wrapper}
-%
-% \begin{macrocode}
-%<*latex-wrapper>
-\RequirePackage{pstricks}
-\ProvidesPackage{pst-fill}[2005/09/13 package wrapper for
- pst-fill.tex (hv)]
-\DeclareOption{tiling}{\def\PstTiling{true}}
-\ProcessOptions\relax
-\input{pst-fill.tex}
-\ProvidesFile{pst-fill.tex}
- [\filedate\space v\fileversion\space `PST-fill' (tvz,dg)]
-%</latex-wrapper>
-% \end{macrocode}
-%
-%
-% \section{Pst-Fill Package{} code}
-%
-% \begin{macrocode}
-%<*pst-fill>
-% \end{macrocode}
-%
-% \subsection{Preamble}
-%
-% Who we are.
-%
-% \begin{macrocode}
-\def\fileversion{1.01}
-\def\filedate{2007/03/10}
-\message{`PST-Fill' v\fileversion, \filedate\space (tvz,dg,hv)}
-\csname PSTboxfillLoaded\endcsname
-\let\PSTboxfillLoaded\endinput
-% \end{macrocode}
-%
-% Require the main PSTricks package.
-%
-% \begin{macrocode}
-\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
-% \end{macrocode}
-%
-% interface to the extended `\textsf{keyval}' package.
-%
-% \begin{macrocode}
-\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey\fi
-%
-% \end{macrocode}
-%
-% Catcodes changes and defining the family name for xkeyval.
-%
-% \begin{macrocode}
-\edef\PstAtCode{\the\catcode`\@}\catcode`\@=11\relax
-
-\pst@addfams{pst-fill}
-%
-% \end{macrocode}
-%
-%
-% \subsection{The size of the box}
-% \begin{macro}{pst@@boxfillsize}
-% \begin{macrocode}
-%
-\def\pst@@boxfillsize#1(#2,#3)#4(#5,#6)#7(#8\@nil{%
- \begingroup
- \ifx\@empty#7\relax
- \pst@dima\z@
- \pst@dimb\z@
- \pssetxlength\pst@dimc{#2}%
- \pssetylength\pst@dimd{#3}%
- \else
- \pssetxlength\pst@dima{#2}%
- \pssetylength\pst@dimb{#3}%
- \pssetxlength\pst@dimc{#5}%
- \pssetylength\pst@dimd{#6}%
- \fi
- \xdef\pst@tempg{%
- \pst@dima=\number\pst@dima sp
- \pst@dimb=\number\pst@dimb sp
- \pst@dimc=\number\pst@dimc sp
- \pst@dimd=\number\pst@dimd sp }%
- \endgroup
- \let\psk@boxfillsize\pst@tempg}
-% \end{macrocode}
-% \end{macro}
-%
-
-% \subsection{Definition of the parameters}
-%
-% \begin{macrocode}
-\define@key[psset]{pst-fill}{boxfillsize}{%
- \def\pst@tempg{#1}\def\pst@temph{auto}%
- \ifx\pst@tempg\pst@temph
- \let\psk@boxfillsize\relax
- \else
- \pst@@boxfillsize#1(\z@,\z@)\@empty(\z@,\z@)(\@nil
- \fi}
-\psset{boxfillsize={(-15cm,-15cm)(15cm,15cm)}}
-\define@key[psset]{pst-fill}{boxfillcolor}{\pst@getcolor{#1}\psboxfillcolor}
-\psset{boxfillcolor=black}% hv
-\define@key[psset]{pst-fill}{boxfillangle}{\pst@getangle{#1}\psk@boxfillangle}
-\psset{boxfillangle=0}
-\define@key[psset]{pst-fill}{fillsepx}{%
- \pst@getlength{#1}\psk@fillsepx}
-\define@key[psset]{pst-fill}{fillsepy}{%
- \pst@getlength{#1}\psk@fillsepy}
-\define@key[psset]{pst-fill}{fillsep}{%
- \pst@getlength{#1}\psk@fillsepx%
- \let\psk@fillsepy\psk@fillsepx}
-\psset{fillsep=2pt}
-
-\ifx\PstTiling\@undefined
- \define@key[psset]{pst-fill}{fillcycle}{\pst@getint{#1}\psk@fillcycle}
- \psset{fillcycle=0}
-\else
- \define@key[psset]{pst-fill}{fillangle}{\pst@getangle{#1}\psk@boxfillangle}
- \define@key[psset]{pst-fill}{fillsize}{%
- \def\pst@tempg{#1}\def\pst@temph{auto}%
- \ifx\pst@tempg\pst@temph\let\psk@boxfillsize\relax
- \else\pst@@boxfillsize#1(\z@,\z@)\@empty(\z@,\z@)(\@nil\fi}
- \psset{fillsep=0,fillsize=auto}
- \define@key[psset]{pst-fill}{fillcyclex}{\pst@getint{#1}\psk@fillcyclex}
- \define@key[psset]{pst-fill}{fillcycley}{\pst@getint{#1}\psk@fillcycley}
- \define@key[psset]{pst-fill}{fillcycle}{%
- \pst@getint{#1}\psk@fillcyclex\let\psk@fillcycley\psk@fillcyclex}
- \psset{fillcycle=0}
- \define@key[psset]{pst-fill}{fillmovex}{\pst@getlength{#1}\psk@fillmovex}
- \define@key[psset]{pst-fill}{fillmovey}{\pst@getlength{#1}\psk@fillmovey}
- \define@key[psset]{pst-fill}{fillmove}{%
- \pst@getlength{#1}\psk@fillmovex\let\psk@fillmovey\psk@fillmovex}
- \psset{fillmove=0pt}
- \define@key[psset]{pst-fill}{fillloopaddx}{\pst@getint{#1}\psk@fillloopaddx}
- \define@key[psset]{pst-fill}{fillloopaddy}{\pst@getint{#1}\psk@fillloopaddy}
- \define@key[psset]{pst-fill}{fillloopadd}{%
- \pst@getint{#1}\psk@fillloopaddx\let\psk@fillloopaddy\psk@fillloopaddx}
- \psset{fillloopadd=0}
-% \end{macrocode}
-%
-% \begin{macrocode}
-% For debugging (to debug, set PstDebug=1)
-% we now use the one from pstricks to prevent a clash with package
-% pstricks 2004-06-22
-%% \define@key[psset]{pst-fill}{PstDebug}{\pst@getint{#1}\psk@PstDebug}
- \psset{PstDebug=0}
-\fi
-% DG addition end
-% \end{macrocode}
-
-% \subsection{Definition of the fill box}
-% \begin{macro}{psboxfill}
-% \begin{macrocode}
-\newbox\pst@fillbox
-\def\psboxfill{\pst@killglue\pst@makebox\psboxfill@i}
-\def\psboxfill@i{\setbox\pst@fillbox\box\pst@hbox\ignorespaces}
-% \end{macrocode}
-% \end{macro}
-% \subsection{The main macros}
-%
-% \begin{macro}{psfs@boxfill}
-% \begin{macrocode}
-\def\psfs@boxfill{%
- \ifvoid\pst@fillbox
- \@pstrickserr{Fill box is empty. Use \string\psboxfill\space first.}\@ehpa
- \else
- \ifx\psk@boxfillsize\relax \pst@AutoBoxFill
- \else\pst@ManualBoxFill\fi
- \fi}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{pst@ManualBoxFill}
-% \begin{macrocode}
-\def\pst@ManualBoxFill{%
- \leavevmode
- \begingroup
- \pst@FlushCode
- \begin@psclip
- \pstVerb{clip}%
- \expandafter\pst@AddFillBox\psk@boxfillsize
- \end@psclip
- \endgroup}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{pst@FlushCode}
-% \begin{macrocode}
-\def\pst@FlushCode{%
- \pst@Verb{%
- /mtrxc CM def
- CP CP T
- \tx@STV
- \psk@origin
- \psk@swapaxes
- \pst@newpath
- \pst@code
- mtrxc setmatrix
- moveto
- 0 setgray}%
- \gdef\pst@code{}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{pst@AddFillBox}
-% \begin{macrocode}
-\def\pst@AddFillBox#1 #2 #3 #4 {%
- \begingroup
- \setbox\pst@fillbox=\vbox{%
- \hbox{\unhcopy\pst@fillbox\kern\psk@fillsepx\p@}%
- \vskip\psk@fillsepy\p@}%
- \psk@boxfillsize
- \pst@cnta=\pst@dimc
- \advance\pst@cnta-\pst@dima
- \divide\pst@cnta\wd\pst@fillbox
- \pst@cntb=\pst@dimd
- \advance\pst@cntb-\pst@dimb
- \pst@dimd=\ht\pst@fillbox
- \divide\pst@cntb\pst@dimd
- \def\pst@tempa{%
- \pst@tempg
- \copy\pst@fillbox
- \advance\pst@cntc\@ne
- \ifnum\pst@cntc<\pst@cntd\expandafter\pst@tempa\fi}%
- \let\pst@tempg\relax
- \pst@cntc-\tw@
- \pst@cntd\pst@cnta
- \setbox\pst@fillbox=\hbox to \z@{%
- \kern\pst@dima
- \kern-\wd\pst@fillbox
- \pst@tempa
- \hss}%
- \pst@cntd\pst@cntb
-%% DG modification begin - Dec. 11, 1997 - Patch 2
- \ifx\PstTiling\@undefined
- \ifnum\psk@fillcycle=\z@\pst@ManualFillCycle\fi
- \else
- \ifnum\psk@fillcyclex=\z@\pst@ManualFillCycle\fi
- \fi
-%% DG modification end
- \global\setbox\pst@boxg=\vbox to\z@{%
- \offinterlineskip
- \vss
- \pst@tempa
- \vskip\pst@dimb}%
- \endgroup
- \setbox\pst@fillbox\box\pst@boxg
- \pst@rotate\psk@boxfillangle\pst@fillbox
- \box\pst@fillbox}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{pst@ManualFillCycle}
-% \begin{macrocode}
-\def\pst@ManualFillCycle{%
- \ifx\PstTiling\@undefined
- \pst@cntg=\psk@fillcycle
- \else
- \pst@cntg=\psk@fillcyclex
- \fi
- \pst@dimg=\wd\pst@fillbox
- \ifnum\pst@cntg=\z@
- \else
- \divide\pst@dimg\pst@cntg
- \fi
- \ifnum\pst@cntg<\z@\pst@cntg=-\pst@cntg\fi
- \advance\pst@cntg\m@ne
- \pst@cnth=\pst@cntg
- \def\pst@tempg{%
- \ifnum\pst@cnth<\pst@cntg\advance\pst@cnth\@ne\else\pst@cnth\z@\fi
- \moveright\pst@cnth\pst@dimg}}
-% \end{macrocode}
-% \end{macro}
-%
-%% Auto box fill: !! Fix dictionary
-%
-% \subsection{The PostScript subroutines}
-%
-% \begin{macrocode}
-%% DG addition begin - Apr. 8, 1997 and Dec. 1997 - Patch 2
-\ifx\PstTiling\@undefined
-\pst@def{AutoFillCycle}<%
- /c ED
- /n 0 def
- /s {
- /x x w c div n mul add def
- /n n c abs 1 sub lt { n 1 add } { 0 } ifelse def
- } def>
-
-\pst@def{BoxFill}<%
- gsave
- gsave \tx@STV CM grestore dtransform CM idtransform
- abs /h ED abs /w ED
- pathbbox
- h div round 2 add cvi /y2 ED
- w div round 2 add cvi /x2 ED
- h div round 2 sub cvi /y1 ED
- w div round 2 sub cvi /x1 ED
- /y2 y2 y1 sub def
- /x2 x2 x1 sub def
- CP
- y1 h mul sub neg /y1 ED
- x1 w mul sub neg /x1 ED
- clip
- y2 {
- /x x1 def
- s
- x2 {
- save CP x y1
-%% patch 4 hv --------------
- \ifx\VTeXversion\undefined
- \else
-%%============ mv: 09-10-01 ??? this is likely to be a right change
- neg
-%%============
- \fi
-%% end patch 4
-T moveto Box restore
- /x x w add def
- } repeat
- /y1 y1 h add def
- } repeat
- % Next line not useful... To see that, suppress clipping (DG)
- CP x y1 T moveto Box
- currentpoint currentfont grestore setfont moveto>
-\else
-%% DG modification begin - Apr. 8, 1997 and Nov. / Dec. 1997 - Patch 2
-\pst@def{AutoFillCycleX}<%
- /cX ED
- /nX 0 def
- /CycleX {
- /x x w cX div nX mul add def
- /nX nX cX abs 1 sub lt { nX 1 add } { 0 } ifelse def
- } def>
-\pst@def{AutoFillCycleY}<%
- /cY ED
- /mY 0 def
- /nY 0 def
- /CycleY {
- /y1 y1 h cY div mY mul sub def
- nY cY abs 1 sub lt { /nY nY 1 add def /mY 1 def }
- { /nY 0 def /mY cY abs 1 sub neg def } ifelse
- } def>
-
-\pst@def{BoxFill}<%
- gsave
- gsave \tx@STV CM grestore dtransform CM idtransform
- abs /h ED abs /w ED
- pathbbox
- h div round 2 add cvi /y2 ED
- w div round 2 add cvi /x2 ED
- h div round 2 sub cvi /y1 ED
- w div round 2 sub cvi /x1 ED
- /CoefLoopX 0 def
- /CoefLoopY 0 def
- /CoefMoveX 0 def
- /CoefMoveY 0 def
- \psk@boxfillangle\space 0 ne {/CoefLoopX 8 def /CoefLoopY 8 def} if
- \psk@fillcyclex\space 0 ne {/CoefLoopX CoefLoopX 1 add def} if
- \psk@fillcycley\space 0 ne {/CoefLoopY CoefLoopY 1 add def} if
- \psk@fillmovex\space 0 ne
- {/CoefLoopX CoefLoopX 2 add def
- \psk@fillmovex\space 0 gt {/CoefMoveX CoefLoopX def}
- {/CoefMoveX CoefLoopX neg def} ifelse} if
- \psk@fillmovey\space 0 ne
- {/CoefLoopY CoefLoopY 2 add def
- \psk@fillmovey\space 0 gt {/CoefMoveY CoefLoopY def}
- {/CoefMoveY CoefLoopY neg def} ifelse} if
- \psk@fillsepx\space 0 ne {/CoefLoopX CoefLoopX 1 add def} if
- \psk@fillsepy\space 0 ne {/CoefLoopY CoefLoopY 1 add def} if
- /CoefLoopX CoefLoopX \psk@fillloopaddx\space add def
- /CoefLoopY CoefLoopY \psk@fillloopaddy\space add def
- /x2 x2 x1 sub 4 sub CoefLoopX 2 mul add def
- /y2 y2 y1 sub 4 sub CoefLoopY 2 mul add def
-%% We must fix the origin of tiling, as it must not vary according other stuff
-%% in the page!
- w x1 CoefLoopX add CoefMoveX add mul
- h y1 y2 add 1 sub CoefLoopY sub CoefMoveY sub mul moveto
- CP
- y1 h mul sub neg /y1 ED
- x1 w mul sub neg /x1 ED
-%% hv 2004-06-22 to prevent clash with pst-gr3d
-%% \psk@PstDebug 0 eq {clip} if
- \Pst@Debug 0 eq {clip} if
-%% end hv
- \psk@fillmovex\space \psk@fillmovey
- gsave \tx@STV CM grestore dtransform CM idtransform
- /hmove ED /wmove ED
- /row 0 def
- y2 {
- /row row 1 add def
- /column 0 def
- /x x1 def
- CycleX
- save
- x2 {
- /column column 1 add def
- CycleY
- save CP x y1
-%% patch 4 hv --------------
- \ifx\VTeXversion\undefined
- \else
-%%============ mv: 09-10-01 ??? this is likely to be a right change
- neg
-%%============
- \fi
- T moveto Box restore
- /x x w add def
- 0 hmove translate
- } repeat
- restore
- /y1 y1 h add def
- wmove 0 translate
- } repeat
- currentpoint currentfont grestore setfont moveto>
-\fi
-% \end{macrocode}
-
-% \begin{macrocode}
-\def\pst@AutoBoxFill{%
- \leavevmode
- \begingroup
- \pst@stroke
- \pst@FlushCode
- \pst@Verb{\psk@boxfillangle\space \tx@RotBegin}%
- \pstVerb{\pst@dict /Box \pslbrace end}%
- \ifx\PstTiling\@undefined
- \else
- \ifx\pst@tempa\@undefined % Undefined for instance for \pscharpath
- \else\ifx\pst@tempa\@empty\else
- \def\pst@temph{0}%
- \ifx\pst@tempa\pst@temph
- \else
- \pstVerb{/TR {pop pop currentpoint translate \pst@tempa\space translate } def}%
- \fi
- \fi\fi
- \fi
- \hbox to \z@{\vbox to\z@{\vss\copy\pst@fillbox\vskip-\dp\pst@fillbox}\hss}%
- \ifx\PstTiling\@undefined
- \pstVerb{%
- tx@Dict begin \psrbrace def
- \ifnum\psk@fillcycle=\z@
- /s {} def
- \else
- \psk@fillcycle \tx@AutoFillCycle
- \fi
- \pst@number{\wd\pst@fillbox}%
- \psk@fillsepx\space add
- \pst@number{\ht\pst@fillbox}%
- \pst@number{\dp\pst@fillbox}%
- \psk@fillsepy\space add add
- \tx@BoxFill
- end}%
- \else
- \pstVerb{%
- tx@Dict begin \psrbrace def
- \ifnum\psk@fillcyclex=\z@
- /CycleX {} def
- \else
- \psk@fillcyclex\space \tx@AutoFillCycleX
- \fi
- \ifnum\psk@fillcycley=\z@
- /CycleY {} def
- \else
- \psk@fillcycley\space \tx@AutoFillCycleY
- \fi
- \pst@number{\wd\pst@fillbox}%
- \psk@fillsepx\space add
- \pst@number{\ht\pst@fillbox}%
- \pst@number{\dp\pst@fillbox}%
- \psk@fillsepy\space add add
- \tx@BoxFill
- end}%
- \fi
- \pst@Verb{\tx@RotEnd}%
- \endgroup}
-% \end{macrocode}
-% \subsection{Closing}
-%
-% Catcodes restoration.
-%
-% \begin{macrocode}
-\catcode`\@=\PstAtCode\relax
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</pst-fill>
-% \end{macrocode}
-%
-% \Finale
-%
-\endinput
-%%
-%% End of file `pst-fill.dtx'
diff --git a/graphics/pstricks/contrib/pst-fill/pst-fill.ins b/graphics/pstricks/contrib/pst-fill/pst-fill.ins
deleted file mode 100644
index 67c9404c2f..0000000000
--- a/graphics/pstricks/contrib/pst-fill/pst-fill.ins
+++ /dev/null
@@ -1,37 +0,0 @@
-%% `pst-fill.ins'
-%%
-%% Docstrip installation instruction file for docstyle `pst-fill'
-%%
-%% Herbert Voss <voss@pstricks.de>
-%%
-%% 2006-11-06
-%%
-\def\batchfile{pst-fill.ins}
-\input docstrip.tex
-\keepsilent
-\Msg{*** Generating the `pst-fill' package ***}
-\askforoverwritefalse
-\generate{\file{pst-fill.tex}{\from{pst-fill.dtx}{pst-fill}}}
-\generate{\file{pst-fill.sty}{\from{pst-fill.dtx}{latex-wrapper}}}
-
-\ifToplevel{%
-\Msg{***********************************************************}
-\Msg{*}
-\Msg{* To finish the installation you have to move the files}
-\Msg{* pst-fill.sty and pst-fill.tex in a directory/folder searched by TeX.}
-\Msg{*}
-\Msg{* To produce the documentation, run the file `pst-fill.dtx'}
-\Msg{* through LaTeX.}
-\Msg{*}
-\Msg{* If you require the commented code, desactivating the}
-\Msg{* OnlyDescription macro, you must recompile, execute:}
-\Msg{* `makeindex -s gind.ist pst-fill'}
-\Msg{* `makeindex -s gglo.ist -o pst-fill.gls pst-fill.glo'}
-\Msg{* and recompile.}
-\Msg{*}
-\Msg{***********************************************************}
-}
-
-\endinput
-%%
-%% End of file `pst-fill.ins'
diff --git a/graphics/pstricks/contrib/pst-fill/pst-fill.pdf b/graphics/pstricks/contrib/pst-fill/pst-fill.pdf
deleted file mode 100644
index f09defc07e..0000000000
--- a/graphics/pstricks/contrib/pst-fill/pst-fill.pdf
+++ /dev/null
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-fill/tex/pst-fill.tex b/graphics/pstricks/contrib/pst-fill/tex/pst-fill.tex
new file mode 100644
index 0000000000..53b2345838
--- /dev/null
+++ b/graphics/pstricks/contrib/pst-fill/tex/pst-fill.tex
@@ -0,0 +1,472 @@
+%%
+%% This is Package `pst-fill'
+%%
+%% Denis Girou (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
+%% Herbert Voss <hvoss@tug.org>
+%% (C) 2003-2021
+%%
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory macros/latex/base/lppl.txt.
+%%
+%% DESCRIPTION:
+%% `pst-fill' is a PSTricks package for filling and tiling areas
+%%
+%% \pscircle[linestyle=none,fillstyle=solid,fillcolor=yellow,fillsep=0.5,
+%% addfillstyle=boxfill](2,2){2}
+\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
+\ifx\PSTXKeyLoaded\endinput\else\input pst-xkey\fi
+\def\fileversion{1.02}
+\def\filedate{2021/10/01}
+\message{`PST-Fill' v\fileversion, \filedate\space (tvz,dg,hv)}
+\csname PSTboxfillLoaded\endcsname
+\let\PSTboxfillLoaded\endinput
+\edef\PstAtCode{\the\catcode`\@}\catcode`\@=11\relax
+
+\pst@addfams{pst-fill}
+\def\pst@@boxfillsize#1(#2,#3)#4(#5,#6)#7(#8\@nil{%
+ \begingroup
+ \ifx\@empty#7\relax
+ \pst@dima\z@
+ \pst@dimb\z@
+ \pssetxlength\pst@dimc{#2}%
+ \pssetylength\pst@dimd{#3}%
+ \else
+ \pssetxlength\pst@dima{#2}%
+ \pssetylength\pst@dimb{#3}%
+ \pssetxlength\pst@dimc{#5}%
+ \pssetylength\pst@dimd{#6}%
+ \fi
+ \xdef\pst@tempg{%
+ \pst@dima=\number\pst@dima sp
+ \pst@dimb=\number\pst@dimb sp
+ \pst@dimc=\number\pst@dimc sp
+ \pst@dimd=\number\pst@dimd sp }%
+ \endgroup
+ \let\psk@boxfillsize\pst@tempg}
+
+\define@key[psset]{pst-fill}{boxfillsize}{%
+ \def\pst@tempg{#1}\def\pst@temph{auto}%
+ \ifx\pst@tempg\pst@temph
+ \let\psk@boxfillsize\relax
+ \else
+ \pst@@boxfillsize#1(\z@,\z@)\@empty(\z@,\z@)(\@nil
+ \fi}
+\psset{boxfillsize={(-15cm,-15cm)(15cm,15cm)}}
+\define@key[psset]{pst-fill}{boxfillcolor}{\pst@getcolor{#1}\psboxfillcolor}
+\psset{boxfillcolor=black}% hv
+\define@key[psset]{pst-fill}{boxfillangle}{\pst@getangle{#1}\psk@boxfillangle}
+\psset{boxfillangle=0}
+\define@key[psset]{pst-fill}{fillsepx}{\pst@getlength{#1}\psk@fillsepx}
+\define@key[psset]{pst-fill}{fillsepy}{\pst@getlength{#1}\psk@fillsepy}
+\define@key[psset]{pst-fill}{fillsep}{%
+ \pst@getlength{#1}\psk@fillsepx%
+ \let\psk@fillsepy\psk@fillsepx}
+\psset{fillsep=2pt}
+
+\ifx\PstTiling\@undefined
+ \define@key[psset]{pst-fill}{fillcycle}{\pst@getint{#1}\psk@fillcycle}
+ \psset{fillcycle=0}
+\else
+ \define@key[psset]{pst-fill}{fillangle}{\pst@getangle{#1}\psk@boxfillangle}
+ \define@key[psset]{pst-fill}{fillsize}{%
+ \def\pst@tempg{#1}\def\pst@temph{auto}%
+ \ifx\pst@tempg\pst@temph\let\psk@boxfillsize\relax
+ \else\pst@@boxfillsize#1(\z@,\z@)\@empty(\z@,\z@)(\@nil\fi}
+ \psset{fillsep=0,fillsize=auto}
+ \define@key[psset]{pst-fill}{fillcyclex}{\pst@getint{#1}\psk@fillcyclex}
+ \define@key[psset]{pst-fill}{fillcycley}{\pst@getint{#1}\psk@fillcycley}
+ \define@key[psset]{pst-fill}{fillcycle}{%
+ \pst@getint{#1}\psk@fillcyclex\let\psk@fillcycley\psk@fillcyclex}
+ \psset{fillcycle=0}
+ \define@key[psset]{pst-fill}{fillmovex}{\pst@getlength{#1}\psk@fillmovex}
+ \define@key[psset]{pst-fill}{fillmovey}{\pst@getlength{#1}\psk@fillmovey}
+ \define@key[psset]{pst-fill}{fillmove}{%
+ \pst@getlength{#1}\psk@fillmovex\let\psk@fillmovey\psk@fillmovex}
+ \psset{fillmove=0pt}
+ \define@key[psset]{pst-fill}{fillloopaddx}{\pst@getint{#1}\psk@fillloopaddx}
+ \define@key[psset]{pst-fill}{fillloopaddy}{\pst@getint{#1}\psk@fillloopaddy}
+ \define@key[psset]{pst-fill}{fillloopadd}{%
+ \pst@getint{#1}\psk@fillloopaddx\let\psk@fillloopaddy\psk@fillloopaddx}
+ \psset{fillloopadd=0}
+%% \define@key[psset]{pst-fill}{PstDebug}{\pst@getint{#1}\psk@PstDebug}
+ \psset{PstDebug=0}
+\fi
+
+\def\pstFillSetDefaults{%
+ \psset{%
+ boxfillsize={(-15cm,-15cm)(15cm,15cm)},
+ boxfillcolor=black,
+ boxfillangle=0,
+ fillsep=2pt,
+ fillsep=0,fillsize=auto,
+ fillcycle=0,
+ fillmove=0pt,
+ fillloopadd=0,
+ PstDebug=0}%
+}
+
+
+\def\txfillDict{ fill@Dict begin }
+
+\newbox\pst@fillbox
+\def\psboxfill{\pst@killglue\pst@makebox\psboxfill@i}
+\def\psboxfill@i{\null\setbox\pst@fillbox\box\pst@hbox\ignorespaces}% \null to prevent empty page
+\def\psfs@boxfill{%
+ \ifvoid\pst@fillbox
+ \@pstrickserr{Fill box is empty. Use \string\psboxfill\space first.}\@ehpa
+ \else
+ \ifx\psk@boxfillsize\relax \pst@AutoBoxFill
+ \else\pst@ManualBoxFill\fi
+ \fi}
+
+\def\pst@ManualBoxFill{%
+ \leavevmode
+ \begingroup
+ \pst@FlushCode
+ \begin@psclip
+ \pstVerb{clip}%
+ \expandafter\pst@AddFillBox\psk@boxfillsize
+ \end@psclip
+ \endgroup}
+
+\def\pst@FlushCode{%
+ \pst@Verb{%
+ /mtrxc CM def
+ CP CP T
+ \tx@STV
+ \psk@origin
+ \psk@swapaxes
+ \pst@newpath
+ \pst@code
+ mtrxc setmatrix
+ moveto
+ 0 setgray}%
+ \gdef\pst@code{}}
+
+\def\pst@AddFillBox#1 #2 #3 #4 {%
+ \begingroup
+ \setbox\pst@fillbox=\vbox{%
+ \hbox{\unhcopy\pst@fillbox\kern\psk@fillsepx\p@}%
+ \vskip\psk@fillsepy\p@}%
+ \psk@boxfillsize
+ \pst@cnta=\pst@dimc
+ \advance\pst@cnta-\pst@dima
+ \divide\pst@cnta\wd\pst@fillbox
+ \pst@cntb=\pst@dimd
+ \advance\pst@cntb-\pst@dimb
+ \pst@dimd=\ht\pst@fillbox
+ \divide\pst@cntb\pst@dimd
+ \def\pst@@tempA{%
+ \pst@tempg
+ \copy\pst@fillbox
+ \advance\pst@cntc\@ne
+ \ifnum\pst@cntc<\pst@cntd\expandafter\pst@@tempA\fi}%
+ \let\pst@tempg\relax
+ \pst@cntc-\tw@
+ \pst@cntd\pst@cnta
+ \setbox\pst@fillbox=\hbox to \z@{%
+ \kern\pst@dima
+ \kern-\wd\pst@fillbox
+ \pst@@tempA
+ \hss}%
+ \pst@cntd\pst@cntb
+%% DG modification begin - Dec. 11, 1997 - Patch 2
+ \ifx\PstTiling\@undefined
+ \ifnum\psk@fillcycle=\z@\pst@ManualFillCycle\fi
+ \else
+ \ifnum\psk@fillcyclex=\z@\pst@ManualFillCycle\fi
+ \fi
+%% DG modification end
+ \global\setbox\pst@boxg=\vbox to\z@{%
+ \offinterlineskip
+ \vss
+ \pst@@tempA
+ \vskip\pst@dimb}%
+ \endgroup
+ \setbox\pst@fillbox\box\pst@boxg
+ \pst@rotate\psk@boxfillangle\pst@fillbox
+ \box\pst@fillbox}
+
+\def\pst@ManualFillCycle{%
+ \ifx\PstTiling\@undefined
+ \pst@cntg=\psk@fillcycle
+ \else
+ \pst@cntg=\psk@fillcyclex
+ \fi
+ \pst@dimg=\wd\pst@fillbox
+ \ifnum\pst@cntg=\z@
+ \else
+ \divide\pst@dimg\pst@cntg
+ \fi
+ \ifnum\pst@cntg<\z@\pst@cntg=-\pst@cntg\fi
+ \advance\pst@cntg\m@ne
+ \pst@cnth=\pst@cntg
+ \def\pst@tempg{%
+ \ifnum\pst@cnth<\pst@cntg\advance\pst@cnth\@ne\else\pst@cnth\z@\fi
+ \moveright\pst@cnth\pst@dimg}}
+
+\ifx\PstTiling\@undefined
+ \pst@def{AutoFillCycle}<%
+ fill@Dict begin
+ /c ED
+ /n 0 def
+ /s {
+ /x x w c div n mul add def
+ /n n c abs 1 sub lt { n 1 add } { 0 } ifelse def
+ } def
+ end
+ >
+\pst@def{BoxFill}<%
+ fill@Dict begin
+ gsave
+ gsave \tx@STV CM grestore dtransform CM idtransform
+ abs /h ED abs /w ED
+ pathbbox
+ h div round 2 add cvi /y2 ED
+ w div round 2 add cvi /x2 ED
+ h div round 2 sub cvi /y1 ED
+ w div round 2 sub cvi /x1 ED
+ /y2 y2 y1 sub def
+ /x2 x2 x1 sub def
+ CP
+ y1 h mul sub neg /y1 ED
+ x1 w mul sub neg /x1 ED
+ clip
+ y2 {
+ /x x1 def
+ s
+ x2 {
+ save CP x y1
+ \ifx\VTeXversion\undefined
+ \else
+ neg
+ \fi
+ T moveto Box restore
+ /x x w add def
+ } repeat
+ /y1 y1 h add def
+ } repeat
+ % Next line not useful... To see that, suppress clipping (DG)
+ CP x y1 T moveto Box
+ end
+ currentpoint currentfont grestore setfont moveto
+ >
+\else% Tiling is defined -----------------------------------
+ \pst@def{AutoFillCycleX}<
+% fill@Dict begin
+ /cX ED
+ /nX 0 def
+ /CycleX {
+ /x x w cX div nX mul add def
+ /nX nX cX abs 1 sub lt { nX 1 add } { 0 } ifelse def
+ } def
+% end
+ >
+ \pst@def{AutoFillCycleY}<%
+% fill@Dict begin
+ /cY ED
+ /mY 0 def
+ /nY 0 def
+ /CycleY {
+ /y1 y1 h cY div mY mul sub def
+ nY cY abs 1 sub lt { /nY nY 1 add def /mY 1 def }
+ { /nY 0 def /mY cY abs 1 sub neg def } ifelse
+ } def
+% end
+ >
+ \pst@def{BoxFill}<
+ \ifPSTlualatex
+ /save /gsave load def
+ /restore /grestore load def
+ fill@Dict begin
+ \fi
+ gsave
+ gsave \tx@STV CM grestore dtransform CM idtransform
+ abs /h ED abs /w ED
+ pathbbox
+ \ifPSTlualatex
+ h div 2 add cvi /y2 ED
+ w div 2 add cvi /x2 ED
+ h div 2 sub cvi /y1 ED
+ w div 2 sub cvi /x1 ED
+ \else
+ h div round 2 add cvi /y2 ED
+ w div round 2 add cvi /x2 ED
+ h div round 2 sub cvi /y1 ED
+ w div round 2 sub cvi /x1 ED
+ \fi
+ /CoefLoopX 0 def
+ /CoefLoopY 0 def
+ /CoefMoveX 0 def
+ /CoefMoveY 0 def
+ \psk@boxfillangle\space 0 ne {/CoefLoopX 8 def /CoefLoopY 8 def} if
+ \psk@fillcyclex\space 0 ne {/CoefLoopX CoefLoopX 1 add def} if
+ \psk@fillcycley\space 0 ne {/CoefLoopY CoefLoopY 1 add def} if
+ \psk@fillmovex\space 0 ne
+ {/CoefLoopX CoefLoopX 2 add def
+ \psk@fillmovex\space 0 gt {/CoefMoveX CoefLoopX def}
+ {/CoefMoveX CoefLoopX neg def} ifelse} if
+ \psk@fillmovey\space 0 ne
+ {/CoefLoopY CoefLoopY 2 add def
+ \psk@fillmovey\space 0 gt {/CoefMoveY CoefLoopY def}
+ {/CoefMoveY CoefLoopY neg def} ifelse} if
+ \psk@fillsepx\space 0 ne {/CoefLoopX CoefLoopX 1 add def} if
+ \psk@fillsepy\space 0 ne {/CoefLoopY CoefLoopY 1 add def} if
+ /CoefLoopX CoefLoopX \psk@fillloopaddx\space add def
+ /CoefLoopY CoefLoopY \psk@fillloopaddy\space add def
+ /x2 x2 x1 sub 4 sub CoefLoopX 2 mul add def
+ /y2 y2 y1 sub 4 sub CoefLoopY 2 mul add def
+ %% We must fix the origin of tiling, as it must not vary according other stuff in the page!
+ w x1 CoefLoopX add CoefMoveX add mul
+ h y1 y2 add 1 sub CoefLoopY sub CoefMoveY sub mul moveto
+ CP
+ y1 h mul sub neg /y1 ED
+ x1 w mul sub neg /x1 ED
+ \Pst@Debug 0 eq {clip} if
+ \psk@fillmovex\space \psk@fillmovey
+ gsave \tx@STV CM grestore
+ dtransform CM idtransform
+ /hmove ED /wmove ED
+ /row 0 def
+ y2 {
+ /row row 1 add def
+ /column 0 def
+ /x x1 def
+ CycleX
+ save
+ x2 {
+ /column column 1 add def
+ CycleY
+ save CP x y1
+ \ifPSTlualatex neg \fi
+ T moveto Box restore
+ /x x w add def
+ 0 hmove translate
+ } repeat
+ restore
+ /y1 y1 h add def
+ wmove 0 translate
+ } repeat
+ currentpoint
+ currentfont
+ grestore
+ setfont
+ moveto
+ \ifPSTlualatex end \fi
+ >
+\fi % edn of tiling=true
+
+\ifPSTlualatex
+ \def\pst@AutoBoxFill{%
+ \leavevmode
+ \begingroup
+ \pst@stroke
+ \pst@FlushCode
+ \pst@Verb{\psk@boxfillangle\space \tx@RotBegin}%
+ \pstVerb{
+ \pst@dict /Box [ /gsave cvx currentpoint /translate cvx \luaPSTbox\hbox{%
+ \ifx\PstTiling\@undefined
+ \else
+ \ifx\pst@tempa\@undefined % Undefined for instance for \pscharpath
+ \else\ifx\pst@tempa\@empty\else
+ \def\pst@temph{0}%
+ \ifx\pst@tempa\pst@temph
+ \else
+ \fi
+ \fi\fi
+ \fi
+ \hbox to \z@{\vbox to\z@{\vss\copy\pst@fillbox\vskip-\dp\pst@fillbox}\hss}%
+ } /.TeXBox findresource /grestore cvx ] cvx def
+ \ifx\PstTiling\@undefined
+ \ifnum\psk@fillcycle=\z@
+ /s {} def
+ \else
+ \psk@fillcycle \tx@AutoFillCycle
+ \fi
+ \else
+ \ifnum\psk@fillcyclex=\z@
+ /CycleX {} def
+ \else
+ \psk@fillcyclex\space \tx@AutoFillCycleX
+ \fi
+ \ifnum\psk@fillcycley=\z@
+ /CycleY {} def
+ \else
+ \psk@fillcycley\space \tx@AutoFillCycleY
+ \fi
+ \fi
+ \pst@number{\wd\pst@fillbox}%
+ \psk@fillsepx\space add
+ \pst@number{\ht\pst@fillbox}%
+ \pst@number{\dp\pst@fillbox}%
+ \psk@fillsepy\space add add
+ \tx@BoxFill
+ end
+ }%
+ \pst@Verb{\tx@RotEnd}%
+ \endgroup}
+\else%%%%%%%%%%%%%%% latex->dvips definition
+ \def\pst@AutoBoxFill{%
+ \leavevmode
+ \begingroup
+ \pst@stroke
+ \pst@FlushCode
+ \pst@Verb{\psk@boxfillangle\space \tx@RotBegin}%
+ \pstVerb{\pst@dict /Box \pslbrace end}%
+ \ifx\PstTiling\@undefined
+ \else
+ \ifx\pst@@tempA\@undefined % Undefined for instance for \pscharpath
+ \else\ifx\pst@@tempA\@empty\else
+ \def\pst@temph{0}%
+ \ifx\pst@@tempA\pst@temph
+ \else
+ \pstVerb{/TR {pop pop currentpoint translate \pst@@tempA\space translate } def}%
+ \fi
+ \fi\fi
+ \fi
+ \hbox to \z@{\vbox to\z@{\vss\copy\pst@fillbox\vskip-\dp\pst@fillbox}\hss}%
+ \ifx\PstTiling\@undefined
+ \pstVerb{%
+ tx@Dict begin \psrbrace def
+ \ifnum\psk@fillcycle=\z@
+ /s {} def
+ \else
+ \psk@fillcycle \tx@AutoFillCycle
+ \fi
+ \pst@number{\wd\pst@fillbox}%
+ \psk@fillsepx\space add
+ \pst@number{\ht\pst@fillbox}%
+ \pst@number{\dp\pst@fillbox}%
+ \psk@fillsepy\space add add
+ \tx@BoxFill
+ end}%
+ \else
+ \pstVerb{%
+ tx@Dict begin \psrbrace def
+ \ifnum\psk@fillcyclex=\z@
+ /CycleX {} def
+ \else
+ \psk@fillcyclex\space \tx@AutoFillCycleX
+ \fi
+ \ifnum\psk@fillcycley=\z@
+ /CycleY {} def
+ \else
+ \psk@fillcycley\space \tx@AutoFillCycleY
+ \fi
+ \pst@number{\wd\pst@fillbox}%
+ \psk@fillsepx\space add
+ \pst@number{\ht\pst@fillbox}%
+ \pst@number{\dp\pst@fillbox}%
+ \psk@fillsepy\space add add
+ \tx@BoxFill
+ end}%
+ \fi
+ \pst@Verb{\tx@RotEnd}%
+ \endgroup}
+\fi
+%
+\catcode`\@=\PstAtCode\relax
+\endinput
+%%
+%% End of file `pst-fill.tex'.
diff --git a/info/install-latex-guide-zh-cn/appendix/updateinfo.tex b/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
index 7debec6c3a..f88a3d9ab6 100644
--- a/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
+++ b/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
@@ -2,6 +2,12 @@
\chapter{版本信息}
+\section*{v2021.10.1}
+
+\begin{enumerate}
+ \item 添加 ubuntu 和 WSL 在用户文件夹安装的相关内容
+\end{enumerate}
+
\section*{v2021.8.1}
\begin{enumerate}
diff --git a/info/install-latex-guide-zh-cn/chapter/ubuntu.tex b/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
index 5f3dd174e1..1634ed85d9 100644
--- a/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
+++ b/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
@@ -160,6 +160,38 @@
\end{lstlisting}
在各处替换.
+\subsection{在用户文件夹安装}\label{subsec:ubuntu-user-folder}
+
+如果有用户打算在用户文件夹安装 \TeX{} Live,
+那么可以不必调用权限,
+直接执行
+\begin{lstlisting}[language=bash]
+ /mnt/texlive/install-tl
+\end{lstlisting}
+只不过这时安装路径需要选择
+\begin{lstlisting}[language=bash]
+ ~/texlive/2021
+\end{lstlisting}
+安装完毕后,
+继续修改环境变量为
+\begin{lstlisting}
+ # Add TeX Live to the PATH, MANPATH, INFOPATH
+ export PATH=~/texlive/2021/bin/x86_64-linux:$PATH
+ export MANPATH=~/texlive/2021/texmf-dist/doc/man:$MANPATH
+ export INFOPATH=~/texlive/2021/texmf-dist/doc/info:$INFOPATH
+\end{lstlisting}
+有关字体的处理变为
+\begin{lstlisting}[language=bash]
+ cp ~/texlive/2021/texmf-var/fonts/conf/texlive-fontconfig.conf ~/.fonts.conf/09-texlive.conf
+\end{lstlisting}
+然后执行
+\begin{lstlisting}[language=bash]
+ fc-cache -fv
+\end{lstlisting}
+实际上,
+无论将 \TeX{} Live 安装到哪里,
+字体的配置文件都可以仿照上面只复制于用户文件夹中.
+
\subsection{\texttt{fc-cache} 无法执行}\label{subsec:fc-cache}
这种情况往往是缺少了 fontconfig,
diff --git a/info/install-latex-guide-zh-cn/chapter/wsl.tex b/info/install-latex-guide-zh-cn/chapter/wsl.tex
index cbb5787095..da388c34ab 100644
--- a/info/install-latex-guide-zh-cn/chapter/wsl.tex
+++ b/info/install-latex-guide-zh-cn/chapter/wsl.tex
@@ -156,6 +156,12 @@
\end{lstlisting}
刷新字体缓存.
+\subsection{在用户文件夹安装}
+
+WSL 同样也可以在用户文件夹中安装,
+它的用户文件夹往往在主系统的系统盘中.
+具体过程也可以参考第~\ref{subsec:ubuntu-user-folder}~节.
+
\section{卸载 \TeX{} Live}
WSL 中的方法同 \ref{sec:ubuntu:uninstall}~节.
diff --git a/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf b/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
index c6ad66c4b0..4e09d4ad5c 100644
--- a/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
+++ b/info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
Binary files differ
diff --git a/macros/generic/markdown/README.md b/macros/generic/markdown/README.md
index 62d857935a..0543947bd6 100644
--- a/macros/generic/markdown/README.md
+++ b/macros/generic/markdown/README.md
@@ -1,11 +1,14 @@
Markdown
========
+[![license](https://img.shields.io/github/license/witiko/markdown)](LICENSE)
[![release](https://img.shields.io/github/release/witiko/markdown.svg)][release]
-[![ci](https://github.com/Witiko/markdown/workflows/Test/badge.svg)][ci]
+[![docker pulls](https://img.shields.io/docker/pulls/witiko/markdown)][docker-witiko/markdown]
+[![docker image size](https://img.shields.io/docker/image-size/witiko/markdown)][docker-witiko/markdown]
+[![ci](https://github.com/witiko/markdown/actions/workflows/main.yml/badge.svg)][ci]
- [release]: https://github.com/Witiko/markdown/releases/latest "Releases · Witiko/markdown"
- [ci]: https://github.com/Witiko/markdown/actions "GitHub Actions"
+ [release]: https://github.com/Witiko/markdown/releases/latest "Releases · Witiko/markdown"
+ [ci]: https://github.com/Witiko/markdown/actions "GitHub Actions"
The Markdown package converts [markdown][] markup to TeX commands. The
functionality is provided both as a Lua module, and as plain TeX, LaTeX, and
@@ -15,24 +18,155 @@ does not require any external programs, and makes it easy to redefine how each
and every markdown element is rendered. Creative abuse of the markdown syntax
is encouraged. 😉
- [markdown]: https://daringfireball.net/projects/markdown/basics "Daring Fireball: Markdown Basics"
+ [markdown]: https://daringfireball.net/projects/markdown/basics "Daring Fireball: Markdown Basics"
- ![banner](banner.png "An example LaTeX document using the Markdown package")
+Your first Markdown document
+----------------------------
+
+Using a text editor, create an empty directory named `workdir/`. In it, create
+a text document named `workdir/document.tex` with the following content:
+
+``` latex
+\documentclass{book}
+\usepackage{markdown}
+\markdownSetup{pipeTables,tableCaptions}
+\begin{document}
+\begin{markdown}
+Introduction
+============
+## Section
+### Subsection
+Hello *Markdown*!
+
+| Right | Left | Default | Center |
+|------:|:-----|---------|:------:|
+| 12 | 12 | 12 | 12 |
+| 123 | 123 | 123 | 123 |
+| 1 | 1 | 1 | 1 |
+
+: Table
+\end{markdown}
+\end{document}
+```
+
+Next, run the [LaTeXMK][] tool from
+[our official Docker image][docker-witiko/markdown] on `document.tex`:
+
+ docker run --rm -v "$PWD"/workdir:/workdir -w /workdir witiko/markdown \
+ latexmk -lualatex -silent document.tex
+
+Alternatively, you can install [TeX Live][tex-live] (can take up to several
+hours) and use its [LaTeXMK][] tool:
+
+ latexmk -cd -lualatex -silent workdir/document.tex
+
+A PDF document named `workdir/document.pdf` should be produced and contain the
+following output:
+
+ ![banner](markdown.png "An example LaTeX document using the Markdown package")
+
+Congratulations, you have just typeset your first Markdown document! 🥳
+
+ [tex-live]: https://www.tug.org/texlive/ "TeX Live - TeX Users Group"
+
+Use Markdown for continuous integration
+---------------------------------------
+
+Can't live without the latest features of the Markdown package in your
+continuous integration pipelines? It's ok, you can use
+[our official Docker image][docker-witiko/markdown] as a drop-in replacement
+for [the `texlive/texlive:latest` Docker image][docker-texlive/texlive]!
+The following example shows a [GitHub Actions][github-actions] pipeline, which
+will automatically typeset and prerelease a PDF document:
+
+``` yaml
+name: Typeset and prerelease the book
+on:
+ push:
+jobs:
+ typeset:
+ runs-on: ubuntu-latest
+ container:
+ image: witiko/markdown:latest
+ steps:
+ - uses: actions/checkout@v2
+ - run: latexmk -lualatex document.tex
+ - uses: marvinpinto/action-automatic-releases@latest
+ with:
+ title: The latest typeset book
+ automatic_release_tag: latest
+ prerelease: true
+ repo_token: ${{ secrets.GITHUB_TOKEN }}
+ files: document.pdf
+```
+
+In fact, this is how we automatically produce
+[the latest documentation][techdoc-latest] for the Markdown package.
+
+ [docker-witiko/markdown]: https://hub.docker.com/r/witiko/markdown/tags "witiko/markdown - Docker Image"
+ [docker-texlive/texlive]: https://hub.docker.com/r/texlive/texlive/tags "texlive/texlive - Docker Image"
+
+ [github-actions]: https://docs.github.com/actions "GitHub Actions Documentation"
+
+Peek under the hood
+-------------------
+
+Remember how we said that the Markdown package converts [markdown][] markup to
+TeX commands? Let's see what that means and what we can do with this knowledge.
+
+Using a text editor, create an empty text document named `document.md` with
+the following markdown content:
+
+``` markdown
+Hello *Markdown*! $a_x + b_x = c_x$
+```
+
+Next, run [the Lua command-line interface (CLI)][lua-cli] from
+[our official Docker image][docker-witiko/markdown] on `document.md`:
+
+ docker run --rm -i witiko/markdown markdown-cli hybrid=true < document.md
+
+We will receive the following output, where the markdown markup has been
+replaced by TeX commands:
+
+``` tex
+Hello \markdownRendererEmphasis{Markdown}!
+$a\markdownRendererEmphasis{x + b}x = c_x$\relax
+```
+
+We can see right away that the Markdown package has incorrectly interpreted
+`_x + b_` as an emphasized text. We can fix this by passing in the
+`underscores=false` option:
+
+ docker run --rm -i witiko/markdown markdown-cli hybrid=true underscores=false < document.md
+
+``` tex
+Hello \markdownRendererEmphasis{Markdown}!
+$a_x + b_x = c_x$\relax
+```
+
+Much better! If the Markdown package ever surprises you, use the Lua CLI to
+peek under the hood and inspect the results of the conversion.
+
+ [lua-cli]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#lua-command-line-interface "Markdown Package User Manual"
Further information
-------------------
For further information, consult one of the following:
-1. The [user manual][manual], which can be produced by interpreting the
- `markdown.ins` file using a Unicode-aware TeX engine, such as XeTeX
- (`xetex markdown.ins`) or LuaTeX (`luatex markdown.ins`). The manual will
- reside in the file `markdown.md` and the CSS stylesheet `markdown.css`.
-2. The [technical documentation][techdoc], which can be typeset by running the
- [LaTeXMK][] tool on the `markdown.dtx` file
- (`latexmk markdown.dtx`) after [installing the Markdown package][install].
- [LaTeXMK][] should be included in your TeX distribution. The typeset
- documentation will reside in the file `markdown.pdf`.
+1. The user manual for either [the released version][manual-tex-live] or
+ [the latest development version][manual-latest], which can be produced by
+ interpreting the `markdown.ins` file using a Unicode-aware TeX engine, such
+ as XeTeX (`xetex markdown.ins`) or LuaTeX (`luatex markdown.ins`). The
+ manual will reside in the file `markdown.md` and the CSS stylesheet
+ `markdown.css`.
+2. The technical documentation for either [the released version][techdoc-tex-live]
+ or [the latest development version][techdoc-latest], which can be typeset by
+ running the [LaTeXMK][] tool on the `markdown.dtx` file (`latexmk
+ markdown.dtx`) after [installing the Markdown package][install].
+ [LaTeXMK][] should be included in your TeX distribution.
+ The typeset documentation will reside in the file `markdown.pdf`.
3. Tutorials and example documents by [Lian Tze Lim][liantze] at [Overleaf][]:
- [How to write in Markdown on Overleaf][overleaf-1],
- [Markdown into LaTeX with Style][overleaf-2],
@@ -42,13 +176,15 @@ For further information, consult one of the following:
- [Using Markdown in LaTeX documents][overleaf-6].
4. My journal articles published by [TUGboat][]:
- [Using Markdown inside TeX documents][tb119],
- - [Markdown 2.7.0: Towards lightweight markup in TeX][tb124], and
- - [Making Markdown into a Microwave Meal][tb129].
+ - [Markdown 2.7.0: Towards lightweight markup in TeX][tb124],
+ - [Making Markdown into a Microwave Meal][tb129], and
+ - [Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX][tb131-preprint].
5. My journal articles published by [CSTUG][] (in Czech):
- [Rendering Markdown inside TeX Documents][10.5300/2016-1-4/78], and
- [Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX][10.5300/2020-1-2/48].
6. My talks:
- - [Five Years of Markdown in LaTeX: What, Why, How, and Whereto][pv212-fall2020] (in Czech).
+ - [Five Years of Markdown in LaTeX: What, Why, How, and Whereto][pv212-fall2020] (in Czech), and
+ - [Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX][tb131-video] ([slides][tb131-slides]).
[overleaf-1]: https://www.overleaf.com/learn/latex/Articles/How_to_write_in_Markdown_on_Overleaf "How to write in Markdown on Overleaf"
[overleaf-2]: https://www.overleaf.com/learn/latex/Articles/Markdown_into_LaTeX_with_Style "Markdown into LaTeX with Style"
@@ -57,28 +193,36 @@ For further information, consult one of the following:
[overleaf-5]: https://www.overleaf.com/latex/examples/writing-posters-with-markdown/jtbgmmgqrqmh "Writing Posters with Markdown"
[overleaf-6]: https://www.overleaf.com/latex/examples/using-markdown-in-latex-documents/whdrnpcpnwrm "Using Markdown in LaTeX documents"
- [tb119]: https://www.tug.org/TUGboat/tb38-2/tb119novotny.pdf "Using Markdown inside TeX documents"
- [tb124]: https://www.tug.org/TUGboat/tb40-1/tb124novotny-markdown.pdf "Markdown 2.7.0: Towards lightweight markup in TeX"
- [tb129]: https://www.tug.org/TUGboat/tb41-3/tb129novotny-frozen.pdf "Making Markdown into a Microwave Meal"
+ [tb119]: https://www.tug.org/TUGboat/tb38-2/tb119novotny.pdf "Using Markdown inside TeX documents"
+ [tb124]: https://www.tug.org/TUGboat/tb40-1/tb124novotny-markdown.pdf "Markdown 2.7.0: Towards lightweight markup in TeX"
+ [tb129]: https://www.tug.org/TUGboat/tb41-3/tb129novotny-frozen.pdf "Making Markdown into a Microwave Meal"
+
+ [tb131-preprint]: https://tug.org/TUGboat/production/42-2/tb131novotny-markdown.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
+ [tb131-slides]: https://tug.org/tug2021/assets/pdf/tug2021-novotny-slides.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
+ [tb131-video]: https://youtu.be/i2GJMnLCZls "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
[10.5300/2016-1-4/78]: https://bulletin.cstug.cz/pdf/2016-1-4.pdf#page=80 "Rendering Markdown inside TeX Documents"
[10.5300/2020-1-2/48]: https://bulletin.cstug.cz/pdf/2020-1-2.pdf#page=50 "Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX"
[pv212-fall2020]: https://is.muni.cz/el/fi/podzim2020/PV212/index.qwarp?prejit=5595952
- [install]: http://mirrors.ctan.org/macros/generic/markdown/markdown.html#installation "Markdown Package User Manual"
- [liantze]: http://liantze.penguinattack.org/ "Rants from the Lab"
- [manual]: http://mirrors.ctan.org/macros/generic/markdown/markdown.html "Markdown Package User Manual"
- [overleaf]: https://www.overleaf.com/ "Overleaf: Real-time Collaborative Writing and Publishing Tools with Integrated PDF Preview"
- [techdoc]: http://mirrors.ctan.org/macros/generic/markdown/markdown.pdf "A Markdown Interpreter for TeX"
- [tugboat]: https://www.tug.org/tugboat/ "TUGboat - Communications of the TeX Users Group"
- [cstug]: https://www.cstug.cz/ "Československé sdružení uživatelů TeXu"
+ [install]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#installation "Markdown Package User Manual"
+ [liantze]: https://liantze.penguinattack.org/ "Rants from the Lab"
+ [overleaf]: https://www.overleaf.com/ "Overleaf: Real-time Collaborative Writing and Publishing Tools with Integrated PDF Preview"
+ [tugboat]: https://www.tug.org/tugboat/ "TUGboat - Communications of the TeX Users Group"
+ [cstug]: https://www.cstug.cz/ "Československé sdružení uživatelů TeXu"
+
+ [manual-latest]: https://witiko.github.io/markdown "Markdown Package User Manual"
+ [manual-tex-live]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html "Markdown Package User Manual"
+
+ [techdoc-latest]: https://github.com/Witiko/markdown/releases/download/latest/markdown.pdf "A Markdown Interpreter for TeX"
+ [techdoc-tex-live]: https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf "A Markdown Interpreter for TeX"
Acknowledgements
----------------
-| Logo | Acknowledgement |
-| ------------- | ------------- |
+| Logo | Acknowledgement |
+| ------------- | --------------- |
| [<img width="150" src="https://www.fi.muni.cz/images/fi-logo.png">][fimu] | I gratefully acknowledge the funding from the [Faculty of Informatics][fimu] at the [Masaryk University][mu] in Brno, Czech Republic, for the development of the Markdown package. |
| [<img width="150" src="https://cdn.overleaf.com/img/ol-brand/overleaf_og_logo.png">][overleaf] | Extensive user documentation for the Markdown package was kindly written by [Lian Tze Lim][liantze] and published by [Overleaf][]. |
| [<img width="150" src="https://pbs.twimg.com/profile_images/1004769879319334912/6Bh1UthD.jpg">][omedym] | Support for content slicing (Lua options [`shiftHeadings`][option-shift-headings] and [`slice`][option-slice]) and pipe tables (Lua options [`pipeTables`][option-pipe-tables] and [`tableCaptions`][option-table-captions]) was graciously sponsored by [David Vins][dvins] and [Omedym][]. |
@@ -88,16 +232,16 @@ Acknowledgements
[mu]: https://www.muni.cz/en "Masaryk University"
[Omedym]: https://www.omedym.com/ "Omedym"
- [option-pipe-tables]: http://mirrors.ctan.org/macros/generic/markdown/markdown.html#pipe-tables "Markdown Package User Manual"
- [option-shift-headings]: http://mirrors.ctan.org/macros/generic/markdown/markdown.html#option-shiftheadings "Markdown Package User Manual"
- [option-slice]: http://mirrors.ctan.org/macros/generic/markdown/markdown.html#slice "Markdown Package User Manual"
- [option-table-captions]: http://mirrors.ctan.org/macros/generic/markdown/markdown.html#option-tablecaptions "Markdown Package User Manual"
+ [option-pipe-tables]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#pipe-tables "Markdown Package User Manual"
+ [option-shift-headings]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#option-shiftheadings "Markdown Package User Manual"
+ [option-slice]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#slice "Markdown Package User Manual"
+ [option-table-captions]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#option-tablecaptions "Markdown Package User Manual"
Contributing
------------
Apart from the example markdown documents, tests, and continuous integration,
-which are placed in the `examples/`, `tests/`, and `.circleci/` directories,
+which are placed in the `examples/`, `tests/`, and `.github/` directories,
the complete source code and documentation of the package are placed in the
`markdown.dtx` document following the [literate programming][] paradigm.
Some useful commands, such as building the release archives and typesetting
@@ -118,6 +262,12 @@ documentation is placed inside TeX comments and marked up using the
[ltxdockit][] LaTeX document class. Support for typesetting the documentation
is provided by the [doc][] LaTeX package.
+To facilitate continuous integration and sharing of the Markdown package,
+there exists an [official Docker image][docker-witiko/markdown], which can be
+reproduced by running the `docker build` command on `Dockerfile` (`docker build
+-t witiko/markdown .`). The `make docker-image` command is provided by
+`Makefile` for convenience.
+
[doc]: https://ctan.org/pkg/doc "doc – Format LaTeX documentation"
[DocStrip]: https://ctan.org/pkg/docstrip "docstrip – Remove comments from file"
[LaTeXMK]: https://ctan.org/pkg/latexmk "latexmk – Fully automated LaTeX document generation"
@@ -130,7 +280,7 @@ Citing Markdown
When citing Markdown in academic papers and theses, please use the following
BibTeX entry:
-```bib
+``` bib
@article{novotny17markdown,
author = {V\'{i}t Novotn\'{y}},
year = {2017},
@@ -144,3 +294,13 @@ BibTeX entry:
urldate = {2020-07-31},
}
```
+
+Alternatively, you can use the `Novotny:2017:UMI` key from the [`tugboat.bib`][tugboat.bib]
+BibTeX file that is included in your TeX distribution like this:
+
+``` tex
+\cite{Novotny:2017:UMI}
+\bibliography{tugboat}
+```
+
+ [tugboat.bib]: http://mirrors.ctan.org/info/digests/tugboat/biblio/tugboat.bib
diff --git a/macros/generic/markdown/examples/context.tex b/macros/generic/markdown/examples/context.tex
index 7ed432344a..a049d9f81c 100644
--- a/macros/generic/markdown/examples/context.tex
+++ b/macros/generic/markdown/examples/context.tex
@@ -12,6 +12,7 @@
\def\markdownOptionContentBlocks{true}
\def\markdownOptionPipeTables{true}
\def\markdownOptionTableCaptions{true}
+\def\markdownOptionTaskLists{true}
\definetyping [latex]
\setuptyping [latex] [option=TEX]
\starttext
diff --git a/macros/generic/markdown/examples/example.md b/macros/generic/markdown/examples/example.md
index f0be0cddfa..2841cd156f 100644
--- a/macros/generic/markdown/examples/example.md
+++ b/macros/generic/markdown/examples/example.md
@@ -1,12 +1,13 @@
-This is an H1
-=============
+# This is an H1
-This is an H2
--------------
+## This is an H2
### This is an H3
+
#### This is an H4
+
##### This is an H5
+
###### This is an H6
This is a text paragraph containing an ellipsis ... and followed by a horizontal rule.
@@ -40,45 +41,56 @@ This is a table:
This is a bullet list:
- * The first item of a bullet list
+* The first item of a bullet list
- that spans several paragraphs,
- * the second item of a bullet list,
- * the third item of a bullet list.
+ that spans several paragraphs,
+* the second item of a bullet list,
+* the third item of a bullet list.
This is a compact bullet list:
- * The first item of a bullet list,
- * the second item of a bullet list,
- * the third item of a bullet list.
+* The first item of a bullet list,
+* the second item of a bullet list,
+* the third item of a bullet list.
This is an ordered list:
- 5. The first item of an ordered list
+5. The first item of an ordered list
- that spans several paragraphs,
- 6. the second item of an ordered list,
- 7. the third item of an ordered list.
+ that spans several paragraphs,
+6. the second item of an ordered list,
+7. the third item of an ordered list.
This is an ordered list using hash enumerators:
- #. The first item of an ordered list
+#. The first item of an ordered list
- that spans several paragraphs,
- #. the second item of an ordered list,
- #. the third item of an ordered list.
+ that spans several paragraphs,
+#. the second item of an ordered list,
+#. the third item of an ordered list.
This is a compact ordered list:
- 5. The first item of an ordered list,
- 6. the second item of an ordered list,
- 7. the third item of an ordered list.
+5. The first item of an ordered list,
+6. the second item of an ordered list,
+7. the third item of an ordered list.
This is a compact ordered list using hash enumerators:
- #. The first item of an ordered list,
- #. the second item of an ordered list,
- #. the third item of an ordered list.
+#. The first item of an ordered list,
+#. the second item of an ordered list,
+#. the third item of an ordered list.
+
+This is a task list:
+
+* [ ] Some unfinished task
+* [/] Some half-finished task
+* [X] Some finished task
+* An item of an unordered list
+ #. [ ] Some unfinished subtask
+ #. [.] Some half-finished subtask
+ #. [x] Some finished subtask
+ #. An item of an ordered list
This is a definition list:
@@ -86,12 +98,12 @@ Term 1
: Definition 1
-*Term 2*
+Term 2
: Definition 2
-
+
Some code, part of Definition 2
-
+
Third paragraph of Definition 2.
: Definition 3
@@ -100,7 +112,7 @@ This is a compact definition list:
Term 1
: Definition 1
-*Term 2*
+Term 2
: Definition 2
: Definition 3
diff --git a/macros/generic/markdown/examples/latex.tex b/macros/generic/markdown/examples/latex.tex
index 07ebe631f9..cf820dfa36 100644
--- a/macros/generic/markdown/examples/latex.tex
+++ b/macros/generic/markdown/examples/latex.tex
@@ -20,12 +20,21 @@
definitionLists,
footnotes,
inlineFootnotes,
+ jekyllData,
smartEllipses,
fencedCode,
contentBlocks,
pipeTables,
tableCaptions,
+ taskLists,
]{markdown}
+\begin{markdown*}{hybrid}
+---
+title: An Example *Markdown* Document
+author: Vít Novotný
+date: \today
+---
+\end{markdown*}
\begin{document}
% Typeset the document `example.md` by letting the Markdown package handle
% the conversion internally.
diff --git a/macros/generic/markdown/markdown.dtx b/macros/generic/markdown/markdown.dtx
index d32712738b..fad63a3791 100644
--- a/macros/generic/markdown/markdown.dtx
+++ b/macros/generic/markdown/markdown.dtx
@@ -1,12 +1,13 @@
% \iffalse
+%<@@=markdown>
%<*driver>
\documentclass{ltxdockit}
\usepackage[american]{babel}
-\usepackage{amsmath,btxdockit,doc,fancyvrb,graphicx,hologo,microtype,minted}
-\usepackage{fontspec}
-\defaultfontfeatures[\rmfamily,\sffamily,\ttfamily]{}
+\usepackage{amsmath,btxdockit,doc,fancyvrb,graphicx,hologo,microtype,minted,varioref}
% Set up the style.
+\usepackage{fontspec}
+\defaultfontfeatures[\rmfamily,\sffamily,\ttfamily]{}
\emergencystretch=1em
\fvset{gobble=0,frame=single}
\setcounter{secnumdepth}{4}
@@ -30,29 +31,47 @@
% Define some markup.
\let\pkg\relax % A package name
+\def\inline#1{% Inline code
+ \textcolor{spot}{\text{\texttt{#1}}}}
+\newcommand\acro[1]{% An acronym
+ \textsc{\MakeLowercase{#1}}}
+
+% Set up index.
+\DisableCrossrefs
+\usepackage{makeidx}
+\usepackage[columns=1, totoc]{idxlayout}
+\makeindex
+
\newcommand\mdef[1]{% A TeX macro definition
+ \index{#1@\cs{#1}|textit}%
\phantomsection\label{macro:#1}\textcolor{spot}{\cs{#1}}}
-\newcommand\m[1]{% A TeX macro reference
+\newcommand\mref[1]{% A TeX macro reference
+ \index{#1@\cs{#1}}%
\hyperref[macro:#1]{\textcolor{spot}{\cs{#1}}}}
-\newcommand\envmdef[1]{% A TeX macro definition
- \phantomsection\label{environment:#1}\t`#1`}
-\newcommand\envm[1]{% A LaTeX environment reference
- \hyperref[environment:#1]{\t`#1`}}
+
+\newcommand\envmdef[1]{% A LaTeX environment definition
+ \index{#1@\texttt{#1}|textit}%
+ \phantomsection\label{environment:#1}\inline{#1}}
+\newcommand\envmref[1]{% A LaTeX environment reference
+ \index{#1@\texttt{#1}}%
+ \hyperref[environment:#1]{\inline{#1}}}
+
\newcommand\luamdef[1]{% A Lua object / method definition
- \phantomsection\label{lua:#1}\t`#1`}
-\newcommand\luam[1]{% A Lua object / method reference
- \hyperref[lua:#1]{\t`#1`}}
-\def\inline#1{% Inline code
- \textcolor{spot}{\text{\texttt{#1}}}}
-\def\t`#1`{\inline{#1}}
+ \index{#1@\texttt{#1}|textit}%
+ \phantomsection\label{lua:#1}\inline{#1}}
+\newcommand\luamref[1]{% A Lua object / method reference
+ \index{#1@\texttt{#1}}%
+ \hyperref[lua:#1]{\inline{#1}}}
+
\newcommand\Optitem[2][]{\penalty -1000\relax % An option item definition
+ \index{#2@\texttt{#2}|textit}%
\phantomsection\label{opt:#2}\optitem[#1]{#2}}
\newcommand\Valitem[2][]{\penalty -1000\relax % A value item definition
+ \index{#2@\texttt{#2}}%
\phantomsection\label{opt:#2}\valitem[#1]{#2}}
\newcommand\Opt[1]{% An option / value item reference
- \hyperref[opt:#1]{\t`#1`}}
-\newcommand\acro[1]{% An acronym
- \textsc{\MakeLowercase{#1}}}
+ \index{#1@\texttt{#1}}%
+ \hyperref[opt:#1]{\inline{#1}}}
% Set up markdown.
\usepackage[
@@ -62,23 +81,24 @@
headerAttributes,
hybrid,
html,
+ jekyllData,
stripPercentSigns,
underscores=false,
theme=witiko/dot,
theme=witiko/graphicx/http,
+ theme=witiko/markdown/techdoc,
]{markdown}
-\markdownSetup{
- renderers = {
- codeSpan = {\inline{#1}},
- link = {#1\footnote{See \url{#3}.}},
- headingFour = {%
- \paragraph{#1}\leavevmode
- \def\markdownRendererInterblockSeparator{%
- \let\markdownRendererInterblockSeparator\par
- }%
- \noindent
- },
- },
+
+% Set up Unicode characters.
+\usepackage{newunicodechar}
+\newunicodechar{☒}{\markdownRendererTickedBox}
+\newunicodechar{⌛}{\markdownRendererHalfTickedBox}
+\newunicodechar{☐}{\markdownRendererUntickedBox}
+\IfFileExists{emoji.sty}{
+ \usepackage{emoji}
+ \newunicodechar{😉}{\emoji{winking-face}}
+}{
+ \newunicodechar{😉}{;-)}
}
% Set up the catcodes.
@@ -86,94 +106,24 @@
\catcode`\^^B=8 % When we occasionally need subscripts , we will use `^^B` (STX).
% Set up the title page.
-\titlepage{%
- title={A Markdown Interpreter for \TeX{}},
- subtitle={},
- url={https://github.com/witiko/markdown},
- author={Vít Novotný},
- email={witiko@mail.muni.cz},
- revision=\markdownVersion,
- date={\today}}
-\hypersetup{%
- pdftitle={A Markdown Interpreter for \TeX{}},
- pdfauthor={Vít Novotný}}
+\begin{markdown}
+---
+title: A Markdown Interpreter for \TeX
+url: https://github.com/witiko/markdown
+author: Vít Novotný
+email: witiko@mail.muni.cz
+revision: \markdownVersion
+date: \markdownLastModified
+---
+\end{markdown}
\CodelineIndex
+% Set up the figures.
+\usepackage{tikz}
+\usepackage{mathabx,pgf-umlsd,tikz}
+\usetikzlibrary{automata,arrows.meta,positioning,shapes.geometric}
+
% Set up the bibliography.
-\begin{filecontents}[overwrite,nosearch,noheader]{markdown.bib}
-@book{tantau21,
- author = {Till Tantau and Joseph Wright and Vedran Miletić},
- title = {The Beamer class},
- date = {2021-02-10},
- url = {http://mirrors.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf},
- urldate = {2021-02-11}}
-@online{sotkov17,
- author = {Sotkov, Anton},
- title = {File transclusion syntax for Markdown},
- date = {2017-01-19},
- url = {https://github.com/iainc/Markdown-Content-Blocks},
- urldate = {2018-01-08}}
-@book{luatex17,
- author = {{Lua\TeX{} development team}},
- title = {Lua\TeX{} reference manual},
- year = {2017},
- month = {2},
- url = {http://www.luatex.org/svn/trunk/manual/luatex.pdf},
- urldate = {2018-01-08}}
-@book{latex17,
- author = {Braams, Johannes and Carlisle, David and Jeffrey, Alan and
- Lamport, Leslie and Mittelbach, Frank and Rowley, Chris and
- Schöpf, Rainer},
- title = {The \Hologo{LaTeX2e} Sources},
- date = {2017-04-15},
- url = {http://mirrors.ctan.org/macros/latex/base/source2e.pdf},
- urldate = {2018-01-08}}
-@book{mittelbach17,
- author = {Mittelbach, Frank},
- title = {The \texttt{doc} and \texttt{shortvrb} Packages},
- date = {2017-04-15},
- url = {http://mirrors.ctan.org/macros/latex/base/doc.pdf},
- urldate = {2018-02-19}}
-@book{poore17,
- author = {Poore, Geoffrey M.},
- title = {The \texttt{minted} Package},
- subtitle = {Highlighted source code in \LaTeX},
- date = {2017-07-19},
- version = {v2.5},
- url = {http://mirrors.ctan.org/macros/latex/contrib/minted/minted.pdf},
- urldate = {2020-09-01}}
-@online{novotny15,
- author = {Novotný, Vít},
- year = {2015},
- title = {TeXový interpret jazyka Markdown (markdown.sty)},
- location = {Brno, Czech Republic},
- publisher = {Masaryk University},
- url = {https://www.muni.cz/en/research/projects/32984},
- urldate = {2018-02-19}}
-@book{ierusalimschy13,
- author = {Ierusalimschy, Roberto},
- year = {2013},
- title = {Programming in Lua},
- edition = {3},
- isbn = {978-85-903798-5-0},
- pagetotal = {xviii, 347},
- location = {Rio de Janeiro},
- publisher = {PUC-Rio}}
-@book{knuth86,
- author = {Knuth, Donald Ervin},
- year = {1986},
- title = {The \TeX{}book},
- edition = {3},
- isbn = {0-201-13447-0},
- pagetotal = {ix, 479},
- publisher = {Addison-Wesley}}
-@online{novotny21,
- author = {Novotný, Vít},
- title = {\Hologo{LaTeX2e} no longer keys packages by pathnames},
- date = {2021-02-20},
- url = {https://github.com/latex3/latex2e/issues/510},
- urldate = {2021-02-21}}
-\end{filecontents}
\usepackage[
backend=biber,
style=numeric,
@@ -183,10 +133,9 @@
\addbibresource{markdown.bib}
\begin{document}
-\printtitlepage
-\tableofcontents
\DocInput{markdown.dtx}
-\printbibliography
+\printbibliography[heading=bibintoc]
+\printindex
\end{document}
%</driver>
%<*manual-css>
@@ -542,12 +491,329 @@ abbr {
}
%</manual-css>
+%<*techdoc-block-diagram>
+\begingroup
+\ifx\du\undefined\newlength{\du}\fi
+\setlength{\du}{15\unitlength}
+\begin{tikzpicture}
+\pgftransformxscale{1.000000}
+\pgftransformyscale{-1.23800}
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
+\pgfsetfillcolor{dialinecolor}
+\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
+\pgfsetfillcolor{dialinecolor}
+\fill (4.282853\du,-3.750000\du)--(4.282853\du,-1.850000\du)--(11.971656\du,-1.850000\du)--(11.971656\du,-3.750000\du)--cycle;
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetmiterjoin
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (4.282853\du,-3.750000\du)--(4.282853\du,-1.850000\du)--(11.971656\du,-1.850000\du)--(11.971656\du,-3.750000\du)--cycle;
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\node at (8.127254\du,-2.705000\du){\LaTeX{} layer};
+\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
+\pgfsetfillcolor{dialinecolor}
+\fill (-5.055135\du,-3.788555\du)--(-5.055135\du,-1.888555\du)--(2.894865\du,-1.888555\du)--(2.894865\du,-3.788555\du)--cycle;
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetmiterjoin
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (-5.055135\du,-3.788555\du)--(-5.055135\du,-1.888555\du)--(2.894865\du,-1.888555\du)--(2.894865\du,-3.788555\du)--cycle;
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\node at (-1.080135\du,-2.743555\du){\Hologo{ConTeXt} layer};
+\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
+\pgfsetfillcolor{dialinecolor}
+\fill (-8.200000\du,-0.224996\du)--(-8.200000\du,1.675004\du)--(11.870000\du,1.675004\du)--(11.870000\du,-0.224996\du)--cycle;
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetmiterjoin
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (-8.200000\du,-0.224996\du)--(-8.200000\du,1.675004\du)--(11.870000\du,1.675004\du)--(11.870000\du,-0.224996\du)--cycle;
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\node at (1.835000\du,0.820004\du){Plain \TeX{} layer};
+\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
+\pgfsetfillcolor{dialinecolor}
+\fill (-11.150000\du,3.325006\du)--(-11.150000\du,5.225006\du)--(11.800000\du,5.225006\du)--(11.800000\du,3.325006\du)--cycle;
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetmiterjoin
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (-11.150000\du,3.325006\du)--(-11.150000\du,5.225006\du)--(11.800000\du,5.225006\du)--(11.800000\du,3.325006\du)--cycle;
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\node at (0.325000\du,4.370006\du){Lua layer};
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetbuttcap
+{
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetfillcolor{dialinecolor}
+\pgfsetarrowsstart{stealth}
+\pgfsetarrowsend{stealth}
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (-9.906400\du,-5.181570\du)--(-9.937836\du,3.024193\du);
+}
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetbuttcap
+{
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetfillcolor{dialinecolor}
+\pgfsetarrowsstart{stealth}
+\pgfsetarrowsend{stealth}
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (-6.919693\du,-5.181570\du)--(-6.938734\du,-0.450800\du);
+}
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetbuttcap
+{
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetfillcolor{dialinecolor}
+\pgfsetarrowsstart{stealth}
+\pgfsetarrowsend{stealth}
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (-1.063746\du,-5.175791\du)--(-1.063746\du,-3.975793\du);
+}
+\definecolor{dialinecolor}{rgb}{1.000000, 1.000000, 1.000000}
+\pgfsetfillcolor{dialinecolor}
+\fill (-10.972500\du,-7.267480\du)--(-10.972500\du,-5.367480\du)--(11.977500\du,-5.367480\du)--(11.977500\du,-7.267480\du)--cycle;
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetmiterjoin
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (-10.972500\du,-7.267480\du)--(-10.972500\du,-5.367480\du)--(11.977500\du,-5.367480\du)--(11.977500\du,-7.267480\du)--cycle;
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\node at (0.502500\du,-6.322480\du){User code};
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetbuttcap
+{
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetfillcolor{dialinecolor}
+\pgfsetarrowsstart{stealth}
+\pgfsetarrowsend{stealth}
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (8.149986\du,-5.159541\du)--(8.149986\du,-3.959543\du);
+}
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetbuttcap
+{
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetfillcolor{dialinecolor}
+\pgfsetarrowsstart{stealth}
+\pgfsetarrowsend{stealth}
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (-1.074995\du,-1.634548\du)--(-1.074995\du,-0.434550\du);
+}
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetbuttcap
+{
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetfillcolor{dialinecolor}
+\pgfsetarrowsstart{stealth}
+\pgfsetarrowsend{stealth}
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (8.138736\du,-1.618298\du)--(8.138736\du,-0.418300\du);
+}
+\pgfsetlinewidth{0.040000\du}
+\pgfsetdash{}{0pt}
+\pgfsetdash{}{0pt}
+\pgfsetbuttcap
+{
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetfillcolor{dialinecolor}
+\pgfsetarrowsstart{stealth}
+\pgfsetarrowsend{stealth}
+\definecolor{dialinecolor}{rgb}{0.000000, 0.000000, 0.000000}
+\pgfsetstrokecolor{dialinecolor}
+\draw (1.689638\du,1.881695\du)--(1.689638\du,3.081693\du);
+}
+\end{tikzpicture}
+\endgroup
+%</techdoc-block-diagram>
+%<*techdoc-bibliography>
+@book{tantau21,
+ author = {Till Tantau and Joseph Wright and Vedran Miletić},
+ title = {The Beamer class},
+ date = {2021-02-10},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/beamer/doc/beameruserguide.pdf},
+ urldate = {2021-02-11}}
+@online{sotkov17,
+ author = {Sotkov, Anton},
+ title = {File transclusion syntax for Markdown},
+ date = {2017-01-19},
+ url = {https://github.com/iainc/Markdown-Content-Blocks},
+ urldate = {2018-01-08}}
+@book{luatex17,
+ author = {{Lua\TeX{} development team}},
+ title = {Lua\TeX{} reference manual},
+ year = {2017},
+ month = {2},
+ url = {http://www.luatex.org/svn/trunk/manual/luatex.pdf},
+ urldate = {2018-01-08}}
+@book{latex17,
+ author = {Braams, Johannes and Carlisle, David and Jeffrey, Alan and
+ Lamport, Leslie and Mittelbach, Frank and Rowley, Chris and
+ Schöpf, Rainer},
+ title = {The \Hologo{LaTeX2e} Sources},
+ date = {2017-04-15},
+ url = {https://mirrors.ctan.org/macros/latex/base/source2e.pdf},
+ urldate = {2018-01-08}}
+@book{mittelbach17,
+ author = {Mittelbach, Frank},
+ title = {The \texttt{doc} and \texttt{shortvrb} Packages},
+ date = {2017-04-15},
+ url = {https://mirrors.ctan.org/macros/latex/base/doc.pdf},
+ urldate = {2018-02-19}}
+@book{poore17,
+ author = {Poore, Geoffrey M.},
+ title = {The \texttt{minted} Package},
+ subtitle = {Highlighted source code in \LaTeX},
+ date = {2017-07-19},
+ version = {v2.5},
+ url = {https://mirrors.ctan.org/macros/latex/contrib/minted/minted.pdf},
+ urldate = {2020-09-01}}
+@online{novotny15,
+ author = {Novotný, Vít},
+ year = {2015},
+ title = {TeXový interpret jazyka Markdown (markdown.sty)},
+ location = {Brno, Czech Republic},
+ publisher = {Masaryk University},
+ url = {https://www.muni.cz/en/research/projects/32984},
+ urldate = {2018-02-19}}
+@book{ierusalimschy13,
+ author = {Ierusalimschy, Roberto},
+ year = {2013},
+ title = {Programming in Lua},
+ edition = {3},
+ isbn = {978-85-903798-5-0},
+ pagetotal = {xviii, 347},
+ location = {Rio de Janeiro},
+ publisher = {PUC-Rio}}
+@book{knuth86,
+ author = {Knuth, Donald Ervin},
+ year = {1986},
+ title = {The \TeX{}book},
+ edition = {3},
+ isbn = {0-201-13447-0},
+ pagetotal = {ix, 479},
+ publisher = {Addison-Wesley}}
+@online{novotny21,
+ author = {Novotný, Vít},
+ title = {\Hologo{LaTeX2e} no longer keys packages by pathnames},
+ date = {2021-02-20},
+ url = {https://github.com/latex3/latex2e/issues/510},
+ urldate = {2021-02-21}}
+%</techdoc-bibliography>
+%<*latex-themes-witiko-markdown-techdoc>
+\ProvidesPackage{markdownthemewitiko_markdown_techdoc}[2021/09/10]
+\RequirePackage{etoolbox}
+\markdownSetup{
+ renderers = {
+ codeSpan = {\inline{#1}},
+ link = {#1\footnote{See \url{#3}.}},
+ headingFour = {%
+ \paragraph{#1}\leavevmode
+ \def\markdownRendererInterblockSeparator{%
+ \let\markdownRendererInterblockSeparator\par
+ }%
+ \noindent
+ },
+ jekyllDataEnd = {%
+ \AfterEndPreamble{%
+ \printtitlepage
+ \tableofcontents
+ {\def\addcontentsline##1##2##3{}\listoffigures}%
+ }%
+ },
+ },
+}
+\markdownSetupSnippet{options}{
+ renderers = {
+ dlBegin = {\begin{optionlist}},
+ dlItem = {
+ #1
+ \begingroup
+ \markdownSetup{
+ renderers = {
+ dlBegin = {
+ \begingroup
+ \markdownSetup{
+ renderers = {
+ dlItem = {\item[####1]},
+ dlItemEnd = {}}}
+ \begin{valuelist}
+ },
+ dlEnd = {
+ \end{valuelist}
+ \endgroup
+ },
+ },
+ }%
+ },
+ dlItemEnd = {\endgroup},
+ dlEnd = {\end{optionlist}},
+ }
+}
+\RequirePackage{expl3}
+\ExplSyntaxOn
+\keys_define:nn
+ { markdown/jekyllData }
+ {
+ author .code:n =
+ {
+ \gdef\ltd@title@author { #1 }
+ \hypersetup{ pdfauthor = { #1 } }
+ },
+ title .code:n =
+ {
+ \gdef\ltd@title@title { #1 }
+ \gdef\ltd@title@subtitle { }
+ \hypersetup{ pdftitle = { #1 } }
+ },
+ date .code:n = { \gdef\ltd@title@date { #1 } },
+ email .code:n = { \gdef\ltd@title@email { #1 } },
+ revision .code:n = { \gdef\ltd@title@revision { #1 } },
+ url .code:n = { \gdef\ltd@title@url { #1 } },
+ }
+\ExplSyntaxOff
+%</latex-themes-witiko-markdown-techdoc>
%<*manual>
---
title: Markdown Package User Manual
author: Vít Novotný
-date: v\markdownVersion{} (\markdownLastModified{})
+date: \markdownVersion{} (\markdownLastModified{})
---
% \fi
@@ -564,7 +830,7 @@ functionality is provided both as a Lua module and as plain \TeX{}, \LaTeX{}, an
containing markdown markup. Unlike other convertors, the Markdown package
does not require any external programs, and makes it easy to redefine how each
and every markdown element is rendered. Creative abuse of the markdown
-syntax is encouraged. ;-)
+syntax is encouraged. 😉
[markdown]: https://daringfireball.net/projects/markdown/basics
(Daring Fireball: Markdown Basics)
@@ -573,8 +839,8 @@ syntax is encouraged. ;-)
% This document is a technical documentation for the \pkg{Markdown} package. It
% consists of three sections. This section introduces the package and outlines
-% its prerequisites. Section \ref{sec:interfaces} describes the interfaces
-% exposed by the package. Section \ref{sec:implementation} describes the
+% its prerequisites. Section \vref{sec:interfaces} describes the interfaces
+% exposed by the package. Section \vref{sec:implementation} describes the
% implementation of the package. The technical documentation contains only a
% limited number of tutorials and code examples. You can find more of these in
% the [user manual.][manual]
@@ -597,12 +863,12 @@ documentation][techdoc].
% \fi
% \begin{macrocode}
local metadata = {
- version = "2.10.1",
+ version = "$(VERSION)",
comment = "A module for the conversion from markdown to plain TeX",
author = "John MacFarlane, Hans Hagen, Vít Novotný",
copyright = {"2009-2016 John MacFarlane, Hans Hagen",
"2016-2021 Vít Novotný"},
- license = "LPPL 1.3"
+ license = "LPPL 1.3c"
}
% \end{macrocode}
@@ -614,33 +880,6 @@ local metadata = {
if not modules then modules = { } end
modules['markdown'] = metadata
% \end{macrocode}
-% \par
-% \begin{markdown}
-%
-% Feedback
-%---------
-% Please use the \pkg{Markdown} project page on
-% [GitHub](https://github.com/witiko/markdown/issues) to report bugs and submit
-% feature requests. If you do not want to report a bug or request a feature but
-% are simply in need of assistance, you might want to consider posting your
-% question on the [\TeX-\LaTeX{} Stack Exchange.](https://tex.stackexchange.com)
-%
-% Acknowledgements
-%-----------------
-% The Lunamark Lua module provides speedy markdown parsing for the package. I
-% would like to thank John Macfarlane, the creator of Lunamark, for releasing
-% Lunamark under a permissive license.
-%
-% Funding by the the Faculty of Informatics at the Masaryk~University
-% in~Brno~[@novotny15] is gratefully acknowledged.
-%
-% The \TeX{} implementation of the package draws inspiration from several
-% sources including the source code of \Hologo{LaTeX2e}, the \pkg{minted}
-% package by Geoffrey M. Poore, which likewise tackles the issue of
-% interfacing with an external interpreter from \TeX{}, the \pkg{filecontents}
-% package by Scott Pakin and others.
-%
-% \end{markdown}
% \iffalse
%</lua>
%<*manual>
@@ -648,36 +887,38 @@ modules['markdown'] = metadata
Requirements
------------
-The package requires a working \TeX{} distribution. [\TeX{} Live][tl] ≥ 2013 is
-known to work and so are recent installation of [Mik\TeX{}][mik]. If you are
-using a minimal installation of a \TeX{} distribution, please consult the
-[technical documentation][techdoc] for a detailed list of required packages.
+The package requires either [our official Docker image][docker], which contains
+the latest development version of the Markdown package, or a \TeX{}
+distribution: [\TeX{} Live][tl] ≥ 2018 is known to work with the current
+version of the Markdown package and so are recent versions of [Mik\TeX{}][mik].
+If you are using an older, incomplete, or atypical \TeX{} distribution, please
+consult the [technical documentation][techdoc] for a detailed list of
+requirements.
+ [docker]: https://hub.docker.com/r/witiko/markdown/tags (witiko/markdown - Docker Image)
[tl]: https://www.tug.org/texlive/ (TeX Live - TeX Users Group)
[mik]: https://miktex.org/ (Home - MiKTeXorg)
Installation
------------
-The package comes pre-installed with [\TeX{} Live][tl] ≥ 2016 and with recent
-installations of [MikTeX][mik]. Unless you explicitly wish to use the latest
-version of the package, you are encouraged to skip this step.
+If Markdown is not included in your \TeX{} distribution, you will need to
+install it.
-To install the package, first download the package from the repository
-using Git:
+First, download the package from the repository using Git:
``` sh
git clone https://github.com/witiko/markdown
``````
-Next, enter the directory named `markdown` and interpret the file named
-`markdown.ins` file using a Unicode-aware \TeX{} engine, such as XeTeX or
-LuaTeX:
+Next, enter the directory named `markdown` and run the `make base` command using
+GNU Make:
``` sh
cd markdown
-luatex markdown.ins
+make base
``````
This should produce the following files:
* `markdown.lua`, the Lua module,
+ * `libraries/markdown-tinyyaml.lua`, an external library for reading \acro{yaml},
* `markdown-cli.lua`, the Lua command-line interface,
* `markdown.tex`, the plain \TeX{} macro package,
* `markdown.sty`, the \LaTeX{} package,
@@ -692,16 +933,17 @@ To perform a local installation, place the above files into your \TeX{}
directory structure. This is generally where the individual files should be
placed:
- * `<TEXMF>/tex/luatex/markdown/markdown.lua`
- * `<TEXMF>/scripts/markdown/markdown-cli.lua`
- * `<TEXMF>/tex/generic/markdown/markdown.tex`
- * `<TEXMF>/tex/latex/markdown/markdown.sty`
- * `<TEXMF>/tex/latex/markdown/markdownthemewitiko_dot.sty`
- * `<TEXMF>/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty`
- * `<TEXMF>/tex/latex/markdown/markdownthemewitiko_tilde.sty`
- * `<TEXMF>/tex/context/third/markdown/t-markdown.tex`
-
-where `<TEXMF>` corresponds to a root of your \TeX{} distribution, such as
+ * `⟨TEXMF⟩/tex/luatex/markdown/markdown.lua`
+ * `⟨TEXMF⟩/tex/luatex/markdown/markdown-tinyyaml.lua`
+ * `⟨TEXMF⟩/scripts/markdown/markdown-cli.lua`
+ * `⟨TEXMF⟩/tex/generic/markdown/markdown.tex`
+ * `⟨TEXMF⟩/tex/latex/markdown/markdown.sty`
+ * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_dot.sty`
+ * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty`
+ * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_tilde.sty`
+ * `⟨TEXMF⟩/tex/context/third/markdown/t-markdown.tex`
+
+where `⟨TEXMF⟩` corresponds to a root of your \TeX{} distribution, such as
`/usr/share/texmf` and `~/texmf` on UN\*X systems or
`C:\Users\`\meta{Your username}`\texmf` on Windows systems. When in doubt,
consult the manual of your \TeX{} distribution.
@@ -788,7 +1030,14 @@ local md5 = require("md5")
% \begin{markdown}
%
% All the abovelisted modules are statically linked into the current version of
-% the Lua\TeX{} engine~[@luatex17, Section 3.3].
+% the Lua\TeX{} engine~[@luatex17, Section 3.3]. Beside these, we also carry
+% the following third-party Lua libraries:
+%
+% \pkg{api7/lua-tinyyaml}
+%
+%: A library that provides a regex-based recursive descent \acro{yaml}
+% (subset) parser that is used to read \acro{yaml} metadata when the
+% \Opt{jekyllData} option is enabled.
%
% \end{markdown}
% \iffalse
@@ -802,17 +1051,17 @@ local md5 = require("md5")
% \label{sec:texprerequisites}
% The plain \TeX{} part of the package requires that the plain \TeX{}
% format (or its superset) is loaded, all the Lua prerequisites (see
-% Section \ref{sec:luaprerequisites}), and the following Lua module:
+% Section \vref{sec:luaprerequisites}), and the following Lua module:
%
% \pkg{Lua File System}
%
%: A library that provides access to the filesystem via \acro{os}-specific
% syscalls. It is used by the plain \TeX{} code to create the cache
-% directory specified by the \m{markdownOptionCacheDir} macro before
+% directory specified by the \mref{markdownOptionCacheDir} macro before
% interfacing with the \pkg{Lunamark} library. \pkg{Lua File System} is
% included in all releases of Lua\TeX{} (\TeX Live${}\geq{}2008$).
%
-% The plain \TeX{} code makes use of the \luam{isdir} method that was added
+% The plain \TeX{} code makes use of the \luamref{isdir} method that was added
% to the \pkg{Lua File System} library by the Lua\TeX{} engine
% developers~[@luatex17, Section 3.2].
%
@@ -820,12 +1069,12 @@ local md5 = require("md5")
% engine~[@luatex17, Section~3.3].
%
% Unless you convert markdown documents to \TeX{} manually using the Lua
-% command-line interface (see Section~\ref{sec:lua-cli-interface}), the plain
+% command-line interface (see Section \vref{sec:lua-cli-interface}), the plain
% \TeX{} part of the package will require that either the Lua\TeX{}
-% \m{directlua} primitive or the shell access file stream 18 is available in
+% \mref{directlua} primitive or the shell access file stream 18 is available in
% your \TeX{} engine. If only the shell access file stream is available in your
% \TeX{} engine (as is the case with \hologo{pdfTeX} and \Hologo{XeTeX}) or if
-% you enforce the use of shell using the \m{markdownMode} macro, then unless
+% you enforce the use of shell using the \mref{markdownMode} macro, then unless
% your \TeX{} engine is globally configured to enable shell access, you will
% need to provide the `-shell-escape` parameter to your engine when typesetting
% a document.
@@ -854,14 +1103,14 @@ local md5 = require("md5")
% \fi
% \begin{markdown}
% a \TeX{} engine that extends \Hologo{eTeX}, all the plain \TeX{}
-% prerequisites (see Section \ref{sec:texprerequisites}), and the following
+% prerequisites (see Section \vref{sec:texprerequisites}), and the following
% \Hologo{LaTeX2e} packages:
%
% \pkg{keyval}
%
%: A package that enables the creation of parameter sets. This package is
-% used to provide the \m{markdownSetup} macro, the package options
-% processing, as well as the parameters of the \envm{markdown*} \LaTeX{}
+% used to provide the \mref{markdownSetup} macro, the package options
+% processing, as well as the parameters of the \envmref{markdown*} \LaTeX{}
% environment.
%
% \end{markdown}
@@ -882,56 +1131,85 @@ local md5 = require("md5")
% \par
% \begin{markdown}
%
-% The following packages are soft prerequisites and will not be loaded
-% if the `plain` package option has been enabled (see Section
-% \ref{sec:latexplain}):
+% The following packages are soft prerequisites. They are only used to provide
+% default token renderer prototypes (see sections
+% \vref{sec:texrendererprototypes} and
+% \vref{sec:latexdefaultrendererprototypes}) or \LaTeX{} themes (see Section
+% \vref{sec:latexthemes}) and will not be loaded if the `plain` package option
+% has been enabled (see Section \vref{sec:latexplain}):
%
% \pkg{url}
%
-%: A package that provides the \m{url} macro for the typesetting of
-% \acro{url}s. It is used to provide the default token renderer
-% prototype (see Section \ref{sec:texrendererprototypes}) for links.
+%: A package that provides the \mref{url} macro for the typesetting of
+% links.
%
% \pkg{graphicx}
%
-%: A package that provides the \m{includegraphics} macro for the typesetting
-% of images. It is used to provide the corresponding default token renderer
-% prototype (see Section \ref{sec:texrendererprototypes}).
+%: A package that provides the \mref{includegraphics} macro for the typesetting
+% of images.
%
% \pkg{paralist}
%
-%: A package that provides the \envm{compactitem}, \envm{compactenum}, and
-% \envm{compactdesc} macros for the typesetting of tight bulleted lists,
-% ordered lists, and definition lists. It is used to provide the
-% corresponding default token renderer prototypes (see Section
-% \ref{sec:texrendererprototypes}).
+%: A package that provides the \envmref{compactitem}, \envmref{compactenum}, and
+% \envmref{compactdesc} macros for the typesetting of tight bulleted lists,
+% ordered lists, and definition lists.
%
% \pkg{ifthen}
%
%: A package that provides a concise syntax for the inspection of macro
% values. It is used to determine whether or not the \pkg{paralist} package
% should be loaded based on the user options, in the `witiko/dot` \LaTeX{}
-% theme (see Section \ref{sec:latexthemes}), and to provide default token
-% renderer prototypes (see Section \ref{sec:texrendererprototypes}).
+% theme (see Section \vref{sec:latexthemes}), and to provide default token
+% renderer prototypes.
%
% \pkg{fancyvrb}
%
-%: A package that provides the \m{VerbatimInput} macros for the verbatim
-% inclusion of files containing code. It is used to provide the
-% corresponding default token renderer prototype (see Section
-% \ref{sec:texrendererprototypes}).
+%: A package that provides the \mref{VerbatimInput} macros for the verbatim
+% inclusion of files containing code.
%
% \pkg{csvsimple}
%
-%: A package that provides the default token renderer prototype for
-% iA\,Writer content blocks with the \acro{csv} filename extension (see
-% Section \ref{sec:texrendererprototypes}).
+%: A package that provides the \mref{csvautotabular} macro for typesetting
+% \acro{csv} files in the default renderer prototypes for iA\,Writer
+% content blocks.
%
% \pkg{gobble}
%
-%: A package that provides the \m{\@gobblethree} \TeX{} command that
-% is used in the default renderer prototype for citations (see
-% Section \ref{sec:texrendererprototypes}).
+%: A package that provides the \mref{\@gobblethree} \TeX{} command that
+% is used in the default renderer prototype for citations. The package
+% is included in \TeX Live${}\geq{}2016$.
+%
+% \pkg{amsmath} and \pkg{amssymb}
+%
+%: Packages that provide symbols used for drawing ticked and unticked
+% boxes.
+%
+% \pkg{catchfile}
+%
+%: A package that catches the contents of a file and puts it in a macro. It
+% is used in the `witiko/graphicx/http` \LaTeX{} theme, see Section
+% \vref{sec:latexthemes}.
+%
+% \pkg{grffile}
+%
+%: A package that extends the name processing of package graphics to support
+% a larger range of file names in $2006\leq{}$\TeX{} Live${}\leq{}2019$.
+% Since \TeX{} Live${}\geq{}2020$, the functionality of the package has
+% been integrated in the \LaTeXe{} kernel. It is used in the `witiko/dot`
+% and `witiko/graphicx/http` \LaTeX{} themes, see Section
+% \vref{sec:latexthemes}.
+%
+% \pkg{etoolbox}
+%
+%: A package that is used to polyfill the general hook management system in
+% the default renderer prototypes for \acro{yaml} metadata, see Section
+% \ref{sec:latexyamlmetadata}.
+%
+% \pkg{expl3}
+%
+%: A package that enables the expl3 language from the \LaTeX3 kernel in
+% \TeX{} Live${}\leq{}2019$. It is used in the default renderer prototypes
+% for \acro{yaml} metadata, see Section \ref{sec:latexyamlmetadata}.
%
% \end{markdown}
% \iffalse
@@ -944,14 +1222,46 @@ local md5 = require("md5")
%### \Hologo{ConTeXt} Prerequisites
% The \Hologo{ConTeXt} part of the package requires that either the Mark II or
% the Mark IV format is loaded, all the plain \TeX{} prerequisites (see
-% Section \ref{sec:texprerequisites}), and the following \Hologo{ConTeXt}
+% Section \vref{sec:texprerequisites}), and the following \Hologo{ConTeXt}
% modules:
%
% \pkg{m-database}
%
%: A module that provides the default token renderer prototype for
% iA\,Writer content blocks with the \acro{csv} filename extension (see
-% Section \ref{sec:texrendererprototypes}).
+% Section \vref{sec:texrendererprototypes}).
+%
+% Feedback
+%---------
+% Please use the \pkg{Markdown} project page on
+% [GitHub](https://github.com/witiko/markdown/issues) to report bugs and submit
+% feature requests. If you do not want to report a bug or request a feature but
+% are simply in need of assistance, you might want to consider posting your
+% question to the [\TeX-\LaTeX{} Stack Exchange.](https://tex.stackexchange.com)
+% community question answering web site under the `markdown` tag.
+%
+% Acknowledgements
+%-----------------
+% The Lunamark Lua module provides speedy markdown parsing for the package. I
+% would like to thank John Macfarlane, the creator of Lunamark, for releasing
+% Lunamark under a permissive license, which enabled its use in the Markdown
+% package.
+%
+% Extensive user documentation for the Markdown package was kindly written by
+% Lian Tze Lim and published by Overleaf.
+%
+% Funding by the the Faculty of Informatics at the Masaryk~University
+% in~Brno~[@novotny15] is gratefully acknowledged.
+%
+% Support for content slicing (Lua options \Opt{shiftHeadings} and \Opt{slice})
+% and pipe tables (Lua options \Opt{pipeTables} and \Opt{tableCaptions}) was
+% graciously sponsored by David Vins and Omedym.
+%
+% The \TeX{} implementation of the package draws inspiration from several
+% sources including the source code of \Hologo{LaTeX2e}, the \pkg{minted}
+% package by Geoffrey M. Poore, which likewise tackles the issue of
+% interfacing with an external interpreter from \TeX{}, the \pkg{filecontents}
+% package by Scott Pakin and others.
%
% Interfaces
%===========
@@ -960,12 +1270,25 @@ local md5 = require("md5")
% along with usage notes and examples. It is aimed at the user of the package.
%
% Since neither \TeX{} nor Lua provide interfaces as a language construct, the
-% separation to interfaces and implementations is purely abstract. It serves as
-% a means of structuring this documentation and as a promise to the user that
-% if they only access the package through the interface, the future minor
-% versions of the package should remain backwards compatible.
-%
-% \end{markdown}
+% separation to interfaces and implementations is a *gentlemen's agreement*. It
+% serves as a means of structuring this documentation and as a promise to the
+% user that if they only access the package through the interface, the future
+% minor versions of the package should remain backwards compatible.
+%
+% Figure \vref{fig:block-diagram} shows the high-level structure of the Markdown
+% package: The translation from markdown to \TeX{} *token renderers* is exposed
+% by the Lua layer. The plain \TeX{} layer exposes the conversion capabilities
+% of Lua as \TeX{} macros. The \LaTeX{} and \Hologo{ConTeXt} layers provide
+% syntactic sugar on top of plain \TeX{} macros. The user can interface with
+% any and all layers.
+%
+% \end{markdown}
+% \begin{figure}
+% \centering
+% \input markdown-figure-block-diagram
+% \caption{A block diagram of the \pkg{Markdown} package}
+% \label{fig:block-diagram}
+% \end{figure}
% \iffalse
%</context>
%<*manual>
@@ -977,6 +1300,15 @@ In this section, we will take the necessary steps to typeset our first markdown
document in \TeX{}. This will serve as our first hands-on experience with the
package and also as a reassurance that the package has been correctly installed.
+If you are using [our official Docker image][docker], you need to prefix all
+commands in this section with `docker run --rm -v "$PWD"/workdir:/workdir -w
+/workdir witiko/markdown`. For example, instead of `luatex document.tex`, you
+would execute the following command:
+``` sh
+docker run --rm -v "$PWD"/workdir:/workdir -w /workdir witiko/markdown \
+ luatex document.tex
+``````
+
### Using Lua
Using a text editor, create a text document named `document.tex` with the
@@ -1145,7 +1477,7 @@ In this section, I will describe the individual parts of the Markdown package.
Each part will be shown by example, leaving the implementation details to the
[technical documentation][techdoc].
- [techdoc]: http://mirrors.ctan.org/macros/generic/markdown/markdown.pdf
+ [techdoc]: https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf
(A Markdown Interpreter for \TeX{})
/markdown-interfaces.md
@@ -1191,7 +1523,7 @@ module and a command-line interface (CLI).
%
% The Lua interface provides the conversion from \acro{utf}-\oldstylenums8
% encoded markdown to plain \TeX{}. This interface is used by the plain \TeX{}
-% implementation (see Section \ref{sec:teximplementation}) and will be of
+% implementation (see Section \vref{sec:teximplementation}) and will be of
% interest to the developers of other packages and Lua modules.
%
% The Lua interface is implemented by the `markdown` Lua module.
@@ -1208,7 +1540,7 @@ local M = {metadata = metadata}
% The Lua interface exposes the \luamdef{new}`(options)` method. This
% method creates converter functions that perform the conversion from markdown
% to plain \TeX{} according to the table `options` that contains options
-% recognized by the Lua interface. (see Section \ref{sec:luaoptions}). The
+% recognized by the Lua interface. (see Section \vref{sec:luaoptions}). The
% `options` parameter is optional; when unspecified, the behaviour will be
% the same as if `options` were an empty table.
%
@@ -1402,26 +1734,7 @@ package.
local defaultOptions = {}
% \end{macrocode}
% \begingroup
-% \markdownSetup{
-% renderers = {
-% dlBegin = {\begin{optionlist}},
-% dlItem = {
-% #1
-% \begingroup
-% \markdownSetup{
-% renderers = {
-% dlBegin = {
-% \begingroup
-% \markdownSetup{
-% renderers = {
-% dlItem = {\item[####1]},
-% dlItemEnd = {}}}
-% \begin{valuelist}},
-% dlEnd = {
-% \end{valuelist}
-% \endgroup}}}},
-% dlItemEnd = {\endgroup},
-% dlEnd = {\end{optionlist}}}}
+% \markdownSetup{snippet=witiko/markdown/techdoc/options}
% \par
% \iffalse
%</lua,lua-cli>
@@ -1608,7 +1921,7 @@ defaultOptions.cacheDir = "."
The frozen cache makes it possible to later typeset a plain \TeX{}
document that contains markdown documents without invoking Lua using
- the \m{markdownOptionFrozenCache} plain \TeX{} option. As a result, the
+ the \mref{markdownOptionFrozenCache} plain \TeX{} option. As a result, the
plain \TeX{} document becomes more portable, but further changes in the
order and the content of markdown documents will not be reflected.
@@ -3257,7 +3570,7 @@ defaultOptions.contentBlocks = false
%
: The filename of the JSON file that maps filename extensions to
programming language names in the iA\,Writer content blocks.
-% See Section~\ref{sec:texcontentblockrenderers} for more information.
+% See Section \vref{sec:texcontentblockrenderers} for more information.
% \end{markdown}
% \iffalse
@@ -3698,7 +4011,7 @@ defaultOptions.fencedCode = false
The frozen cache makes it possible to later typeset a plain \TeX{}
document that contains markdown documents without invoking Lua using
- the \m{markdownOptionFrozenCache} plain \TeX{} option. As a result, the
+ the \mref{markdownOptionFrozenCache} plain \TeX{} option. As a result, the
plain \TeX{} document becomes more portable, but further changes in the
order and the content of markdown documents will not be reflected.
@@ -4471,7 +4784,7 @@ defaultOptions.html = false
#### Option `hybrid`
-`hybrid` (default value: `true`)
+`hybrid` (default value: `false`)
% \fi
% \begin{markdown}
@@ -4759,6 +5072,146 @@ defaultOptions.inlineFootnotes = false
%</lua,lua-cli>
%<*manual-options>
+#### Option `jekyllData`
+
+`jekyllData` (default value: `false`)
+
+% \fi
+% \begin{markdown}
+%
+% \Optitem[false]{jekyllData}{\opt{true}, \opt{false}}
+%
+: true
+
+ : Enable the Pandoc `yaml_metadata_block` syntax extension for entering
+ metadata in \acro{yaml}:
+
+ ~~~~~~ yaml
+ ---
+ title: 'This is the title: it contains a colon'
+ author:
+ - Author One
+ - Author Two
+ keywords: [nothing, nothingness]
+ abstract: |
+ This is the abstract.
+
+ It consists of two paragraphs.
+ ---
+ ~~~~~~~~~~~
+
+: false
+
+ : Disable the Pandoc `yaml_metadata_block` syntax extension for entering
+ metadata in \acro{yaml}.
+
+% \end{markdown}
+% \iffalse
+
+##### Plain \TeX{} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\input markdown
+\def\markdownOptionJekyllData{true}
+\def\markdownRendererJekyllDataString#1#2{\gdef\name{#2}}
+\def\markdownRendererJekyllDataNumber#1#2{\gdef\age{#2}}
+\def\markdownRendererJekyllDataEnd{%
+ \name{} is \age{} years old.}
+\markdownBegin
+---
+name: Jane Doe
+age: 99
+---
+\markdownEnd
+\bye
+```````
+Next, invoke LuaTeX from the terminal:
+``` sh
+luatex document.tex
+``````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> Jane Doe is 99 years old.
+
+##### \LaTeX{} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\documentclass{article}
+\usepackage[jekyllData]{markdown}
+\markdownSetup{
+ renderers = {
+ jekyllDataString = {\gdef\name{#2}},
+ jekyllDataNumber = {\gdef\age{#2}},
+ jekyllDataEnd = {\name{} is \age{} years old.},
+ }
+}
+\begin{document}
+
+\begin{markdown}
+---
+name: Jane Doe
+age: 99
+---
+\end{markdown}
+
+\end{document}
+```````
+Next, invoke LuaTeX from the terminal:
+``` sh
+lualatex document.tex
+``````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> Jane Doe is 99 years old.
+
+##### \Hologo{ConTeXt} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\usemodule[t][markdown]
+\def\markdownOptionJekyllData{true}
+\def\markdownRendererJekyllDataString#1#2{\gdef\name{#2}}
+\def\markdownRendererJekyllDataNumber#1#2{\gdef\age{#2}}
+\def\markdownRendererJekyllDataEnd{%
+ \name{} is \age{} years old.}
+\starttext
+
+\startmarkdown
+---
+name: Jane Doe
+age: 99
+---
+\stopmarkdown
+
+\stoptext
+```````
+Next, invoke LuaTeX from the terminal:
+``` sh
+context document.tex
+``````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> Jane Doe is 99 years old.
+
+%</manual-options>
+%<*lua,lua-cli>
+% \fi
+% \begin{macrocode}
+defaultOptions.jekyllData = false
+% \end{macrocode}
+% \par
+% \iffalse
+%</lua,lua-cli>
+%<*manual-options>
+
#### Option `pipeTables` {#pipe-tables}
`pipeTables` (default value: `false`)
@@ -5244,7 +5697,7 @@ defaultOptions.slice = "^ $"
: true
: Convert any ellipses in the input to the
- \m{markdownRendererEllipsis} \TeX{} macro.
+ \mref{markdownRendererEllipsis} \TeX{} macro.
: false
@@ -5442,12 +5895,12 @@ defaultOptions.smartEllipses = false
: Make the number in the first item of an ordered lists significant. The
item numbers will be passed to the
- \m{markdownRendererOlItemWithNumber} \TeX{} macro.
+ \mref{markdownRendererOlItemWithNumber} \TeX{} macro.
: false
: Ignore the numbers in the ordered list items. Each item will only
- produce a \m{markdownRendererOlItem} \TeX{} macro.
+ produce a \mref{markdownRendererOlItem} \TeX{} macro.
% \end{markdown}
% \iffalse
@@ -5687,7 +6140,7 @@ defaultOptions.stripIndent = false
: false
- : Enable the Pandoc `table_captions` syntax extension.
+ : Disable the Pandoc `table_captions` syntax extension.
% \end{markdown}
% \iffalse
@@ -5772,6 +6225,106 @@ defaultOptions.tableCaptions = false
%</lua,lua-cli>
%<*manual-options>
+#### Option `taskLists`
+
+`taskLists` (default value: `false`)
+
+% \fi
+% \begin{markdown}
+%
+% \Optitem[false]{taskLists}{\opt{true}, \opt{false}}
+%
+: true
+
+ : Enable the Pandoc `task_lists` syntax extension.
+
+
+ ``` md
+ - [ ] an unticked task list item
+ - [/] a half-checked task list item
+ - [X] a ticked task list item
+ ``````
+
+: false
+
+ : Disable the Pandoc `task_lists` syntax extension.
+
+% \end{markdown}
+% \iffalse
+
+##### \LaTeX{} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\documentclass{article}
+\usepackage[taskLists]{markdown}
+\markdownSetup{
+ renderers = {
+ untickedBox = No,
+ halfTickedBox = Maybe,
+ tickedBox = Yes,
+ },
+}
+\begin{document}
+\begin{markdown}
+- [ ] you can't.
+- [/] I can?
+- [X] I can!
+\end{markdown}
+\end{document}
+```````
+Next, invoke LuaTeX from the terminal:
+``` sh
+lualatex document.tex
+``````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> - No you can't.
+> - Maybe I can?
+> - Yes I can!
+
+##### \Hologo{ConTeXt} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\usemodule[t][markdown]
+\def\markdownOptionTaskLists{true}
+\def\markdownRendererUntickedBox{No}
+\def\markdownRendererHalftickedBox{Maybe}
+\def\markdownRendererTickedBox{Yes}
+\starttext
+\startmarkdown
+- [ ] you can't.
+- [/] I can?
+- [X] I can!
+\stopmarkdown
+\stoptext
+````````
+Next, invoke LuaTeX from the terminal:
+``` sh
+context document.tex
+`````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> - No you can't.
+> - Maybe I can?
+> - Yes I can!
+
+%</manual-options>
+%<*lua,lua-cli>
+% \fi
+% \begin{macrocode}
+defaultOptions.taskLists = false
+% \end{macrocode}
+% \par
+% \iffalse
+%</lua,lua-cli>
+%<*manual-options>
+
#### Option `texComments`
`texComments` (default value: `false`)
@@ -5892,10 +6445,10 @@ defaultOptions.texComments = false
: Lists whose bullets do not consist of multiple paragraphs will be
passed to the
- \m{markdownRendererOlBeginTight}, \m{markdownRendererOlEndTight},
- \m{markdownRendererUlBeginTight}, \m{markdownRendererUlEndTight},
- \m{markdownRendererDlBeginTight}, and
- \m{markdownRendererDlEndTight} \TeX{} macros.
+ \mref{markdownRendererOlBeginTight}, \mref{markdownRendererOlEndTight},
+ \mref{markdownRendererUlBeginTight}, \mref{markdownRendererUlEndTight},
+ \mref{markdownRendererDlBeginTight}, and
+ \mref{markdownRendererDlEndTight} \TeX{} macros.
: false
@@ -6117,11 +6670,61 @@ defaultOptions.underscores = true
%
%### Command-Line Interface
% \label{sec:lua-cli-interface}
-% To provide finer control over the conversion and to simplify debugging, a
-% command-line Lua interface for converting a Markdown document to \TeX{} is
-% also provided.
-%
-% \end{markdown}
+% The high-level operation of the Markdown package involves the communication
+% between several programming layers: the plain \TeX{} layer hands markdown
+% documents to the Lua layer. Lua converts the documents to \TeX{}, and hands
+% the converted documents back to plain \TeX{} layer for typesetting, see
+% Figure \vref{fig:sequence-diagram-tex-interface}.
+%
+% This procedure has the advantage of being fully automated. However, it also
+% has several important disadvantages: The converted \TeX{} documents are
+% cached on the file system, taking up increasing amount of space. Unless the
+% \TeX{} engine includes a Lua interpreter, the package also requires shell
+% access, which opens the door for a malicious actor to access the system.
+% Last, but not least, the complexity of the procedure impedes debugging.
+%
+% A solution to the above problems is to decouple the conversion from the
+% typesetting. For this reason, a command-line Lua interface for converting a
+% markdown document to \TeX{} is also provided, see
+% Figure \vref{fig:sequence-diagram-lua-cli}.
+%
+% \end{markdown}
+% \begin{figure}
+% \centering
+% \begin{sequencediagram}
+% \newthread{user}{User}{}
+% \newinst[4]{tex}{\TeX{}}{}
+% \newinst[4]{lua}{Lua}{}
+% \begin{call}{user}{\footnotesize\cs{jobname.tex}}{tex}{\footnotesize\cs{jobname.pdf}}
+% \begin{call}{tex}{\footnotesize\cs{jobname.markdown.in}}{lua}{\footnotesize\cs{jobname.markdown.out}}
+% \end{call}
+% \begin{call}{tex}{\footnotesize\cs{input}\cs{jobname.markdown.out}}{tex}{}
+% \end{call}
+% \end{call}
+% \end{sequencediagram}
+% \caption[A sequence diagram of typesetting a document using the \TeX{}
+% interface]{A sequence diagram of the Markdown package typesetting a
+% markdown document using the \TeX{} interface}
+% \label{fig:sequence-diagram-tex-interface}
+% \end{figure}
+% \begin{figure}
+% \centering
+% \begin{sequencediagram}
+% \newthread{user}{User}{}
+% \newinst[4]{tex}{\TeX{}}{}
+% \newinst[4]{lua}{Lua}{}
+% \begin{call}{user}{\footnotesize$\langle$\textit{document}$\rangle$\texttt{.md}}{lua}{\footnotesize$\langle$\textit{document}$\rangle$\texttt{.tex}}
+% \end{call}
+% \begin{call}{user}{\footnotesize\cs{jobname.tex}}{tex}{\footnotesize\cs{jobname.pdf}}
+% \begin{call}{tex}{\footnotesize\cs{input} $\langle$\textit{document}$\rangle$}{tex}{}
+% \end{call}
+% \end{call}
+% \end{sequencediagram}
+% \caption[A sequence diagram of typesetting a document using the Lua CLI]%
+% {A sequence diagram of the Markdown package typesetting a markdown document
+% using the Lua command-line interface}
+% \label{fig:sequence-diagram-lua-cli}
+% \end{figure}
% \begin{macrocode}
HELP_STRING = [[
@@ -6173,14 +6776,14 @@ for i = 1, #arg do
% Unless the `-`{}`-` argument has been specified before, an argument
% containing the equals sign (`=`) is assumed to be an option specification in
% a \meta{key}`=`\meta{value} format. The available options are listed in
-% Section~\ref{sec:luaoptions}.
+% Section \vref{sec:luaoptions}.
% \end{markdown}
% \begin{macrocode}
elseif arg[i]:match("=") then
key, value = arg[i]:match("(.-)=(.*)")
% \end{macrocode}
% \begin{markdown}
-% The \luam{defaultOptions} table is consulted to identify whether \meta{value}
+% The \luamref{defaultOptions} table is consulted to identify whether \meta{value}
% should be parsed as a string or as a boolean.
% \end{markdown}
% \begin{macrocode}
@@ -6264,10 +6867,6 @@ end
% \input hello
% ```````
%
-% This shows another advantage of using the command-line interface compared to
-% using a higher-level \TeX{} interface: it is unnecessary to provide shell
-% access for the \TeX{} engine.
-%
% \end{markdown}
% \iffalse
%</lua-cli>
@@ -6335,13 +6934,13 @@ pdftex --shell-escape document.tex
%
% The plain \TeX{} interface provides macros for the typesetting of markdown
% input from within plain \TeX{}, for setting the Lua interface options (see
-% Section \ref{sec:luaoptions}) used during the conversion from markdown to
+% Section \vref{sec:luaoptions}) used during the conversion from markdown to
% plain \TeX{} and for changing the way markdown the tokens are rendered.
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownLastModified{2021/08/31}%
-\def\markdownVersion{2.10.1}%
+\def\markdownLastModified{$(LAST_MODIFIED)}%
+\def\markdownVersion{$(VERSION)}%
% \end{macrocode}
% \par
% \begin{markdown}
@@ -6352,15 +6951,15 @@ pdftex --shell-escape document.tex
% \input markdown
% ```````
% \noindent It is expected that the special plain \TeX{} characters have the
-% expected category codes, when \m{input}ting the file.
+% expected category codes, when \mref{input}ting the file.
%
%### Typesetting Markdown
% \label{sec:textypesetting}
% The interface exposes the \mdef{markdownBegin}, \mdef{markdownEnd}, and
% \mdef{markdownInput} macros.
%
-% The \m{markdownBegin} macro marks the beginning of a markdown document
-% fragment and the \m{markdownEnd} macro marks its end.
+% The \mref{markdownBegin} macro marks the beginning of a markdown document
+% fragment and the \mref{markdownEnd} macro marks its end.
%
% \end{markdown}
% \begin{macrocode}
@@ -6370,24 +6969,24 @@ pdftex --shell-escape document.tex
% \par
% \begin{markdown}
%
-% You may prepend your own code to the \m{markdownBegin} macro and redefine the
-% \m{markdownEnd} macro to produce special effects before and after the
+% You may prepend your own code to the \mref{markdownBegin} macro and redefine the
+% \mref{markdownEnd} macro to produce special effects before and after the
% markdown block.
%
% There are several limitations to the macros you need to be aware of.
-% The first limitation concerns the \m{markdownEnd} macro, which must be
+% The first limitation concerns the \mref{markdownEnd} macro, which must be
% visible directly from the input line buffer (it may not be produced as a
% result of input expansion). Otherwise, it will not be recognized as the end
-% of the markdown string. As a corrolary, the \m{markdownEnd} string
+% of the markdown string. As a corrolary, the \mref{markdownEnd} string
% may not appear anywhere inside the markdown input.
%
% Another limitation concerns spaces at the right end of an input line. In
% markdown, these are used to produce a forced line break. However, any such
% spaces are removed before the lines enter the input buffer of
-% \TeX{}~[@knuth86, p. 46]. As a corrolary, the \m{markdownBegin} macro also
+% \TeX{}~[@knuth86, p. 46]. As a corrolary, the \mref{markdownBegin} macro also
% ignores them.
%
-% The \m{markdownBegin} and \m{markdownEnd} macros will also consume the rest
+% The \mref{markdownBegin} and \mref{markdownEnd} macros will also consume the rest
% of the lines at which they appear. In the following example plain \TeX{}
% code, the characters `c`, `e`, and `f` will not appear in the output.
%
@@ -6401,11 +7000,11 @@ pdftex --shell-escape document.tex
% \bye
% ```````
%
-% Note that you may also not nest the \m{markdownBegin} and \m{markdownEnd}
+% Note that you may also not nest the \mref{markdownBegin} and \mref{markdownEnd}
% macros.
%
% The following example plain \TeX{} code showcases the usage of the
-% \m{markdownBegin} and \m{markdownEnd} macros:
+% \mref{markdownBegin} and \mref{markdownEnd} macros:
%
% ``` tex
% \input markdown
@@ -6415,7 +7014,7 @@ pdftex --shell-escape document.tex
% \bye
% ```````
%
-% The \m{markdownInput} macro accepts a single parameter containing the
+% The \mref{markdownInput} macro accepts a single parameter containing the
% filename of a markdown document and expands to the result of the conversion
% of the input markdown document to plain \TeX{}.
%
@@ -6427,10 +7026,10 @@ pdftex --shell-escape document.tex
% \begin{markdown}
%
% This macro is not subject to the abovelisted limitations of the
-% \m{markdownBegin} and \m{markdownEnd} macros.
+% \mref{markdownBegin} and \mref{markdownEnd} macros.
%
% The following example plain \TeX{} code showcases the usage of the
-% \m{markdownInput} macro:
+% \mref{markdownInput} macro:
%
% ``` tex
% \input markdown
@@ -6443,7 +7042,7 @@ pdftex --shell-escape document.tex
%
% The plain \TeX{} options are represented by \TeX{} commands. Some of them map
% directly to the options recognized by the Lua interface (see
-% Section~\ref{sec:luaoptions}), while some of them are specific to the plain
+% Section \vref{sec:luaoptions}), while some of them are specific to the plain
% \TeX{} interface.
%
% \end{markdown}
@@ -6467,7 +7066,7 @@ interfaces.
%#### Finalizing and Freezing the Cache
% The \mdef{markdownOptionFinalizeCache} option corresponds to the Lua
% interface \Opt{finalizeCache} option, which creates an output file
-% \m{markdownOptionFrozenCacheFileName} (frozen cache) that contains a mapping
+% \mref{markdownOptionFrozenCacheFileName} (frozen cache) that contains a mapping
% between an enumeration of the markdown documents in the plain \TeX{} document
% and their auxiliary files cached in the \Opt{cacheDir} directory.
%
@@ -6486,7 +7085,7 @@ interfaces.
% \begin{markdown}
%
The \mdef{markdownOptionFrozenCache} option uses the mapping previously
-% created by the \m{markdownOptionFinalizeCache} option,
+% created by the \mref{markdownOptionFinalizeCache} option,
% \iffalse
created by the Lua interface \Opt{finalizeCache} option,
% \fi
@@ -6497,18 +7096,18 @@ defaults to `false`.
% The standard usage of the above two options is as follows:
% \iffalse
-The standard usage of the \Opt{finalizeCache} and \m{markdownOptionFrozenCache}
+The standard usage of the \Opt{finalizeCache} and \mref{markdownOptionFrozenCache}
options is as follows:
% \fi
1. Remove the \Opt{cacheDir} cache directory with stale auxiliary cache
files.
-% 2. Enable the \m{markdownOptionFinalizeCache} option.
+% 2. Enable the \mref{markdownOptionFinalizeCache} option.
% \iffalse
2. Enable the \Opt{finalizeCache} option.
% \fi
3. Typeset the plain \TeX{} document to populate and finalize the cache.
-4. Enable the \m{markdownOptionFrozenCache} option.
+4. Enable the \mref{markdownOptionFrozenCache} option.
5. Publish the source code of the plain \TeX{} document and the
\Opt{cacheDir} directory.
@@ -6527,13 +7126,13 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% The \mdef{markdownOptionHelperScriptFileName} macro sets the filename of the
% helper Lua script file that is created during the conversion from markdown to
-% plain \TeX{} in \TeX{} engines without the \m{directlua} primitive. It
-% defaults to \m{jobname}`.markdown.lua`, where \m{jobname} is the base name
+% plain \TeX{} in \TeX{} engines without the \mref{directlua} primitive. It
+% defaults to \mref{jobname}`.markdown.lua`, where \mref{jobname} is the base name
% of the document being typeset.
%
% The expansion of this macro must not contain quotation marks (`"`) or
% backslash symbols (`\`). Mind that \TeX{} engines tend to
-% put quotation marks around \m{jobname}, when it contains spaces.
+% put quotation marks around \mref{jobname}, when it contains spaces.
%
% \end{markdown}
% \begin{macrocode}
@@ -6544,9 +7143,9 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% The \mdef{markdownOptionInputTempFileName} macro sets the filename of the
% temporary input file that is created during the conversion from markdown to
-% plain \TeX{} in \m{markdownMode} other than `2`. It defaults to
-% \m{jobname}`.markdown.out`. The same limitations as in the case of the
-% \m{markdownOptionHelperScriptFileName} macro apply here.
+% plain \TeX{} in \mref{markdownMode} other than `2`. It defaults to
+% \mref{jobname}`.markdown.out`. The same limitations as in the case of the
+% \mref{markdownOptionHelperScriptFileName} macro apply here.
%
% \end{markdown}
% \begin{macrocode}
@@ -6557,9 +7156,9 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% The \mdef{markdownOptionOutputTempFileName} macro sets the filename of the
% temporary output file that is created during the conversion from markdown to
-% plain \TeX{} in \m{markdownMode} other than `2`. It defaults to
-% \m{jobname}`.markdown.out`. The same limitations apply here as in the case
-% of the \m{markdownOptionHelperScriptFileName} macro.
+% plain \TeX{} in \mref{markdownMode} other than `2`. It defaults to
+% \mref{jobname}`.markdown.out`. The same limitations apply here as in the case
+% of the \mref{markdownOptionHelperScriptFileName} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -6570,9 +7169,9 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% The \mdef{markdownOptionErrorTempFileName} macro sets the filename of the
% temporary output file that is created when a Lua error is encountered during
-% the conversion from markdown to plain \TeX{} in \m{markdownMode} other than
-% `2`. It defaults to \m{jobname}`.markdown.err`. The same limitations
-% apply here as in the case of the \m{markdownOptionHelperScriptFileName}
+% the conversion from markdown to plain \TeX{} in \mref{markdownMode} other than
+% `2`. It defaults to \mref{jobname}`.markdown.err`. The same limitations
+% apply here as in the case of the \mref{markdownOptionHelperScriptFileName}
% macro.
%
% \end{markdown}
@@ -6591,7 +7190,7 @@ For more information, see the examples for the \Opt{finalizeCache} option.
% your \TeX{} engine for the package to function correctly. We need this macro
% to make the Lua implementation aware where it should store the helper files.
% The same limitations apply here as in the case of the
-% \m{markdownOptionHelperScriptFileName} macro.
+% \mref{markdownOptionHelperScriptFileName} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -6602,10 +7201,10 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% The \mdef{markdownOptionCacheDir} macro corresponds to the Lua interface
% \Opt{cacheDir} option that sets the path to the directory that will contain
-% the produced cache files. The option defaults to `_markdown_`\m{jobname},
+% the produced cache files. The option defaults to `_markdown_`\mref{jobname},
% which is a similar naming scheme to the one used by the \pkg{minted} \LaTeX{}
% package. The same limitations apply here as in the case of the
-% \m{markdownOptionHelperScriptFileName} macro.
+% \mref{markdownOptionHelperScriptFileName} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -6619,7 +7218,7 @@ For more information, see the examples for the \Opt{finalizeCache} option.
% file (frozen cache) that will contain a mapping between an enumeration of the
% markdown documents in the plain \TeX{} document and their auxiliary cache
% files. The option defaults to `frozenCache.tex`. The same limitations apply
-% here as in the case of the \m{markdownOptionHelperScriptFileName} macro.
+% here as in the case of the \mref{markdownOptionHelperScriptFileName} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -6695,13 +7294,13 @@ bug](https://github.com/witiko/markdown/issues).
%
%#### Lua Interface Options
% The following macros map directly to the options recognized by the Lua
-% interface (see Section \ref{sec:luaoptions}) and are not processed by the
+% interface (see Section \vref{sec:luaoptions}) and are not processed by the
% plain \TeX{} implementation, only passed along to Lua. They are undefined, which
% makes them fall back to the default values provided by the Lua interface.
%
% For the macros that correspond to the non-boolean options recognized by the
% Lua interface, the same limitations apply here in the case of the
-% \m{markdownOptionHelperScriptFileName} macro.
+% \mref{markdownOptionHelperScriptFileName} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -6721,6 +7320,7 @@ bug](https://github.com/witiko/markdown/issues).
\let\markdownOptionHtml\undefined
\let\markdownOptionHybrid\undefined
\let\markdownOptionInlineFootnotes\undefined
+\let\markdownOptionJekyllData\undefined
\let\markdownOptionPipeTables\undefined
\let\markdownOptionPreserveTabs\undefined
\let\markdownOptionShiftHeadings\undefined
@@ -6729,6 +7329,7 @@ bug](https://github.com/witiko/markdown/issues).
\let\markdownOptionStartNumber\undefined
\let\markdownOptionStripIndent\undefined
\let\markdownOptionTableCaptions\undefined
+\let\markdownOptionTaskLists\undefined
\let\markdownOptionTeXComments\undefined
\let\markdownOptionTightLists\undefined
% \end{macrocode}
@@ -6781,7 +7382,7 @@ A PDF document named `document.pdf` should be produced and contain the text
%
% The \mdef{markdownOptionStripPercentSigns} macro controls whether a percent
% sign (`%`) at the beginning of a line will be discarded when buffering
-% Markdown input (see Section~\ref{sec:buffering}) or not. Notably, this
+% Markdown input (see Section \vref{sec:buffering}) or not. Notably, this
% enables the use of markdown when writing \TeX{} package documentation using
% the \pkg{Doc} \LaTeX{}~package~[@mittelbach17] or similar. The recognized
% values of the macro are `true` (discard) and `false` (retain). It defaults
@@ -6819,10 +7420,99 @@ In this section, I will describe the individual token renderers.
%
% The following \TeX{} macros may occur inside the output of the
% converter functions exposed by the Lua interface (see Section
-% \ref{sec:luaconversion}) and represent the parsed markdown tokens. These
+% \vref{sec:luaconversion}) and represent the parsed markdown tokens. These
% macros are intended to be redefined by the user who is typesetting a
% document. By default, they point to the corresponding prototypes (see Section
-% \ref{sec:texrendererprototypes}).
+% \vref{sec:texrendererprototypes}).
+
+#### Tickbox Renderers
+The macros named \mdef{markdownRendererTickedBox},
+\mdef{markdownRendererHalfTickedBox}, and \mdef{markdownRendererUntickedBox}
+represent ticked and unticked boxes, respectively. These macros will either be
+produced, when the \Opt{taskLists} option is enabled, or when the Ballot Box
+with X (☒, U+2612), Hourglass (⌛, U+231B) or Ballot Box (☐, U+2610) Unicode
+characters are encountered in the markdown input, respectively.
+
+% \end{markdown}
+%
+% \iffalse
+
+##### \LaTeX{} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\documentclass{article}
+\usepackage[taskLists]{markdown}
+\markdownSetup{
+ renderers = {
+ untickedBox = No,
+ tickedBox = Yes,
+ },
+}
+\begin{document}
+\begin{markdown}
+- [ ] you can't.
+- [x] I can!
+\end{markdown}
+\end{document}
+```````
+Next, invoke LuaTeX from the terminal:
+``` sh
+lualatex document.tex
+``````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> - No you can't.
+> - Yes I can!
+
+##### \Hologo{ConTeXt} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\usemodule[t][markdown]
+\def\markdownOptionTaskLists{true}
+\def\markdownRendererUntickedBox{No}
+\def\markdownRendererTickedBox{Yes}
+\starttext
+\startmarkdown
+- [ ] you can't.
+- [x] I can!
+\stopmarkdown
+\stoptext
+````````
+Next, invoke LuaTeX from the terminal:
+``` sh
+context document.tex
+`````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> - No you can't.
+> - Yes I can!
+
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererTickedBox{%
+ \markdownRendererTickedBoxPrototype}%
+\def\markdownRendererHalfTickedBox{%
+ \markdownRendererHalfTickedBoxPrototype}%
+\def\markdownRendererUntickedBox{%
+ \markdownRendererUntickedBoxPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
#### Interblock Separator Renderer
The \mdef{markdownRendererInterblockSeparator} macro represents a separator
@@ -7762,7 +8452,7 @@ and the title of the content block.
The \mdef{markdownRendererContentBlockOnlineImage} macro represents an
iA\,Writer online image content block. The macro receives the same arguments
-as \m{markdownRendererContentBlock}.
+as \mref{markdownRendererContentBlock}.
% \end{markdown}
%
@@ -9413,6 +10103,29 @@ a block quote. The macro receives no arguments.
% \end{markdown}
%
% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererBlockQuoteBegin{%
+ \markdownRendererBlockQuoteBeginPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererBlockQuoteEnd} macro represents the end of a block
+quote. The macro receives no arguments.
+
+% \end{markdown}
+%
+% \iffalse
##### Plain \TeX{} Example {.unnumbered}
@@ -9531,29 +10244,6 @@ following text:
% \fi
%
% \begin{macrocode}
-\def\markdownRendererBlockQuoteBegin{%
- \markdownRendererBlockQuoteBeginPrototype}%
-% \end{macrocode}
-% \par
-%
-% \iffalse
-%</tex>
-%<*manual-tokens>
-% \fi
-%
-% \begin{markdown}
-
-The \mdef{markdownRendererBlockQuoteEnd} macro represents the end of a block
-quote. The macro receives no arguments.
-
-% \end{markdown}
-%
-% \iffalse
-%</manual-tokens>
-%<*tex>
-% \fi
-%
-% \begin{macrocode}
\def\markdownRendererBlockQuoteEnd{%
\markdownRendererBlockQuoteEndPrototype}%
% \end{macrocode}
@@ -9695,6 +10385,328 @@ following text except for the filename, which may differ:
%</tex>
%<*manual-tokens>
% \fi
+% \begin{markdown}
+
+#### YAML Metadata Renderers
+The \mdef{markdownRendererJekyllDataBegin} macro represents the beginning of a
+\acro{yaml} document. This macro will only be produced when the \Opt{jekyllData}
+option is enabled. The macro receives no arguments.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataBegin{%
+ \markdownRendererJekyllDataBeginPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererJekyllDataEnd} macro represents the end of a
+\acro{yaml} document. This macro will only be produced when the
+\Opt{jekyllData} option is enabled. The macro receives no arguments.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataEnd{%
+ \markdownRendererJekyllDataEndPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererJekyllDataMappingBegin} macro represents the
+beginning of a mapping in a \acro{yaml} document. This macro will only be
+produced when the \Opt{jekyllData} option is enabled. The macro receives two
+arguments: the scalar key in the parent structure, cast to a string following
+\acro{yaml} serialization rules, and the number of items in the mapping.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataMappingBegin{%
+ \markdownRendererJekyllDataMappingBeginPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererJekyllDataMappingEnd} macro represents the
+end of a mapping in a \acro{yaml} document. This macro will only be produced
+when the \Opt{jekyllData} option is enabled. The macro receives no arguments.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataMappingEnd{%
+ \markdownRendererJekyllDataMappingEndPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererJekyllDataSequenceBegin} macro represents the
+beginning of a sequence in a \acro{yaml} document. This macro will only be
+produced when the \Opt{jekyllData} option is enabled. The macro receives two
+arguments: the scalar key in the parent structure, cast to a string following
+\acro{yaml} serialization rules, and the number of items in the sequence.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataSequenceBegin{%
+ \markdownRendererJekyllDataSequenceBeginPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererJekyllDataBoolean} macro represents a boolean scalar
+value in a \acro{yaml} document. This macro will only be produced when the
+\Opt{jekyllData} option is enabled. The macro receives two arguments: the
+scalar key in the parent structure, and the scalar value, both cast to a string
+following \acro{yaml} serialization rules.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataBoolean{%
+ \markdownRendererJekyllDataBooleanPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererJekyllDataNumber} macro represents a numeric scalar
+value in a \acro{yaml} document. This macro will only be produced when the
+\Opt{jekyllData} option is enabled. The macro receives two arguments: the
+scalar key in the parent structure, and the scalar value, both cast to a string
+following \acro{yaml} serialization rules.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataNumber{%
+ \markdownRendererJekyllDataNumberPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererJekyllDataString} macro represents a string scalar
+value in a \acro{yaml} document. This macro will only be produced when the
+\Opt{jekyllData} option is enabled. The macro receives two arguments: the
+scalar key in the parent structure, cast to a string following \acro{yaml}
+serialization rules, and the scalar value.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataString{%
+ \markdownRendererJekyllDataStringPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+% \fi
+%
+% \begin{markdown}
+
+The \mdef{markdownRendererJekyllDataEmpty} macro represents an empty scalar
+value in a \acro{yaml} document. This macro will only be produced when the
+\Opt{jekyllData} option is enabled. The macro receives one argument: the
+scalar key in the parent structure, cast to a string following \acro{yaml}
+serialization rules.
+
+% \end{markdown}
+%
+% \iffalse
+%</manual-tokens>
+%<*tex>
+% \fi
+%
+% \begin{macrocode}
+\def\markdownRendererJekyllDataEmpty{%
+ \markdownRendererJekyllDataEmptyPrototype}%
+% \end{macrocode}
+% \par
+%
+% \iffalse
+%</tex>
+%<*manual-tokens>
+
+##### Plain \TeX{} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\input markdown
+\def\markdownOptionJekyllData{true}
+\def\markdownRendererJekyllDataString#1#2{\gdef\name{#2}}
+\def\markdownRendererJekyllDataNumber#1#2{\gdef\age{#2}}
+\def\markdownRendererJekyllDataEnd{%
+ \name{} is \age{} years old.}
+\markdownBegin
+---
+name: Jane Doe
+age: 99
+---
+\markdownEnd
+\bye
+```````
+Next, invoke LuaTeX from the terminal:
+``` sh
+luatex document.tex
+``````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> Jane Doe is 99 years old.
+
+##### \LaTeX{} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\documentclass{article}
+\usepackage[jekyllData]{markdown}
+\markdownSetup{
+ renderers = {
+ jekyllDataString = {\gdef\name{#2}},
+ jekyllDataNumber = {\gdef\age{#2}},
+ jekyllDataEnd = {\name{} is \age{} years old.},
+ }
+}
+\begin{document}
+
+\begin{markdown}
+---
+name: Jane Doe
+age: 99
+---
+\end{markdown}
+
+\end{document}
+```````
+Next, invoke LuaTeX from the terminal:
+``` sh
+lualatex document.tex
+``````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> Jane Doe is 99 years old.
+
+##### \Hologo{ConTeXt} Example {.unnumbered}
+
+Using a text editor, create a text document named `document.tex` with the
+following content:
+``` tex
+\usemodule[t][markdown]
+\def\markdownOptionJekyllData{true}
+\def\markdownRendererJekyllDataString#1#2{\gdef\name{#2}}
+\def\markdownRendererJekyllDataNumber#1#2{\gdef\age{#2}}
+\def\markdownRendererJekyllDataEnd{%
+ \name{} is \age{} years old.}
+\starttext
+
+\startmarkdown
+---
+name: Jane Doe
+age: 99
+---
+\stopmarkdown
+
+\stoptext
+```````
+Next, invoke LuaTeX from the terminal:
+``` sh
+context document.tex
+``````
+A PDF document named `document.pdf` should be produced and contain the
+following text:
+
+> Jane Doe is 99 years old.
+
+% \fi
%
% \begin{markdown}
@@ -10267,7 +11279,7 @@ following text:
The \mdef{markdownRendererTextCite} macro represents a string of one or more
text citations. This macro will only be produced, when the
\Opt{citations} option is enabled. The macro receives parameters in the same
-format as the \m{markdownRendererCite} macro.
+format as the \mref{markdownRendererCite} macro.
% \end{markdown}
%
@@ -10650,11 +11662,11 @@ following text:
% \begin{markdown}
%
% The following \TeX{} macros provide definitions for the token renderers (see
-% Section \ref{sec:texrenderersuser}) that have not been redefined by the
+% Section \vref{sec:texrenderersuser}) that have not been redefined by the
% user. These macros are intended to be redefined by macro package authors
% who wish to provide sensible default token renderers. They are also redefined
% by the \LaTeX{} and \Hologo{ConTeXt} implementations (see sections
-% \ref{sec:lateximplementation} and \ref{sec:contextimplementation}).
+% \vref{sec:lateximplementation} and \vref{sec:contextimplementation}).
%
% \end{markdown}
% \begin{macrocode}
@@ -10706,6 +11718,16 @@ following text:
\def\markdownRendererBlockQuoteEndPrototype{}%
\def\markdownRendererInputVerbatimPrototype#1{}%
\def\markdownRendererInputFencedCodePrototype#1#2{}%
+\def\markdownRendererJekyllDataBooleanPrototype#1#2{}%
+\def\markdownRendererJekyllDataEmptyPrototype#1{}%
+\def\markdownRendererJekyllDataNumberPrototype#1#2{}%
+\def\markdownRendererJekyllDataStringPrototype#1#2{}%
+\def\markdownRendererJekyllDataBeginPrototype{}%
+\def\markdownRendererJekyllDataEndPrototype{}%
+\def\markdownRendererJekyllDataSequenceBeginPrototype#1#2{}%
+\def\markdownRendererJekyllDataSequenceEndPrototype{}%
+\def\markdownRendererJekyllDataMappingBeginPrototype#1#2{}%
+\def\markdownRendererJekyllDataMappingEndPrototype{}%
\def\markdownRendererHeadingOnePrototype#1{}%
\def\markdownRendererHeadingTwoPrototype#1{}%
\def\markdownRendererHeadingThreePrototype#1{}%
@@ -10718,6 +11740,9 @@ following text:
\def\markdownRendererTextCitePrototype#1{}%
\def\markdownRendererTablePrototype#1#2#3{}%
\def\markdownRendererInlineHtmlCommentPrototype#1{}%
+\def\markdownRendererTickedBoxPrototype{}%
+\def\markdownRendererHalfTickedBoxPrototype{}%
+\def\markdownRendererUntickedBoxPrototype{}%
% \end{macrocode}
% \par
% \begin{markdown}
@@ -10726,7 +11751,7 @@ following text:
% The \mdef{markdownInfo}, \mdef{markdownWarning}, and \mdef{markdownError}
% macros perform logging for the Markdown package. Their first argument
% specifies the text of the info, warning, or error message.
-% The \m{markdownError} macro receives a second argument that provides a help
+% The \mref{markdownError} macro receives a second argument that provides a help
% text. You may redefine these macros to redirect and process the info,
% warning, and error messages.
%
@@ -10745,9 +11770,9 @@ following text:
% \par
% \begin{markdown}
%
-% The \mdef{markdownReadAndConvert} macro implements the \m{markdownBegin}
+% The \mdef{markdownReadAndConvert} macro implements the \mref{markdownBegin}
% macro. The first argument specifies the token sequence that will terminate
-% the markdown input (\m{markdownEnd} in the instance of the \m{markdownBegin}
+% the markdown input (\mref{markdownEnd} in the instance of the \mref{markdownBegin}
% macro) when the plain \TeX{} special characters have had their category
% changed to *other*. The second argument specifies the token sequence
% that will actually be inserted into the document, when the ending token
@@ -10775,7 +11800,7 @@ following text:
% \begin{markdown}
% The macro is exposed in the interface, so that the user can create their own
% markdown environments. Due to the way the arguments are passed to Lua (see
-% Section \ref{sec:directlua}), the first argument may not contain the
+% Section \vref{sec:directlua}), the first argument may not contain the
% string `]]` (regardless of the category code of the bracket symbol (`]`)).
%
% The \mdef{markdownMode} macro specifies how the plain \TeX{} implementation
@@ -10783,13 +11808,13 @@ following text:
% as follows:
%
% - `0` – Shell escape via the 18 output file stream
-% - `1` – Shell escape via the Lua \luam{os.execute} method
+% - `1` – Shell escape via the Lua \luamref{os.execute} method
% - `2` – Direct Lua access
%
% By defining the macro, the user can coerce the package to use a specific mode.
% If the user does not define the macro prior to loading the plain \TeX{}
% implementation, the correct value will be automatically detected. The outcome
-% of changing the value of \m{markdownMode} after the implementation has been
+% of changing the value of \mref{markdownMode} after the implementation has been
% loaded is undefined.
%
% \end{markdown}
@@ -10836,8 +11861,8 @@ idioms, such as package options and environments.
The \LaTeX{} interface accepts the same options as the plain \TeX{} interface,
but now the options are specified as \meta{key}${}={}$\meta{value} pairs and
-they are passed either as package options, in the \m{markdownSetup} command, or
-as parameters for the \envm{markdown*} \LaTeX{} environment.
+they are passed either as package options, in the \mref{markdownSetup} command, or
+as parameters for the \envmref{markdown*} \LaTeX{} environment.
Using a text editor, create a text document named `document.tex` with the
following content:
@@ -10879,10 +11904,10 @@ pdflatex --shell-escape document.tex
%
% The \LaTeX{} interface provides \LaTeX{} environments for the typesetting of
% markdown input from within \LaTeX{}, facilities for setting Lua interface
-% options (see Section \ref{sec:luaoptions}) used during the conversion from
+% options (see Section \vref{sec:luaoptions}) used during the conversion from
% markdown to plain \TeX{}, and facilities for changing the way markdown tokens
% are rendered. The rest of the interface is inherited from the plain \TeX{}
-% interface (see Section \ref{sec:texinterface}).
+% interface (see Section \vref{sec:texinterface}).
%
% The \LaTeX{} interface is implemented by the `markdown.sty` file, which
% can be loaded from the \LaTeX{} document preamble as follows:
@@ -10892,10 +11917,10 @@ pdflatex --shell-escape document.tex
% \end{Verbatim}
% \begin{markdown}
% where \meta{options} are the \LaTeX{} interface options (see Section
-% \ref{sec:latexoptions}). Note that \meta{options} inside the \m{usepackage}
+% \vref{sec:latexoptions}). Note that \meta{options} inside the \mref{usepackage}
% macro may not set the `markdownRenderers` (see Section
-% \ref{sec:latexrenderers}) and `markdownRendererPrototypes` (see Section
-% \ref{sec:latexrendererprototypes}) keys. This limitation is due to the way
+% \vref{sec:latexrenderers}) and `markdownRendererPrototypes` (see Section
+% \vref{sec:latexrendererprototypes}) keys. This limitation is due to the way
% \Hologo{LaTeX2e} parses package options.
%
% \end{markdown}
@@ -10904,12 +11929,12 @@ pdflatex --shell-escape document.tex
%
%### Typesetting Markdown
% The interface exposes the \envmdef{markdown} and \envmdef{markdown*}
-% \LaTeX{} environments, and redefines the \m{markdownInput} command.
+% \LaTeX{} environments, and redefines the \mref{markdownInput} command.
%
-% The \envm{markdown} and \envm{markdown*} \LaTeX{} environments are used to
+% The \envmref{markdown} and \envmref{markdown*} \LaTeX{} environments are used to
% typeset markdown document fragments. The starred version of the
-% \envm{markdown} environment accepts \LaTeX{} interface options (see
-% Section \ref{sec:latexoptions}) as its only argument. These options will
+% \envmref{markdown} environment accepts \LaTeX{} interface options (see
+% Section \vref{sec:latexoptions}) as its only argument. These options will
% only influence this markdown document fragment.
%
% \end{markdown}
@@ -10919,17 +11944,17 @@ pdflatex --shell-escape document.tex
% \end{macrocode}
% \markdownBegin
%
-% You may prepend your own code to the \m{markdown} macro and append your own
-% code to the \m{endmarkdown} macro to produce special effects before and after
-% the \envm{markdown} \LaTeX{} environment (and likewise for the starred
+% You may prepend your own code to the \mref{markdown} macro and append your own
+% code to the \mref{endmarkdown} macro to produce special effects before and after
+% the \envmref{markdown} \LaTeX{} environment (and likewise for the starred
% version).
%
-% Note that the \envm{markdown} and \envm{markdown*} \LaTeX{} environments are
-% subject to the same limitations as the \m{markdownBegin} and \m{markdownEnd}
+% Note that the \envmref{markdown} and \envmref{markdown*} \LaTeX{} environments are
+% subject to the same limitations as the \mref{markdownBegin} and \mref{markdownEnd}
% macros exposed by the plain \TeX{} interface.
%
% The following example \LaTeX{} code showcases the usage of the
-% \envm{markdown} and \envm{markdown*} environments:
+% \envmref{markdown} and \envmref{markdown*} environments:
% ``` tex
% \documentclass{article} \documentclass{article}
% \usepackage{markdown} \usepackage{markdown}
@@ -10942,16 +11967,16 @@ pdflatex --shell-escape document.tex
% \end{document} \end{document}
% ```````
%
-% The \m{markdownInput} macro accepts a single mandatory parameter containing
+% The \mref{markdownInput} macro accepts a single mandatory parameter containing
% the filename of a markdown document and expands to the result of the
% conversion of the input markdown document to plain \TeX{}. Unlike the
-% \m{markdownInput} macro provided by the plain \TeX{} interface, this macro
-% also accepts \LaTeX{} interface options (see Section \ref{sec:latexoptions})
+% \mref{markdownInput} macro provided by the plain \TeX{} interface, this macro
+% also accepts \LaTeX{} interface options (see Section \vref{sec:latexoptions})
% as its optional argument. These options will only influnce this markdown
% document.
%
% The following example \LaTeX{} code showcases the usage of the
-% \m{markdownInput} macro:
+% \mref{markdownInput} macro:
% ``` tex
% \documentclass{article}
% \usepackage{markdown}
@@ -10970,18 +11995,18 @@ pdflatex --shell-escape document.tex
% part is optional, and \meta{key} will be interpreted as \meta{key}`=true`
% if the `=`\meta{value} part has been omitted.
%
-% Except for the `plain` option described in Section \ref{sec:latexplain}, and
-% the \LaTeX{} themes described in Section \ref{sec:latexthemes}, and the
-% \LaTeX{} setup snippets described in Section \ref{sec:latexsetupsnippets},
+% Except for the `plain` option described in Section \vref{sec:latexplain}, and
+% the \LaTeX{} themes described in Section \vref{sec:latexthemes}, and the
+% \LaTeX{} setup snippets described in Section \vref{sec:latexsetupsnippets},
% \LaTeX{} options map directly to the options recognized by the plain
-% \TeX{} interface (see Section \ref{sec:texoptions}) and to the markdown token
+% \TeX{} interface (see Section \vref{sec:texoptions}) and to the markdown token
% renderers and their prototypes recognized by the plain \TeX{} interface (see
-% Sections \ref{sec:texrenderersuser} and \ref{sec:texrendererprototypes}).
+% Sections \vref{sec:texrenderersuser} and \vref{sec:texrendererprototypes}).
%
% The \LaTeX{} options may be specified when loading the \LaTeX{} package, when
-% using the \envm{markdown*} \LaTeX{} environment or the \m{markdownInput}
-% macro (see Section \ref{sec:latexinterface}), or via the \mdef{markdownSetup}
-% macro. The \m{markdownSetup} macro receives the options to set up as its only
+% using the \envmref{markdown*} \LaTeX{} environment or the \mref{markdownInput}
+% macro (see Section \vref{sec:latexinterface}), or via the \mdef{markdownSetup}
+% macro. The \mref{markdownSetup} macro receives the options to set up as its only
% argument:
%
% \markdownEnd
@@ -10992,7 +12017,7 @@ pdflatex --shell-escape document.tex
% \begin{markdown}
%
% We may also store \LaTeX{} options as *setup snippets* and invoke them later
-% using the \mdef{markdownSetupSnippet} macro. The \m{markdownSetupSnippet}
+% using the \mdef{markdownSetupSnippet} macro. The \mref{markdownSetupSnippet}
% macro receives two arguments: the name of the setup snippet and the options
% to store:
%
@@ -11014,8 +12039,8 @@ pdflatex --shell-escape document.tex
% \end{macrocode}
% \begin{markdown}
%
-% See Section \ref{sec:latexthemes} for information on interactions between
-% setup snippets and \LaTeX{} themes. See Section \ref{sec:latexsetupsnippets}
+% See Section \vref{sec:latexthemes} for information on interactions between
+% setup snippets and \LaTeX{} themes. See Section \vref{sec:latexsetupsnippets}
% for information about invoking the stored setup snippets.
%
% \end{markdown}
@@ -11040,8 +12065,8 @@ other packages used in a document. Additionally, if we redefine token
renderers and renderer prototypes ourselves, the default definitions will bring
no benefit to us. Using the `plain` package option, we can keep the default
definitions from the plain \TeX{} implementation (see Section
-\ref{sec:textokenrendererprototypes}) and prevent the soft \LaTeX{}
-prerequisites in Section \ref{sec:latexprerequisites} from being loaded:
+\vref{sec:textokenrendererprototypes}) and prevent the soft \LaTeX{}
+prerequisites in Section \vref{sec:latexprerequisites} from being loaded:
``` tex
\usepackage[plain]{markdown}
@@ -11084,7 +12109,7 @@ high-level goals without low-level programming.
% (\texttt{_}), the theme name is a value that is *qualified* and contains no
% underscores, and a value is qualified if and only if it contains at least one
% forward slash. Themes are inspired by the Beamer \LaTeX{} package, which
-% provides similar functionality with its \m{usetheme} macro [@tantau21,
+% provides similar functionality with its \mref{usetheme} macro [@tantau21,
% Section 15.1].
%
% Theme names must be qualified to minimize naming conflicts between different
@@ -11103,7 +12128,7 @@ high-level goals without low-level programming.
% package named `markdownthemewitiko_beamer_MU.sty`.
%
% If the \LaTeX{} option with key `theme` is (repeatedly) specified in the
-% \m{usepackage} macro, the loading of the theme(s) will be postponed in
+% \mref{usepackage} macro, the loading of the theme(s) will be postponed in
% first-in-first-out order until after the Markdown \LaTeX{} package has been
% loaded. Otherwise, the theme(s) will be loaded immediately. For example,
% there is a theme named `witiko/dot`, which typesets fenced code blocks with
@@ -11163,7 +12188,7 @@ would use the following code in the preamble of your document:
% \begin{markdown}
%
% The \LaTeX{} themes have a useful synergy with the setup snippets (see
-% Section \ref{sec:latexoptions}): To make it less likely that different
+% Section \vref{sec:latexoptions}): To make it less likely that different
% themes will define setup snippets with the same name, we will prepend
% \meta{theme name}`/` before the snippet name and use the result as the
% snippet name. For example, if the `witiko/dot` theme defines the `product`
@@ -11239,7 +12264,7 @@ Example themes provided with the Markdown package include:
% \end{document}
% ````````
% Typesetting the above document produces the output shown in
-% Figure~\ref{fig:witiko/dot}.
+% Figure \vref{fig:witiko/dot}.
% ``` dot Various formats of mathemathical formulae \label{fig:witiko/dot}
% digraph tree {
% margin = 0;
@@ -11266,7 +12291,7 @@ Example themes provided with the Markdown package include:
% ```
The theme requires a Unix-like operating system with GNU Diffutils and
Graphviz installed. The theme also requires shell access unless the
- \m{markdownOptionFrozenCache} plain \TeX{} option is enabled.
+ \mref{markdownOptionFrozenCache} plain \TeX{} option is enabled.
% \markdownEnd
% \iffalse
@@ -11347,19 +12372,19 @@ conference article:
% \usepackage[theme=witiko/graphicx/http]{markdown}
% \begin{document}
% \begin{markdown}
-% ![img](https://github.com/witiko/markdown/raw/master/banner.png
+% ![img](https://github.com/witiko/markdown/raw/main/markdown.png
% "The banner of the Markdown package")
% \end{markdown}
% \end{document}
% ```````
% Typesetting the above document produces the output shown in
-% Figure~\ref{fig:witiko/graphicx/http}.
-% ![img](https://github.com/witiko/markdown/raw/master/banner.png
+% Figure \vref{fig:witiko/graphicx/http}.
+% ![img](https://github.com/witiko/markdown/raw/main/markdown.png
% "The banner of the Markdown package \label{fig:witiko/graphicx/http}")
The theme requires the \pkg{catchfile} \LaTeX{} package and a Unix-like
operating system with GNU Coreutils `md5sum` and either GNU Wget or cURL
installed. The theme also requires shell access unless the
- \m{markdownOptionFrozenCache} plain \TeX{} option is enabled.
+ \mref{markdownOptionFrozenCache} plain \TeX{} option is enabled.
% \markdownEnd
% \iffalse
@@ -11373,7 +12398,7 @@ following content:
\usepackage[theme=witiko/graphicx/http]{markdown}
\begin{document}
\begin{markdown}
-![img](https://github.com/witiko/markdown/raw/master/banner.png
+![img](https://github.com/witiko/markdown/raw/main/markdown.png
"The banner of the Markdown package")
\end{markdown}
\end{document}
@@ -11385,7 +12410,7 @@ lualatex document.tex
A PDF document named `document.pdf` should be produced and contain the
following image:
-> ![img](https://github.com/witiko/markdown/raw/master/banner.png
+> ![img](https://github.com/witiko/markdown/raw/main/markdown.png
> "The banner of the Markdown package")
%</manual-options>
@@ -11393,7 +12418,6 @@ following image:
% \fi
% \begin{macrocode}
\ProvidesPackage{markdownthemewitiko_graphicx_http}[2021/03/22]%
-\RequirePackage{catchfile}
% \end{macrocode}
% \iffalse
%</latex-themes-witiko-graphicx-http>
@@ -11456,7 +12480,7 @@ following text, where the middot (`·`) denotes a non-breaking space:
% \par
% \begin{markdown}
%
-% Please, see Section~\ref{sec:latexthemesimplementation} for implementation
+% Please, see Section \vref{sec:latexthemesimplementation} for implementation
% details of the example themes.
#### \LaTeX{} setup snippets
@@ -11520,7 +12544,7 @@ The following ordered list will be preceded by roman numerals:
%#### Plain \TeX{} Interface Options
% The following options map directly to the option macros exposed by the plain
-% \TeX{} interface (see Section \ref{sec:texoptions}).
+% \TeX{} interface (see Section \vref{sec:texoptions}).
%
% \markdownEnd
% \iffalse
@@ -11564,6 +12588,8 @@ The following ordered list will be preceded by roman numerals:
\def\markdownOptionFootnotes{#1}}%
\define@key{markdownOptions}{fencedCode}[true]{%
\def\markdownOptionFencedCode{#1}}%
+\define@key{markdownOptions}{jekyllData}[true]{%
+ \def\markdownOptionJekyllData{#1}}%
\define@key{markdownOptions}{hashEnumerators}[true]{%
\def\markdownOptionHashEnumerators{#1}}%
\define@key{markdownOptions}{headerAttributes}[true]{%
@@ -11590,6 +12616,8 @@ The following ordered list will be preceded by roman numerals:
\def\markdownOptionStripIndent{#1}}%
\define@key{markdownOptions}{tableCaptions}[true]{%
\def\markdownOptionTableCaptions{#1}}%
+\define@key{markdownOptions}{taskLists}[true]{%
+ \def\markdownOptionTaskLists{#1}}%
\define@key{markdownOptions}{texComments}[true]{%
\def\markdownOptionTeXComments{#1}}%
\define@key{markdownOptions}{tightLists}[true]{%
@@ -11602,7 +12630,7 @@ The following ordered list will be preceded by roman numerals:
% \par
% \begin{markdown}
%
-% The \m{markdownOptionFinalizeCache} and \m{markdownOptionFrozenCache} plain
+% The \mref{markdownOptionFinalizeCache} and \mref{markdownOptionFrozenCache} plain
% \TeX{} options are exposed through \LaTeX{} options with keys `finalizeCache`
% and `frozenCache`.
%
@@ -11640,8 +12668,8 @@ The following ordered list will be preceded by roman numerals:
% \begin{markdown}
%
% The following example \LaTeX{} code showcases a possible configuration of
-% plain \TeX{} interface options \m{markdownOptionHybrid},
-% \m{markdownOptionSmartEllipses}, and \m{markdownOptionCacheDir}.
+% plain \TeX{} interface options \mref{markdownOptionHybrid},
+% \mref{markdownOptionSmartEllipses}, and \mref{markdownOptionCacheDir}.
% ``` tex
% \markdownSetup{
% hybrid,
@@ -11656,7 +12684,7 @@ The following ordered list will be preceded by roman numerals:
% The \LaTeX{} interface recognizes an option with the `renderers` key,
% whose value must be a list of options that map directly to the markdown token
% renderer macros exposed by the plain \TeX{} interface (see Section
-% \ref{sec:texrenderersuser}).
+% \vref{sec:texrenderersuser}).
%
% \end{markdown}
% \begin{macrocode}
@@ -11756,6 +12784,26 @@ The following ordered list will be preceded by roman numerals:
\renewcommand\markdownRendererInputVerbatim[1]{#1}}%
\define@key{markdownRenderers}{inputFencedCode}{%
\renewcommand\markdownRendererInputFencedCode[2]{#1}}%
+\define@key{markdownRenderers}{jekyllDataBoolean}{%
+ \renewcommand\markdownRendererJekyllDataBoolean[2]{#1}}%
+\define@key{markdownRenderers}{jekyllDataEmpty}{%
+ \renewcommand\markdownRendererJekyllDataEmpty[1]{#1}}%
+\define@key{markdownRenderers}{jekyllDataNumber}{%
+ \renewcommand\markdownRendererJekyllDataNumber[2]{#1}}%
+\define@key{markdownRenderers}{jekyllDataString}{%
+ \renewcommand\markdownRendererJekyllDataString[2]{#1}}%
+\define@key{markdownRenderers}{jekyllDataBegin}{%
+ \renewcommand\markdownRendererJekyllDataBegin{#1}}%
+\define@key{markdownRenderers}{jekyllDataEnd}{%
+ \renewcommand\markdownRendererJekyllDataEnd{#1}}%
+\define@key{markdownRenderers}{jekyllDataSequenceBegin}{%
+ \renewcommand\markdownRendererJekyllDataSequenceBegin[2]{#1}}%
+\define@key{markdownRenderers}{jekyllDataSequenceEnd}{%
+ \renewcommand\markdownRendererJekyllDataSequenceEnd{#1}}%
+\define@key{markdownRenderers}{jekyllDataMappingBegin}{%
+ \renewcommand\markdownRendererJekyllDataMappingBegin[2]{#1}}%
+\define@key{markdownRenderers}{jekyllDataMappingEnd}{%
+ \renewcommand\markdownRendererJekyllDataMappingEnd{#1}}%
\define@key{markdownRenderers}{headingOne}{%
\renewcommand\markdownRendererHeadingOne[1]{#1}}%
\define@key{markdownRenderers}{headingTwo}{%
@@ -11780,12 +12828,18 @@ The following ordered list will be preceded by roman numerals:
\renewcommand\markdownRendererTable[3]{#1}}%
\define@key{markdownRenderers}{inlineHtmlComment}{%
\renewcommand\markdownRendererInlineHtmlComment[1]{#1}}%
+\define@key{markdownRenderers}{tickedBox}{%
+ \renewcommand\markdownRendererTickedBox{#1}}%
+\define@key{markdownRenderers}{halfTickedBox}{%
+ \renewcommand\markdownRendererHalfTickedBox{#1}}%
+\define@key{markdownRenderers}{untickedBox}{%
+ \renewcommand\markdownRendererUntickedBox{#1}}%
% \end{macrocode}
% \par
% \begin{markdown}
%
% The following example \LaTeX{} code showcases a possible configuration of the
-% \m{markdownRendererLink} and \m{markdownRendererEmphasis} markdown token
+% \mref{markdownRendererLink} and \mref{markdownRendererEmphasis} markdown token
% renderers.
% ``` tex
% \markdownSetup{
@@ -11801,7 +12855,7 @@ The following ordered list will be preceded by roman numerals:
% The \LaTeX{} interface recognizes an option with the `rendererPrototypes`
% key, whose value must be a list of options that map directly to the markdown
% token renderer prototype macros exposed by the plain \TeX{} interface (see
-% Section \ref{sec:texrendererprototypes}).
+% Section \vref{sec:texrendererprototypes}).
%
% \end{markdown}
% \begin{macrocode}
@@ -11901,6 +12955,26 @@ The following ordered list will be preceded by roman numerals:
\renewcommand\markdownRendererInputVerbatimPrototype[1]{#1}}%
\define@key{markdownRendererPrototypes}{inputFencedCode}{%
\renewcommand\markdownRendererInputFencedCodePrototype[2]{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataBoolean}{%
+ \renewcommand\markdownRendererJekyllDataBooleanPrototype[2]{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataEmpty}{%
+ \renewcommand\markdownRendererJekyllDataEmptyPrototype[1]{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataNumber}{%
+ \renewcommand\markdownRendererJekyllDataNumberPrototype[2]{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataString}{%
+ \renewcommand\markdownRendererJekyllDataStringPrototype[2]{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataBegin}{%
+ \renewcommand\markdownRendererJekyllDataBeginPrototype{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataEnd}{%
+ \renewcommand\markdownRendererJekyllDataEndPrototype{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataSequenceBegin}{%
+ \renewcommand\markdownRendererJekyllDataSequenceBeginPrototype[2]{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataSequenceEnd}{%
+ \renewcommand\markdownRendererJekyllDataSequenceEndPrototype{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataMappingBegin}{%
+ \renewcommand\markdownRendererJekyllDataMappingBeginPrototype[2]{#1}}%
+\define@key{markdownRendererPrototypes}{jekyllDataMappingEnd}{%
+ \renewcommand\markdownRendererJekyllDataMappingEndPrototype{#1}}%
\define@key{markdownRendererPrototypes}{headingOne}{%
\renewcommand\markdownRendererHeadingOnePrototype[1]{#1}}%
\define@key{markdownRendererPrototypes}{headingTwo}{%
@@ -11925,12 +12999,18 @@ The following ordered list will be preceded by roman numerals:
\renewcommand\markdownRendererTablePrototype[3]{#1}}%
\define@key{markdownRendererPrototypes}{inlineHtmlComment}{%
\renewcommand\markdownRendererInlineHtmlCommentPrototype[1]{#1}}%
+\define@key{markdownRendererPrototypes}{tickedBox}{%
+ \renewcommand\markdownRendererTickedBoxPrototype{#1}}%
+\define@key{markdownRendererPrototypes}{halfTickedBox}{%
+ \renewcommand\markdownRendererHalfTickedBoxPrototype{#1}}%
+\define@key{markdownRendererPrototypes}{untickedBox}{%
+ \renewcommand\markdownRendererUntickedBoxPrototype{#1}}%
% \end{macrocode}
% \par
% \begin{markdown}
%
% The following example \LaTeX{} code showcases a possible configuration of the
-% \m{markdownRendererImagePrototype} and \m{markdownRendererCodeSpanPrototype}
+% \mref{markdownRendererImagePrototype} and \mref{markdownRendererCodeSpanPrototype}
% markdown token renderer prototypes.
% ``` tex
% \markdownSetup{
@@ -12003,7 +13083,7 @@ texexec --passon=--shell-escape document.tex
% The \Hologo{ConTeXt} interface provides a start-stop macro pair for the
% typesetting of markdown input from within \Hologo{ConTeXt}. The rest of the
% interface is inherited from the plain \TeX{} interface (see Section
-% \ref{sec:texinterface}).
+% \vref{sec:texinterface}).
%
% \end{markdown}
% \begin{macrocode}
@@ -12020,7 +13100,7 @@ texexec --passon=--shell-escape document.tex
% \usemodule[t][markdown]
% ```````
% \noindent It is expected that the special plain \TeX{} characters have the
-% expected category codes, when \m{input}ting the file.
+% expected category codes, when \mref{input}ting the file.
%
%### Typesetting Markdown
% The interface exposes the \mdef{startmarkdown} and \mdef{stopmarkdown} macro
@@ -12034,16 +13114,16 @@ texexec --passon=--shell-escape document.tex
% \par
% \begin{markdown}
%
-% You may prepend your own code to the \m{startmarkdown} macro and redefine the
-% \m{stopmarkdown} macro to produce special effects before and after the
+% You may prepend your own code to the \mref{startmarkdown} macro and redefine the
+% \mref{stopmarkdown} macro to produce special effects before and after the
% markdown block.
%
-% Note that the \m{startmarkdown} and \m{stopmarkdown} macros
-% are subject to the same limitations as the \m{markdownBegin} and
-% \m{markdownEnd} macros exposed by the plain \TeX{} interface.
+% Note that the \mref{startmarkdown} and \mref{stopmarkdown} macros
+% are subject to the same limitations as the \mref{markdownBegin} and
+% \mref{markdownEnd} macros exposed by the plain \TeX{} interface.
%
% The following example \Hologo{ConTeXt} code showcases the usage of the
-% \m{startmarkdown} and \m{stopmarkdown} macros:
+% \mref{startmarkdown} and \mref{stopmarkdown} macros:
% ``` tex
% \usemodule[t][markdown]
% \starttext
@@ -12057,13 +13137,22 @@ texexec --passon=--shell-escape document.tex
%===============
% \label{sec:implementation}
% This part of the documentation describes the implementation of the interfaces
-% exposed by the package (see Section \ref{sec:interfaces}) and is aimed at the
+% exposed by the package (see Section \vref{sec:interfaces}) and is aimed at the
% developers of the package, as well as the curious users.
%
+% Figure \vref{fig:block-diagram} shows the high-level structure of the Markdown
+% package: The translation from markdown to \TeX{} *token renderers* is
+% performed by the Lua layer. The plain \TeX{} layer provides default
+% definitions for the token renderers. The \LaTeX{} and \Hologo{ConTeXt} layers
+% correct idiosyncrasies of the respective \TeX{} formats, and provide
+% format-specific default definitions for the token renderers.
+%
+% \end{markdown}
% \iffalse
%</context>
%<*lua>
% \fi
+% \begin{markdown}
%
% Lua Implementation
%-------------------
@@ -12075,7 +13164,7 @@ texexec --passon=--shell-escape document.tex
% other formats, such as DocBook, Groff, or \acro{HTML}. These were stripped
% from the module and the remaining markdown reader and plain \TeX{} writer
% were hidden behind the converter functions exposed by the Lua interface (see
-% Section \ref{sec:luainterface}).
+% Section \vref{sec:luainterface}).
%
% \end{markdown}
% \begin{macrocode}
@@ -12234,7 +13323,7 @@ end
%
% The \luamdef{util.rope_to_string} method converts a rope `rope` to a
% string and returns it. For the definition of a rope, see the definition of
-% the \luam{util.walk} method.
+% the \luamref{util.walk} method.
%
% \end{markdown}
% \begin{macrocode}
@@ -12248,7 +13337,7 @@ end
% \begin{markdown}
%
% The \luamdef{util.rope_last} method retrieves the last item in a rope. For
-% the definition of a rope, see the definition of the \luam{util.walk} method.
+% the definition of a rope, see the definition of the \luamref{util.walk} method.
%
% \end{markdown}
% \begin{macrocode}
@@ -14480,16 +15569,16 @@ end
%
%### Plain \TeX{} Writer
% \label{sec:texwriter}
-% This section documents the \luam{writer} object, which implements the
+% This section documents the \luamref{writer} object, which implements the
% routines for producing the \TeX{} output. The object is an amalgamate of the
% generic, \TeX{}, \LaTeX{} writer objects that were located in the
% `lunamark/writer/generic.lua`, `lunamark/writer/tex.lua`, and
% `lunamark/writer/latex.lua` files in the Lunamark Lua module.
%
% Although not specified in the Lua interface (see Section
-% \ref{sec:luainterface}), the \luam{writer} object is exported, so that the
+% \vref{sec:luainterface}), the \luamref{writer} object is exported, so that the
% curious user could easily tinker with the methods of the objects produced by
-% the \luam{writer.new} method described below. The user should be aware,
+% the \luamref{writer.new} method described below. The user should be aware,
% however, that the implementation may change in a future revision.
%
% \end{markdown}
@@ -14501,10 +15590,10 @@ M.writer = {}
%
% The \luamdef{writer.new} method creates and returns a new \TeX{} writer
% object associated with the Lua interface options (see Section
-% \ref{sec:luaoptions}) `options`. When `options` are unspecified, it is
+% \vref{sec:luaoptions}) `options`. When `options` are unspecified, it is
% assumed that an empty table was passed to the method.
%
-% The objects produced by the \luam{writer.new} method expose instance methods
+% The objects produced by the \luamref{writer.new} method expose instance methods
% and variables of their own. As a convention, I will refer to these
% \meta{member}s as `writer->`\meta{member}. All member variables are
% immutable unless explicitly stated otherwise.
@@ -14518,7 +15607,7 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% Make the `options` table inherit from the \luam{defaultOptions} table.
+% Make the `options` table inherit from the \luamref{defaultOptions} table.
%
% \end{markdown}
% \begin{macrocode}
@@ -14530,7 +15619,7 @@ function M.writer.new(options)
%
% Parse the \Opt{slice} option and define \luamdef{writer->slice\_begin}
% \luamdef{writer->slice\_end}, and \luamdef{writer->is\_writing}. The
-% \luam{writer->is\_writing} member variable is mutable.
+% \luamref{writer->is\_writing} member variable is mutable.
%
% \end{markdown}
% \begin{macrocode}
@@ -14681,29 +15770,12 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% Define a table \luamdef{escaped_chars} containing the mapping from special
-% plain \TeX{} characters (including the active pipe character (`|`) of
-% \Hologo{ConTeXt}) to their escaped variants. Define tables
-% \luamdef{escaped_uri_chars}, \luamdef{escaped_citation_chars}, and
-% \luamdef{escaped_minimal_strings} containing the mapping from special plain
-% characters and character strings that need to be escaped even in content
-% that will not be typeset.
+% Define tables \luamdef{escaped_uri_chars}, \luamdef{escaped_citation_chars},
+% and \luamdef{escaped_minimal_strings} containing the mapping from special
+% plain characters and character strings that always need to be escaped.
%
% \end{markdown}
% \begin{macrocode}
- local escaped_chars = {
- ["{"] = "\\markdownRendererLeftBrace{}",
- ["}"] = "\\markdownRendererRightBrace{}",
- ["$"] = "\\markdownRendererDollarSign{}",
- ["%"] = "\\markdownRendererPercentSign{}",
- ["&"] = "\\markdownRendererAmpersand{}",
- ["_"] = "\\markdownRendererUnderscore{}",
- ["#"] = "\\markdownRendererHash{}",
- ["^"] = "\\markdownRendererCircumflex{}",
- ["\\"] = "\\markdownRendererBackslash{}",
- ["~"] = "\\markdownRendererTilde{}",
- ["|"] = "\\markdownRendererPipe{}",
- }
local escaped_uri_chars = {
["{"] = "\\markdownRendererLeftBrace{}",
["}"] = "\\markdownRendererRightBrace{}",
@@ -14714,27 +15786,54 @@ function M.writer.new(options)
["{"] = "\\markdownRendererLeftBrace{}",
["}"] = "\\markdownRendererRightBrace{}",
["%"] = "\\markdownRendererPercentSign{}",
- ["#"] = "\\markdownRendererHash{}",
["\\"] = "\\markdownRendererBackslash{}",
+ ["#"] = "\\markdownRendererHash{}",
}
local escaped_minimal_strings = {
["^^"] = "\\markdownRendererCircumflex\\markdownRendererCircumflex ",
+ ["☒"] = "\\markdownRendererTickedBox{}",
+ ["⌛"] = "\\markdownRendererHalfTickedBox{}",
+ ["☐"] = "\\markdownRendererUntickedBox{}",
}
% \end{macrocode}
% \par
% \begin{markdown}
%
-% Use the \luam{escaped_chars}, \luam{escaped_uri_chars},
-% \luam{escaped_citation_chars}, and \luam{escaped_minimal_strings} tables
-% to create the \luamdef{escape}, \luamdef{escape_citation}, and
-% \luamdef{escape_uri} escaper functions.
+% Define a table \luamdef{escaped_chars} containing the mapping from special
+% plain \TeX{} characters (including the active pipe character (`|`) of
+% \Hologo{ConTeXt}) that need to be escaped for typeset content.
%
% \end{markdown}
% \begin{macrocode}
- local escape = util.escaper(escaped_chars)
+ local escaped_chars = {
+ ["{"] = "\\markdownRendererLeftBrace{}",
+ ["}"] = "\\markdownRendererRightBrace{}",
+ ["%"] = "\\markdownRendererPercentSign{}",
+ ["\\"] = "\\markdownRendererBackslash{}",
+ ["#"] = "\\markdownRendererHash{}",
+ ["$"] = "\\markdownRendererDollarSign{}",
+ ["&"] = "\\markdownRendererAmpersand{}",
+ ["_"] = "\\markdownRendererUnderscore{}",
+ ["^"] = "\\markdownRendererCircumflex{}",
+ ["~"] = "\\markdownRendererTilde{}",
+ ["|"] = "\\markdownRendererPipe{}",
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Use the \luamref{escaped_chars}, \luamref{escaped_uri_chars},
+% \luamref{escaped_citation_chars}, and \luamref{escaped_minimal_strings} tables
+% to create the \luamdef{escape}, \luamdef{escape_citation},
+% \luamdef{escape_uri}, and \luamdef{escape_minimal} escaper functions.
+%
+% \end{markdown}
+% \begin{macrocode}
+ local escape = util.escaper(escaped_chars, escaped_minimal_strings)
local escape_citation = util.escaper(escaped_citation_chars,
escaped_minimal_strings)
local escape_uri = util.escaper(escaped_uri_chars, escaped_minimal_strings)
+ local escape_minimal = util.escaper({}, escaped_minimal_strings)
% \end{macrocode}
% \par
% \begin{markdown}
@@ -14744,15 +15843,15 @@ function M.writer.new(options)
% function that will transform an input citation name `c` to the output format,
% and \luamdef{writer->uri} as a function that will transform an input
% \acro{uri} `u` to the output format. If the \Opt{hybrid} option is enabled,
-% use identity functions. Otherwise, use the \luam{escape},
-% \luam{escape_citation}, and \luam{escape_uri} functions.
+% use the \luamref{escape_minimal}. Otherwise, use the \luamref{escape},
+% \luamref{escape_citation}, and \luamref{escape_uri} functions.
%
% \end{markdown}
% \begin{macrocode}
if options.hybrid then
- self.string = function(s) return s end
- self.citation = function(c) return c end
- self.uri = function(u) return u end
+ self.string = escape_minimal
+ self.citation = escape_minimal
+ self.uri = escape_minimal
else
self.string = escape
self.citation = escape_citation
@@ -14763,8 +15862,8 @@ function M.writer.new(options)
% \begin{markdown}
%
% Define \luamdef{writer->escape} as a function that will transform an input
-% plain text span to the output format. Unlike the \luam{writer->string}
-% function, \luam{writer->escape} always uses the \luam{escape} function,
+% plain text span to the output format. Unlike the \luamref{writer->string}
+% function, \luamref{writer->escape} always uses the \luamref{escape} function,
% even when the \Opt{hybrid} option is enabled.
%
% \end{markdown}
@@ -14851,9 +15950,9 @@ function M.writer.new(options)
% \begin{markdown}
%
% The \luamdef{languages_json} table maps programming language filename
-% extensions to fence infostrings. All \luam{options.contentBlocksLanguageMap}
+% extensions to fence infostrings. All `options.`\luamref{contentBlocksLanguageMap}
% files located by the KPathSea library are loaded into a chain of tables.
-% \luam{languages_json} corresponds to the first table and is chained with
+% \luamref{languages_json} corresponds to the first table and is chained with
% the rest via Lua metatables.
%
% \end{markdown}
@@ -14866,7 +15965,7 @@ function M.writer.new(options)
% \begin{markdown}
%
% If the KPathSea library is unavailable, perhaps because we are using
-% LuaMeta\TeX, we will only locate the \luam{options.contentBlocksLanguageMap}
+% LuaMeta\TeX, we will only locate the `options.`\luamref{contentBlocksLanguageMap}
% in the current working directory:
%
% \end{markdown}
@@ -15066,6 +16165,24 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
+% Define \luamdef{writer->tickbox} as a function that will transform a
+% number `f` to the output format.
+%
+% \end{markdown}
+% \begin{macrocode}
+ function self.tickbox(f)
+ if f == 1.0 then
+ return "☒ "
+ elseif f == 0.0 then
+ return "☐ "
+ else
+ return "⌛ "
+ end
+ end
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
% Define \luamdef{writer->strong} as a function that will transform a strongly
% emphasized span `s` of input text to the output format.
%
@@ -15123,9 +16240,104 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
+% Define \luamdef{writer->jekyllData} as a function that will transform an
+% input \acro{yaml} table `d` to the output format. The table is the value for
+% the key `p` in the parent table; if `p` is nil, then the table has no parent.
+% All scalar keys and values encountered in the table will be cast to a string
+% following \acro{yaml} serialization rules. String values will also be
+% transformed using the function `t`.
+%
+% \end{markdown}
+% \begin{macrocode}
+ function self.jekyllData(d, t, p)
+ if not self.is_writing then return "" end
+
+ local buf = {}
+
+ local keys = {}
+ for k, _ in pairs(d) do
+ table.insert(keys, k)
+ end
+ table.sort(keys)
+
+ if not p then
+ table.insert(buf, "\\markdownRendererJekyllDataBegin")
+ end
+
+ if #d > 0 then
+ table.insert(buf, "\\markdownRendererJekyllDataSequenceBegin{")
+ table.insert(buf, self.uri(p or "null"))
+ table.insert(buf, "}{")
+ table.insert(buf, #keys)
+ table.insert(buf, "}")
+ else
+ table.insert(buf, "\\markdownRendererJekyllDataMappingBegin{")
+ table.insert(buf, self.uri(p or "null"))
+ table.insert(buf, "}{")
+ table.insert(buf, #keys)
+ table.insert(buf, "}")
+ end
+
+ for _, k in ipairs(keys) do
+ local v = d[k]
+ local typ = type(v)
+ k = tostring(k or "null")
+ if typ == "table" and next(v) ~= nil then
+ table.insert(
+ buf,
+ self.jekyllData(v, t, k)
+ )
+ else
+ k = self.uri(k)
+ v = tostring(v)
+ if typ == "boolean" then
+ table.insert(buf, "\\markdownRendererJekyllDataBoolean{")
+ table.insert(buf, k)
+ table.insert(buf, "}{")
+ table.insert(buf, v)
+ table.insert(buf, "}")
+ elseif typ == "number" then
+ table.insert(buf, "\\markdownRendererJekyllDataNumber{")
+ table.insert(buf, k)
+ table.insert(buf, "}{")
+ table.insert(buf, v)
+ table.insert(buf, "}")
+ elseif typ == "string" then
+ table.insert(buf, "\\markdownRendererJekyllDataString{")
+ table.insert(buf, k)
+ table.insert(buf, "}{")
+ table.insert(buf, t(v))
+ table.insert(buf, "}")
+ elseif typ == "table" then
+ table.insert(buf, "\\markdownRendererJekyllDataEmpty{")
+ table.insert(buf, k)
+ table.insert(buf, "}")
+ else
+ error(format("Unexpected type %s for value of " ..
+ "YAML key %s", typ, k))
+ end
+ end
+ end
+
+ if #d > 0 then
+ table.insert(buf, "\\markdownRendererJekyllDataSequenceEnd")
+ else
+ table.insert(buf, "\\markdownRendererJekyllDataMappingEnd")
+ end
+
+ if not p then
+ table.insert(buf, "\\markdownRendererJekyllDataEnd")
+ end
+
+ return buf
+ end
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
% Define \luamdef{writer->active\_headings} as a stack of identifiers
% of the headings that are currently active. The
-% \luam{writer->active\_headings} member variable is mutable.
+% \luamref{writer->active\_headings} member variable is mutable.
%
% \end{markdown}
% \begin{macrocode}
@@ -15271,8 +16483,8 @@ function M.writer.new(options)
% \end{markdown}
% \begin{macrocode}
function self.set_state(s)
- previous_state = self.get_state()
- for key, value in pairs(state) do
+ local previous_state = self.get_state()
+ for key, value in pairs(s) do
self[key] = value
end
return previous_state
@@ -15283,14 +16495,14 @@ function M.writer.new(options)
%
% Define \luamdef{writer->defer_call} as a function that will encapsulate the
% input function `f`, so that `f` is called with the state of the writer at the
-% time of calling \luam{writer->defer_call}.
+% time of calling \luamref{writer->defer_call}.
%
% \end{markdown}
% \begin{macrocode}
function self.defer_call(f)
- state = self.get_state()
+ local previous_state = self.get_state()
return function(...)
- state = self.set_state(state)
+ local state = self.set_state(previous_state)
local return_value = f(...)
self.set_state(state)
return return_value
@@ -15305,7 +16517,7 @@ end
%
%### Parsers
% The \luamdef{parsers} hash table stores \acro{peg} patterns that are
-% static and can be reused between different \luam{reader} objects.
+% static and can be reused between different \luamref{reader} objects.
%
% \end{markdown}
% \begin{macrocode}
@@ -15403,7 +16615,47 @@ parsers.spnl = parsers.optionalspace
* (parsers.newline * parsers.optionalspace)^-1
parsers.line = parsers.linechar^0 * parsers.newline
parsers.nonemptyline = parsers.line - parsers.blankline
-
+% \end{macrocode}
+% \begin{figure}
+% \hspace*{-0.1\textwidth}
+% \begin{minipage}{1.2\textwidth}
+% \centering
+% \begin{tikzpicture}[shorten >=1pt, line width=0.1mm, >={Stealth[length=2mm]}, node distance=4.5cm, on grid, auto]
+% \node[state, initial by diamond, accepting] (noop) {initial};
+% \node[state] (odd_backslash) [above right=of noop] {odd backslash};
+% \node[state] (even_backslash) [below right=of odd_backslash] {even backslash};
+% \node[state] (comment) [below=of noop] {comment};
+% \node[state] (leading_spaces) [below=of even_backslash, align=center] {leading tabs\\and spaces};
+% \node[state] (blank_line) [below right=of comment] {blank line};
+% \path[->]
+% (noop) edge [in=150, out=180, loop] node [align=center, yshift=-0.75cm] {match [$^\wedge$\textbackslash\%]\\capture \textbackslash$\!^{2k}$\meta{match}\\reset $k$} ()
+% edge [bend right=10] node [below right=-0.2cm] {match \textbackslash} (odd_backslash)
+% edge [bend left=30] node [left, align=center] {match \%\\capture \textbackslash$\!^k$\\reset $k$} (comment)
+% (comment) edge [in=305, out=325, loop] node [xshift=-1.2cm] {match [$^\wedge$$\drsh$]} ()
+% edge [bend left=10] node {match $\drsh$} (leading_spaces)
+% (leading_spaces) edge [loop below] node {match [\textvisiblespace$\rightleftarrows$]} ()
+% edge [bend right=90] node [right] {match \textbackslash} (odd_backslash)
+% edge [bend left=10] node {match \%} (comment)
+% edge [bend right=10] node {$\epsilon$} (blank_line)
+% edge [bend left=10] node [align=center, right=0.3cm] {match [$^\wedge$\textvisiblespace$\rightleftarrows$$\drsh$\textbackslash\%]\\capture \meta{match}} (noop)
+% (blank_line) edge [loop below] node {match [\textvisiblespace$\rightleftarrows$]} ()
+% edge [bend left=90] node [align=center, below=1.2cm] {match $\drsh$\\ capture $\drsh\drsh$} (noop)
+% (odd_backslash) edge [bend right=10] node [align=center, xshift=-0.3cm, yshift=0.2cm] {match \textbackslash\\increment $k$} (even_backslash)
+% edge [bend right=10] node [align=center, above left=-0.3cm, xshift=0.1cm] {match [$^\wedge$\textbackslash]\\for \%, capture \textbackslash$\!^k$\%\\for [$^\wedge$\%], capture \textbackslash$\!^{2k+1}$\meta{match}\\reset $k$} (noop)
+% (even_backslash) edge [bend left=10] node {$\epsilon$} (noop);
+% \end{tikzpicture}
+% \caption{A pushdown automaton that recognizes \TeX{} comments}
+% \label{fig:commented_line}
+% \end{minipage}
+% \end{figure}
+% \begin{markdown}
+%
+% The \luamdef{parsers.commented_line}`^1` parser recognizes the regular
+% language of \TeX{} comments, see an equivalent finite automaton in Figure
+% \vref{fig:commented_line}.
+%
+% \end{markdown}
+% \begin{macrocode}
parsers.commented_line_letter = parsers.linechar
+ parsers.newline
- parsers.backslash
@@ -15442,7 +16694,9 @@ parsers.commented_line = Cg(Cc(""), "backslashes")
+ parsers.percent -- comment
* parsers.line
* parsers.optionalspace) -- leading tabs and spaces
- + C(parsers.newline))
+ + #(parsers.newline)
+ * Cb("backslashes")
+ * C(parsers.newline))
parsers.chunk = parsers.line * (parsers.optionallyindentedline
- parsers.blankline)^0
@@ -15490,6 +16744,16 @@ parsers.bullet = ( parsers.bulletchar * #parsers.spacing
+ parsers.space * parsers.space * parsers.space
* parsers.bulletchar * #parsers.spacing
)
+
+local function tickbox(interior)
+ return parsers.optionalspace * parsers.lbracket
+ * interior * parsers.rbracket * parsers.spacechar^1
+end
+
+parsers.ticked_box = tickbox(S("xX")) * Cc(1.0)
+parsers.halfticked_box = tickbox(S("./")) * Cc(0.5)
+parsers.unticked_box = tickbox(parsers.spacechar^1) * Cc(0.0)
+
% \end{macrocode}
% \par
% \begin{markdown}
@@ -16052,6 +17316,11 @@ parsers.BacktickFencedCode
* Cs(parsers.fencedline(parsers.backtick)^0)
* parsers.fencetail(parsers.backtick)
+parsers.JekyllFencedCode
+ = parsers.fencehead(parsers.dash)
+ * Cs(parsers.fencedline(parsers.dash)^0)
+ * parsers.fencetail(parsers.dash)
+
parsers.lineof = function(c)
return (parsers.leader * (P(c) * parsers.optionalspace)^3
* (parsers.newline * parsers.blankline^1
@@ -16114,24 +17383,24 @@ end
%
%### Markdown Reader
% \label{sec:markdownreader}
-% This section documents the \luam{reader} object, which implements the
+% This section documents the \luamref{reader} object, which implements the
% routines for parsing the markdown input. The object corresponds to the
% markdown reader object that was located in the
% `lunamark/reader/markdown.lua` file in the Lunamark Lua module.
%
% Although not specified in the Lua interface (see Section
-% \ref{sec:luainterface}), the \luam{reader} object is exported, so that the
+% \vref{sec:luainterface}), the \luamref{reader} object is exported, so that the
% curious user could easily tinker with the methods of the objects produced by
-% the \luam{reader.new} method described below. The user should be aware,
+% the \luamref{reader.new} method described below. The user should be aware,
% however, that the implementation may change in a future revision.
%
% The \luamdef{reader.new} method creates and returns a new \TeX{} reader
% object associated with the Lua interface options (see Section
-% \ref{sec:luaoptions}) `options` and with a writer object `writer`. When
+% \vref{sec:luaoptions}) `options` and with a writer object `writer`. When
% `options` are unspecified, it is assumed that an empty table was passed to
% the method.
%
-% The objects produced by the \luam{reader.new} method expose instance methods
+% The objects produced by the \luamref{reader.new} method expose instance methods
% and variables of their own. As a convention, I will refer to these
% \meta{member}s as `reader->`\meta{member}.
%
@@ -16145,7 +17414,7 @@ function M.reader.new(writer, options)
% \par
% \begin{markdown}
%
-% Make the `options` table inherit from the \luam{defaultOptions} table.
+% Make the `options` table inherit from the \luamref{defaultOptions} table.
%
% \end{markdown}
% \begin{macrocode}
@@ -16206,9 +17475,9 @@ function M.reader.new(writer, options)
% \par
% \begin{markdown}
%
-% The \luamdef{larsers} (as in ``local \luam{parsers}'') hash table stores
+% The \luamdef{larsers} (as in ``local \luamref{parsers}'') hash table stores
% \acro{peg} patterns that depend on the received `options`, which impedes
-% their reuse between different \luam{reader} objects.
+% their reuse between different \luamref{reader} objects.
%
% \end{markdown}
% \begin{macrocode}
@@ -16274,7 +17543,7 @@ function M.reader.new(writer, options)
end
end
end
-
+
local parse_blocks
= create_parser("parse_blocks",
function()
@@ -16728,6 +17997,19 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
expandtabs(code))
end
+ larsers.JekyllData = P("---")
+ * parsers.blankline / 0
+ * #(-parsers.blankline) -- if followed by blank, it's an hrule
+ * C((parsers.line - P("---") - P("..."))^0)
+ * (P("---") + P("..."))
+ / function(text)
+ local tinyyaml = require("markdown-tinyyaml")
+ data = tinyyaml.parse(text)
+ return writer.jekyllData(data, function(s)
+ return parse_blocks(s)
+ end, nil)
+ end
+
larsers.Blockquote = Cs(larsers.blockquote_body^1)
/ parse_blocks_toplevel / writer.blockquote
@@ -16769,6 +18051,15 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
% \begin{macrocode}
larsers.starter = parsers.bullet + larsers.enumerator
+ if options.taskLists then
+ larsers.tickbox = ( parsers.ticked_box
+ + parsers.halfticked_box
+ + parsers.unticked_box
+ ) / writer.tickbox
+ else
+ larsers.tickbox = parsers.fail
+ end
+
-- we use \001 as a separator between a tight list item and a
-- nested list under it.
larsers.NestedList = Cs((parsers.optionallyindentedline
@@ -16786,14 +18077,14 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
larsers.TightListItem = function(starter)
return -larsers.HorizontalRule
- * (Cs(starter / "" * larsers.ListBlock * larsers.NestedList^-1)
+ * (Cs(starter / "" * larsers.tickbox^-1 * larsers.ListBlock * larsers.NestedList^-1)
/ parse_blocks)
* -(parsers.blanklines * parsers.indent)
end
larsers.LooseListItem = function(starter)
return -larsers.HorizontalRule
- * Cs( starter / "" * larsers.ListBlock * Cc("\n")
+ * Cs( starter / "" * larsers.tickbox^-1 * larsers.ListBlock * Cc("\n")
* (larsers.NestedList + larsers.ListContinuationBlock^0)
* (parsers.blanklines / "\n\n")
) / parse_blocks
@@ -16944,7 +18235,10 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
Blank = larsers.Blank,
+ JekyllData = larsers.JekyllData,
+
Block = V("ContentBlock")
+ + V("JekyllData")
+ V("Blockquote")
+ V("PipeTable")
+ V("Verbatim")
@@ -17068,8 +18362,8 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
syntax.InlineNote = parsers.fail
end
- if not options.smartEllipses then
- syntax.Smart = parsers.fail
+ if not options.jekyllData then
+ syntax.JekyllData = parsers.fail
end
if options.preserveTabs then
@@ -17080,6 +18374,10 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
syntax.PipeTable = parsers.fail
end
+ if not options.smartEllipses then
+ syntax.Smart = parsers.fail
+ end
+
local blocks_toplevel_t = util.table_copy(syntax)
blocks_toplevel_t.Paragraph = larsers.ToplevelParagraph
larsers.blocks_toplevel = Ct(blocks_toplevel_t)
@@ -17126,7 +18424,7 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
% \begin{markdown}
% When determining the name of the cache file, create salt for the hashing
% function out of the package version and the passed options recognized by the
-% Lua interface (see Section \ref{sec:luaoptions}). The \Opt{cacheDir} option
+% Lua interface (see Section \vref{sec:luaoptions}). The \Opt{cacheDir} option
% is disregarded.
% \end{markdown}
% \begin{macrocode}
@@ -17142,7 +18440,7 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
% \end{macrocode}
% \begin{markdown}
% Produce the cache file and transform its filename to plain \TeX{} output
-% via the \luam{writer->pack} method.
+% via the \luamref{writer->pack} method.
% \end{markdown}
% \begin{macrocode}
local name = util.cache(options.cacheDir, input, salt, function(input)
@@ -17180,9 +18478,9 @@ end
% \begin{markdown}
%
%### Conversion from Markdown to Plain \TeX{}
-% The \luam{new} method returns the \luam{reader->convert} function of a reader
+% The \luamref{new} method returns the \luamref{reader->convert} function of a reader
% object associated with the Lua interface options (see Section
-% \ref{sec:luaoptions}) `options` and with a writer object associated with
+% \vref{sec:luaoptions}) `options` and with a writer object associated with
% `options`.
%
% \end{markdown}
@@ -17205,7 +18503,7 @@ return M
%### Command-Line Implementation
% \label{sec:lua-cli-implementation}
% The command-line implementation provides the actual conversion routine for
-% the command-line interface described in Section~\ref{sec:lua-cli-interface}.
+% the command-line interface described in Section~\vref{sec:lua-cli-interface}.
%
% \end{markdown}
% \begin{macrocode}
@@ -17276,7 +18574,7 @@ end
% The plain \TeX{} implementation provides macros for the interfacing between
% \TeX{} and Lua and for the buffering of input text. These macros are then
% used to implement the macros for the conversion from markdown to plain \TeX{}
-% exposed by the plain \TeX{} interface (see Section \ref{sec:texinterface}).
+% exposed by the plain \TeX{} interface (see Section \vref{sec:texinterface}).
%
%### Logging Facilities
% \label{sec:texinterfacelogging}
@@ -17302,12 +18600,12 @@ end
%
%### Finalizing and Freezing the Cache
%
-% When the \m{markdownOptionFinalizeCache} option is enabled, then the
+% When the \mref{markdownOptionFinalizeCache} option is enabled, then the
% \mdef{markdownFrozenCacheCounter} counter is used to enumerate the markdown
% documents using the Lua interface \Opt{frozenCacheCounter} option.
%
-% When the \m{markdownOptionFrozenCache} option is enabled, then the
-% \m{markdownFrozenCacheCounter} counter is used to render markdown documents
+% When the \mref{markdownOptionFrozenCache} option is enabled, then the
+% \mref{markdownFrozenCacheCounter} counter is used to render markdown documents
% from the frozen cache without invoking Lua.
%
% \end{markdown}
@@ -17386,14 +18684,17 @@ end
\def\markdownRendererFootnotePrototype#1{#1}%
\def\markdownRendererCitePrototype#1{}%
\def\markdownRendererTextCitePrototype#1{}%
+\def\markdownRendererTickedBoxPrototype{[X]}%
+\def\markdownRendererHalfTickedBoxPrototype{[/]}%
+\def\markdownRendererUntickedBoxPrototype{[ ]}%
% \end{macrocode}
% \par
% \begin{markdown}
%
%### Lua Snippets
% The \mdef{markdownLuaOptions} macro expands to a Lua table that
-% contains the plain \TeX{} options (see Section \ref{sec:texoptions}) in a
-% format recognized by Lua (see Section \ref{sec:luaoptions}).
+% contains the plain \TeX{} options (see Section \vref{sec:texoptions}) in a
+% format recognized by Lua (see Section \vref{sec:luaoptions}).
%
% \end{markdown}
% \begin{macrocode}
@@ -17456,6 +18757,9 @@ end
\ifx\markdownOptionInlineFootnotes\undefined\else
inlineFootnotes = \markdownOptionInlineFootnotes,
\fi
+\ifx\markdownOptionJekyllData\undefined\else
+ jekyllData = \markdownOptionJekyllData,
+\fi
\ifx\markdownOptionPipeTables\undefined\else
pipeTables = \markdownOptionPipeTables,
\fi
@@ -17480,6 +18784,9 @@ end
\ifx\markdownOptionTableCaptions\undefined\else
tableCaptions = \markdownOptionTableCaptions,
\fi
+\ifx\markdownOptionTaskLists\undefined\else
+ taskLists = \markdownOptionTaskLists,
+\fi
\ifx\markdownOptionTeXComments\undefined\else
texComments = \markdownOptionTeXComments,
\fi
@@ -17496,14 +18803,14 @@ end
%
% The \mdef{markdownPrepare} macro contains the Lua code that is executed prior
% to any conversion from markdown to plain \TeX{}. It exposes the
-% \luam{convert} function for the use by any further Lua code.
+% \luamref{convert} function for the use by any further Lua code.
%
% \end{markdown}
% \begin{macrocode}
\def\markdownPrepare{%
% \end{macrocode}
% \begin{markdown}
-% First, ensure that the \m{markdownOptionCacheDir} directory exists.
+% First, ensure that the \mref{markdownOptionCacheDir} directory exists.
% \end{markdown}
% \begin{macrocode}
local lfs = require("lfs")
@@ -17515,7 +18822,7 @@ end
% \begin{markdown}
% Next, load the `markdown` module and create a converter function using
% the plain \TeX{} options, which were serialized to a Lua table via the
-% \m{markdownLuaOptions} macro.
+% \mref{markdownLuaOptions} macro.
% \end{markdown}
% \begin{macrocode}
local md = require("markdown")
@@ -17569,8 +18876,8 @@ end
% \par
% \begin{markdown}
%
-% The \m{markdownReadAndConvert} macro is largely a rewrite of the
-% \Hologo{LaTeX2e} \m{filecontents} macro to plain \TeX{}.
+% The \mref{markdownReadAndConvert} macro is largely a rewrite of the
+% \Hologo{LaTeX2e} \mref{filecontents} macro to plain \TeX{}.
%
% \end{markdown}
% \begin{macrocode}
@@ -17582,7 +18889,7 @@ end
% backslash as an ordinary character inside the macro definition. Likewise,
% swap the character codes of the percent sign (`%`) and the ampersand (`@`),
% so that we can remove percent signs from the beginning of lines when
-% \m{markdownOptionStripPercentSigns} is enabled.
+% \mref{markdownOptionStripPercentSigns} is enabled.
% \end{markdown}
% \begin{macrocode}
\catcode`\^^M=13%
@@ -17596,7 +18903,7 @@ end
% \end{macrocode}
% \begin{markdown}
% If we are not reading markdown documents from the frozen cache,
-% open the \m{markdownOptionInputTempFileName} file for writing.
+% open the \mref{markdownOptionInputTempFileName} file for writing.
% \end{markdown}
% \begin{macrocode}
|markdownIfOption{FrozenCache}{}{@
@@ -17621,7 +18928,7 @@ end
% \begin{markdown}
% The \mdef{markdownReadAndConvertStripPercentSigns} macro will process the
% individual lines of output, stipping away leading percent signs (`%`) when
-% \m{markdownOptionStripPercentSigns} is enabled.
+% \mref{markdownOptionStripPercentSigns} is enabled.
% Notice the use of the comments (`@`) to ensure that the entire macro is at
% a single line and therefore no (active) newline symbols
% (`^^M`) are produced.
@@ -17657,7 +18964,7 @@ end
% \begin{markdown}
% If we are not reading markdown documents from the frozen cache and the ending
% token sequence does not appear in the line, store the line in the
-% \m{markdownOptionInputTempFileName} file.
+% \mref{markdownOptionInputTempFileName} file.
% If we are reading markdown documents from the frozen cache and the
% ending token sequence does not appear in the line, gobble the line.
% \end{markdown}
@@ -17670,10 +18977,10 @@ end
% \end{macrocode}
% \begin{markdown}
% When the ending token sequence appears in the line, make the next newline
-% character close the \m{markdownOptionInputTempFileName} file, return the
+% character close the \mref{markdownOptionInputTempFileName} file, return the
% character categories back to the former state, convert the
-% \m{markdownOptionInputTempFileName} file from markdown to plain \TeX{},
-% \m{input} the result of the conversion, and expand the ending control
+% \mref{markdownOptionInputTempFileName} file from markdown to plain \TeX{},
+% \mref{input} the result of the conversion, and expand the ending control
% sequence.
% \end{markdown}
% \begin{macrocode}
@@ -17707,7 +19014,7 @@ end
% \begin{markdown}
% Make the newline character active at expansion time and make it consume the
% rest of the line on expansion. Throw away the rest of the first line and
-% pass the second line to the \m{markdownReadAndConvertProcessLine} macro.
+% pass the second line to the \mref{markdownReadAndConvertProcessLine} macro.
% \end{markdown}
% \begin{macrocode}
|catcode`|^^M=13@
@@ -17730,10 +19037,10 @@ end
% \label{sec:luabridge}
% The following \TeX{} code is intended for \TeX{} engines that do not provide
% direct access to Lua, but expose the shell of the operating system. This
-% corresponds to the \m{markdownMode} values of `0` and `1`.
+% corresponds to the \mref{markdownMode} values of `0` and `1`.
%
-% The \m{markdownLuaExecute} macro defined here and in Section
-% \ref{sec:directlua} are meant to be indistinguishable to the remaining code.
+% The \mref{markdownLuaExecute} macro defined here and in Section
+% \vref{sec:directlua} are meant to be indistinguishable to the remaining code.
%
% The package assumes that although the user is not using the Lua\TeX{} engine,
% their \TeX{} distribution contains it, and uses shell access to produce and
@@ -17756,10 +19063,10 @@ end
% whether the shell access is enabled (`1`), disabled (`0`), or restricted
% (`2`).
%
-% Inherit the value of the the \m{pdfshellescape} (Lua\TeX{}, \Hologo{pdfTeX})
-% or the \m{shellescape} (\Hologo{XeTeX}) commands. If neither of these
+% Inherit the value of the the \mref{pdfshellescape} (Lua\TeX{}, \Hologo{pdfTeX})
+% or the \mref{shellescape} (\Hologo{XeTeX}) commands. If neither of these
% commands is defined and Lua is available, attempt to access the
-% \luam{status.shell_escape} configuration item.
+% \luamref{status.shell_escape} configuration item.
%
% If you cannot detect, whether the shell access is enabled, act as if it were.
%
@@ -17785,7 +19092,7 @@ end
%
% The \mdef{markdownExecuteDirect} macro executes the code it has received as
% its first argument by writing it to the output file stream 18, if Lua is
-% unavailable, or by using the Lua \luam{os.execute} method otherwise.
+% unavailable, or by using the Lua \luamref{os.execute} method otherwise.
%
% \end{markdown}
% \begin{macrocode}
@@ -17800,8 +19107,8 @@ end
% \begin{markdown}
%
% The \mdef{markdownExecute} macro is a wrapper on top of
-% \m{markdownExecuteDirect} that checks the value of
-% \m{markdownExecuteShellEscape} and prints an error message if the shell is
+% \mref{markdownExecuteDirect} that checks the value of
+% \mref{markdownExecuteShellEscape} and prints an error message if the shell is
% inaccessible.
%
% \end{markdown}
@@ -17820,8 +19127,8 @@ end
%
% The \mdef{markdownLuaExecute} macro executes the Lua code it has received as
% its first argument. The Lua code may not directly interact with the \TeX{}
-% engine, but it can use the \luam{print} function in the same manner it
-% would use the \luam{tex.print} method.
+% engine, but it can use the \luamref{print} function in the same manner it
+% would use the \luamref{tex.print} method.
%
% \end{markdown}
% \begin{macrocode}
@@ -17837,7 +19144,7 @@ end
|gdef|markdownLuaExecute#1{%
% \end{macrocode}
% \begin{markdown}
-% Create the file \m{markdownOptionHelperScriptFileName} and fill it with the
+% Create the file \mref{markdownOptionHelperScriptFileName} and fill it with the
% input Lua code prepended with \pkg{kpathsea} initialization, so that Lua
% modules from the \TeX{} distribution are available.
% \end{markdown}
@@ -17854,7 +19161,7 @@ end
end)
% \end{macrocode}
% \begin{markdown}
-% If there was an error, use the file \m{markdownOptionErrorTempFileName} to
+% If there was an error, use the file \mref{markdownOptionErrorTempFileName} to
% store the error message.
% \end{markdown}
% \begin{macrocode}
@@ -17874,9 +19181,9 @@ end
|immediate|closeout|markdownOutputFileStream
% \end{macrocode}
% \begin{markdown}
-% Execute the generated \m{markdownOptionHelperScriptFileName} Lua script using
+% Execute the generated \mref{markdownOptionHelperScriptFileName} Lua script using
% the \TeX{}Lua binary and store the output in the
-% \m{markdownOptionOutputTempFileName} file.
+% \mref{markdownOptionOutputTempFileName} file.
% \end{markdown}
% \begin{macrocode}
|markdownInfo{Executing a helper Lua script from the file
@@ -17888,7 +19195,7 @@ end
/|markdownOptionOutputTempFileName"}%
% \end{macrocode}
% \begin{markdown}
-% \m{input} the generated \m{markdownOptionOutputTempFileName} file.
+% \mref{input} the generated \mref{markdownOptionOutputTempFileName} file.
% \end{markdown}
% \begin{macrocode}
|input|markdownOptionOutputTempFileName|relax}%
@@ -17900,9 +19207,9 @@ end
%### Direct Lua Access
% \label{sec:directlua}
% The following \TeX{} code is intended for \TeX{} engines that provide
-% direct access to Lua (Lua\TeX{}). The macro \m{markdownLuaExecute} defined
-% here and in Section \ref{sec:luabridge} are meant to be indistinguishable to
-% the remaining code. This corresponds to the \m{markdownMode} value of `2`.
+% direct access to Lua (Lua\TeX{}). The macro \mref{markdownLuaExecute} defined
+% here and in Section \vref{sec:luabridge} are meant to be indistinguishable to
+% the remaining code. This corresponds to the \mref{markdownMode} value of `2`.
%
% \end{markdown}
% \begin{macrocode}
@@ -17912,10 +19219,10 @@ end
% \par
% \begin{markdown}
%
-% The direct Lua access version of the \m{markdownLuaExecute} macro is defined
-% in terms of the \m{directlua} primitive. The \luam{print} function is set as
-% an alias to the \m{tex.print} method in order to mimic the behaviour of the
-% \m{markdownLuaExecute} definition from Section \ref{sec:luabridge},
+% The direct Lua access version of the \mref{markdownLuaExecute} macro is defined
+% in terms of the \mref{directlua} primitive. The \luamref{print} function is set as
+% an alias to the \mref{tex.print} method in order to mimic the behaviour of the
+% \mref{markdownLuaExecute} definition from Section \vref{sec:luabridge},
%
% \end{markdown}
% \begin{macrocode}
@@ -17927,8 +19234,8 @@ end
%
%### Typesetting Markdown
%
-% The \m{markdownInput} macro uses an implementation of the
-% \m{markdownLuaExecute} macro to convert the contents of the file whose
+% The \mref{markdownInput} macro uses an implementation of the
+% \mref{markdownLuaExecute} macro to convert the contents of the file whose
% filename it has received as its single argument from markdown to plain
% \TeX{}.
%
@@ -17957,7 +19264,7 @@ end
% \begin{markdown}
% If we are reading from the frozen cache, input it, expand the corresponding
% `\markdownFrozenCache`\meta{number} macro, and increment
-% \m{markdownFrozenCacheCounter}.
+% \mref{markdownFrozenCacheCounter}.
% \end{markdown}
% \begin{macrocode}
|markdownIfOption{FrozenCache}{%
@@ -17998,7 +19305,7 @@ end
% \end{macrocode}
% \begin{markdown}
% If we are finalizing the frozen cache, increment
-% \m{markdownFrozenCacheCounter}.
+% \mref{markdownFrozenCacheCounter}.
% \end{markdown}
% \begin{macrocode}
|markdownIfOption{FinalizeCache}{%
@@ -18025,8 +19332,8 @@ end
% existing plain \TeX{} implementation.
%
% The \LaTeX{} implementation redefines the plain \TeX{} logging macros (see
-% Section \ref{sec:texinterfacelogging}) to use the \LaTeX{} \m{PackageInfo},
-% \m{PackageWarning}, and \m{PackageError} macros.
+% Section \vref{sec:texinterfacelogging}) to use the \LaTeX{} \mref{PackageInfo},
+% \mref{PackageWarning}, and \mref{PackageError} macros.
%
% \end{markdown}
% \begin{macrocode}
@@ -18043,8 +19350,8 @@ end
%
%### Logging Facilities
% The \LaTeX{} implementation redefines the plain \TeX{} logging macros (see
-% Section \ref{sec:texinterfacelogging}) to use the \LaTeX{} \m{PackageInfo},
-% \m{PackageWarning}, and \m{PackageError} macros.
+% Section \vref{sec:texinterfacelogging}) to use the \LaTeX{} \mref{PackageInfo},
+% \mref{PackageWarning}, and \mref{PackageError} macros.
%
% \end{markdown}
% \begin{macrocode}
@@ -18054,9 +19361,9 @@ end
%
%### Typesetting Markdown
% The \mdef{markdownInputPlainTeX} macro is used to store the original plain
-% \TeX{} implementation of the \m{markdownInput} macro. The \m{markdownInput}
+% \TeX{} implementation of the \mref{markdownInput} macro. The \mref{markdownInput}
% is then redefined to accept an optional argument with options recognized by
-% the \LaTeX{} interface (see Section \ref{sec:latexoptions}).
+% the \LaTeX{} interface (see Section \vref{sec:latexoptions}).
%
% \end{markdown}
% \begin{macrocode}
@@ -18070,8 +19377,8 @@ end
% \par
% \begin{markdown}
%
-% The \envm{markdown}, and \envm{markdown*} \LaTeX{} environments are
-% implemented using the \m{markdownReadAndConvert} macro.
+% The \envmref{markdown}, and \envmref{markdown*} \LaTeX{} environments are
+% implemented using the \mref{markdownReadAndConvert} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -18103,7 +19410,7 @@ end
% \begin{markdown}
%
%### Options
-% The supplied package options are processed using the \m{markdownSetup} macro.
+% The supplied package options are processed using the \mref{markdownSetup} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -18144,6 +19451,15 @@ end
% \end{macrocode}
% \begin{markdown}
%
+% We load the \pkg{ifthen} and \pkg{grffile} packages, see also
+% Section~\ref{sec:latexprerequisites}:
+%
+% \end{markdown}
+% \begin{macrocode}
+\RequirePackage{ifthen,grffile}
+% \end{macrocode}
+% \begin{markdown}
+%
% We store the previous definition of the fenced code token renderer prototype:
%
% \end{markdown}
@@ -18155,12 +19471,11 @@ end
%
% If the infostring starts with `dot …`, we redefine the fenced code block
% token renderer prototype, so that it typesets the code block via Graphviz
-% tools if and only if the \m{markdownOptionFrozenCache} plain \TeX{} option is
+% tools if and only if the \mref{markdownOptionFrozenCache} plain \TeX{} option is
% disabled and the code block has not been previously typeset:
%
% \end{markdown}
% \begin{macrocode}
-\RequirePackage{ifthen}
\renewcommand\markdownRendererInputFencedCode[2]{%
\def\next##1 ##2\relax{%
\ifthenelse{\equal{##1}{dot}}{%
@@ -18210,8 +19525,17 @@ end
% \end{macrocode}
% \begin{markdown}
%
-% We define the \m{markdown@witiko@graphicx@http@counter} counter to enumerate
-% the images for caching and the \m{markdown@witiko@graphicx@http@filename}
+% We load the \pkg{catchfile} and \pkg{grffile} packages, see also
+% Section~\ref{sec:latexprerequisites}:
+%
+% \end{markdown}
+% \begin{macrocode}
+\RequirePackage{catchfile,grffile}
+% \end{macrocode}
+% \begin{markdown}
+%
+% We define the \mref{markdown@witiko@graphicx@http@counter} counter to enumerate
+% the images for caching and the \mref{markdown@witiko@graphicx@http@filename}
% command, which will store the pathname of the file containing the pathname
% of the downloaded image file.
%
@@ -18225,7 +19549,7 @@ end
% \end{macrocode}
% \begin{markdown}
%
-% We define the \m{markdown@witiko@graphicx@http@download} command, which will
+% We define the \mref{markdown@witiko@graphicx@http@download} command, which will
% receive two arguments that correspond to the URL of the online image and to
% the pathname, where the online image should be downloaded. The command will
% produce a shell command that tries to downloads the online image to the
@@ -18261,7 +19585,7 @@ end
% \begin{markdown}
%
% The image will be downloaded only if the image URL has the http or https
-% protocols and the \m{markdownOptionFrozenCache} plain \TeX{} option is disabled:
+% protocols and the \mref{markdownOptionFrozenCache} plain \TeX{} option is disabled:
%
% \end{markdown}
% \begin{macrocode}
@@ -18272,7 +19596,7 @@ end
% \end{macrocode}
% \begin{markdown}
%
-% The image will be downloaded to the pathname \m{markdownOptionCacheDir}<!--
+% The image will be downloaded to the pathname \mref{markdownOptionCacheDir}<!--
% -->`/`\meta{the MD5 digest of the image URL}`.`\meta{the suffix of the
% image URL}:
%
@@ -18313,7 +19637,7 @@ end
%
% \end{markdown}
% \begin{macrocode}
- \CatchFileDef{\filename}{\filename}{}^^A
+ \CatchFileDef{\filename}{\filename}{\endlinechar=-1}^^A
\markdown@witiko@graphicx@http@oldRendererImagePrototype^^A
{#1}{#2}{\filename}{#4}^^A
\endgroup
@@ -18342,32 +19666,33 @@ end
% \begin{markdown}
%
%### Token Renderer Prototypes
+% \label{sec:latexdefaultrendererprototypes}
% The following configuration should be considered placeholder. If the `plain`
-% package option has been enabled (see Section \ref{sec:latexplain}), none of
+% package option has been enabled (see Section \vref{sec:latexplain}), none of
% it will take effect.
% \end{markdown}
% \begin{macrocode}
\ifmarkdownLaTeXPlain\else
% \end{macrocode}
% \par
-% \begin{markdown}
-%
-% If the \m{markdownOptionTightLists} macro expands to `false`, do not load
+% \begin{markdown}%
+% If the \mref{markdownOptionTightLists} macro expands to `false`, do not load
% the \pkg{paralist} package. This is necessary for \Hologo{LaTeX2e} document
% classes that do not play nice with \pkg{paralist}, such as \pkg{beamer}.
-% If the \m{markdownOptionTightLists} is undefined and the \pkg{beamer}
+% If the \mref{markdownOptionTightLists} is undefined and the \pkg{beamer}
% document class is in use, then do not load the \pkg{paralist} package either.
%
% \end{markdown}
% \begin{macrocode}
\RequirePackage{ifthen}
-\@ifundefined{markdownOptionTightLists}{%
+
+\ifx\markdownOptionTightLists\undefined
\@ifclassloaded{beamer}{}{%
\RequirePackage{paralist}}%
-}{%
+\else
\ifthenelse{\equal{\markdownOptionTightLists}{false}}{}{%
\RequirePackage{paralist}}%
-}%
+\fi
% \end{macrocode}
% \par
% \begin{markdown}
@@ -18395,6 +19720,8 @@ end
olEndTight = {\markdownRendererOlEnd},
dlBeginTight = {\markdownRendererDlBegin},
dlEndTight = {\markdownRendererDlEnd}}}}
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
\RequirePackage{csvsimple}
\RequirePackage{fancyvrb}
\RequirePackage{graphicx}
@@ -18431,7 +19758,6 @@ end
\label{fig:#1}%
\end{figure}},
ulBegin = {\begin{itemize}},
- ulItem = {\item{}},
ulEnd = {\end{itemize}},
olBegin = {\begin{enumerate}},
olItem = {\item{}},
@@ -18441,6 +19767,9 @@ end
dlItem = {\item[#1]},
dlEnd = {\end{description}},
emphasis = {\emph{#1}},
+ tickedBox = {$\boxtimes$},
+ halfTickedBox = {$\boxdot$},
+ untickedBox = {$\square$},
blockQuoteBegin = {\begin{quotation}},
blockQuoteEnd = {\end{quotation}},
inputVerbatim = {\VerbatimInput{#1}},
@@ -18517,9 +19846,46 @@ end
% \par
% \begin{markdown}
%
-% There is a basic implementation for citations that uses the \LaTeX{} \m{cite}
-% macro. There are also implementations that use the \pkg{natbib} \m{citep},
-% and \m{citet} macros, and the Bib\LaTeX{} \m{autocites} and \m{textcites}
+%#### Tickboxes
+% If the \Opt{taskLists} option is enabled, we will hide bullets in unordered
+% list items with tickboxes.
+%
+% \end{markdown}
+% \begin{macrocode}
+\markdownSetup{
+ rendererPrototypes = {
+ ulItem = {%
+ \futurelet\markdownLaTeXCheckbox\markdownLaTeXUlItem
+ },
+ },
+}
+\def\markdownLaTeXUlItem{%
+ \ifx\markdownLaTeXCheckbox\markdownRendererTickedBox
+ \item[\markdownLaTeXCheckbox]%
+ \expandafter\@gobble
+ \else
+ \ifx\markdownLaTeXCheckbox\markdownRendererHalfTickedBox
+ \item[\markdownLaTeXCheckbox]%
+ \expandafter\expandafter\expandafter\@gobble
+ \else
+ \ifx\markdownLaTeXCheckbox\markdownRendererUntickedBox
+ \item[\markdownLaTeXCheckbox]%
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter\@gobble
+ \else
+ \item{}%
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+%#### Citations
+% Here is a basic implementation for citations that uses the \LaTeX{} \mref{cite}
+% macro. There are also implementations that use the \pkg{natbib} \mref{citep},
+% and \mref{citet} macros, and the Bib\LaTeX{} \mref{autocites} and \mref{textcites}
% macros. These implementations will be used, when the respective packages are
% loaded.
%
@@ -18748,6 +20114,7 @@ end
% \par
% \begin{markdown}
%
+%#### Links
% Before consuming the parameters for the hyperlink renderer, we change the
% category code of the hash sign (`#`) to other, so that it cannot be
% mistaken for a parameter character. After the hyperlink has been typeset,
@@ -18768,7 +20135,8 @@ end
% \par
% \begin{markdown}
%
-% There is a basic implementation of tables. If the \pkg{booktabs} package is
+%#### Tables
+% Here is a basic implementation of tables. If the \pkg{booktabs} package is
% loaded, then it is used to produce horizontal lines.
%
% \end{markdown}
@@ -18854,10 +20222,312 @@ end
% \par
% \begin{markdown}
%
+%#### YAML Metadata
+% \label{sec:latexyamlmetadata}
+% To parse the \acro{yaml} metadata we will use the expl3 language from the
+% \LaTeX3 kernel.
+%
+% \end{markdown}
+% \begin{macrocode}
+\RequirePackage{expl3}
+\ExplSyntaxOn
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% To keep track of the current type of structure we inhabit when we are
+% traversing a \acro{yaml} document, we will maintain the
+% \mdef{g_\@\@_jekyll_data_datatypes_seq} stack. At every step of the traversal,
+% the stack will contain one of the following constants at any position $p$:
+%
+% \mdef{c_\@\@_jekyll_data_sequence_tl}
+%
+%: The currently traversed branch of the \acro{yaml} document contains a sequence
+% at depth $p$.
+%
+% \mdef{c_\@\@_jekyll_data_mapping_tl}
+%
+%: The currently traversed branch of the \acro{yaml} document contains a mapping
+% at depth $p$.
+%
+% \mdef{c_\@\@_jekyll_data_scalar_tl}
+%
+%: The currently traversed branch of the \acro{yaml} document contains a scalar
+% value at depth $p$.
+%
+% \end{markdown}
+% \begin{macrocode}
+\seq_new:N \g_@@_jekyll_data_datatypes_seq
+\tl_const:Nn \c_@@_jekyll_data_sequence_tl { sequence }
+\tl_const:Nn \c_@@_jekyll_data_mapping_tl { mapping }
+\tl_const:Nn \c_@@_jekyll_data_scalar_tl { scalar }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% To keep track of our current place when we are traversing a \acro{yaml}
+% document, we will maintain the
+% \mdef{g_\@\@_jekyll_data_wildcard_absolute_address_seq} stack of keys using
+% the \mdef{markdown_jekyll_data_push_address_segment:n} macro.
+%
+% \end{markdown}
+% \begin{macrocode}
+\seq_new:N \g_@@_jekyll_data_wildcard_absolute_address_seq
+\cs_new:Nn \markdown_jekyll_data_push_address_segment:n
+ {
+ \seq_if_empty:NF
+ \g_@@_jekyll_data_datatypes_seq
+ {
+ \seq_get_right:NN
+ \g_@@_jekyll_data_datatypes_seq
+ \l_tmpa_tl
+% \end{macrocode}
+% \begin{markdown}
+%
+% If we are currently in a sequence, we will put an asterisk (`*`) instead of
+% a key into \mref{g_\@\@_jekyll_data_wildcard_absolute_address_seq} to make
+% it represent a *wildcard*. Keeping a wildcard instead of a precise address
+% makes it easy for the users to react to *any* item of a sequence regardless
+% of how many there are, which can often be useful.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \tl_if_eq:NNTF
+ \l_tmpa_tl
+ \c_@@_jekyll_data_sequence_tl
+ {
+ \seq_put_right:Nn
+ \g_@@_jekyll_data_wildcard_absolute_address_seq
+ { * }
+ }
+ {
+ \seq_put_right:Nn
+ \g_@@_jekyll_data_wildcard_absolute_address_seq
+ { #1 }
+ }
+ }
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Out of \mref{g_\@\@_jekyll_data_wildcard_absolute_address_seq}, we will
+% construct the following two token lists:
+%
+% \mdef{g_\@\@_jekyll_data_wildcard_absolute_address_tl}
+%
+%: An *absolute wildcard*: The wildcard from the root of the document
+% prefixed with a slash (`/`) with individual keys and asterisks also
+% delimited by slashes. Allows the users to react to complex
+% context-sensitive structures with ease.
+%
+%: For example, the `name` key in the following \acro{yaml} document
+% would correspond to the `/*/person/name` absolute wildcard:
+% ``` yaml
+% [{person: {name: Elon, surname: Musk}}]
+% ```
+%
+% \mdef{g_\@\@_jekyll_data_wildcard_relative_address_tl}
+%
+%: A *relative wildcard*: The rightmost segment of the wildcard. Allows the
+% users to react to simple context-free structures.
+%
+%: For example, the `name` key in the following \acro{yaml} document
+% would correspond to the `name` relative wildcard:
+% ``` yaml
+% [{person: {name: Elon, surname: Musk}}]
+% ```
+%
+% We will construct \mref{g_\@\@_jekyll_data_wildcard_absolute_address_tl}
+% using the \mdef{markdown_jekyll_data_concatenate_address:NN} macro and
+% we will construct both token lists using the
+% \mdef{markdown_jekyll_data_update_address_tls:} macro.
+%
+% \end{markdown}
+% \begin{macrocode}
+\tl_new:N \g_@@_jekyll_data_wildcard_absolute_address_tl
+\tl_new:N \g_@@_jekyll_data_wildcard_relative_address_tl
+\cs_new:Nn \markdown_jekyll_data_concatenate_address:NN
+ {
+ \seq_pop_left:NN #1 \l_tmpa_tl
+ \tl_set:Nx #2 { / \seq_use:Nn #1 { / } }
+ \seq_put_left:NV #1 \l_tmpa_tl
+ }
+\cs_new:Nn \markdown_jekyll_data_update_address_tls:
+ {
+ \markdown_jekyll_data_concatenate_address:NN
+ \g_@@_jekyll_data_wildcard_absolute_address_seq
+ \g_@@_jekyll_data_wildcard_absolute_address_tl
+ \seq_get_right:NN
+ \g_@@_jekyll_data_wildcard_absolute_address_seq
+ \g_@@_jekyll_data_wildcard_relative_address_tl
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% To make sure that the stacks and token lists stay in sync, we will use the
+% \mdef{markdown_jekyll_data_push:nN} and \mdef{markdown_jekyll_data_pop:}
+% macros.
+%
+% \end{markdown}
+% \begin{macrocode}
+\cs_new:Nn \markdown_jekyll_data_push:nN
+ {
+ \markdown_jekyll_data_push_address_segment:n
+ { #1 }
+ \seq_put_right:NV
+ \g_@@_jekyll_data_datatypes_seq
+ #2
+ \markdown_jekyll_data_update_address_tls:
+ }
+\cs_new:Nn \markdown_jekyll_data_pop:
+ {
+ \seq_pop_right:NN
+ \g_@@_jekyll_data_wildcard_absolute_address_seq
+ \l_tmpa_tl
+ \seq_pop_right:NN
+ \g_@@_jekyll_data_datatypes_seq
+ \l_tmpa_tl
+ \markdown_jekyll_data_update_address_tls:
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% To interface with the user, we use `markdown/jekyllData` key--values from the
+% l3keys module of the \LaTeX3 kernel. The default setup will invoke the
+% \mref{title}, \mref{author}, and \mref{date} macros when scalar values for
+% keys that correspond to the `title`, `author`, and `date` relative wildcards
+% are encountered, respectively.
+%
+% \end{markdown}
+% \begin{macrocode}
+\keys_define:nn
+ { markdown/jekyllData }
+ {
+ author .code:n = { \author{#1} },
+ date .code:n = { \date{#1} },
+ title .code:n = { \title{#1} },
+ }
+% \end{macrocode}
+% \begin{markdown}
+%
+% To set a single key--value, we will use the
+% \mdef{markdown_jekyll_data_set_keyval:Nn} macro, ignoring unknown keys.
+% To set key--values for both absolute and relative wildcards, we will use the
+% \mdef{markdown_jekyll_data_set_keyvals:nn} macro.
+%
+% \end{markdown}
+% \begin{macrocode}
+\cs_new:Nn \markdown_jekyll_data_set_keyval:nn
+ {
+ \keys_set_known:nn
+ { markdown/jekyllData }
+ { { #1 } = { #2 } }
+ }
+\cs_generate_variant:Nn
+ \markdown_jekyll_data_set_keyval:nn
+ { Vn }
+\cs_new:Nn \markdown_jekyll_data_set_keyvals:nn
+ {
+ \markdown_jekyll_data_push:nN
+ { #1 }
+ \c_@@_jekyll_data_scalar_tl
+ \markdown_jekyll_data_set_keyval:Vn
+ \g_@@_jekyll_data_wildcard_absolute_address_tl
+ { #2 }
+ \markdown_jekyll_data_set_keyval:Vn
+ \g_@@_jekyll_data_wildcard_relative_address_tl
+ { #2 }
+ \markdown_jekyll_data_pop:
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Finally, we will register our macros as token renderer prototypes
+% to be able to react to the traversal of a \acro{yaml} document.
+%
+% \end{markdown}
+% \begin{macrocode}
+\markdownSetup{
+ rendererPrototypes = {
+ jekyllDataSequenceBegin = {
+ \markdown_jekyll_data_push:nN
+ { #1 }
+ \c_@@_jekyll_data_sequence_tl
+ },
+ jekyllDataMappingBegin = {
+ \markdown_jekyll_data_push:nN
+ { #1 }
+ \c_@@_jekyll_data_mapping_tl
+ },
+ jekyllDataSequenceEnd = {
+ \markdown_jekyll_data_pop:
+ },
+ jekyllDataMappingEnd = {
+ \markdown_jekyll_data_pop:
+ },
+ jekyllDataBoolean = {
+ \markdown_jekyll_data_set_keyvals:nn
+ { #1 }
+ { #2 }
+ },
+ jekyllDataEmpty = { },
+ jekyllDataNumber = {
+ \markdown_jekyll_data_set_keyvals:nn
+ { #1 }
+ { #2 }
+ },
+ jekyllDataString = {
+ \markdown_jekyll_data_set_keyvals:nn
+ { #1 }
+ { #2 }
+ },
+% \end{macrocode}
+% \begin{markdown}
+%
+% To complement the default setup of our key--values, we will use
+% the \mref{maketitle} macro to typeset the title page of a document
+% at the end of \acro{yaml} metadata. If we are in the preamble, we will wait
+% macro until after the beginning of the document. Otherwise, we will use
+% the \mref{maketitle} macro straight away.
+%
+% \end{markdown}
+% \begin{macrocode}
+ },
+}
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\markdownSetup{
+ rendererPrototypes = {
+ jekyllDataEnd = {
+ \IfFormatAtLeastTF
+ { 2020-10-01 }
+ { \AddToHook{begindocument/end}{\maketitle} }
+ {
+ \ifx\@onlypreamble\@notprerr
+ % We are in the document
+ \maketitle
+ \else
+ % We are in the preamble
+ \RequirePackage{etoolbox}
+ \AfterEndPreamble{\maketitle}
+ \fi
+ }
+ },
+ },
+}
+
+\ExplSyntaxOff
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
%### Miscellanea
% When buffering user input, we should disable the bytes with the high bit set,
% since these are made active by the \pkg{inputenc} package. We will do this by
-% redefining the \m{markdownMakeOther} macro accordingly. The code is courtesy
+% redefining the \mref{markdownMakeOther} macro accordingly. The code is courtesy
% of Scott Pakin, the creator of the \pkg{filecontents} package.
%
% \end{markdown}
@@ -18887,8 +20557,8 @@ end
% after supplying the missing plain \TeX{} macros.
%
% The \Hologo{ConTeXt} implementation redefines the plain \TeX{} logging macros
-% (see Section \ref{sec:texinterfacelogging}) to use the \Hologo{ConTeXt}
-% \m{writestatus} macro.
+% (see Section \vref{sec:texinterfacelogging}) to use the \Hologo{ConTeXt}
+% \mref{writestatus} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -18902,8 +20572,8 @@ end
% \begin{markdown}
%
% When buffering user input, we should disable the bytes with the high bit set,
-% since these are made active by the \m{enableregime} macro. We will do this
-% by redefining the \m{markdownMakeOther} macro accordingly. The code is
+% since these are made active by the \mref{enableregime} macro. We will do this
+% by redefining the \mref{markdownMakeOther} macro accordingly. The code is
% courtesy of Scott Pakin, the creator of the \pkg{filecontents} \LaTeX{}
% package.
%
@@ -18930,8 +20600,8 @@ end
% \begin{markdown}
%
%### Typesetting Markdown
-% The \m{startmarkdown} and \m{stopmarkdown} macros are implemented using the
-% \m{markdownReadAndConvert} macro.
+% The \mref{startmarkdown} and \mref{stopmarkdown} macros are implemented using the
+% \mref{markdownReadAndConvert} macro.
%
% \end{markdown}
% \begin{macrocode}
@@ -19041,7 +20711,7 @@ end
% \begin{markdown}
%
% The code fence infostring is used as a name from the \Hologo{ConTeXt}
-% \m{definetyping} macro. This allows the user to set up code highlighting
+% \mref{definetyping} macro. This allows the user to set up code highlighting
% mapping as follows:
% ````` tex
% % Map the `TEX` syntax highlighter to the `latex` infostring.
@@ -19147,6 +20817,9 @@ end
\ifnum\markdownConTeXtColumnCounter<\markdownConTeXtColumnTotal\relax\else
\expandafter\gobbleoneargument
\fi\markdownConTeXtRenderTableCell}
+\def\markdownRendererTickedBox{$\boxtimes$}
+\def\markdownRendererHalfTickedBox{$\boxdot$}
+\def\markdownRendererUntickedBox{$\square$}
% \end{macrocode}
% \iffalse
%</context>
diff --git a/macros/generic/markdown/markdown.html b/macros/generic/markdown/markdown.html
index b0ff35085b..920955423f 100644
--- a/macros/generic/markdown/markdown.html
+++ b/macros/generic/markdown/markdown.html
@@ -6,116 +6,119 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="Vít Novotný" />
<title>Markdown Package User Manual</title>
- <style type="text/css">
- code{white-space: pre-wrap;}
- span.smallcaps{font-variant: small-caps;}
- span.underline{text-decoration: underline;}
- div.column{display: inline-block; vertical-align: top; width: 50%;}
- </style>
- <style type="text/css">
-a.sourceLine { display: inline-block; line-height: 1.25; }
-a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
-a.sourceLine:empty { height: 1.2em; position: absolute; }
-.sourceCode { overflow: visible; }
-code.sourceCode { white-space: pre; position: relative; }
-div.sourceCode { margin: 1em 0; }
-pre.sourceCode { margin: 0; }
-@media screen {
-div.sourceCode { overflow: auto; }
-}
-@media print {
-code.sourceCode { white-space: pre-wrap; }
-a.sourceLine { text-indent: -1em; padding-left: 1em; }
-}
-pre.numberSource a.sourceLine
- { position: relative; }
-pre.numberSource a.sourceLine:empty
- { position: absolute; }
-pre.numberSource a.sourceLine::before
- { content: attr(data-line-number);
- position: absolute; left: -5em; text-align: right; vertical-align: baseline;
- border: none; pointer-events: all;
- -webkit-touch-callout: none; -webkit-user-select: none;
- -khtml-user-select: none; -moz-user-select: none;
- -ms-user-select: none; user-select: none;
- padding: 0 4px; width: 4em;
- color: #aaaaaa;
- }
-pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
-div.sourceCode
- { }
-@media screen {
-a.sourceLine::before { text-decoration: underline; }
-}
-code span.al { color: #ff0000; font-weight: bold; } /* Alert */
-code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
-code span.at { color: #7d9029; } /* Attribute */
-code span.bn { color: #40a070; } /* BaseN */
-code span.bu { } /* BuiltIn */
-code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
-code span.ch { color: #4070a0; } /* Char */
-code span.cn { color: #880000; } /* Constant */
-code span.co { color: #60a0b0; font-style: italic; } /* Comment */
-code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
-code span.do { color: #ba2121; font-style: italic; } /* Documentation */
-code span.dt { color: #902000; } /* DataType */
-code span.dv { color: #40a070; } /* DecVal */
-code span.er { color: #ff0000; font-weight: bold; } /* Error */
-code span.ex { } /* Extension */
-code span.fl { color: #40a070; } /* Float */
-code span.fu { color: #06287e; } /* Function */
-code span.im { } /* Import */
-code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
-code span.kw { color: #007020; font-weight: bold; } /* Keyword */
-code span.op { color: #666666; } /* Operator */
-code span.ot { color: #007020; } /* Other */
-code span.pp { color: #bc7a00; } /* Preprocessor */
-code span.sc { color: #4070a0; } /* SpecialChar */
-code span.ss { color: #bb6688; } /* SpecialString */
-code span.st { color: #4070a0; } /* String */
-code span.va { color: #19177c; } /* Variable */
-code span.vs { color: #4070a0; } /* VerbatimString */
-code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
+ <style>
+ code{white-space: pre-wrap;}
+ span.smallcaps{font-variant: small-caps;}
+ span.underline{text-decoration: underline;}
+ div.column{display: inline-block; vertical-align: top; width: 50%;}
+ div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
+ ul.task-list{list-style: none;}
+ pre > code.sourceCode { white-space: pre; position: relative; }
+ pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
+ pre > code.sourceCode > span:empty { height: 1.2em; }
+ code.sourceCode > span { color: inherit; text-decoration: inherit; }
+ div.sourceCode { margin: 1em 0; }
+ pre.sourceCode { margin: 0; }
+ @media screen {
+ div.sourceCode { overflow: auto; }
+ }
+ @media print {
+ pre > code.sourceCode { white-space: pre-wrap; }
+ pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
+ }
+ pre.numberSource code
+ { counter-reset: source-line 0; }
+ pre.numberSource code > span
+ { position: relative; left: -4em; counter-increment: source-line; }
+ pre.numberSource code > span > a:first-child::before
+ { content: counter(source-line);
+ position: relative; left: -1em; text-align: right; vertical-align: baseline;
+ border: none; display: inline-block;
+ -webkit-touch-callout: none; -webkit-user-select: none;
+ -khtml-user-select: none; -moz-user-select: none;
+ -ms-user-select: none; user-select: none;
+ padding: 0 4px; width: 4em;
+ color: #aaaaaa;
+ }
+ pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
+ div.sourceCode
+ { }
+ @media screen {
+ pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
+ }
+ code span.al { color: #ff0000; font-weight: bold; } /* Alert */
+ code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
+ code span.at { color: #7d9029; } /* Attribute */
+ code span.bn { color: #40a070; } /* BaseN */
+ code span.bu { } /* BuiltIn */
+ code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
+ code span.ch { color: #4070a0; } /* Char */
+ code span.cn { color: #880000; } /* Constant */
+ code span.co { color: #60a0b0; font-style: italic; } /* Comment */
+ code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
+ code span.do { color: #ba2121; font-style: italic; } /* Documentation */
+ code span.dt { color: #902000; } /* DataType */
+ code span.dv { color: #40a070; } /* DecVal */
+ code span.er { color: #ff0000; font-weight: bold; } /* Error */
+ code span.ex { } /* Extension */
+ code span.fl { color: #40a070; } /* Float */
+ code span.fu { color: #06287e; } /* Function */
+ code span.im { } /* Import */
+ code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
+ code span.kw { color: #007020; font-weight: bold; } /* Keyword */
+ code span.op { color: #666666; } /* Operator */
+ code span.ot { color: #007020; } /* Other */
+ code span.pp { color: #bc7a00; } /* Preprocessor */
+ code span.sc { color: #4070a0; } /* SpecialChar */
+ code span.ss { color: #bb6688; } /* SpecialString */
+ code span.st { color: #4070a0; } /* String */
+ code span.va { color: #19177c; } /* Variable */
+ code span.vs { color: #4070a0; } /* VerbatimString */
+ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>
<link rel="stylesheet" href="markdown.css" />
- <!--[if lt IE 9]>
- <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
- <![endif]-->
</head>
<body>
-<header>
+<header id="title-block-header">
<h1 class="title">Markdown Package User Manual</h1>
<p class="author">Vít Novotný</p>
-<p class="date">v2.10.1 (2021/08/31)</p>
+<p class="date">2.11.0-0-g4505824 (2021/09/26)</p>
</header>
-<nav id="TOC">
+<nav id="TOC" role="doc-toc">
+<ul>
+<li><a href="#introduction"><span class="toc-section-number">1</span> Introduction</a>
<ul>
-<li><a href="#introduction"><span class="toc-section-number">1</span> Introduction</a><ul>
<li><a href="#requirements"><span class="toc-section-number">1.1</span> Requirements</a></li>
-<li><a href="#installation"><span class="toc-section-number">1.2</span> Installation</a><ul>
+<li><a href="#installation"><span class="toc-section-number">1.2</span> Installation</a>
+<ul>
<li><a href="#local-installation"><span class="toc-section-number">1.2.1</span> Local Installation</a></li>
<li><a href="#portable-installation"><span class="toc-section-number">1.2.2</span> Portable Installation</a></li>
</ul></li>
-<li><a href="#first-document"><span class="toc-section-number">1.3</span> First Document</a><ul>
+<li><a href="#first-document"><span class="toc-section-number">1.3</span> First Document</a>
+<ul>
<li><a href="#using-lua"><span class="toc-section-number">1.3.1</span> Using Lua</a></li>
<li><a href="#using-plain-tex"><span class="toc-section-number">1.3.2</span> Using Plain <span class="tex">T<sub>e</sub>X</span></a></li>
<li><a href="#using-latex"><span class="toc-section-number">1.3.3</span> Using <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li>
<li><a href="#using-context"><span class="toc-section-number">1.3.4</span> Using Con<span class="tex">T<sub>e</sub>X</span>t</a></li>
</ul></li>
</ul></li>
-<li><a href="#examples"><span class="toc-section-number">2</span> Examples</a><ul>
-<li><a href="#interfaces"><span class="toc-section-number">2.1</span> Interfaces</a><ul>
+<li><a href="#examples"><span class="toc-section-number">2</span> Examples</a>
+<ul>
+<li><a href="#interfaces"><span class="toc-section-number">2.1</span> Interfaces</a>
+<ul>
<li><a href="#lua"><span class="toc-section-number">2.1.1</span> Lua</a></li>
<li><a href="#plain-tex"><span class="toc-section-number">2.1.2</span> Plain <span class="tex">T<sub>e</sub>X</span></a></li>
<li><a href="#latex"><span class="toc-section-number">2.1.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li>
<li><a href="#context"><span class="toc-section-number">2.1.4</span> Con<span class="tex">T<sub>e</sub>X</span>t</a></li>
</ul></li>
-<li><a href="#options"><span class="toc-section-number">2.2</span> Options</a><ul>
+<li><a href="#options"><span class="toc-section-number">2.2</span> Options</a>
+<ul>
<li><a href="#lua-1"><span class="toc-section-number">2.2.1</span> Lua</a></li>
<li><a href="#plain-tex-1"><span class="toc-section-number">2.2.2</span> Plain <span class="tex">T<sub>e</sub>X</span></a></li>
<li><a href="#latex-1"><span class="toc-section-number">2.2.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></a></li>
</ul></li>
-<li><a href="#markdown-tokens"><span class="toc-section-number">2.3</span> Markdown Tokens</a><ul>
+<li><a href="#markdown-tokens"><span class="toc-section-number">2.3</span> Markdown Tokens</a>
+<ul>
<li><a href="#token-renderers"><span class="toc-section-number">2.3.1</span> Token Renderers</a></li>
<li><a href="#token-renderer-prototypes"><span class="toc-section-number">2.3.2</span> Token Renderer Prototypes</a></li>
</ul></li>
@@ -123,21 +126,22 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</ul>
</nav>
<p><link href="https://afeld.github.io/emoji-css/emoji.css" rel="stylesheet" /></p>
-<h1 id="introduction"><span class="header-section-number">1</span> Introduction</h1>
+<h1 data-number="1" id="introduction"><span class="header-section-number">1</span> Introduction</h1>
<p>The <a href="https://ctan.org/pkg/markdown" title="CTAN: Package markdown">Markdown package</a> converts <a href="https://daringfireball.net/projects/markdown/basics" title="Daring Fireball: Markdown Basics">markdown</a> markup to <span class="tex">T<sub>e</sub>X</span> commands. The functionality is provided both as a Lua module and as plain <span class="tex">T<sub>e</sub>X</span>, <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>, and Con<span class="tex">T<sub>e</sub>X</span>t macro packages that can be used to directly typeset documents containing markdown markup. Unlike other convertors, the Markdown package does not require any external programs, and makes it easy to redefine how each and every markdown element is rendered. Creative abuse of the markdown syntax is encouraged. <i class="em em-wink"></i></p>
-<p>This document is a user manual for the <a href="https://ctan.org/pkg/markdown" title="CTAN: Package markdown">Markdown package</a>. It provides tutorials and code examples. For an in-depth description of the package requirements, interfaces, and implementation, please refer to the <a href="http://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for &lt;span class=&quot;tex&quot;&gt;T&lt;sub&gt;e&lt;/sub&gt;X&lt;/span&gt;">technical documentation</a>.</p>
-<h2 id="requirements"><span class="header-section-number">1.1</span> Requirements</h2>
-<p>The package requires a working <span class="tex">T<sub>e</sub>X</span> distribution. <a href="https://www.tug.org/texlive/" title="TeX Live - TeX Users Group"><span class="tex">T<sub>e</sub>X</span> Live</a> ≥ 2013 is known to work and so are recent installation of <a href="https://miktex.org/" title="Home - MiKTeXorg">Mik<span class="tex">T<sub>e</sub>X</span></a>. If you are using a minimal installation of a <span class="tex">T<sub>e</sub>X</span> distribution, please consult the <a href="http://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for &lt;span class=&quot;tex&quot;&gt;T&lt;sub&gt;e&lt;/sub&gt;X&lt;/span&gt;">technical documentation</a> for a detailed list of required packages.</p>
-<h2 id="installation"><span class="header-section-number">1.2</span> Installation</h2>
-<p>The package comes pre-installed with <a href="https://www.tug.org/texlive/" title="TeX Live - TeX Users Group"><span class="tex">T<sub>e</sub>X</span> Live</a> ≥ 2016 and with recent installations of <a href="https://miktex.org/" title="Home - MiKTeXorg">MikTeX</a>. Unless you explicitly wish to use the latest version of the package, you are encouraged to skip this step.</p>
-<p>To install the package, first download the package from the repository using Git:</p>
-<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb1-1" data-line-number="1"><span class="fu">git</span> clone https://github.com/witiko/markdown</a></code></pre></div>
-<p>Next, enter the directory named <code>markdown</code> and interpret the file named <code>markdown.ins</code> file using a Unicode-aware <span class="tex">T<sub>e</sub>X</span> engine, such as XeTeX or LuaTeX:</p>
-<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="bu">cd</span> markdown</a>
-<a class="sourceLine" id="cb2-2" data-line-number="2"><span class="ex">luatex</span> markdown.ins</a></code></pre></div>
+<p>This document is a user manual for the <a href="https://ctan.org/pkg/markdown" title="CTAN: Package markdown">Markdown package</a>. It provides tutorials and code examples. For an in-depth description of the package requirements, interfaces, and implementation, please refer to the <a href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for &lt;span class=&quot;tex&quot;&gt;T&lt;sub&gt;e&lt;/sub&gt;X&lt;/span&gt;">technical documentation</a>.</p>
+<h2 data-number="1.1" id="requirements"><span class="header-section-number">1.1</span> Requirements</h2>
+<p>The package requires either <a href="https://hub.docker.com/r/witiko/markdown/tags" title="witiko/markdown - Docker Image">our official Docker image</a>, which contains the latest development version of the Markdown package, or a <span class="tex">T<sub>e</sub>X</span> distribution: <a href="https://www.tug.org/texlive/" title="TeX Live - TeX Users Group"><span class="tex">T<sub>e</sub>X</span> Live</a> ≥ 2018 is known to work with the current version of the Markdown package and so are recent versions of <a href="https://miktex.org/" title="Home - MiKTeXorg">Mik<span class="tex">T<sub>e</sub>X</span></a>. If you are using an older, incomplete, or atypical <span class="tex">T<sub>e</sub>X</span> distribution, please consult the <a href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for &lt;span class=&quot;tex&quot;&gt;T&lt;sub&gt;e&lt;/sub&gt;X&lt;/span&gt;">technical documentation</a> for a detailed list of requirements.</p>
+<h2 data-number="1.2" id="installation"><span class="header-section-number">1.2</span> Installation</h2>
+<p>If Markdown is not included in your <span class="tex">T<sub>e</sub>X</span> distribution, you will need to install it.</p>
+<p>First, download the package from the repository using Git:</p>
+<div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span></code></pre></div>
+<p>Next, enter the directory named <code>markdown</code> and run the <code>make base</code> command using GNU Make:</p>
+<div class="sourceCode" id="cb2"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true"></a><span class="bu">cd</span> markdown</span>
+<span id="cb2-2"><a href="#cb2-2" aria-hidden="true"></a><span class="fu">make</span> base</span></code></pre></div>
<p>This should produce the following files:</p>
<ul>
<li><code>markdown.lua</code>, the Lua module,</li>
+<li><code>libraries/markdown-tinyyaml.lua</code>, an external library for reading <abbr>yaml</abbr>,</li>
<li><code>markdown-cli.lua</code>, the Lua command-line interface,</li>
<li><code>markdown.tex</code>, the plain <span class="tex">T<sub>e</sub>X</span> macro package,</li>
<li><code>markdown.sty</code>, the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package,</li>
@@ -146,192 +150,196 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<li><code>markdownthemewitiko_tilde.sty</code>, the <code>witiko/tilde</code> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> theme, and</li>
<li><code>t-markdown.tex</code>, the Con<span class="tex">T<sub>e</sub>X</span>t module.</li>
</ul>
-<h3 id="local-installation"><span class="header-section-number">1.2.1</span> Local Installation</h3>
+<h3 data-number="1.2.1" id="local-installation"><span class="header-section-number">1.2.1</span> Local Installation</h3>
<p>To perform a local installation, place the above files into your <span class="tex">T<sub>e</sub>X</span> directory structure. This is generally where the individual files should be placed:</p>
<ul>
-<li><code>&lt;TEXMF&gt;/tex/luatex/markdown/markdown.lua</code></li>
-<li><code>&lt;TEXMF&gt;/scripts/markdown/markdown-cli.lua</code></li>
-<li><code>&lt;TEXMF&gt;/tex/generic/markdown/markdown.tex</code></li>
-<li><code>&lt;TEXMF&gt;/tex/latex/markdown/markdown.sty</code></li>
-<li><code>&lt;TEXMF&gt;/tex/latex/markdown/markdownthemewitiko_dot.sty</code></li>
-<li><code>&lt;TEXMF&gt;/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty</code></li>
-<li><code>&lt;TEXMF&gt;/tex/latex/markdown/markdownthemewitiko_tilde.sty</code></li>
-<li><code>&lt;TEXMF&gt;/tex/context/third/markdown/t-markdown.tex</code></li>
+<li><code>⟨TEXMF⟩/tex/luatex/markdown/markdown.lua</code></li>
+<li><code>⟨TEXMF⟩/tex/luatex/markdown/markdown-tinyyaml.lua</code></li>
+<li><code>⟨TEXMF⟩/scripts/markdown/markdown-cli.lua</code></li>
+<li><code>⟨TEXMF⟩/tex/generic/markdown/markdown.tex</code></li>
+<li><code>⟨TEXMF⟩/tex/latex/markdown/markdown.sty</code></li>
+<li><code>⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_dot.sty</code></li>
+<li><code>⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty</code></li>
+<li><code>⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_tilde.sty</code></li>
+<li><code>⟨TEXMF⟩/tex/context/third/markdown/t-markdown.tex</code></li>
</ul>
-<p>where <code>&lt;TEXMF&gt;</code> corresponds to a root of your <span class="tex">T<sub>e</sub>X</span> distribution, such as <code>/usr/share/texmf</code> and <code>~/texmf</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf</code> on Windows systems. When in doubt, consult the manual of your <span class="tex">T<sub>e</sub>X</span> distribution.</p>
-<h3 id="portable-installation"><span class="header-section-number">1.2.2</span> Portable Installation</h3>
+<p>where <code>⟨TEXMF⟩</code> corresponds to a root of your <span class="tex">T<sub>e</sub>X</span> distribution, such as <code>/usr/share/texmf</code> and <code>~/texmf</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf</code> on Windows systems. When in doubt, consult the manual of your <span class="tex">T<sub>e</sub>X</span> distribution.</p>
+<h3 data-number="1.2.2" id="portable-installation"><span class="header-section-number">1.2.2</span> Portable Installation</h3>
<p>Alternatively, you can also store the above files in the same folder as your <span class="tex">T<sub>e</sub>X</span> document and distribute them together. This way your document can be portably typeset on legacy <span class="tex">T<sub>e</sub>X</span> distributions.</p>
<p>Since Markdown version 2.10.0, the file <code>markdown.tex</code> must be placed in a directory named <code>markdown</code> due to <a href="https://github.com/witiko/markdown/issues/74" title="Does not compile if user names own document markdown.tex">issue #74</a>.</p>
-<h2 id="first-document"><span class="header-section-number">1.3</span> First Document</h2>
+<h2 data-number="1.3" id="first-document"><span class="header-section-number">1.3</span> First Document</h2>
<p>In this section, we will take the necessary steps to typeset our first markdown document in <span class="tex">T<sub>e</sub>X</span>. This will serve as our first hands-on experience with the package and also as a reassurance that the package has been correctly installed.</p>
-<h3 id="using-lua"><span class="header-section-number">1.3.1</span> Using Lua</h3>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb3"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb3-2" data-line-number="2"><span class="fu">\input</span> hello</a>
-<a class="sourceLine" id="cb3-3" data-line-number="3"><span class="fu">\bye</span></a></code></pre></div>
-<h4 id="using-the-lua-module"><span class="header-section-number">1.3.1.1</span> Using the Lua Module</h4>
+<p>If you are using <a href="https://hub.docker.com/r/witiko/markdown/tags" title="witiko/markdown - Docker Image">our official Docker image</a>, you need to prefix all commands in this section with <code>docker run --rm -v "$PWD"/workdir:/workdir -w /workdir witiko/markdown</code>. For example, instead of <code>luatex document.tex</code>, you would execute the following command:</p>
+<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true"></a><span class="ex">docker</span> run --rm -v <span class="st">&quot;</span><span class="va">$PWD</span><span class="st">&quot;</span>/workdir:/workdir -w /workdir witiko/markdown <span class="kw">\</span></span>
+<span id="cb3-2"><a href="#cb3-2" aria-hidden="true"></a> <span class="ex">luatex</span> document.tex</span></code></pre></div>
+<h3 data-number="1.3.1" id="using-lua"><span class="header-section-number">1.3.1</span> Using Lua</h3>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb4"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb4-2"><a href="#cb4-2" aria-hidden="true"></a><span class="fu">\input</span> hello</span>
+<span id="cb4-3"><a href="#cb4-3" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<h4 data-number="1.3.1.1" id="using-the-lua-module"><span class="header-section-number">1.3.1.1</span> Using the Lua Module</h4>
<p>Using a text editor, create a text document named <code>hello.lua</code> with the following content:</p>
-<div class="sourceCode" id="cb4"><pre class="sourceCode lua"><code class="sourceCode lua"><a class="sourceLine" id="cb4-1" data-line-number="1"><span class="ot">#</span>!<span class="ot">/</span>usr<span class="ot">/</span>bin<span class="ot">/</span>env texlua</a>
-<a class="sourceLine" id="cb4-2" data-line-number="2"><span class="kw">local</span> ran_ok<span class="ot">,</span> kpse <span class="ot">=</span> <span class="fu">pcall</span><span class="ot">(</span><span class="fu">require</span><span class="ot">,</span> <span class="st">&quot;kpse&quot;</span><span class="ot">)</span></a>
-<a class="sourceLine" id="cb4-3" data-line-number="3"><span class="kw">if</span> ran_ok <span class="kw">then</span> kpse<span class="ot">.</span>set_program_name<span class="ot">(</span><span class="st">&quot;luatex&quot;</span><span class="ot">)</span> <span class="kw">end</span></a>
-<a class="sourceLine" id="cb4-4" data-line-number="4"><span class="kw">local</span> markdown <span class="ot">=</span> <span class="fu">require</span><span class="ot">(</span><span class="st">&quot;markdown&quot;</span><span class="ot">)</span></a>
-<a class="sourceLine" id="cb4-5" data-line-number="5"><span class="kw">local</span> convert <span class="ot">=</span> markdown<span class="ot">.</span>new<span class="ot">()</span></a>
-<a class="sourceLine" id="cb4-6" data-line-number="6"><span class="fu">print</span><span class="ot">(</span>convert<span class="ot">(</span><span class="st">&quot;Hello *world*!&quot;</span><span class="ot">))</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="ex">texlua</span> hello.lua <span class="op">&gt;</span> hello.tex</a>
-<a class="sourceLine" id="cb5-2" data-line-number="2"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb5"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true"></a><span class="co">#!/usr/bin/env texlua</span></span>
+<span id="cb5-2"><a href="#cb5-2" aria-hidden="true"></a><span class="kw">local</span> ran_ok<span class="op">,</span> kpse <span class="op">=</span> <span class="fu">pcall</span><span class="op">(</span><span class="fu">require</span><span class="op">,</span> <span class="st">&quot;kpse&quot;</span><span class="op">)</span></span>
+<span id="cb5-3"><a href="#cb5-3" aria-hidden="true"></a><span class="cf">if</span> ran_ok <span class="cf">then</span> kpse<span class="op">.</span>set_program_name<span class="op">(</span><span class="st">&quot;luatex&quot;</span><span class="op">)</span> <span class="cf">end</span></span>
+<span id="cb5-4"><a href="#cb5-4" aria-hidden="true"></a><span class="kw">local</span> markdown <span class="op">=</span> <span class="fu">require</span><span class="op">(</span><span class="st">&quot;markdown&quot;</span><span class="op">)</span></span>
+<span id="cb5-5"><a href="#cb5-5" aria-hidden="true"></a><span class="kw">local</span> convert <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">()</span></span>
+<span id="cb5-6"><a href="#cb5-6" aria-hidden="true"></a><span class="fu">print</span><span class="op">(</span>convert<span class="op">(</span><span class="st">&quot;Hello *world*!&quot;</span><span class="op">))</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true"></a><span class="ex">texlua</span> hello.lua <span class="op">&gt;</span> hello.tex</span>
+<span id="cb6-2"><a href="#cb6-2" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb6"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb6-1" data-line-number="1"><span class="ex">texlua</span> hello.lua <span class="op">&gt;</span> hello.tex</a>
-<a class="sourceLine" id="cb6-2" data-line-number="2"><span class="ex">pdftex</span> document.tex</a></code></pre></div>
-<h4 id="using-the-lua-command-line-interface"><span class="header-section-number">1.3.1.2</span> Using the Lua Command-Line Interface</h4>
+<div class="sourceCode" id="cb7"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true"></a><span class="ex">texlua</span> hello.lua <span class="op">&gt;</span> hello.tex</span>
+<span id="cb7-2"><a href="#cb7-2" aria-hidden="true"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div>
+<h4 data-number="1.3.1.2" id="using-the-lua-command-line-interface"><span class="header-section-number">1.3.1.2</span> Using the Lua Command-Line Interface</h4>
<p>Using a text editor, create a text document named <code>hello.md</code> with the following content:</p>
-<div class="sourceCode" id="cb7"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb7-1" data-line-number="1">Hello *world*!</a></code></pre></div>
+<div class="sourceCode" id="cb8"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true"></a>Hello *world*!</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb8"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb8-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- hello.md hello.tex</a>
-<a class="sourceLine" id="cb8-2" data-line-number="2"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- hello.md hello.tex</span>
+<span id="cb9-2"><a href="#cb9-2" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb9"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb9-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- hello.md hello.tex</a>
-<a class="sourceLine" id="cb9-2" data-line-number="2"><span class="ex">pdftex</span> document.tex</a></code></pre></div>
-<h3 id="using-plain-tex"><span class="header-section-number">1.3.2</span> Using Plain <span class="tex">T<sub>e</sub>X</span></h3>
+<div class="sourceCode" id="cb10"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- hello.md hello.tex</span>
+<span id="cb10-2"><a href="#cb10-2" aria-hidden="true"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div>
+<h3 data-number="1.3.2" id="using-plain-tex"><span class="header-section-number">1.3.2</span> Using Plain <span class="tex">T<sub>e</sub>X</span></h3>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb10"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb10-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb10-2" data-line-number="2"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb10-3" data-line-number="3">Hello *world*!</a>
-<a class="sourceLine" id="cb10-4" data-line-number="4"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb10-5" data-line-number="5"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb11"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb11-2"><a href="#cb11-2" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb11-3"><a href="#cb11-3" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb11-4"><a href="#cb11-4" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb11-5"><a href="#cb11-5" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb11"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb11-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb12"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb12-1" data-line-number="1"><span class="ex">pdftex</span> --shell-escape document.tex</a></code></pre></div>
-<h3 id="using-latex"><span class="header-section-number">1.3.3</span> Using <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb13"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb13-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb13-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb13-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb13-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb13-5" data-line-number="5">Hello *world*!</a>
-<a class="sourceLine" id="cb13-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb13-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb14"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb14-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb13"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true"></a><span class="ex">pdftex</span> --shell-escape document.tex</span></code></pre></div>
+<h3 data-number="1.3.3" id="using-latex"><span class="header-section-number">1.3.3</span> Using <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb14"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb14-2"><a href="#cb14-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb14-3"><a href="#cb14-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb14-4"><a href="#cb14-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb14-5"><a href="#cb14-5" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb14-6"><a href="#cb14-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb14-7"><a href="#cb14-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb15"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb15-1" data-line-number="1"><span class="ex">pdflatex</span> --shell-escape document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb16"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true"></a><span class="ex">pdflatex</span> --shell-escape document.tex</span></code></pre></div>
<hr />
<p>As the next step, try typesetting the example documents distributed along with the Markdown package:</p>
-<div class="sourceCode" id="cb16"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb16-1" data-line-number="1"><span class="fu">git</span> clone https://github.com/witiko/markdown</a>
-<a class="sourceLine" id="cb16-2" data-line-number="2"><span class="bu">cd</span> markdown/examples</a>
-<a class="sourceLine" id="cb16-3" data-line-number="3"><span class="ex">lualatex</span> latex.tex</a></code></pre></div>
+<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span>
+<span id="cb17-2"><a href="#cb17-2" aria-hidden="true"></a><span class="bu">cd</span> markdown/examples</span>
+<span id="cb17-3"><a href="#cb17-3" aria-hidden="true"></a><span class="ex">lualatex</span> latex.tex</span></code></pre></div>
<p>A PDF document named <code>latex.pdf</code> should be produced. Open the text documents <code>latex.tex</code> and <code>example.md</code> in a text editor to see how the example documents are structured. Try changing the documents and typesetting them as follows:</p>
-<div class="sourceCode" id="cb17"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb17-1" data-line-number="1"><span class="ex">lualatex</span> latex.tex</a></code></pre></div>
+<div class="sourceCode" id="cb18"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true"></a><span class="ex">lualatex</span> latex.tex</span></code></pre></div>
<p>to see the effect of your changes.</p>
-<h3 id="using-context"><span class="header-section-number">1.3.4</span> Using Con<span class="tex">T<sub>e</sub>X</span>t</h3>
+<h3 data-number="1.3.4" id="using-context"><span class="header-section-number">1.3.4</span> Using Con<span class="tex">T<sub>e</sub>X</span>t</h3>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb18"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb18-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb18-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb18-3" data-line-number="3"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb18-4" data-line-number="4">Hello *world*!</a>
-<a class="sourceLine" id="cb18-5" data-line-number="5"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb18-6" data-line-number="6"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb19"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb19-2"><a href="#cb19-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb19-3"><a href="#cb19-3" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb19-4"><a href="#cb19-4" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb19-5"><a href="#cb19-5" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb19-6"><a href="#cb19-6" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb19"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb19-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb20"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb20"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb20-1" data-line-number="1"><span class="ex">texexec</span> --passon=--shell-escape document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb21"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true"></a><span class="ex">texexec</span> --passon=--shell-escape document.tex</span></code></pre></div>
<hr />
<p>As the next step, try typesetting the example documents distributed along with the Markdown package:</p>
-<div class="sourceCode" id="cb21"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb21-1" data-line-number="1"><span class="fu">git</span> clone https://github.com/witiko/markdown</a>
-<a class="sourceLine" id="cb21-2" data-line-number="2"><span class="bu">cd</span> markdown/examples</a>
-<a class="sourceLine" id="cb21-3" data-line-number="3"><span class="ex">context</span> context.tex</a></code></pre></div>
+<div class="sourceCode" id="cb22"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true"></a><span class="fu">git</span> clone https://github.com/witiko/markdown</span>
+<span id="cb22-2"><a href="#cb22-2" aria-hidden="true"></a><span class="bu">cd</span> markdown/examples</span>
+<span id="cb22-3"><a href="#cb22-3" aria-hidden="true"></a><span class="ex">context</span> context.tex</span></code></pre></div>
<p>A PDF document named <code>context.pdf</code> should be produced. Open the text documents <code>context.tex</code> and <code>example.md</code> in a text editor to see how the example documents are structured. Try changing the documents and typesetting them as follows:</p>
-<div class="sourceCode" id="cb22"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb22-1" data-line-number="1"><span class="ex">context</span> context.tex</a></code></pre></div>
+<div class="sourceCode" id="cb23"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true"></a><span class="ex">context</span> context.tex</span></code></pre></div>
<p>to see the effect of your changes.</p>
-<h1 id="examples"><span class="header-section-number">2</span> Examples</h1>
-<p>In this section, I will describe the individual parts of the Markdown package. Each part will be shown by example, leaving the implementation details to the <a href="http://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for &lt;span class=&quot;tex&quot;&gt;T&lt;sub&gt;e&lt;/sub&gt;X&lt;/span&gt;">technical documentation</a>.</p>
-<h2 id="interfaces"><span class="header-section-number">2.1</span> Interfaces</h2>
+<h1 data-number="2" id="examples"><span class="header-section-number">2</span> Examples</h1>
+<p>In this section, I will describe the individual parts of the Markdown package. Each part will be shown by example, leaving the implementation details to the <a href="https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf" title="A Markdown Interpreter for &lt;span class=&quot;tex&quot;&gt;T&lt;sub&gt;e&lt;/sub&gt;X&lt;/span&gt;">technical documentation</a>.</p>
+<h2 data-number="2.1" id="interfaces"><span class="header-section-number">2.1</span> Interfaces</h2>
<p>In this section, I will describe the individual interfaces exposed by the Markdown package starting with the low-level Lua interfaces and all the way up to the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> and Con<span class="tex">T<sub>e</sub>X</span>t interfaces intended for the ordinary user.</p>
-<h3 id="lua"><span class="header-section-number">2.1.1</span> Lua</h3>
+<h3 data-number="2.1.1" id="lua"><span class="header-section-number">2.1.1</span> Lua</h3>
<p>The Lua programming language is what drives the conversion from markdown to <span class="tex">T<sub>e</sub>X</span> in the Markdown package. Based on the <a href="https://github.com/jgm/lunamark" title="Lua library for conversion between markup formats">Lunamark</a> Lua library by John MacFarlane, the Lua implementation is largely independent on <span class="tex">T<sub>e</sub>X</span>, and can be used separately from typesetting a document. Lua provides two interfaces: a Lua module and a command-line interface (CLI).</p>
-<h4 id="lua-module"><span class="header-section-number">2.1.1.1</span> Lua Module</h4>
+<h4 data-number="2.1.1.1" id="lua-module"><span class="header-section-number">2.1.1.1</span> Lua Module</h4>
<p>A Lua module is a software library that can be used from in other programs. The <code>markdown</code> Lua module makes it possible to convert markdown to <span class="tex">T<sub>e</sub>X</span> from within Lua<span class="tex">T<sub>e</sub>X</span> documents and Lua scripts.</p>
<p>The <code>markdown</code> Lua module exposes the <code>new(</code>⟨<em>options</em>⟩<code>)</code> method, which creates a converter function from markdown to <span class="tex">T<sub>e</sub>X</span>. The properties of the converter function are specified by the Lua table <code>options</code>. The parameter is optional; when unspecified, the behaviour will be the same as if ⟨<em>options</em>⟩ were an empty table.</p>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb23"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb23-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb23-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb23-3" data-line-number="3"><span class="fu">\input</span> example</a>
-<a class="sourceLine" id="cb23-4" data-line-number="4"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb24"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb24-2"><a href="#cb24-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb24-3"><a href="#cb24-3" aria-hidden="true"></a><span class="fu">\input</span> example</span>
+<span id="cb24-4"><a href="#cb24-4" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>example.lua</code> with the following content:</p>
-<div class="sourceCode" id="cb24"><pre class="sourceCode lua"><code class="sourceCode lua"><a class="sourceLine" id="cb24-1" data-line-number="1"><span class="ot">#</span>!<span class="ot">/</span>usr<span class="ot">/</span>bin<span class="ot">/</span>env texlua</a>
-<a class="sourceLine" id="cb24-2" data-line-number="2"><span class="kw">local</span> ran_ok<span class="ot">,</span> kpse <span class="ot">=</span> <span class="fu">pcall</span><span class="ot">(</span><span class="fu">require</span><span class="ot">,</span> <span class="st">&quot;kpse&quot;</span><span class="ot">)</span></a>
-<a class="sourceLine" id="cb24-3" data-line-number="3"><span class="kw">if</span> ran_ok <span class="kw">then</span> kpse<span class="ot">.</span>set_program_name<span class="ot">(</span><span class="st">&quot;luatex&quot;</span><span class="ot">)</span> <span class="kw">end</span></a>
-<a class="sourceLine" id="cb24-4" data-line-number="4"><span class="kw">local</span> markdown <span class="ot">=</span> <span class="fu">require</span><span class="ot">(</span><span class="st">&quot;markdown&quot;</span><span class="ot">)</span></a>
-<a class="sourceLine" id="cb24-5" data-line-number="5"><span class="kw">local</span> input<span class="ot">,</span> convert_safe<span class="ot">,</span> convert_unsafe<span class="ot">,</span> paragraph</a>
-<a class="sourceLine" id="cb24-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb24-7" data-line-number="7">input <span class="ot">=</span> <span class="st">[[$\sqrt{-1}$ *equals* $i$.]]</span></a>
-<a class="sourceLine" id="cb24-8" data-line-number="8">convert_safe <span class="ot">=</span> markdown<span class="ot">.</span>new<span class="ot">()</span></a>
-<a class="sourceLine" id="cb24-9" data-line-number="9">convert_unsafe <span class="ot">=</span> markdown<span class="ot">.</span>new<span class="ot">({</span>hybrid <span class="ot">=</span> <span class="kw">true</span><span class="ot">})</span></a>
-<a class="sourceLine" id="cb24-10" data-line-number="10">paragraph <span class="ot">=</span> <span class="st">[[\par]]</span></a>
-<a class="sourceLine" id="cb24-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb24-12" data-line-number="12"><span class="fu">print</span><span class="ot">(</span></a>
-<a class="sourceLine" id="cb24-13" data-line-number="13"> convert_safe<span class="ot">(</span>input<span class="ot">)</span> <span class="ot">..</span> paragraph <span class="ot">..</span></a>
-<a class="sourceLine" id="cb24-14" data-line-number="14"> convert_unsafe<span class="ot">(</span>input<span class="ot">)</span></a>
-<a class="sourceLine" id="cb24-15" data-line-number="15"><span class="ot">)</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb25"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb25-1" data-line-number="1"><span class="ex">texlua</span> example.lua <span class="op">&gt;</span> example.tex</a>
-<a class="sourceLine" id="cb25-2" data-line-number="2"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb25"><pre class="sourceCode lua"><code class="sourceCode lua"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true"></a><span class="co">#!/usr/bin/env texlua</span></span>
+<span id="cb25-2"><a href="#cb25-2" aria-hidden="true"></a><span class="kw">local</span> ran_ok<span class="op">,</span> kpse <span class="op">=</span> <span class="fu">pcall</span><span class="op">(</span><span class="fu">require</span><span class="op">,</span> <span class="st">&quot;kpse&quot;</span><span class="op">)</span></span>
+<span id="cb25-3"><a href="#cb25-3" aria-hidden="true"></a><span class="cf">if</span> ran_ok <span class="cf">then</span> kpse<span class="op">.</span>set_program_name<span class="op">(</span><span class="st">&quot;luatex&quot;</span><span class="op">)</span> <span class="cf">end</span></span>
+<span id="cb25-4"><a href="#cb25-4" aria-hidden="true"></a><span class="kw">local</span> markdown <span class="op">=</span> <span class="fu">require</span><span class="op">(</span><span class="st">&quot;markdown&quot;</span><span class="op">)</span></span>
+<span id="cb25-5"><a href="#cb25-5" aria-hidden="true"></a><span class="kw">local</span> input<span class="op">,</span> convert_safe<span class="op">,</span> convert_unsafe<span class="op">,</span> paragraph</span>
+<span id="cb25-6"><a href="#cb25-6" aria-hidden="true"></a></span>
+<span id="cb25-7"><a href="#cb25-7" aria-hidden="true"></a>input <span class="op">=</span> <span class="vs">[[$\sqrt{-1}$ *equals* $i$.]]</span></span>
+<span id="cb25-8"><a href="#cb25-8" aria-hidden="true"></a>convert_safe <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">()</span></span>
+<span id="cb25-9"><a href="#cb25-9" aria-hidden="true"></a>convert_unsafe <span class="op">=</span> markdown<span class="op">.</span>new<span class="op">({</span>hybrid <span class="op">=</span> <span class="kw">true</span><span class="op">})</span></span>
+<span id="cb25-10"><a href="#cb25-10" aria-hidden="true"></a>paragraph <span class="op">=</span> <span class="vs">[[\par]]</span></span>
+<span id="cb25-11"><a href="#cb25-11" aria-hidden="true"></a></span>
+<span id="cb25-12"><a href="#cb25-12" aria-hidden="true"></a><span class="fu">print</span><span class="op">(</span></span>
+<span id="cb25-13"><a href="#cb25-13" aria-hidden="true"></a> convert_safe<span class="op">(</span>input<span class="op">)</span> <span class="op">..</span> paragraph <span class="op">..</span></span>
+<span id="cb25-14"><a href="#cb25-14" aria-hidden="true"></a> convert_unsafe<span class="op">(</span>input<span class="op">)</span></span>
+<span id="cb25-15"><a href="#cb25-15" aria-hidden="true"></a><span class="op">)</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb26"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true"></a><span class="ex">texlua</span> example.lua <span class="op">&gt;</span> example.tex</span>
+<span id="cb26-2"><a href="#cb26-2" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt{-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
<p>Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb26"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb26-1" data-line-number="1"><span class="ex">texlua</span> example.lua <span class="op">&gt;</span> example.tex</a>
-<a class="sourceLine" id="cb26-2" data-line-number="2"><span class="ex">pdftex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb27"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true"></a><span class="ex">texlua</span> example.lua <span class="op">&gt;</span> example.tex</span>
+<span id="cb27-2"><a href="#cb27-2" aria-hidden="true"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div>
<hr />
<p>Rather than use the <code>texlua</code> interpreter, we can also access the <code>markdown</code> Lua module directly from our document. Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb27"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb27-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb27-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb27-3" data-line-number="3"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb27-4" data-line-number="4"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb27-5" data-line-number="5"> local input, convert_safe, convert_unsafe, paragraph</a>
-<a class="sourceLine" id="cb27-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb27-7" data-line-number="7"> input = [[<span class="ss">$</span><span class="sc">\string\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.]]</a>
-<a class="sourceLine" id="cb27-8" data-line-number="8"> convert_safe = markdown.new()</a>
-<a class="sourceLine" id="cb27-9" data-line-number="9"> convert_unsafe = markdown.new({hybrid = true})</a>
-<a class="sourceLine" id="cb27-10" data-line-number="10"> paragraph = [[<span class="fu">\par</span>]]</a>
-<a class="sourceLine" id="cb27-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb27-12" data-line-number="12"> tex.sprint(</a>
-<a class="sourceLine" id="cb27-13" data-line-number="13"> convert_safe(input) .. paragraph ..</a>
-<a class="sourceLine" id="cb27-14" data-line-number="14"> convert_unsafe(input)</a>
-<a class="sourceLine" id="cb27-15" data-line-number="15"> )</a>
-<a class="sourceLine" id="cb27-16" data-line-number="16">}</a>
-<a class="sourceLine" id="cb27-17" data-line-number="17"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb28"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb28-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb28"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb28-2"><a href="#cb28-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb28-3"><a href="#cb28-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb28-4"><a href="#cb28-4" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb28-5"><a href="#cb28-5" aria-hidden="true"></a> local input, convert_safe, convert_unsafe, paragraph</span>
+<span id="cb28-6"><a href="#cb28-6" aria-hidden="true"></a></span>
+<span id="cb28-7"><a href="#cb28-7" aria-hidden="true"></a> input = [[<span class="ss">$</span><span class="sc">\string\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.]]</span>
+<span id="cb28-8"><a href="#cb28-8" aria-hidden="true"></a> convert_safe = markdown.new()</span>
+<span id="cb28-9"><a href="#cb28-9" aria-hidden="true"></a> convert_unsafe = markdown.new({hybrid = true})</span>
+<span id="cb28-10"><a href="#cb28-10" aria-hidden="true"></a> paragraph = [[<span class="fu">\par</span>]]</span>
+<span id="cb28-11"><a href="#cb28-11" aria-hidden="true"></a></span>
+<span id="cb28-12"><a href="#cb28-12" aria-hidden="true"></a> tex.sprint(</span>
+<span id="cb28-13"><a href="#cb28-13" aria-hidden="true"></a> convert_safe(input) .. paragraph ..</span>
+<span id="cb28-14"><a href="#cb28-14" aria-hidden="true"></a> convert_unsafe(input)</span>
+<span id="cb28-15"><a href="#cb28-15" aria-hidden="true"></a> )</span>
+<span id="cb28-16"><a href="#cb28-16" aria-hidden="true"></a>}</span>
+<span id="cb28-17"><a href="#cb28-17" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb29"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt{-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
<p>In this case, we cannot use pdfTeX, because pdfTeX does not define the <code>\directlua</code> <span class="tex">T<sub>e</sub>X</span> command.</p>
-<h4 id="lua-command-line-interface"><span class="header-section-number">2.1.1.2</span> Lua Command-Line Interface</h4>
+<h4 data-number="2.1.1.2" id="lua-command-line-interface"><span class="header-section-number">2.1.1.2</span> Lua Command-Line Interface</h4>
<p>The Lua command-line interface (CLI) of the Markdown package makes the functionality of the Lua module accessible from the command line. This makes it possible to convert documents from markdown to <span class="tex">T<sub>e</sub>X</span> manually without any knowledge of the Lua programming language.</p>
<p>The Lua command-line interface accepts the same options as the <code>markdown</code> Lua module, but now the options are specified as command-line parameters.</p>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb29"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb29-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb29-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb29-3" data-line-number="3"><span class="fu">\input</span> safe</a>
-<a class="sourceLine" id="cb29-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb29-5" data-line-number="5"><span class="fu">\begingroup</span></a>
-<a class="sourceLine" id="cb29-6" data-line-number="6"><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</a>
-<a class="sourceLine" id="cb29-7" data-line-number="7"><span class="fu">\input</span> unsafe</a>
-<a class="sourceLine" id="cb29-8" data-line-number="8"><span class="fu">\endgroup</span></a>
-<a class="sourceLine" id="cb29-9" data-line-number="9"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb30"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb30-1"><a href="#cb30-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb30-2"><a href="#cb30-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb30-3"><a href="#cb30-3" aria-hidden="true"></a><span class="fu">\input</span> safe</span>
+<span id="cb30-4"><a href="#cb30-4" aria-hidden="true"></a></span>
+<span id="cb30-5"><a href="#cb30-5" aria-hidden="true"></a><span class="fu">\begingroup</span></span>
+<span id="cb30-6"><a href="#cb30-6" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span>
+<span id="cb30-7"><a href="#cb30-7" aria-hidden="true"></a><span class="fu">\input</span> unsafe</span>
+<span id="cb30-8"><a href="#cb30-8" aria-hidden="true"></a><span class="fu">\endgroup</span></span>
+<span id="cb30-9"><a href="#cb30-9" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>example.md</code> with the following content:</p>
-<div class="sourceCode" id="cb30"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb30-1" data-line-number="1">$\sqrt{-1}$ *equals* $i$.</a></code></pre></div>
+<div class="sourceCode" id="cb31"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb31-1"><a href="#cb31-1" aria-hidden="true"></a>$\sqrt{-1}$ *equals* $i$.</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb31"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb31-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- example.md safe.tex</a>
-<a class="sourceLine" id="cb31-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- example.md unsafe.tex</a>
-<a class="sourceLine" id="cb31-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb32"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb32-1"><a href="#cb32-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- example.md safe.tex</span>
+<span id="cb32-2"><a href="#cb32-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- example.md unsafe.tex</span>
+<span id="cb32-3"><a href="#cb32-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
@@ -339,260 +347,260 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
<p>Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb32"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb32-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- example.md safe.tex</a>
-<a class="sourceLine" id="cb32-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- example.md unsafe.tex</a>
-<a class="sourceLine" id="cb32-3" data-line-number="3"><span class="ex">pdftex</span> document.tex</a></code></pre></div>
-<h3 id="plain-tex"><span class="header-section-number">2.1.2</span> Plain <span class="tex">T<sub>e</sub>X</span></h3>
+<div class="sourceCode" id="cb33"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb33-1"><a href="#cb33-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- example.md safe.tex</span>
+<span id="cb33-2"><a href="#cb33-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- example.md unsafe.tex</span>
+<span id="cb33-3"><a href="#cb33-3" aria-hidden="true"></a><span class="ex">pdftex</span> document.tex</span></code></pre></div>
+<h3 data-number="2.1.2" id="plain-tex"><span class="header-section-number">2.1.2</span> Plain <span class="tex">T<sub>e</sub>X</span></h3>
<p>The plain <span class="tex">T<sub>e</sub>X</span> interface provides <span class="tex">T<sub>e</sub>X</span> commands that typeset markdown documents by using the Lua interface behind the scenes. Unlike the Lua interface, the plain TeX interface does not provide low-level tools for converting markdown to <span class="tex">T<sub>e</sub>X</span>. Instead, its goal is to provide high-level typesetting capabilities.</p>
<p>The plain <span class="tex">T<sub>e</sub>X</span> interface accepts the same options as the <code>markdown</code> Lua module, in addition to its own options, but now the options are specified as <span class="tex">T<sub>e</sub>X</span> commands.</p>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb33"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb33-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb33-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb33-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb33-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb33-5" data-line-number="5"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb33-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb33-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb33-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionHybrid{true}</a>
-<a class="sourceLine" id="cb33-9" data-line-number="9"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb33-10" data-line-number="10"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb33-11" data-line-number="11"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb33-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb33-13" data-line-number="13"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb34"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb34-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb34"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb34-1"><a href="#cb34-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb34-2"><a href="#cb34-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb34-3"><a href="#cb34-3" aria-hidden="true"></a></span>
+<span id="cb34-4"><a href="#cb34-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb34-5"><a href="#cb34-5" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb34-6"><a href="#cb34-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb34-7"><a href="#cb34-7" aria-hidden="true"></a></span>
+<span id="cb34-8"><a href="#cb34-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span>
+<span id="cb34-9"><a href="#cb34-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb34-10"><a href="#cb34-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb34-11"><a href="#cb34-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb34-12"><a href="#cb34-12" aria-hidden="true"></a></span>
+<span id="cb34-13"><a href="#cb34-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb35"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb35-1"><a href="#cb35-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt{-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
<p>Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb35"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb35-1" data-line-number="1"><span class="ex">pdftex</span> --shell-escape document.tex</a></code></pre></div>
-<h3 id="latex"><span class="header-section-number">2.1.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3>
+<div class="sourceCode" id="cb36"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb36-1"><a href="#cb36-1" aria-hidden="true"></a><span class="ex">pdftex</span> --shell-escape document.tex</span></code></pre></div>
+<h3 data-number="2.1.3" id="latex"><span class="header-section-number">2.1.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3>
<p>The <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface provides the same level of functionality as the plain <span class="tex">T<sub>e</sub>X</span> interface by using the plain <span class="tex">T<sub>e</sub>X</span> interface behind the scenes. Unlike the plain <span class="tex">T<sub>e</sub>X</span> interface, the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface uses familiar <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> idioms, such as package options and environments.</p>
-<p>The <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface accepts the same options as the plain <span class="tex">T<sub>e</sub>X</span> interface, but now the options are specified as ⟨<em>key</em>⟩<span class="math inline"> = </span>⟨<em>value</em>⟩ pairs and they are passed either as package options, in the <code>\markdownSetup</code> command, or as parameters for the <code>markdown*</code> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> environment.</p>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb36"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb36-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb36-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb36-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb36-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb36-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb36-6" data-line-number="6"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a>
-<a class="sourceLine" id="cb36-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb36-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb36-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</a>
-<a class="sourceLine" id="cb36-10" data-line-number="10"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a>
-<a class="sourceLine" id="cb36-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb36-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb36-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb37"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb37-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<p>The <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> interface accepts the same options as the plain <span class="tex">T<sub>e</sub>X</span> interface, but now the options are specified as ⟨<em>key</em>⟩<span class="math inline"> = </span>⟨<em>value</em>⟩ pairs and they are passed either as package options, in the command, or as parameters for the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> environment.</p>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb37"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb37-1"><a href="#cb37-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb37-2"><a href="#cb37-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb37-3"><a href="#cb37-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb37-4"><a href="#cb37-4" aria-hidden="true"></a></span>
+<span id="cb37-5"><a href="#cb37-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb37-6"><a href="#cb37-6" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span>
+<span id="cb37-7"><a href="#cb37-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb37-8"><a href="#cb37-8" aria-hidden="true"></a></span>
+<span id="cb37-9"><a href="#cb37-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span>
+<span id="cb37-10"><a href="#cb37-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span>
+<span id="cb37-11"><a href="#cb37-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb37-12"><a href="#cb37-12" aria-hidden="true"></a></span>
+<span id="cb37-13"><a href="#cb37-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb38"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb38-1"><a href="#cb38-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt{-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
<p>Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb38"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb38-1" data-line-number="1"><span class="ex">pdflatex</span> --shell-escape document.tex</a></code></pre></div>
-<h3 id="context"><span class="header-section-number">2.1.4</span> Con<span class="tex">T<sub>e</sub>X</span>t</h3>
+<div class="sourceCode" id="cb39"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb39-1"><a href="#cb39-1" aria-hidden="true"></a><span class="ex">pdflatex</span> --shell-escape document.tex</span></code></pre></div>
+<h3 data-number="2.1.4" id="context"><span class="header-section-number">2.1.4</span> Con<span class="tex">T<sub>e</sub>X</span>t</h3>
<p>The Con<span class="tex">T<sub>e</sub>X</span>t interface provides the same level of functionality as the plain <span class="tex">T<sub>e</sub>X</span> interface by using the plain <span class="tex">T<sub>e</sub>X</span> interface behind the scenes. Unlike the plain <span class="tex">T<sub>e</sub>X</span> interface, the Con<span class="tex">T<sub>e</sub>X</span>t interface uses familiar Con<span class="tex">T<sub>e</sub>X</span>t idioms, such as environments.</p>
<p>The Con<span class="tex">T<sub>e</sub>X</span>t interface accepts the same options as the plain <span class="tex">T<sub>e</sub>X</span> interface.</p>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb39"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb39-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb39-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb39-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb39-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb39-5" data-line-number="5"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb39-6" data-line-number="6"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb39-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb39-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionHybrid{true}</a>
-<a class="sourceLine" id="cb39-9" data-line-number="9"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb39-10" data-line-number="10"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb39-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb39-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb39-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb40"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb40-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb40"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb40-1"><a href="#cb40-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb40-2"><a href="#cb40-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb40-3"><a href="#cb40-3" aria-hidden="true"></a></span>
+<span id="cb40-4"><a href="#cb40-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb40-5"><a href="#cb40-5" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb40-6"><a href="#cb40-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb40-7"><a href="#cb40-7" aria-hidden="true"></a></span>
+<span id="cb40-8"><a href="#cb40-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span>
+<span id="cb40-9"><a href="#cb40-9" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb40-10"><a href="#cb40-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb40-11"><a href="#cb40-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb40-12"><a href="#cb40-12" aria-hidden="true"></a></span>
+<span id="cb40-13"><a href="#cb40-13" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb41"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb41-1"><a href="#cb41-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt{-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
<p>Invoking pdfTeX should have the same effect:</p>
-<div class="sourceCode" id="cb41"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb41-1" data-line-number="1"><span class="ex">texexec</span> --passon=--shell-escape document.tex</a></code></pre></div>
-<h2 id="options"><span class="header-section-number">2.2</span> Options</h2>
+<div class="sourceCode" id="cb42"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb42-1"><a href="#cb42-1" aria-hidden="true"></a><span class="ex">texexec</span> --passon=--shell-escape document.tex</span></code></pre></div>
+<h2 data-number="2.2" id="options"><span class="header-section-number">2.2</span> Options</h2>
<p>In this section, I will describe all the options recognized by the Markdown package.</p>
-<h3 id="lua-1"><span class="header-section-number">2.2.1</span> Lua</h3>
+<h3 data-number="2.2.1" id="lua-1"><span class="header-section-number">2.2.1</span> Lua</h3>
<p>Lua options control the conversion from markdown to <span class="tex">T<sub>e</sub>X</span>. They are supported by all interfaces of the Markdown package starting with the low-level Lua interfaces and all the way up to the <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> and Con<span class="tex">T<sub>e</sub>X</span>t interfaces.</p>
-<h4 id="option-cachedir"><span class="header-section-number">2.2.1.1</span> Option <code>cacheDir</code></h4>
+<h4 data-number="2.2.1.1" id="option-cachedir"><span class="header-section-number">2.2.1.1</span> Option <code>cacheDir</code></h4>
<dl>
-<dt><code>cacheDir</code> (default value: <code>&quot;.&quot;</code>)</dt>
+<dt><code>cacheDir</code> (default value: <code>"."</code>)</dt>
<dd><p>A path to the directory containing auxiliary cache files. If the last segment of the path does not exist, it will be created by the Lua command-line and plain <span class="tex">T<sub>e</sub>X</span> implementations. The Lua implementation expects that the entire path already exists.</p>
<p>When iteratively writing and typesetting a markdown document, the cache files are going to accumulate over time. You are advised to clean the cache directory every now and then, or to set it to a temporary filesystem (such as <code>/tmp</code> on UN*X systems), which gets periodically emptied.</p>
</dd>
</dl>
-<h5 id="lua-module-example" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb42"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb42-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb42-2" data-line-number="2"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb42-3" data-line-number="3"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb42-4" data-line-number="4"> local convert = markdown.new({cacheDir = &quot;cache&quot;})</a>
-<a class="sourceLine" id="cb42-5" data-line-number="5"> local input = &quot;Hello *world*!&quot;</a>
-<a class="sourceLine" id="cb42-6" data-line-number="6"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb42-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb43"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb43-1"><a href="#cb43-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb43-2"><a href="#cb43-2" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb43-3"><a href="#cb43-3" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb43-4"><a href="#cb43-4" aria-hidden="true"></a> local convert = markdown.new({cacheDir = &quot;cache&quot;})</span>
+<span id="cb43-5"><a href="#cb43-5" aria-hidden="true"></a> local input = &quot;Hello *world*!&quot;</span>
+<span id="cb43-6"><a href="#cb43-6" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb43-7"><a href="#cb43-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Create an empty directory named <code>cache</code> next to our text document. Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb43"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb43-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb44"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb44-1"><a href="#cb44-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Several cache files of the Markdown package will also be produced in the <code>cache</code> directory as we requested using the <code>cacheDir</code> option.</p>
-<h5 id="lua-cli-example" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb44"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb44-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb44-2" data-line-number="2"><span class="fu">\input</span> hello</a>
-<a class="sourceLine" id="cb44-3" data-line-number="3"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb45"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb45-1"><a href="#cb45-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb45-2"><a href="#cb45-2" aria-hidden="true"></a><span class="fu">\input</span> hello</span>
+<span id="cb45-3"><a href="#cb45-3" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>hello.md</code> with the following content:</p>
-<div class="sourceCode" id="cb45"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb45-1" data-line-number="1">Hello *world*!</a></code></pre></div>
+<div class="sourceCode" id="cb46"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb46-1"><a href="#cb46-1" aria-hidden="true"></a>Hello *world*!</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb46"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb46-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ cacheDir=cache -- hello.md hello.tex</a>
-<a class="sourceLine" id="cb46-2" data-line-number="2"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb47"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb47-1"><a href="#cb47-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ cacheDir=cache -- hello.md hello.tex</span>
+<span id="cb47-2"><a href="#cb47-2" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A directory named <code>cache</code> containing several cache files of the Markdown package will also be produced as we requested using the <code>cacheDir</code> option.</p>
-<h5 id="plain-tex-example" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb47"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb47-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb47-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionCacheDir{cache}</a>
-<a class="sourceLine" id="cb47-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb47-4" data-line-number="4">Hello *world*!</a>
-<a class="sourceLine" id="cb47-5" data-line-number="5"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb47-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb48"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb48-1"><a href="#cb48-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb48-2"><a href="#cb48-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionCacheDir</span>{cache}</span>
+<span id="cb48-3"><a href="#cb48-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb48-4"><a href="#cb48-4" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb48-5"><a href="#cb48-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb48-6"><a href="#cb48-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb48"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb48-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb49"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb49-1"><a href="#cb49-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A directory named <code>cache</code> containing several cache files of the Markdown package will also be produced as we requested using the <code>cacheDir</code> option.</p>
-<h5 id="latex-example" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb49"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb49-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb49-2" data-line-number="2"><span class="bu">\usepackage</span>[cacheDir=cache]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb49-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb49-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb49-5" data-line-number="5">Hello *world*!</a>
-<a class="sourceLine" id="cb49-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb49-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb50"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb50-1"><a href="#cb50-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb50-2"><a href="#cb50-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[cacheDir=cache]{<span class="ex">markdown</span>}</span>
+<span id="cb50-3"><a href="#cb50-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb50-4"><a href="#cb50-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb50-5"><a href="#cb50-5" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb50-6"><a href="#cb50-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb50-7"><a href="#cb50-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb50"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb50-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb51"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb51-1"><a href="#cb51-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A directory named <code>cache</code> containing several cache files of the Markdown package will also be produced as we requested using the <code>cacheDir</code> option.</p>
-<h5 id="context-example" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb51"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb51-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb51-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionCacheDir{cache}</a>
-<a class="sourceLine" id="cb51-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb51-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb51-5" data-line-number="5">Hello *world*!</a>
-<a class="sourceLine" id="cb51-6" data-line-number="6"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb51-7" data-line-number="7"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb52"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb52-1"><a href="#cb52-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb52-2"><a href="#cb52-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionCacheDir</span>{cache}</span>
+<span id="cb52-3"><a href="#cb52-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb52-4"><a href="#cb52-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb52-5"><a href="#cb52-5" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb52-6"><a href="#cb52-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb52-7"><a href="#cb52-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb52"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb52-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb53"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb53-1"><a href="#cb53-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A directory named <code>cache</code> containing several cache files of the Markdown package will also be produced as we requested using the <code>cacheDir</code> option.</p>
-<h4 id="option-frozencachefilename"><span class="header-section-number">2.2.1.2</span> Option <code>frozenCacheFileName</code></h4>
+<h4 data-number="2.2.1.2" id="option-frozencachefilename"><span class="header-section-number">2.2.1.2</span> Option <code>frozenCacheFileName</code></h4>
<dl>
-<dt><code>frozenCacheFileName</code> (default value: <code>&quot;frozenCache.tex&quot;</code>)</dt>
+<dt><code>frozenCacheFileName</code> (default value: <code>"frozenCache.tex"</code>)</dt>
<dd><p>A path to an output file (frozen cache) that will be created when the <strong><code>finalizeCache</code></strong> option is enabled and will contain a mapping between an enumeration of markdown documents and their auxiliary cache files.</p>
-<p>The frozen cache makes it possible to later typeset a plain <span class="tex">T<sub>e</sub>X</span> document that contains markdown documents without invoking Lua using the <code>\markdownOptionFrozenCache</code> plain <span class="tex">T<sub>e</sub>X</span> option. As a result, the plain <span class="tex">T<sub>e</sub>X</span> document becomes more portable, but further changes in the order and the content of markdown documents will not be reflected.</p>
+<p>The frozen cache makes it possible to later typeset a plain <span class="tex">T<sub>e</sub>X</span> document that contains markdown documents without invoking Lua using the plain <span class="tex">T<sub>e</sub>X</span> option. As a result, the plain <span class="tex">T<sub>e</sub>X</span> document becomes more portable, but further changes in the order and the content of markdown documents will not be reflected.</p>
</dd>
</dl>
-<h5 id="lua-module-example-1" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb53"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb53-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb53-2" data-line-number="2"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb53-3" data-line-number="3"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb53-4" data-line-number="4"> local convert = markdown.new({finalizeCache = true, frozenCacheFileName = &quot;cache.tex&quot;})</a>
-<a class="sourceLine" id="cb53-5" data-line-number="5"> local input = &quot;Hello *world*!&quot;</a>
-<a class="sourceLine" id="cb53-6" data-line-number="6"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb53-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-1">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb54"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb54-1"><a href="#cb54-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb54-2"><a href="#cb54-2" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb54-3"><a href="#cb54-3" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb54-4"><a href="#cb54-4" aria-hidden="true"></a> local convert = markdown.new({finalizeCache = true, frozenCacheFileName = &quot;cache.tex&quot;})</span>
+<span id="cb54-5"><a href="#cb54-5" aria-hidden="true"></a> local input = &quot;Hello *world*!&quot;</span>
+<span id="cb54-6"><a href="#cb54-6" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb54-7"><a href="#cb54-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb54"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb54-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb55"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb55-1"><a href="#cb55-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> and <code>frozenCacheFileName</code> options.</p>
-<h5 id="lua-cli-example-1" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-1">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb55"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb55-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb55-2" data-line-number="2"><span class="fu">\input</span> hello</a>
-<a class="sourceLine" id="cb55-3" data-line-number="3"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb56"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb56-1"><a href="#cb56-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb56-2"><a href="#cb56-2" aria-hidden="true"></a><span class="fu">\input</span> hello</span>
+<span id="cb56-3"><a href="#cb56-3" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>hello.md</code> with the following content:</p>
-<div class="sourceCode" id="cb56"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb56-1" data-line-number="1">Hello *world*!</a></code></pre></div>
+<div class="sourceCode" id="cb57"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb57-1"><a href="#cb57-1" aria-hidden="true"></a>Hello *world*!</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb57"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb57-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ finalizeCache=true frozenCacheFileName=cache.tex -- hello.md hello.tex</a>
-<a class="sourceLine" id="cb57-2" data-line-number="2"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb58"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb58-1"><a href="#cb58-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ finalizeCache=true frozenCacheFileName=cache.tex -- hello.md hello.tex</span>
+<span id="cb58-2"><a href="#cb58-2" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> and <code>frozenCacheFileName</code> options.</p>
-<h5 id="plain-tex-example-1" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-1">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb58"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb58-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb58-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFinalizeCache{true}</a>
-<a class="sourceLine" id="cb58-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionFrozenCacheFileName{cache.tex}</a>
-<a class="sourceLine" id="cb58-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb58-5" data-line-number="5">Hello *world*!</a>
-<a class="sourceLine" id="cb58-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb58-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb59"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb59-1"><a href="#cb59-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb59-2"><a href="#cb59-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFinalizeCache</span>{true}</span>
+<span id="cb59-3"><a href="#cb59-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{cache.tex}</span>
+<span id="cb59-4"><a href="#cb59-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb59-5"><a href="#cb59-5" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb59-6"><a href="#cb59-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb59-7"><a href="#cb59-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb59"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb59-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb60"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb60-1"><a href="#cb60-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> and <code>frozenCacheFileName</code> options.</p>
<p>Next, create a new text document <code>frozen-document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb60"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb60-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb60-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFrozenCache{true}</a>
-<a class="sourceLine" id="cb60-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionFrozenCacheFileName{cache.tex}</a>
-<a class="sourceLine" id="cb60-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb60-5" data-line-number="5">Hi *world*!</a>
-<a class="sourceLine" id="cb60-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb60-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb61"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb61-1"><a href="#cb61-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb61-2"><a href="#cb61-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCache</span>{true}</span>
+<span id="cb61-3"><a href="#cb61-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{cache.tex}</span>
+<span id="cb61-4"><a href="#cb61-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb61-5"><a href="#cb61-5" aria-hidden="true"></a>Hi *world*!</span>
+<span id="cb61-6"><a href="#cb61-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb61-7"><a href="#cb61-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Last, invoke pdfTeX without shell access from the terminal:</p>
-<div class="sourceCode" id="cb61"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb61-1" data-line-number="1"><span class="ex">pdftex</span> -no-shell-escape frozen-document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb62"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb62-1"><a href="#cb62-1" aria-hidden="true"></a><span class="ex">pdftex</span> -no-shell-escape frozen-document.tex</span></code></pre></div>
<p>A PDF document named <code>frozen-document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset the document without accessing the shell or invoking Lua, but the change in the content of the markdown document from “Hello <em>world</em>!” to “Hi <em>world</em>!” was not reflected.</p>
-<h5 id="latex-example-1" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-1"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb62"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb62-1" data-line-number="1"><span class="bu">\documentclass</span>[finalizecache]{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb62-2" data-line-number="2"><span class="bu">\usepackage</span>[frozenCacheFileName=cache.tex]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb62-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb62-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb62-5" data-line-number="5">Hello *world*!</a>
-<a class="sourceLine" id="cb62-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb62-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb63"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb63-1"><a href="#cb63-1" aria-hidden="true"></a><span class="bu">\documentclass</span>[finalizecache]{<span class="ex">article</span>}</span>
+<span id="cb63-2"><a href="#cb63-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[frozenCacheFileName=cache.tex]{<span class="ex">markdown</span>}</span>
+<span id="cb63-3"><a href="#cb63-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb63-4"><a href="#cb63-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb63-5"><a href="#cb63-5" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb63-6"><a href="#cb63-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb63-7"><a href="#cb63-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb63"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb63-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb64"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb64-1"><a href="#cb64-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizecache</code> and <code>frozenCacheFileName</code> options.</p>
<p>Next, create a new text document <code>frozen-document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb64"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb64-1" data-line-number="1"><span class="bu">\documentclass</span>[frozencache]{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb64-2" data-line-number="2"><span class="bu">\usepackage</span>[frozenCacheFileName=cache.tex]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb64-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb64-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb64-5" data-line-number="5">Hi *world*!</a>
-<a class="sourceLine" id="cb64-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb64-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb65"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb65-1"><a href="#cb65-1" aria-hidden="true"></a><span class="bu">\documentclass</span>[frozencache]{<span class="ex">article</span>}</span>
+<span id="cb65-2"><a href="#cb65-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[frozenCacheFileName=cache.tex]{<span class="ex">markdown</span>}</span>
+<span id="cb65-3"><a href="#cb65-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb65-4"><a href="#cb65-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb65-5"><a href="#cb65-5" aria-hidden="true"></a>Hi *world*!</span>
+<span id="cb65-6"><a href="#cb65-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb65-7"><a href="#cb65-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Last, invoke pdfTeX without shell access from the terminal:</p>
-<div class="sourceCode" id="cb65"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb65-1" data-line-number="1"><span class="ex">pdflatex</span> -no-shell-escape frozen-document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb66"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb66-1"><a href="#cb66-1" aria-hidden="true"></a><span class="ex">pdflatex</span> -no-shell-escape frozen-document.tex</span></code></pre></div>
<p>A PDF document named <code>frozen-document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>frozencache</code> option, we were able to typeset the document without accessing the shell or invoking Lua, but the change in the content of the markdown document from “Hello <em>world</em>!” to “Hi <em>world</em>!” was not reflected.</p>
-<h5 id="context-example-1" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb66"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb66-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb66-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFinalizeCache{true}</a>
-<a class="sourceLine" id="cb66-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionFrozenCacheFileName{cache.tex}</a>
-<a class="sourceLine" id="cb66-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb66-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb66-6" data-line-number="6">Hello *world*!</a>
-<a class="sourceLine" id="cb66-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb66-8" data-line-number="8"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb67"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb67-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-1">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb67"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb67-1"><a href="#cb67-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb67-2"><a href="#cb67-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFinalizeCache</span>{true}</span>
+<span id="cb67-3"><a href="#cb67-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{cache.tex}</span>
+<span id="cb67-4"><a href="#cb67-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb67-5"><a href="#cb67-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb67-6"><a href="#cb67-6" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb67-7"><a href="#cb67-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb67-8"><a href="#cb67-8" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb68"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb68-1"><a href="#cb68-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> and <code>frozenCacheFileName</code> options.</p>
<p>Next, create a new text document <code>frozen-document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb68"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb68-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb68-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFrozenCache{true}</a>
-<a class="sourceLine" id="cb68-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionFrozenCacheFileName{cache.tex}</a>
-<a class="sourceLine" id="cb68-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb68-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb68-6" data-line-number="6">Hi *world*!</a>
-<a class="sourceLine" id="cb68-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb68-8" data-line-number="8"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb69"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb69-1"><a href="#cb69-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb69-2"><a href="#cb69-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCache</span>{true}</span>
+<span id="cb69-3"><a href="#cb69-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{cache.tex}</span>
+<span id="cb69-4"><a href="#cb69-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb69-5"><a href="#cb69-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb69-6"><a href="#cb69-6" aria-hidden="true"></a>Hi *world*!</span>
+<span id="cb69-7"><a href="#cb69-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb69-8"><a href="#cb69-8" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Last, invoke pdfTeX without shell access from the terminal:</p>
-<div class="sourceCode" id="cb69"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb69-1" data-line-number="1"><span class="ex">texexec</span> --passon=--no-shell-escape frozen-document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb70"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb70-1"><a href="#cb70-1" aria-hidden="true"></a><span class="ex">texexec</span> --passon=--no-shell-escape frozen-document.tex</span></code></pre></div>
<p>A PDF document named <code>frozen-document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset the document without accessing the shell or invoking Lua, but the change in the content of the markdown document from “Hello <em>world</em>!” to “Hi <em>world</em>!” was not reflected.</p>
-<h4 id="option-blankbeforeblockquote"><span class="header-section-number">2.2.1.3</span> Option <code>blankBeforeBlockquote</code></h4>
+<h4 data-number="2.2.1.3" id="option-blankbeforeblockquote"><span class="header-section-number">2.2.1.3</span> Option <code>blankBeforeBlockquote</code></h4>
<dl>
<dt><code>blankBeforeBlockquote</code> (default value: <code>false</code>)</dt>
<dd><dl>
@@ -605,27 +613,27 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</dl>
</dd>
</dl>
-<h5 id="lua-module-example-2" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb70"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb70-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb70-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb70-3" data-line-number="3"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb70-4" data-line-number="4"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb70-5" data-line-number="5"> local newline = [[^^J^^J]]</a>
-<a class="sourceLine" id="cb70-6" data-line-number="6"> local convert, input</a>
-<a class="sourceLine" id="cb70-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb70-8" data-line-number="8"> convert = markdown.new()</a>
-<a class="sourceLine" id="cb70-9" data-line-number="9"> input = &quot;A paragraph.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb70-10" data-line-number="10"> &quot;&gt; A quote.&quot; .. newline</a>
-<a class="sourceLine" id="cb70-11" data-line-number="11"> tex.sprint(convert(input))</a>
-<a class="sourceLine" id="cb70-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb70-13" data-line-number="13"> convert = markdown.new({blankBeforeBlockquote = true})</a>
-<a class="sourceLine" id="cb70-14" data-line-number="14"> input = &quot;A paragraph.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb70-15" data-line-number="15"> &quot;&gt; Not a quote.&quot; .. newline</a>
-<a class="sourceLine" id="cb70-16" data-line-number="16"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb70-17" data-line-number="17"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-2">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb71"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb71-1"><a href="#cb71-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb71-2"><a href="#cb71-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb71-3"><a href="#cb71-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb71-4"><a href="#cb71-4" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb71-5"><a href="#cb71-5" aria-hidden="true"></a> local newline = [[^^J^^J]]</span>
+<span id="cb71-6"><a href="#cb71-6" aria-hidden="true"></a> local convert, input</span>
+<span id="cb71-7"><a href="#cb71-7" aria-hidden="true"></a></span>
+<span id="cb71-8"><a href="#cb71-8" aria-hidden="true"></a> convert = markdown.new()</span>
+<span id="cb71-9"><a href="#cb71-9" aria-hidden="true"></a> input = &quot;A paragraph.&quot; .. newline ..</span>
+<span id="cb71-10"><a href="#cb71-10" aria-hidden="true"></a> &quot;&gt; A quote.&quot; .. newline</span>
+<span id="cb71-11"><a href="#cb71-11" aria-hidden="true"></a> tex.sprint(convert(input))</span>
+<span id="cb71-12"><a href="#cb71-12" aria-hidden="true"></a></span>
+<span id="cb71-13"><a href="#cb71-13" aria-hidden="true"></a> convert = markdown.new({blankBeforeBlockquote = true})</span>
+<span id="cb71-14"><a href="#cb71-14" aria-hidden="true"></a> input = &quot;A paragraph.&quot; .. newline ..</span>
+<span id="cb71-15"><a href="#cb71-15" aria-hidden="true"></a> &quot;&gt; Not a quote.&quot; .. newline</span>
+<span id="cb71-16"><a href="#cb71-16" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb71-17"><a href="#cb71-17" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb71"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb71-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb72"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb72-1"><a href="#cb72-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
@@ -634,20 +642,20 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</blockquote>
<p>A paragraph &gt; Not a quote.</p>
</blockquote>
-<h5 id="lua-cli-example-2" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-2">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb72"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb72-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb72-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb72-3" data-line-number="3"><span class="fu">\input</span> optionfalse</a>
-<a class="sourceLine" id="cb72-4" data-line-number="4"><span class="fu">\input</span> optiontrue</a>
-<a class="sourceLine" id="cb72-5" data-line-number="5"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb73"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb73-1"><a href="#cb73-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb73-2"><a href="#cb73-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb73-3"><a href="#cb73-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span>
+<span id="cb73-4"><a href="#cb73-4" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span>
+<span id="cb73-5"><a href="#cb73-5" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p>
-<div class="sourceCode" id="cb73"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb73-1" data-line-number="1">A paragraph.</a>
-<a class="sourceLine" id="cb73-2" data-line-number="2">&gt;<span class="dt"> A quote?</span></a></code></pre></div>
+<div class="sourceCode" id="cb74"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb74-1"><a href="#cb74-1" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb74-2"><a href="#cb74-2" aria-hidden="true"></a><span class="at">&gt; A quote?</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb74"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb74-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</a>
-<a class="sourceLine" id="cb74-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ blankBeforeBlockquote=true -- content.md optiontrue.tex</a>
-<a class="sourceLine" id="cb74-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb75"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb75-1"><a href="#cb75-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span>
+<span id="cb75-2"><a href="#cb75-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ blankBeforeBlockquote=true -- content.md optiontrue.tex</span>
+<span id="cb75-3"><a href="#cb75-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
@@ -657,24 +665,24 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</blockquote>
<p>A paragraph. &gt; A quote?</p>
</blockquote>
-<h5 id="plain-tex-example-2" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb75"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb75-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb75-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb75-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb75-4" data-line-number="4">A paragraph.</a>
-<a class="sourceLine" id="cb75-5" data-line-number="5">&gt; A quote.</a>
-<a class="sourceLine" id="cb75-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb75-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb75-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionBlankBeforeBlockquote{true}</a>
-<a class="sourceLine" id="cb75-9" data-line-number="9"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb75-10" data-line-number="10">A paragraph.</a>
-<a class="sourceLine" id="cb75-11" data-line-number="11">&gt; Not a quote.</a>
-<a class="sourceLine" id="cb75-12" data-line-number="12"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb75-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb75-14" data-line-number="14"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb76"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb76-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-2">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb76"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb76-1"><a href="#cb76-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb76-2"><a href="#cb76-2" aria-hidden="true"></a></span>
+<span id="cb76-3"><a href="#cb76-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb76-4"><a href="#cb76-4" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb76-5"><a href="#cb76-5" aria-hidden="true"></a>&gt; A quote.</span>
+<span id="cb76-6"><a href="#cb76-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb76-7"><a href="#cb76-7" aria-hidden="true"></a></span>
+<span id="cb76-8"><a href="#cb76-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeBlockquote</span>{true}</span>
+<span id="cb76-9"><a href="#cb76-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb76-10"><a href="#cb76-10" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb76-11"><a href="#cb76-11" aria-hidden="true"></a>&gt; Not a quote.</span>
+<span id="cb76-12"><a href="#cb76-12" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb76-13"><a href="#cb76-13" aria-hidden="true"></a></span>
+<span id="cb76-14"><a href="#cb76-14" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb77"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb77-1"><a href="#cb77-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
@@ -683,25 +691,25 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</blockquote>
<p>A paragraph &gt; Not a quote.</p>
</blockquote>
-<h5 id="latex-example-2" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb77"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb77-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb77-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb77-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb77-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb77-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb77-6" data-line-number="6">A paragraph.</a>
-<a class="sourceLine" id="cb77-7" data-line-number="7">&gt; A quote.</a>
-<a class="sourceLine" id="cb77-8" data-line-number="8"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb77-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb77-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeBlockquote}</a>
-<a class="sourceLine" id="cb77-11" data-line-number="11">A paragraph.</a>
-<a class="sourceLine" id="cb77-12" data-line-number="12">&gt; Not a quote.</a>
-<a class="sourceLine" id="cb77-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb77-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb77-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb78"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb78-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-2"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb78"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb78-1"><a href="#cb78-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb78-2"><a href="#cb78-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb78-3"><a href="#cb78-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb78-4"><a href="#cb78-4" aria-hidden="true"></a></span>
+<span id="cb78-5"><a href="#cb78-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb78-6"><a href="#cb78-6" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb78-7"><a href="#cb78-7" aria-hidden="true"></a>&gt; A quote.</span>
+<span id="cb78-8"><a href="#cb78-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb78-9"><a href="#cb78-9" aria-hidden="true"></a></span>
+<span id="cb78-10"><a href="#cb78-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeBlockquote}</span>
+<span id="cb78-11"><a href="#cb78-11" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb78-12"><a href="#cb78-12" aria-hidden="true"></a>&gt; Not a quote.</span>
+<span id="cb78-13"><a href="#cb78-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb78-14"><a href="#cb78-14" aria-hidden="true"></a></span>
+<span id="cb78-15"><a href="#cb78-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb79"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb79-1"><a href="#cb79-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
@@ -710,25 +718,25 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</blockquote>
<p>A paragraph &gt; Not a quote.</p>
</blockquote>
-<h5 id="context-example-2" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb79"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb79-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb79-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb79-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb79-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb79-5" data-line-number="5">A paragraph.</a>
-<a class="sourceLine" id="cb79-6" data-line-number="6">&gt; A quote.</a>
-<a class="sourceLine" id="cb79-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb79-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb79-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionBlankBeforeBlockquote{true}</a>
-<a class="sourceLine" id="cb79-10" data-line-number="10"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb79-11" data-line-number="11">A paragraph.</a>
-<a class="sourceLine" id="cb79-12" data-line-number="12">&gt; Not a quote.</a>
-<a class="sourceLine" id="cb79-13" data-line-number="13"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb79-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb79-15" data-line-number="15"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb80"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb80-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-2">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb80"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb80-1"><a href="#cb80-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb80-2"><a href="#cb80-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb80-3"><a href="#cb80-3" aria-hidden="true"></a></span>
+<span id="cb80-4"><a href="#cb80-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb80-5"><a href="#cb80-5" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb80-6"><a href="#cb80-6" aria-hidden="true"></a>&gt; A quote.</span>
+<span id="cb80-7"><a href="#cb80-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb80-8"><a href="#cb80-8" aria-hidden="true"></a></span>
+<span id="cb80-9"><a href="#cb80-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeBlockquote</span>{true}</span>
+<span id="cb80-10"><a href="#cb80-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb80-11"><a href="#cb80-11" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb80-12"><a href="#cb80-12" aria-hidden="true"></a>&gt; Not a quote.</span>
+<span id="cb80-13"><a href="#cb80-13" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb80-14"><a href="#cb80-14" aria-hidden="true"></a></span>
+<span id="cb80-15"><a href="#cb80-15" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb81"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb81-1"><a href="#cb81-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
@@ -737,7 +745,7 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</blockquote>
<p>A paragraph &gt; Not a quote.</p>
</blockquote>
-<h4 id="option-blankbeforecodefence"><span class="header-section-number">2.2.1.4</span> Option <code>blankBeforeCodeFence</code></h4>
+<h4 data-number="2.2.1.4" id="option-blankbeforecodefence"><span class="header-section-number">2.2.1.4</span> Option <code>blankBeforeCodeFence</code></h4>
<dl>
<dt><code>blankBeforeCodeFence</code> (default value: <code>false</code>)</dt>
<dd><dl>
@@ -750,54 +758,54 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</dl>
</dd>
</dl>
-<h5 id="lua-module-example-3" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb81"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb81-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb81-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb81-3" data-line-number="3"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb81-4" data-line-number="4"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb81-5" data-line-number="5"> local newline = [[^^J^^J]]</a>
-<a class="sourceLine" id="cb81-6" data-line-number="6"> local convert, input</a>
-<a class="sourceLine" id="cb81-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb81-8" data-line-number="8"> convert = markdown.new({fencedCode = true})</a>
-<a class="sourceLine" id="cb81-9" data-line-number="9"> input = &quot;A paragraph.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb81-10" data-line-number="10"> &quot;```&quot; .. newline ..</a>
-<a class="sourceLine" id="cb81-11" data-line-number="11"> &quot;A code fence.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb81-12" data-line-number="12"> &quot;```&quot; .. newline</a>
-<a class="sourceLine" id="cb81-13" data-line-number="13"> tex.sprint(convert(input))</a>
-<a class="sourceLine" id="cb81-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb81-15" data-line-number="15"> convert = markdown.new({</a>
-<a class="sourceLine" id="cb81-16" data-line-number="16"> fencedCode = true, blankBeforeCodeFence = true})</a>
-<a class="sourceLine" id="cb81-17" data-line-number="17"> input = &quot;A paragraph.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb81-18" data-line-number="18"> &quot;```&quot; .. newline ..</a>
-<a class="sourceLine" id="cb81-19" data-line-number="19"> &quot;Not a code fence.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb81-20" data-line-number="20"> &quot;```&quot; .. newline</a>
-<a class="sourceLine" id="cb81-21" data-line-number="21"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb81-22" data-line-number="22"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-3">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb82"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb82-1"><a href="#cb82-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb82-2"><a href="#cb82-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb82-3"><a href="#cb82-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb82-4"><a href="#cb82-4" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb82-5"><a href="#cb82-5" aria-hidden="true"></a> local newline = [[^^J^^J]]</span>
+<span id="cb82-6"><a href="#cb82-6" aria-hidden="true"></a> local convert, input</span>
+<span id="cb82-7"><a href="#cb82-7" aria-hidden="true"></a></span>
+<span id="cb82-8"><a href="#cb82-8" aria-hidden="true"></a> convert = markdown.new({fencedCode = true})</span>
+<span id="cb82-9"><a href="#cb82-9" aria-hidden="true"></a> input = &quot;A paragraph.&quot; .. newline ..</span>
+<span id="cb82-10"><a href="#cb82-10" aria-hidden="true"></a> &quot;```&quot; .. newline ..</span>
+<span id="cb82-11"><a href="#cb82-11" aria-hidden="true"></a> &quot;A code fence.&quot; .. newline ..</span>
+<span id="cb82-12"><a href="#cb82-12" aria-hidden="true"></a> &quot;```&quot; .. newline</span>
+<span id="cb82-13"><a href="#cb82-13" aria-hidden="true"></a> tex.sprint(convert(input))</span>
+<span id="cb82-14"><a href="#cb82-14" aria-hidden="true"></a></span>
+<span id="cb82-15"><a href="#cb82-15" aria-hidden="true"></a> convert = markdown.new({</span>
+<span id="cb82-16"><a href="#cb82-16" aria-hidden="true"></a> fencedCode = true, blankBeforeCodeFence = true})</span>
+<span id="cb82-17"><a href="#cb82-17" aria-hidden="true"></a> input = &quot;A paragraph.&quot; .. newline ..</span>
+<span id="cb82-18"><a href="#cb82-18" aria-hidden="true"></a> &quot;```&quot; .. newline ..</span>
+<span id="cb82-19"><a href="#cb82-19" aria-hidden="true"></a> &quot;Not a code fence.&quot; .. newline ..</span>
+<span id="cb82-20"><a href="#cb82-20" aria-hidden="true"></a> &quot;```&quot; .. newline</span>
+<span id="cb82-21"><a href="#cb82-21" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb82-22"><a href="#cb82-22" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb82"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb82-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb83"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb83-1"><a href="#cb83-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
<pre><code>A code fence.</code></pre>
<p>A paragraph. <code>Not a code fence.</code></p>
</blockquote>
-<h5 id="lua-cli-example-3" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-3">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb84"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb84-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb84-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb84-3" data-line-number="3"><span class="fu">\input</span> optionfalse</a>
-<a class="sourceLine" id="cb84-4" data-line-number="4"><span class="fu">\input</span> optiontrue</a>
-<a class="sourceLine" id="cb84-5" data-line-number="5"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb85"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb85-1"><a href="#cb85-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb85-2"><a href="#cb85-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb85-3"><a href="#cb85-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span>
+<span id="cb85-4"><a href="#cb85-4" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span>
+<span id="cb85-5"><a href="#cb85-5" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p>
-<div class="sourceCode" id="cb85"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb85-1" data-line-number="1">A paragraph.</a>
-<a class="sourceLine" id="cb85-2" data-line-number="2">```</a>
-<a class="sourceLine" id="cb85-3" data-line-number="3">A code fence?</a>
-<a class="sourceLine" id="cb85-4" data-line-number="4">```</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb86"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb86-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ fencedCode=true -- content.md optionfalse.tex</a>
-<a class="sourceLine" id="cb86-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ fencedCode=true blankBeforeCodeFence=true -- content.md optiontrue.tex</a>
-<a class="sourceLine" id="cb86-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb86"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb86-1"><a href="#cb86-1" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb86-2"><a href="#cb86-2" aria-hidden="true"></a><span class="in">```</span></span>
+<span id="cb86-3"><a href="#cb86-3" aria-hidden="true"></a><span class="in">A code fence?</span></span>
+<span id="cb86-4"><a href="#cb86-4" aria-hidden="true"></a><span class="in">```</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb87"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb87-1"><a href="#cb87-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ fencedCode=true -- content.md optionfalse.tex</span>
+<span id="cb87-2"><a href="#cb87-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ fencedCode=true blankBeforeCodeFence=true -- content.md optiontrue.tex</span>
+<span id="cb87-3"><a href="#cb87-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
@@ -805,95 +813,95 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<pre><code>A code fence?</code></pre>
<p>A paragraph. <code>A code fence?</code></p>
</blockquote>
-<h5 id="plain-tex-example-3" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb88"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb88-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb88-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFencedCode{true}</a>
-<a class="sourceLine" id="cb88-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb88-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb88-5" data-line-number="5">A paragraph.</a>
-<a class="sourceLine" id="cb88-6" data-line-number="6">```</a>
-<a class="sourceLine" id="cb88-7" data-line-number="7">A code fence.</a>
-<a class="sourceLine" id="cb88-8" data-line-number="8">```</a>
-<a class="sourceLine" id="cb88-9" data-line-number="9"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb88-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb88-11" data-line-number="11"><span class="fu">\def</span>\markdownOptionBlankBeforeCodeFence{true}</a>
-<a class="sourceLine" id="cb88-12" data-line-number="12"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb88-13" data-line-number="13">A paragraph.</a>
-<a class="sourceLine" id="cb88-14" data-line-number="14">```</a>
-<a class="sourceLine" id="cb88-15" data-line-number="15">Not a code fence.</a>
-<a class="sourceLine" id="cb88-16" data-line-number="16">```</a>
-<a class="sourceLine" id="cb88-17" data-line-number="17"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb88-18" data-line-number="18"></a>
-<a class="sourceLine" id="cb88-19" data-line-number="19"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb89"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb89-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-3">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb89"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb89-1"><a href="#cb89-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb89-2"><a href="#cb89-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFencedCode</span>{true}</span>
+<span id="cb89-3"><a href="#cb89-3" aria-hidden="true"></a></span>
+<span id="cb89-4"><a href="#cb89-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb89-5"><a href="#cb89-5" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb89-6"><a href="#cb89-6" aria-hidden="true"></a>```</span>
+<span id="cb89-7"><a href="#cb89-7" aria-hidden="true"></a>A code fence.</span>
+<span id="cb89-8"><a href="#cb89-8" aria-hidden="true"></a>```</span>
+<span id="cb89-9"><a href="#cb89-9" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb89-10"><a href="#cb89-10" aria-hidden="true"></a></span>
+<span id="cb89-11"><a href="#cb89-11" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeCodeFence</span>{true}</span>
+<span id="cb89-12"><a href="#cb89-12" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb89-13"><a href="#cb89-13" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb89-14"><a href="#cb89-14" aria-hidden="true"></a>```</span>
+<span id="cb89-15"><a href="#cb89-15" aria-hidden="true"></a>Not a code fence.</span>
+<span id="cb89-16"><a href="#cb89-16" aria-hidden="true"></a>```</span>
+<span id="cb89-17"><a href="#cb89-17" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb89-18"><a href="#cb89-18" aria-hidden="true"></a></span>
+<span id="cb89-19"><a href="#cb89-19" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb90"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb90-1"><a href="#cb90-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
<pre><code>A code fence.</code></pre>
<p>A paragraph. <code>Not a code fence.</code></p>
</blockquote>
-<h5 id="latex-example-3" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb91"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb91-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb91-2" data-line-number="2"><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb91-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb91-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb91-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb91-6" data-line-number="6">A paragraph.</a>
-<a class="sourceLine" id="cb91-7" data-line-number="7">```</a>
-<a class="sourceLine" id="cb91-8" data-line-number="8">A code fence.</a>
-<a class="sourceLine" id="cb91-9" data-line-number="9">```</a>
-<a class="sourceLine" id="cb91-10" data-line-number="10"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb91-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb91-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeCodeFence}</a>
-<a class="sourceLine" id="cb91-13" data-line-number="13">A paragraph.</a>
-<a class="sourceLine" id="cb91-14" data-line-number="14">```</a>
-<a class="sourceLine" id="cb91-15" data-line-number="15">Not a code fence.</a>
-<a class="sourceLine" id="cb91-16" data-line-number="16">```</a>
-<a class="sourceLine" id="cb91-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb91-18" data-line-number="18"></a>
-<a class="sourceLine" id="cb91-19" data-line-number="19"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb92"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb92-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-3"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb92"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb92-1"><a href="#cb92-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb92-2"><a href="#cb92-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span>
+<span id="cb92-3"><a href="#cb92-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb92-4"><a href="#cb92-4" aria-hidden="true"></a></span>
+<span id="cb92-5"><a href="#cb92-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb92-6"><a href="#cb92-6" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb92-7"><a href="#cb92-7" aria-hidden="true"></a>```</span>
+<span id="cb92-8"><a href="#cb92-8" aria-hidden="true"></a>A code fence.</span>
+<span id="cb92-9"><a href="#cb92-9" aria-hidden="true"></a>```</span>
+<span id="cb92-10"><a href="#cb92-10" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb92-11"><a href="#cb92-11" aria-hidden="true"></a></span>
+<span id="cb92-12"><a href="#cb92-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeCodeFence}</span>
+<span id="cb92-13"><a href="#cb92-13" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb92-14"><a href="#cb92-14" aria-hidden="true"></a>```</span>
+<span id="cb92-15"><a href="#cb92-15" aria-hidden="true"></a>Not a code fence.</span>
+<span id="cb92-16"><a href="#cb92-16" aria-hidden="true"></a>```</span>
+<span id="cb92-17"><a href="#cb92-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb92-18"><a href="#cb92-18" aria-hidden="true"></a></span>
+<span id="cb92-19"><a href="#cb92-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb93"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb93-1"><a href="#cb93-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
<pre><code>A code fence.</code></pre>
<p>A paragraph. <code>Not a code fence.</code></p>
</blockquote>
-<h5 id="context-example-3" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb94"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb94-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb94-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFencedCode{true}</a>
-<a class="sourceLine" id="cb94-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb94-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb94-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb94-6" data-line-number="6">A paragraph.</a>
-<a class="sourceLine" id="cb94-7" data-line-number="7">```</a>
-<a class="sourceLine" id="cb94-8" data-line-number="8">A code fence.</a>
-<a class="sourceLine" id="cb94-9" data-line-number="9">```</a>
-<a class="sourceLine" id="cb94-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb94-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb94-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionBlankBeforeCodeFence{true}</a>
-<a class="sourceLine" id="cb94-13" data-line-number="13"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb94-14" data-line-number="14">A paragraph.</a>
-<a class="sourceLine" id="cb94-15" data-line-number="15">```</a>
-<a class="sourceLine" id="cb94-16" data-line-number="16">Not a code fence.</a>
-<a class="sourceLine" id="cb94-17" data-line-number="17">```</a>
-<a class="sourceLine" id="cb94-18" data-line-number="18"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb94-19" data-line-number="19"></a>
-<a class="sourceLine" id="cb94-20" data-line-number="20"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb95"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb95-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-3">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb95"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb95-1"><a href="#cb95-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb95-2"><a href="#cb95-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFencedCode</span>{true}</span>
+<span id="cb95-3"><a href="#cb95-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb95-4"><a href="#cb95-4" aria-hidden="true"></a></span>
+<span id="cb95-5"><a href="#cb95-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb95-6"><a href="#cb95-6" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb95-7"><a href="#cb95-7" aria-hidden="true"></a>```</span>
+<span id="cb95-8"><a href="#cb95-8" aria-hidden="true"></a>A code fence.</span>
+<span id="cb95-9"><a href="#cb95-9" aria-hidden="true"></a>```</span>
+<span id="cb95-10"><a href="#cb95-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb95-11"><a href="#cb95-11" aria-hidden="true"></a></span>
+<span id="cb95-12"><a href="#cb95-12" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeCodeFence</span>{true}</span>
+<span id="cb95-13"><a href="#cb95-13" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb95-14"><a href="#cb95-14" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb95-15"><a href="#cb95-15" aria-hidden="true"></a>```</span>
+<span id="cb95-16"><a href="#cb95-16" aria-hidden="true"></a>Not a code fence.</span>
+<span id="cb95-17"><a href="#cb95-17" aria-hidden="true"></a>```</span>
+<span id="cb95-18"><a href="#cb95-18" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb95-19"><a href="#cb95-19" aria-hidden="true"></a></span>
+<span id="cb95-20"><a href="#cb95-20" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb96"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb96-1"><a href="#cb96-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
<pre><code>A code fence.</code></pre>
<p>A paragraph. <code>Not a code fence.</code></p>
</blockquote>
-<h4 id="option-blankbeforeheading"><span class="header-section-number">2.2.1.5</span> Option <code>blankBeforeHeading</code></h4>
+<h4 data-number="2.2.1.5" id="option-blankbeforeheading"><span class="header-section-number">2.2.1.5</span> Option <code>blankBeforeHeading</code></h4>
<dl>
<dt><code>blankBeforeHeading</code> (default value: <code>false</code>)</dt>
<dd><dl>
@@ -906,51 +914,51 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</dl>
</dd>
</dl>
-<h5 id="lua-module-example-4" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb97"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb97-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb97-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb97-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererHeadingOne#1{{\bf #1}\par}</a>
-<a class="sourceLine" id="cb97-4" data-line-number="4"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb97-5" data-line-number="5"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb97-6" data-line-number="6"> local newline = [[^^J^^J]]</a>
-<a class="sourceLine" id="cb97-7" data-line-number="7"> local convert, input</a>
-<a class="sourceLine" id="cb97-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb97-9" data-line-number="9"> convert = markdown.new()</a>
-<a class="sourceLine" id="cb97-10" data-line-number="10"> input = &quot;A paragraph.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb97-11" data-line-number="11"> &quot;A heading.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb97-12" data-line-number="12"> &quot;==========&quot; .. newline</a>
-<a class="sourceLine" id="cb97-13" data-line-number="13"> tex.sprint(convert(input))</a>
-<a class="sourceLine" id="cb97-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb97-15" data-line-number="15"> convert = markdown.new({blankBeforeHeading = true})</a>
-<a class="sourceLine" id="cb97-16" data-line-number="16"> input = &quot;A paragraph.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb97-17" data-line-number="17"> &quot;Not a heading.&quot; .. newline ..</a>
-<a class="sourceLine" id="cb97-18" data-line-number="18"> &quot;==============&quot; .. newline</a>
-<a class="sourceLine" id="cb97-19" data-line-number="19"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb97-20" data-line-number="20"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-4">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb98"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb98-1"><a href="#cb98-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb98-2"><a href="#cb98-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb98-3"><a href="#cb98-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bf</span> #1}<span class="fu">\par</span>}</span>
+<span id="cb98-4"><a href="#cb98-4" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb98-5"><a href="#cb98-5" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb98-6"><a href="#cb98-6" aria-hidden="true"></a> local newline = [[^^J^^J]]</span>
+<span id="cb98-7"><a href="#cb98-7" aria-hidden="true"></a> local convert, input</span>
+<span id="cb98-8"><a href="#cb98-8" aria-hidden="true"></a></span>
+<span id="cb98-9"><a href="#cb98-9" aria-hidden="true"></a> convert = markdown.new()</span>
+<span id="cb98-10"><a href="#cb98-10" aria-hidden="true"></a> input = &quot;A paragraph.&quot; .. newline ..</span>
+<span id="cb98-11"><a href="#cb98-11" aria-hidden="true"></a> &quot;A heading.&quot; .. newline ..</span>
+<span id="cb98-12"><a href="#cb98-12" aria-hidden="true"></a> &quot;==========&quot; .. newline</span>
+<span id="cb98-13"><a href="#cb98-13" aria-hidden="true"></a> tex.sprint(convert(input))</span>
+<span id="cb98-14"><a href="#cb98-14" aria-hidden="true"></a></span>
+<span id="cb98-15"><a href="#cb98-15" aria-hidden="true"></a> convert = markdown.new({blankBeforeHeading = true})</span>
+<span id="cb98-16"><a href="#cb98-16" aria-hidden="true"></a> input = &quot;A paragraph.&quot; .. newline ..</span>
+<span id="cb98-17"><a href="#cb98-17" aria-hidden="true"></a> &quot;Not a heading.&quot; .. newline ..</span>
+<span id="cb98-18"><a href="#cb98-18" aria-hidden="true"></a> &quot;==============&quot; .. newline</span>
+<span id="cb98-19"><a href="#cb98-19" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb98-20"><a href="#cb98-20" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb98"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb98-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb99"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb99-1"><a href="#cb99-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
<h1 id="a-heading.">A heading.</h1>
<p>A paragraph. Not a heading. ==============</p>
</blockquote>
-<h5 id="lua-cli-example-4" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-4">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb99"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb99-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb99-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb99-3" data-line-number="3"><span class="fu">\input</span> optionfalse</a>
-<a class="sourceLine" id="cb99-4" data-line-number="4"><span class="fu">\input</span> optiontrue</a>
-<a class="sourceLine" id="cb99-5" data-line-number="5"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb100"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb100-1"><a href="#cb100-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb100-2"><a href="#cb100-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb100-3"><a href="#cb100-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span>
+<span id="cb100-4"><a href="#cb100-4" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span>
+<span id="cb100-5"><a href="#cb100-5" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p>
-<div class="sourceCode" id="cb100"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb100-1" data-line-number="1">A paragraph.</a>
-<a class="sourceLine" id="cb100-2" data-line-number="2">A heading?</a>
-<a class="sourceLine" id="cb100-3" data-line-number="3">==========</a></code></pre></div>
+<div class="sourceCode" id="cb101"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb101-1"><a href="#cb101-1" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb101-2"><a href="#cb101-2" aria-hidden="true"></a>A heading?</span>
+<span id="cb101-3"><a href="#cb101-3" aria-hidden="true"></a><span class="fu">==========</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb101"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb101-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</a>
-<a class="sourceLine" id="cb101-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ blankBeforeHeading=true -- content.md optiontrue.tex</a>
-<a class="sourceLine" id="cb101-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb102"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb102-1"><a href="#cb102-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span>
+<span id="cb102-2"><a href="#cb102-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ blankBeforeHeading=true -- content.md optiontrue.tex</span>
+<span id="cb102-3"><a href="#cb102-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
@@ -958,87 +966,87 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<h1 id="a-heading">A heading?</h1>
<p>A paragraph. A heading? ==========</p>
</blockquote>
-<h5 id="plain-tex-example-4" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb102"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb102-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb102-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb102-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb102-4" data-line-number="4">A paragraph.</a>
-<a class="sourceLine" id="cb102-5" data-line-number="5">A heading.</a>
-<a class="sourceLine" id="cb102-6" data-line-number="6">==========</a>
-<a class="sourceLine" id="cb102-7" data-line-number="7"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb102-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb102-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionBlankBeforeHeading{true}</a>
-<a class="sourceLine" id="cb102-10" data-line-number="10"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb102-11" data-line-number="11">A paragraph.</a>
-<a class="sourceLine" id="cb102-12" data-line-number="12">Not a heading.</a>
-<a class="sourceLine" id="cb102-13" data-line-number="13">==============</a>
-<a class="sourceLine" id="cb102-14" data-line-number="14"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb102-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb102-16" data-line-number="16"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb103"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb103-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-4">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb103"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb103-1"><a href="#cb103-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb103-2"><a href="#cb103-2" aria-hidden="true"></a></span>
+<span id="cb103-3"><a href="#cb103-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb103-4"><a href="#cb103-4" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb103-5"><a href="#cb103-5" aria-hidden="true"></a>A heading.</span>
+<span id="cb103-6"><a href="#cb103-6" aria-hidden="true"></a>==========</span>
+<span id="cb103-7"><a href="#cb103-7" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb103-8"><a href="#cb103-8" aria-hidden="true"></a></span>
+<span id="cb103-9"><a href="#cb103-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeHeading</span>{true}</span>
+<span id="cb103-10"><a href="#cb103-10" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb103-11"><a href="#cb103-11" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb103-12"><a href="#cb103-12" aria-hidden="true"></a>Not a heading.</span>
+<span id="cb103-13"><a href="#cb103-13" aria-hidden="true"></a>==============</span>
+<span id="cb103-14"><a href="#cb103-14" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb103-15"><a href="#cb103-15" aria-hidden="true"></a></span>
+<span id="cb103-16"><a href="#cb103-16" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb104"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb104-1"><a href="#cb104-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
<h1 id="a-heading.-1">A heading.</h1>
<p>A paragraph. Not a heading. ==============</p>
</blockquote>
-<h5 id="latex-example-4" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb104"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb104-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb104-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb104-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb104-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb104-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb104-6" data-line-number="6">A paragraph.</a>
-<a class="sourceLine" id="cb104-7" data-line-number="7">A heading.</a>
-<a class="sourceLine" id="cb104-8" data-line-number="8">==========</a>
-<a class="sourceLine" id="cb104-9" data-line-number="9"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb104-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb104-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeHeading}</a>
-<a class="sourceLine" id="cb104-12" data-line-number="12">A paragraph.</a>
-<a class="sourceLine" id="cb104-13" data-line-number="13">Not a heading.</a>
-<a class="sourceLine" id="cb104-14" data-line-number="14">==============</a>
-<a class="sourceLine" id="cb104-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb104-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb104-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb105"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb105-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-4"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb105"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb105-1"><a href="#cb105-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb105-2"><a href="#cb105-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb105-3"><a href="#cb105-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb105-4"><a href="#cb105-4" aria-hidden="true"></a></span>
+<span id="cb105-5"><a href="#cb105-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb105-6"><a href="#cb105-6" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb105-7"><a href="#cb105-7" aria-hidden="true"></a>A heading.</span>
+<span id="cb105-8"><a href="#cb105-8" aria-hidden="true"></a>==========</span>
+<span id="cb105-9"><a href="#cb105-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb105-10"><a href="#cb105-10" aria-hidden="true"></a></span>
+<span id="cb105-11"><a href="#cb105-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{blankBeforeHeading}</span>
+<span id="cb105-12"><a href="#cb105-12" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb105-13"><a href="#cb105-13" aria-hidden="true"></a>Not a heading.</span>
+<span id="cb105-14"><a href="#cb105-14" aria-hidden="true"></a>==============</span>
+<span id="cb105-15"><a href="#cb105-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb105-16"><a href="#cb105-16" aria-hidden="true"></a></span>
+<span id="cb105-17"><a href="#cb105-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb106"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb106-1"><a href="#cb106-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
<h1 id="a-heading.-2">A heading.</h1>
<p>A paragraph. Not a heading. ==============</p>
</blockquote>
-<h5 id="context-example-4" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb106"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb106-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb106-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb106-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb106-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb106-5" data-line-number="5">A paragraph.</a>
-<a class="sourceLine" id="cb106-6" data-line-number="6">A heading.</a>
-<a class="sourceLine" id="cb106-7" data-line-number="7">==========</a>
-<a class="sourceLine" id="cb106-8" data-line-number="8"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb106-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb106-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionBlankBeforeHeading{true}</a>
-<a class="sourceLine" id="cb106-11" data-line-number="11"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb106-12" data-line-number="12">A paragraph.</a>
-<a class="sourceLine" id="cb106-13" data-line-number="13">Not a heading.</a>
-<a class="sourceLine" id="cb106-14" data-line-number="14">==============</a>
-<a class="sourceLine" id="cb106-15" data-line-number="15"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb106-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb106-17" data-line-number="17"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb107"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb107-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-4">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb107"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb107-1"><a href="#cb107-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb107-2"><a href="#cb107-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb107-3"><a href="#cb107-3" aria-hidden="true"></a></span>
+<span id="cb107-4"><a href="#cb107-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb107-5"><a href="#cb107-5" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb107-6"><a href="#cb107-6" aria-hidden="true"></a>A heading.</span>
+<span id="cb107-7"><a href="#cb107-7" aria-hidden="true"></a>==========</span>
+<span id="cb107-8"><a href="#cb107-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb107-9"><a href="#cb107-9" aria-hidden="true"></a></span>
+<span id="cb107-10"><a href="#cb107-10" aria-hidden="true"></a><span class="fu">\def\markdownOptionBlankBeforeHeading</span>{true}</span>
+<span id="cb107-11"><a href="#cb107-11" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb107-12"><a href="#cb107-12" aria-hidden="true"></a>A paragraph.</span>
+<span id="cb107-13"><a href="#cb107-13" aria-hidden="true"></a>Not a heading.</span>
+<span id="cb107-14"><a href="#cb107-14" aria-hidden="true"></a>==============</span>
+<span id="cb107-15"><a href="#cb107-15" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb107-16"><a href="#cb107-16" aria-hidden="true"></a></span>
+<span id="cb107-17"><a href="#cb107-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb108"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb108-1"><a href="#cb108-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A paragraph.</p>
<h1 id="a-heading.-3">A heading.</h1>
<p>A paragraph. Not a heading. ==============</p>
</blockquote>
-<h4 id="option-breakableblockquotes"><span class="header-section-number">2.2.1.6</span> Option <code>breakableBlockquotes</code></h4>
+<h4 data-number="2.2.1.6" id="option-breakableblockquotes"><span class="header-section-number">2.2.1.6</span> Option <code>breakableBlockquotes</code></h4>
<dl>
<dt><code>breakableBlockquotes</code> (default value: <code>false</code>)</dt>
<dd><dl>
@@ -1051,28 +1059,28 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</dl>
</dd>
</dl>
-<h5 id="lua-module-example-5" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb108"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb108-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb108-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb108-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererHeadingOne#1{{\bf #1}\par}</a>
-<a class="sourceLine" id="cb108-4" data-line-number="4"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb108-5" data-line-number="5"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb108-6" data-line-number="6"> local newline = [[^^J^^J]]</a>
-<a class="sourceLine" id="cb108-7" data-line-number="7"> local convert, input</a>
-<a class="sourceLine" id="cb108-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb108-9" data-line-number="9"> convert = markdown.new()</a>
-<a class="sourceLine" id="cb108-10" data-line-number="10"> input = &quot;&gt; A single&quot; .. newline .. newline ..</a>
-<a class="sourceLine" id="cb108-11" data-line-number="11"> &quot;&gt; block quote.&quot; .. newline</a>
-<a class="sourceLine" id="cb108-12" data-line-number="12"> tex.sprint(convert(input))</a>
-<a class="sourceLine" id="cb108-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb108-14" data-line-number="14"> convert = markdown.new({breakableBlockquotes = true})</a>
-<a class="sourceLine" id="cb108-15" data-line-number="15"> input = &quot;&gt; A block quote.&quot; .. newline .. newline ..</a>
-<a class="sourceLine" id="cb108-16" data-line-number="16"> &quot;&gt; Another block quote.&quot; .. newline</a>
-<a class="sourceLine" id="cb108-17" data-line-number="17"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb108-18" data-line-number="18"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-5">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb109"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb109-1"><a href="#cb109-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb109-2"><a href="#cb109-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb109-3"><a href="#cb109-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bf</span> #1}<span class="fu">\par</span>}</span>
+<span id="cb109-4"><a href="#cb109-4" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb109-5"><a href="#cb109-5" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb109-6"><a href="#cb109-6" aria-hidden="true"></a> local newline = [[^^J^^J]]</span>
+<span id="cb109-7"><a href="#cb109-7" aria-hidden="true"></a> local convert, input</span>
+<span id="cb109-8"><a href="#cb109-8" aria-hidden="true"></a></span>
+<span id="cb109-9"><a href="#cb109-9" aria-hidden="true"></a> convert = markdown.new()</span>
+<span id="cb109-10"><a href="#cb109-10" aria-hidden="true"></a> input = &quot;&gt; A single&quot; .. newline .. newline ..</span>
+<span id="cb109-11"><a href="#cb109-11" aria-hidden="true"></a> &quot;&gt; block quote.&quot; .. newline</span>
+<span id="cb109-12"><a href="#cb109-12" aria-hidden="true"></a> tex.sprint(convert(input))</span>
+<span id="cb109-13"><a href="#cb109-13" aria-hidden="true"></a></span>
+<span id="cb109-14"><a href="#cb109-14" aria-hidden="true"></a> convert = markdown.new({breakableBlockquotes = true})</span>
+<span id="cb109-15"><a href="#cb109-15" aria-hidden="true"></a> input = &quot;&gt; A block quote.&quot; .. newline .. newline ..</span>
+<span id="cb109-16"><a href="#cb109-16" aria-hidden="true"></a> &quot;&gt; Another block quote.&quot; .. newline</span>
+<span id="cb109-17"><a href="#cb109-17" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb109-18"><a href="#cb109-18" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb109"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb109-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb110"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb110-1"><a href="#cb110-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<blockquote>
@@ -1085,21 +1093,21 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<p>Another block quote.</p>
</blockquote>
</blockquote>
-<h5 id="lua-cli-example-5" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-5">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb110"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb110-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb110-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb110-3" data-line-number="3"><span class="fu">\input</span> optionfalse</a>
-<a class="sourceLine" id="cb110-4" data-line-number="4"><span class="fu">\input</span> optiontrue</a>
-<a class="sourceLine" id="cb110-5" data-line-number="5"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb111"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb111-1"><a href="#cb111-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb111-2"><a href="#cb111-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb111-3"><a href="#cb111-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span>
+<span id="cb111-4"><a href="#cb111-4" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span>
+<span id="cb111-5"><a href="#cb111-5" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p>
-<div class="sourceCode" id="cb111"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb111-1" data-line-number="1">&gt;<span class="dt"> A single block quote</span></a>
-<a class="sourceLine" id="cb111-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb111-3" data-line-number="3">&gt;<span class="dt"> or two block quotes?</span></a></code></pre></div>
+<div class="sourceCode" id="cb112"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb112-1"><a href="#cb112-1" aria-hidden="true"></a><span class="at">&gt; A single block quote</span></span>
+<span id="cb112-2"><a href="#cb112-2" aria-hidden="true"></a></span>
+<span id="cb112-3"><a href="#cb112-3" aria-hidden="true"></a><span class="at">&gt; or two block quotes?</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb112"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb112-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</a>
-<a class="sourceLine" id="cb112-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ breakableBlockquotes=true -- content.md optiontrue.tex</a>
-<a class="sourceLine" id="cb112-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb113"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb113-1"><a href="#cb113-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span>
+<span id="cb113-2"><a href="#cb113-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ breakableBlockquotes=true -- content.md optiontrue.tex</span>
+<span id="cb113-3"><a href="#cb113-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
@@ -1113,26 +1121,26 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<p>or two block quotes?</p>
</blockquote>
</blockquote>
-<h5 id="plain-tex-example-5" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb113"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb113-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb113-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb113-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb113-4" data-line-number="4">&gt; A single</a>
-<a class="sourceLine" id="cb113-5" data-line-number="5"></a>
-<a class="sourceLine" id="cb113-6" data-line-number="6">&gt; block quote.</a>
-<a class="sourceLine" id="cb113-7" data-line-number="7"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb113-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb113-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionBreakableBlockquotes{true}</a>
-<a class="sourceLine" id="cb113-10" data-line-number="10"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb113-11" data-line-number="11">&gt; A block quote.</a>
-<a class="sourceLine" id="cb113-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb113-13" data-line-number="13">&gt; Another block quote.</a>
-<a class="sourceLine" id="cb113-14" data-line-number="14"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb113-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb113-16" data-line-number="16"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb114"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb114-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-5">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb114"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb114-1"><a href="#cb114-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb114-2"><a href="#cb114-2" aria-hidden="true"></a></span>
+<span id="cb114-3"><a href="#cb114-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb114-4"><a href="#cb114-4" aria-hidden="true"></a>&gt; A single</span>
+<span id="cb114-5"><a href="#cb114-5" aria-hidden="true"></a></span>
+<span id="cb114-6"><a href="#cb114-6" aria-hidden="true"></a>&gt; block quote.</span>
+<span id="cb114-7"><a href="#cb114-7" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb114-8"><a href="#cb114-8" aria-hidden="true"></a></span>
+<span id="cb114-9"><a href="#cb114-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionBreakableBlockquotes</span>{true}</span>
+<span id="cb114-10"><a href="#cb114-10" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb114-11"><a href="#cb114-11" aria-hidden="true"></a>&gt; A block quote.</span>
+<span id="cb114-12"><a href="#cb114-12" aria-hidden="true"></a></span>
+<span id="cb114-13"><a href="#cb114-13" aria-hidden="true"></a>&gt; Another block quote.</span>
+<span id="cb114-14"><a href="#cb114-14" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb114-15"><a href="#cb114-15" aria-hidden="true"></a></span>
+<span id="cb114-16"><a href="#cb114-16" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb115"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb115-1"><a href="#cb115-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<blockquote>
@@ -1145,27 +1153,27 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<p>Another block quote.</p>
</blockquote>
</blockquote>
-<h5 id="latex-example-5" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb115"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb115-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb115-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb115-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb115-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb115-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb115-6" data-line-number="6">&gt; A single</a>
-<a class="sourceLine" id="cb115-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb115-8" data-line-number="8">&gt; block quote.</a>
-<a class="sourceLine" id="cb115-9" data-line-number="9"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb115-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb115-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{breakableBlockquotes}</a>
-<a class="sourceLine" id="cb115-12" data-line-number="12">&gt; A block quote.</a>
-<a class="sourceLine" id="cb115-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb115-14" data-line-number="14">&gt; Another block quote.</a>
-<a class="sourceLine" id="cb115-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb115-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb115-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb116"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb116-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-5"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb116"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb116-1"><a href="#cb116-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb116-2"><a href="#cb116-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb116-3"><a href="#cb116-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb116-4"><a href="#cb116-4" aria-hidden="true"></a></span>
+<span id="cb116-5"><a href="#cb116-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb116-6"><a href="#cb116-6" aria-hidden="true"></a>&gt; A single</span>
+<span id="cb116-7"><a href="#cb116-7" aria-hidden="true"></a></span>
+<span id="cb116-8"><a href="#cb116-8" aria-hidden="true"></a>&gt; block quote.</span>
+<span id="cb116-9"><a href="#cb116-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb116-10"><a href="#cb116-10" aria-hidden="true"></a></span>
+<span id="cb116-11"><a href="#cb116-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{breakableBlockquotes}</span>
+<span id="cb116-12"><a href="#cb116-12" aria-hidden="true"></a>&gt; A block quote.</span>
+<span id="cb116-13"><a href="#cb116-13" aria-hidden="true"></a></span>
+<span id="cb116-14"><a href="#cb116-14" aria-hidden="true"></a>&gt; Another block quote.</span>
+<span id="cb116-15"><a href="#cb116-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb116-16"><a href="#cb116-16" aria-hidden="true"></a></span>
+<span id="cb116-17"><a href="#cb116-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb117"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb117-1"><a href="#cb117-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<blockquote>
@@ -1178,27 +1186,27 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<p>Another block quote.</p>
</blockquote>
</blockquote>
-<h5 id="context-example-5" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb117"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb117-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb117-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb117-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb117-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb117-5" data-line-number="5">&gt; A single</a>
-<a class="sourceLine" id="cb117-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb117-7" data-line-number="7">&gt; block quote.</a>
-<a class="sourceLine" id="cb117-8" data-line-number="8"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb117-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb117-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionBreakableBlockquotes{true}</a>
-<a class="sourceLine" id="cb117-11" data-line-number="11"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb117-12" data-line-number="12">&gt; A block quote.</a>
-<a class="sourceLine" id="cb117-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb117-14" data-line-number="14">&gt; Another block quote.</a>
-<a class="sourceLine" id="cb117-15" data-line-number="15"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb117-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb117-17" data-line-number="17"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb118"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb118-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-5">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb118"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb118-1"><a href="#cb118-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb118-2"><a href="#cb118-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb118-3"><a href="#cb118-3" aria-hidden="true"></a></span>
+<span id="cb118-4"><a href="#cb118-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb118-5"><a href="#cb118-5" aria-hidden="true"></a>&gt; A single</span>
+<span id="cb118-6"><a href="#cb118-6" aria-hidden="true"></a></span>
+<span id="cb118-7"><a href="#cb118-7" aria-hidden="true"></a>&gt; block quote.</span>
+<span id="cb118-8"><a href="#cb118-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb118-9"><a href="#cb118-9" aria-hidden="true"></a></span>
+<span id="cb118-10"><a href="#cb118-10" aria-hidden="true"></a><span class="fu">\def\markdownOptionBreakableBlockquotes</span>{true}</span>
+<span id="cb118-11"><a href="#cb118-11" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb118-12"><a href="#cb118-12" aria-hidden="true"></a>&gt; A block quote.</span>
+<span id="cb118-13"><a href="#cb118-13" aria-hidden="true"></a></span>
+<span id="cb118-14"><a href="#cb118-14" aria-hidden="true"></a>&gt; Another block quote.</span>
+<span id="cb118-15"><a href="#cb118-15" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb118-16"><a href="#cb118-16" aria-hidden="true"></a></span>
+<span id="cb118-17"><a href="#cb118-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb119"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb119-1"><a href="#cb119-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<blockquote>
@@ -1211,7 +1219,7 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<p>Another block quote.</p>
</blockquote>
</blockquote>
-<h4 id="option-citationnbsps"><span class="header-section-number">2.2.1.7</span> Option <code>citationNbsps</code></h4>
+<h4 data-number="2.2.1.7" id="option-citationnbsps"><span class="header-section-number">2.2.1.7</span> Option <code>citationNbsps</code></h4>
<dl>
<dt><code>citationNbsps</code> (default value: <code>true</code>)</dt>
<dd><dl>
@@ -1224,35 +1232,35 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</dl>
</dd>
</dl>
-<h5 id="latex-example-6" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-6"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.bib</code> with the following content:</p>
-<div class="sourceCode" id="cb119"><pre class="sourceCode bib"><code class="sourceCode bibtex"><a class="sourceLine" id="cb119-1" data-line-number="1"><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</a>
-<a class="sourceLine" id="cb119-2" data-line-number="2"> <span class="dt">author</span> = &quot;<span class="st">Knuth, Donald Ervin</span>&quot;,</a>
-<a class="sourceLine" id="cb119-3" data-line-number="3"> <span class="dt">title</span> = &quot;<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>&quot;,</a>
-<a class="sourceLine" id="cb119-4" data-line-number="4"> <span class="dt">publisher</span> = &quot;<span class="st">Addison-Wesley</span>&quot;,</a>
-<a class="sourceLine" id="cb119-5" data-line-number="5"> <span class="dt">year</span> = &quot;<span class="st">1984</span>&quot;</a>
-<a class="sourceLine" id="cb119-6" data-line-number="6">}</a></code></pre></div>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb120"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb120-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb120-2" data-line-number="2"><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb120-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb120-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb120-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb120-6" data-line-number="6">The TeXbook [@knuth:tex, p. 123 and 130] is good.</a>
-<a class="sourceLine" id="cb120-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb120-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb120-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{citationNbsps = false}</a>
-<a class="sourceLine" id="cb120-10" data-line-number="10">The TeXbook [@knuth:tex, p. 123 and 130] is good.</a>
-<a class="sourceLine" id="cb120-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb120-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb120-13" data-line-number="13"><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</a>
-<a class="sourceLine" id="cb120-14" data-line-number="14"><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</a>
-<a class="sourceLine" id="cb120-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb120"><pre class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb120-1"><a href="#cb120-1" aria-hidden="true"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span>
+<span id="cb120-2"><a href="#cb120-2" aria-hidden="true"></a> <span class="dt">author</span> = &quot;<span class="st">Knuth, Donald Ervin</span>&quot;,</span>
+<span id="cb120-3"><a href="#cb120-3" aria-hidden="true"></a> <span class="dt">title</span> = &quot;<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>&quot;,</span>
+<span id="cb120-4"><a href="#cb120-4" aria-hidden="true"></a> <span class="dt">publisher</span> = &quot;<span class="st">Addison-Wesley</span>&quot;,</span>
+<span id="cb120-5"><a href="#cb120-5" aria-hidden="true"></a> <span class="dt">year</span> = &quot;<span class="st">1984</span>&quot;</span>
+<span id="cb120-6"><a href="#cb120-6" aria-hidden="true"></a>}</span></code></pre></div>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb121"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb121-1"><a href="#cb121-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb121-2"><a href="#cb121-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span>
+<span id="cb121-3"><a href="#cb121-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb121-4"><a href="#cb121-4" aria-hidden="true"></a></span>
+<span id="cb121-5"><a href="#cb121-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb121-6"><a href="#cb121-6" aria-hidden="true"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span>
+<span id="cb121-7"><a href="#cb121-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb121-8"><a href="#cb121-8" aria-hidden="true"></a></span>
+<span id="cb121-9"><a href="#cb121-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{citationNbsps = false}</span>
+<span id="cb121-10"><a href="#cb121-10" aria-hidden="true"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span>
+<span id="cb121-11"><a href="#cb121-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb121-12"><a href="#cb121-12" aria-hidden="true"></a></span>
+<span id="cb121-13"><a href="#cb121-13" aria-hidden="true"></a><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</span>
+<span id="cb121-14"><a href="#cb121-14" aria-hidden="true"></a><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</span>
+<span id="cb121-15"><a href="#cb121-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX and BibTeX from the terminal:</p>
-<div class="sourceCode" id="cb121"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb121-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a>
-<a class="sourceLine" id="cb121-2" data-line-number="2"><span class="ex">bibtex</span> document.aux</a>
-<a class="sourceLine" id="cb121-3" data-line-number="3"><span class="ex">lualatex</span> document.tex</a>
-<a class="sourceLine" id="cb121-4" data-line-number="4"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb122"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb122-1"><a href="#cb122-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span>
+<span id="cb122-2"><a href="#cb122-2" aria-hidden="true"></a><span class="ex">bibtex</span> document.aux</span>
+<span id="cb122-3"><a href="#cb122-3" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span>
+<span id="cb122-4"><a href="#cb122-4" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p>
<blockquote>
<p>The TeXbook [1, p.·123·and·130] is good.</p>
@@ -1260,25 +1268,25 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
<h3 id="references">References</h3>
<p>[1] Donald·Ervin Knuth. <em>The TeXbook, volume A of Computers and typesetting.</em> Addison-Wesley, 1984.</p>
</blockquote>
-<h4 id="option-citations"><span class="header-section-number">2.2.1.8</span> Option <code>citations</code></h4>
+<h4 data-number="2.2.1.8" id="option-citations"><span class="header-section-number">2.2.1.8</span> Option <code>citations</code></h4>
<dl>
<dt><code>citations</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the pandoc citation syntax extension:</p>
-<div class="sourceCode" id="cb122"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb122-1" data-line-number="1">Here is a simple parenthetical citation [@doe99] and here</a>
-<a class="sourceLine" id="cb122-2" data-line-number="2">is a string of several [see @doe99, pp. 33-35; also</a>
-<a class="sourceLine" id="cb122-3" data-line-number="3">@smith04, chap. 1].</a>
-<a class="sourceLine" id="cb122-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb122-5" data-line-number="5">A parenthetical citation can have a [prenote @doe99] and</a>
-<a class="sourceLine" id="cb122-6" data-line-number="6">a [@smith04 postnote]. The name of the author can be</a>
-<a class="sourceLine" id="cb122-7" data-line-number="7">suppressed by inserting a dash before the name of an</a>
-<a class="sourceLine" id="cb122-8" data-line-number="8">author as follows [-@smith04].</a>
-<a class="sourceLine" id="cb122-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb122-10" data-line-number="10">Here is a simple text citation @doe99 and here is</a>
-<a class="sourceLine" id="cb122-11" data-line-number="11">a string of several @doe99 [pp. 33-35; also @smith04,</a>
-<a class="sourceLine" id="cb122-12" data-line-number="12">chap. 1]. Here is one with the name of the author</a>
-<a class="sourceLine" id="cb122-13" data-line-number="13">suppressed -@doe99.</a></code></pre></div>
+<div class="sourceCode" id="cb123"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb123-1"><a href="#cb123-1" aria-hidden="true"></a>Here is a simple parenthetical citation <span class="co">[</span><span class="ot">@doe99</span><span class="co">]</span> and here</span>
+<span id="cb123-2"><a href="#cb123-2" aria-hidden="true"></a>is a string of several [see @doe99, pp. 33-35; also</span>
+<span id="cb123-3"><a href="#cb123-3" aria-hidden="true"></a>@smith04, chap. 1].</span>
+<span id="cb123-4"><a href="#cb123-4" aria-hidden="true"></a></span>
+<span id="cb123-5"><a href="#cb123-5" aria-hidden="true"></a>A parenthetical citation can have a <span class="co">[</span><span class="ot">prenote @doe99</span><span class="co">]</span> and</span>
+<span id="cb123-6"><a href="#cb123-6" aria-hidden="true"></a>a <span class="co">[</span><span class="ot">@smith04 postnote</span><span class="co">]</span>. The name of the author can be</span>
+<span id="cb123-7"><a href="#cb123-7" aria-hidden="true"></a>suppressed by inserting a dash before the name of an</span>
+<span id="cb123-8"><a href="#cb123-8" aria-hidden="true"></a>author as follows <span class="co">[</span><span class="ot">-@smith04</span><span class="co">]</span>.</span>
+<span id="cb123-9"><a href="#cb123-9" aria-hidden="true"></a></span>
+<span id="cb123-10"><a href="#cb123-10" aria-hidden="true"></a>Here is a simple text citation @doe99 and here is</span>
+<span id="cb123-11"><a href="#cb123-11" aria-hidden="true"></a>a string of several @doe99 [pp. 33-35; also @smith04,</span>
+<span id="cb123-12"><a href="#cb123-12" aria-hidden="true"></a>chap. 1]. Here is one with the name of the author</span>
+<span id="cb123-13"><a href="#cb123-13" aria-hidden="true"></a>suppressed -@doe99.</span></code></pre></div>
</dd>
</dl>
</dd>
@@ -1289,46 +1297,46 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</dl>
</dd>
</dl>
-<h5 id="latex-example-7" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-7"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.bib</code> with the following content:</p>
-<div class="sourceCode" id="cb123"><pre class="sourceCode bib"><code class="sourceCode bibtex"><a class="sourceLine" id="cb123-1" data-line-number="1"><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</a>
-<a class="sourceLine" id="cb123-2" data-line-number="2"> <span class="dt">author</span> = &quot;<span class="st">Knuth, Donald Ervin</span>&quot;,</a>
-<a class="sourceLine" id="cb123-3" data-line-number="3"> <span class="dt">title</span> = &quot;<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>&quot;,</a>
-<a class="sourceLine" id="cb123-4" data-line-number="4"> <span class="dt">publisher</span> = &quot;<span class="st">Addison-Wesley</span>&quot;,</a>
-<a class="sourceLine" id="cb123-5" data-line-number="5"> <span class="dt">year</span> = &quot;<span class="st">1984</span>&quot;</a>
-<a class="sourceLine" id="cb123-6" data-line-number="6">}</a></code></pre></div>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb124"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb124-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb124-2" data-line-number="2"><span class="bu">\usepackage</span>[backend=biber]{<span class="ex">biblatex</span>}</a>
-<a class="sourceLine" id="cb124-3" data-line-number="3"><span class="fu">\addbibresource</span>{document.bib}</a>
-<a class="sourceLine" id="cb124-4" data-line-number="4"><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb124-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb124-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb124-7" data-line-number="7"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb124-8" data-line-number="8">The TeXbook [@knuth:tex, p. 123 and 130] was written by @knuth:tex.</a>
-<a class="sourceLine" id="cb124-9" data-line-number="9"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb124-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb124-11" data-line-number="11"><span class="fu">\printbibliography</span></a>
-<a class="sourceLine" id="cb124-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb124"><pre class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb124-1"><a href="#cb124-1" aria-hidden="true"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span>
+<span id="cb124-2"><a href="#cb124-2" aria-hidden="true"></a> <span class="dt">author</span> = &quot;<span class="st">Knuth, Donald Ervin</span>&quot;,</span>
+<span id="cb124-3"><a href="#cb124-3" aria-hidden="true"></a> <span class="dt">title</span> = &quot;<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>&quot;,</span>
+<span id="cb124-4"><a href="#cb124-4" aria-hidden="true"></a> <span class="dt">publisher</span> = &quot;<span class="st">Addison-Wesley</span>&quot;,</span>
+<span id="cb124-5"><a href="#cb124-5" aria-hidden="true"></a> <span class="dt">year</span> = &quot;<span class="st">1984</span>&quot;</span>
+<span id="cb124-6"><a href="#cb124-6" aria-hidden="true"></a>}</span></code></pre></div>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb125"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb125-1"><a href="#cb125-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb125-2"><a href="#cb125-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[backend=biber]{<span class="ex">biblatex</span>}</span>
+<span id="cb125-3"><a href="#cb125-3" aria-hidden="true"></a><span class="fu">\addbibresource</span>{document.bib}</span>
+<span id="cb125-4"><a href="#cb125-4" aria-hidden="true"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span>
+<span id="cb125-5"><a href="#cb125-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb125-6"><a href="#cb125-6" aria-hidden="true"></a></span>
+<span id="cb125-7"><a href="#cb125-7" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb125-8"><a href="#cb125-8" aria-hidden="true"></a>The TeXbook [@knuth:tex, p. 123 and 130] was written by @knuth:tex.</span>
+<span id="cb125-9"><a href="#cb125-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb125-10"><a href="#cb125-10" aria-hidden="true"></a></span>
+<span id="cb125-11"><a href="#cb125-11" aria-hidden="true"></a><span class="fu">\printbibliography</span></span>
+<span id="cb125-12"><a href="#cb125-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX and Biber from the terminal:</p>
-<div class="sourceCode" id="cb125"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb125-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a>
-<a class="sourceLine" id="cb125-2" data-line-number="2"><span class="ex">biber</span> document.bcf</a>
-<a class="sourceLine" id="cb125-3" data-line-number="3"><span class="ex">lualatex</span> document.tex</a>
-<a class="sourceLine" id="cb125-4" data-line-number="4"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb126"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb126-1"><a href="#cb126-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span>
+<span id="cb126-2"><a href="#cb126-2" aria-hidden="true"></a><span class="ex">biber</span> document.bcf</span>
+<span id="cb126-3"><a href="#cb126-3" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span>
+<span id="cb126-4"><a href="#cb126-4" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>The TeXbook [1, p.·123 and 130] was written by Knuth [1].</p>
<h3 id="references-1">References</h3>
<p>[1] Donald Ervin Knuth. <em>The <span class="tex">T<sub>e</sub>X</span>book, volume A of Computers and typesetting.</em> Addison-Wesley, 1984.</p>
</blockquote>
-<h4 id="option-codespans"><span class="header-section-number">2.2.1.9</span> Option <code>codeSpans</code></h4>
+<h4 data-number="2.2.1.9" id="option-codespans"><span class="header-section-number">2.2.1.9</span> Option <code>codeSpans</code></h4>
<dl>
<dt><code>codeSpans</code> (default value: <code>true</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the code span syntax:</p>
-<div class="sourceCode" id="cb126"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb126-1" data-line-number="1">Use the <span class="bn">`printf()`</span> function.</a>
-<a class="sourceLine" id="cb126-2" data-line-number="2">`<span class="bn">`There is a literal backtick (`</span>) here.``</a></code></pre></div>
+<div class="sourceCode" id="cb127"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb127-1"><a href="#cb127-1" aria-hidden="true"></a>Use the <span class="in">`printf()`</span> function.</span>
+<span id="cb127-2"><a href="#cb127-2" aria-hidden="true"></a><span class="in">``There is a literal backtick (`) here.``</span></span></code></pre></div>
</dd>
</dl>
</dd>
@@ -1340,136 +1348,136 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</dl>
</dd>
</dl>
-<h5 id="lua-module-example-6" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb128"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb128-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb128-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb128-3" data-line-number="3"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb128-4" data-line-number="4"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb128-5" data-line-number="5"> local convert = markdown.new()</a>
-<a class="sourceLine" id="cb128-6" data-line-number="6"> local input =</a>
-<a class="sourceLine" id="cb128-7" data-line-number="7"> &quot;``This is a code span.&#39;&#39; &quot; ..</a>
-<a class="sourceLine" id="cb128-8" data-line-number="8"> &quot;``This is no longer a code span.&#39;&#39;&quot;</a>
-<a class="sourceLine" id="cb128-9" data-line-number="9"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb128-10" data-line-number="10"><span class="fu">\par</span></a>
-<a class="sourceLine" id="cb128-11" data-line-number="11"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb128-12" data-line-number="12"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb128-13" data-line-number="13"> local convert = markdown.new({codeSpans = false})</a>
-<a class="sourceLine" id="cb128-14" data-line-number="14"> local input =</a>
-<a class="sourceLine" id="cb128-15" data-line-number="15"> &quot;``This is a quote.&#39;&#39; &quot; ..</a>
-<a class="sourceLine" id="cb128-16" data-line-number="16"> &quot;``This is another quote.&#39;&#39;&quot;</a>
-<a class="sourceLine" id="cb128-17" data-line-number="17"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb128-18" data-line-number="18"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-6">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb129"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb129-1"><a href="#cb129-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb129-2"><a href="#cb129-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb129-3"><a href="#cb129-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb129-4"><a href="#cb129-4" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb129-5"><a href="#cb129-5" aria-hidden="true"></a> local convert = markdown.new()</span>
+<span id="cb129-6"><a href="#cb129-6" aria-hidden="true"></a> local input =</span>
+<span id="cb129-7"><a href="#cb129-7" aria-hidden="true"></a> &quot;``This is a code span.&#39;&#39; &quot; ..</span>
+<span id="cb129-8"><a href="#cb129-8" aria-hidden="true"></a> &quot;``This is no longer a code span.&#39;&#39;&quot;</span>
+<span id="cb129-9"><a href="#cb129-9" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb129-10"><a href="#cb129-10" aria-hidden="true"></a><span class="fu">\par</span></span>
+<span id="cb129-11"><a href="#cb129-11" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb129-12"><a href="#cb129-12" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb129-13"><a href="#cb129-13" aria-hidden="true"></a> local convert = markdown.new({codeSpans = false})</span>
+<span id="cb129-14"><a href="#cb129-14" aria-hidden="true"></a> local input =</span>
+<span id="cb129-15"><a href="#cb129-15" aria-hidden="true"></a> &quot;``This is a quote.&#39;&#39; &quot; ..</span>
+<span id="cb129-16"><a href="#cb129-16" aria-hidden="true"></a> &quot;``This is another quote.&#39;&#39;&quot;</span>
+<span id="cb129-17"><a href="#cb129-17" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb129-18"><a href="#cb129-18" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb129"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb129-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb130"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb130-1"><a href="#cb130-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p><code>This is a code span.''</code>This is no longer a code span.’’</p>
<p>“This is a quote.” “This is another quote.”</p>
</blockquote>
-<h5 id="lua-cli-example-6" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-6">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb130"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb130-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb130-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb130-3" data-line-number="3"><span class="fu">\input</span> optionfalse</a>
-<a class="sourceLine" id="cb130-4" data-line-number="4"><span class="fu">\par</span></a>
-<a class="sourceLine" id="cb130-5" data-line-number="5"><span class="fu">\input</span> optiontrue</a>
-<a class="sourceLine" id="cb130-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb131"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb131-1"><a href="#cb131-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb131-2"><a href="#cb131-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb131-3"><a href="#cb131-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span>
+<span id="cb131-4"><a href="#cb131-4" aria-hidden="true"></a><span class="fu">\par</span></span>
+<span id="cb131-5"><a href="#cb131-5" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span>
+<span id="cb131-6"><a href="#cb131-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p>
-<div class="sourceCode" id="cb131"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb131-1" data-line-number="1">`<span class="bn">`Is this a code span?&#39;&#39; `</span>`Or a quote?&#39;&#39;</a></code></pre></div>
+<div class="sourceCode" id="cb132"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb132-1"><a href="#cb132-1" aria-hidden="true"></a><span class="in">``Is this a code span?&#39;&#39; ``</span>Or a quote?&#39;&#39;</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb132"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb132-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ codeSpans=false -- content.md optionfalse.tex</a>
-<a class="sourceLine" id="cb132-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optiontrue.tex</a>
-<a class="sourceLine" id="cb132-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb133"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb133-1"><a href="#cb133-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ codeSpans=false -- content.md optionfalse.tex</span>
+<span id="cb133-2"><a href="#cb133-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optiontrue.tex</span>
+<span id="cb133-3"><a href="#cb133-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>“Is this a code span?” “Or a quote?”</p>
<p><code>Is this a code span?''</code>Or a quote?’’</p>
</blockquote>
-<h5 id="plain-tex-example-6" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb133"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb133-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb133-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb133-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb133-4" data-line-number="4">``This is a code span.&#39;&#39;</a>
-<a class="sourceLine" id="cb133-5" data-line-number="5">``This is no longer a code span.&#39;&#39;</a>
-<a class="sourceLine" id="cb133-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb133-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb133-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionCodeSpans{false}</a>
-<a class="sourceLine" id="cb133-9" data-line-number="9"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb133-10" data-line-number="10">``This is a quote.&#39;&#39;</a>
-<a class="sourceLine" id="cb133-11" data-line-number="11">``This is another quote.&#39;&#39;</a>
-<a class="sourceLine" id="cb133-12" data-line-number="12"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb133-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb133-14" data-line-number="14"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb134"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb134-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-6">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb134"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb134-1"><a href="#cb134-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb134-2"><a href="#cb134-2" aria-hidden="true"></a></span>
+<span id="cb134-3"><a href="#cb134-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb134-4"><a href="#cb134-4" aria-hidden="true"></a>``This is a code span.&#39;&#39;</span>
+<span id="cb134-5"><a href="#cb134-5" aria-hidden="true"></a>``This is no longer a code span.&#39;&#39;</span>
+<span id="cb134-6"><a href="#cb134-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb134-7"><a href="#cb134-7" aria-hidden="true"></a></span>
+<span id="cb134-8"><a href="#cb134-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionCodeSpans</span>{false}</span>
+<span id="cb134-9"><a href="#cb134-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb134-10"><a href="#cb134-10" aria-hidden="true"></a>``This is a quote.&#39;&#39;</span>
+<span id="cb134-11"><a href="#cb134-11" aria-hidden="true"></a>``This is another quote.&#39;&#39;</span>
+<span id="cb134-12"><a href="#cb134-12" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb134-13"><a href="#cb134-13" aria-hidden="true"></a></span>
+<span id="cb134-14"><a href="#cb134-14" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb135"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb135-1"><a href="#cb135-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p><code>This is a code span.''</code>This is no longer a code span.’’</p>
<p>“This is a quote.” “This is another quote.”</p>
</blockquote>
-<h5 id="latex-example-8" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb135"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb135-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb135-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb135-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb135-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb135-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb135-6" data-line-number="6">``This is a code span.&#39;&#39;</a>
-<a class="sourceLine" id="cb135-7" data-line-number="7">``This is no longer a code span.&#39;&#39;</a>
-<a class="sourceLine" id="cb135-8" data-line-number="8"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb135-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb135-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{codeSpans=false}</a>
-<a class="sourceLine" id="cb135-11" data-line-number="11">``This is a quote.&#39;&#39;</a>
-<a class="sourceLine" id="cb135-12" data-line-number="12">``This is another quote.&#39;&#39;</a>
-<a class="sourceLine" id="cb135-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb135-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb135-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb136"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb136-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-8"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb136"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb136-1"><a href="#cb136-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb136-2"><a href="#cb136-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb136-3"><a href="#cb136-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb136-4"><a href="#cb136-4" aria-hidden="true"></a></span>
+<span id="cb136-5"><a href="#cb136-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb136-6"><a href="#cb136-6" aria-hidden="true"></a>``This is a code span.&#39;&#39;</span>
+<span id="cb136-7"><a href="#cb136-7" aria-hidden="true"></a>``This is no longer a code span.&#39;&#39;</span>
+<span id="cb136-8"><a href="#cb136-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb136-9"><a href="#cb136-9" aria-hidden="true"></a></span>
+<span id="cb136-10"><a href="#cb136-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{codeSpans=false}</span>
+<span id="cb136-11"><a href="#cb136-11" aria-hidden="true"></a>``This is a quote.&#39;&#39;</span>
+<span id="cb136-12"><a href="#cb136-12" aria-hidden="true"></a>``This is another quote.&#39;&#39;</span>
+<span id="cb136-13"><a href="#cb136-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb136-14"><a href="#cb136-14" aria-hidden="true"></a></span>
+<span id="cb136-15"><a href="#cb136-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb137"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb137-1"><a href="#cb137-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p><code>This is a code span.''</code>This is no longer a code span.’’</p>
<p>“This is a quote.” “This is another quote.”</p>
</blockquote>
-<h5 id="context-example-6" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb137"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb137-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb137-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb137-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb137-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb137-5" data-line-number="5">``This is a code span.&#39;&#39;</a>
-<a class="sourceLine" id="cb137-6" data-line-number="6">``This is no longer a code span.&#39;&#39;</a>
-<a class="sourceLine" id="cb137-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb137-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb137-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionCodeSpans{false}</a>
-<a class="sourceLine" id="cb137-10" data-line-number="10"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb137-11" data-line-number="11">``This is a quote.&#39;&#39;</a>
-<a class="sourceLine" id="cb137-12" data-line-number="12">``This is another quote.&#39;&#39;</a>
-<a class="sourceLine" id="cb137-13" data-line-number="13"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb137-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb137-15" data-line-number="15"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb138"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb138-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-6">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb138"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb138-1"><a href="#cb138-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb138-2"><a href="#cb138-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb138-3"><a href="#cb138-3" aria-hidden="true"></a></span>
+<span id="cb138-4"><a href="#cb138-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb138-5"><a href="#cb138-5" aria-hidden="true"></a>``This is a code span.&#39;&#39;</span>
+<span id="cb138-6"><a href="#cb138-6" aria-hidden="true"></a>``This is no longer a code span.&#39;&#39;</span>
+<span id="cb138-7"><a href="#cb138-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb138-8"><a href="#cb138-8" aria-hidden="true"></a></span>
+<span id="cb138-9"><a href="#cb138-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionCodeSpans</span>{false}</span>
+<span id="cb138-10"><a href="#cb138-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb138-11"><a href="#cb138-11" aria-hidden="true"></a>``This is a quote.&#39;&#39;</span>
+<span id="cb138-12"><a href="#cb138-12" aria-hidden="true"></a>``This is another quote.&#39;&#39;</span>
+<span id="cb138-13"><a href="#cb138-13" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb138-14"><a href="#cb138-14" aria-hidden="true"></a></span>
+<span id="cb138-15"><a href="#cb138-15" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb139"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb139-1"><a href="#cb139-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p><code>This is a code span.''</code>This is no longer a code span.’’</p>
<p>“This is a quote.” “This is another quote.”</p>
</blockquote>
-<h4 id="option-contentblocks"><span class="header-section-number">2.2.1.10</span> Option <code>contentBlocks</code></h4>
+<h4 data-number="2.2.1.10" id="option-contentblocks"><span class="header-section-number">2.2.1.10</span> Option <code>contentBlocks</code></h4>
<dl>
<dt><code>contentBlocks</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the iA Writer content blocks syntax extension:</p>
-<div class="sourceCode" id="cb139"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb139-1" data-line-number="1">http://example.com/minard.jpg (Napoleon&#39;s</a>
-<a class="sourceLine" id="cb139-2" data-line-number="2"> disastrous Russian campaign of 1812)</a>
-<a class="sourceLine" id="cb139-3" data-line-number="3">/Flowchart.png &quot;Engineering Flowchart&quot;</a>
-<a class="sourceLine" id="cb139-4" data-line-number="4">/Savings Account.csv &#39;Recent Transactions&#39;</a>
-<a class="sourceLine" id="cb139-5" data-line-number="5">/Example.swift</a>
-<a class="sourceLine" id="cb139-6" data-line-number="6">/Lorem Ipsum.txt</a></code></pre></div>
+<div class="sourceCode" id="cb140"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb140-1"><a href="#cb140-1" aria-hidden="true"></a>http://example.com/minard.jpg (Napoleon&#39;s</span>
+<span id="cb140-2"><a href="#cb140-2" aria-hidden="true"></a> disastrous Russian campaign of 1812)</span>
+<span id="cb140-3"><a href="#cb140-3" aria-hidden="true"></a>/Flowchart.png &quot;Engineering Flowchart&quot;</span>
+<span id="cb140-4"><a href="#cb140-4" aria-hidden="true"></a>/Savings Account.csv &#39;Recent Transactions&#39;</span>
+<span id="cb140-5"><a href="#cb140-5" aria-hidden="true"></a>/Example.swift</span>
+<span id="cb140-6"><a href="#cb140-6" aria-hidden="true"></a>/Lorem Ipsum.txt</span></code></pre></div>
</dd>
</dl>
</dd>
@@ -1480,33 +1488,33 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
</dl>
</dd>
</dl>
-<h5 id="latex-example-9" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-9"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>table.csv</code> with the following content:</p>
<pre class="csv"><code>Name,Surname,Born
Albert,Einstein,1879
Marie,Curie,1867
Thomas,Edison,1847</code></pre>
<p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p>
-<div class="sourceCode" id="cb141"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb141-1" data-line-number="1"><span class="op">{</span></a>
-<a class="sourceLine" id="cb141-2" data-line-number="2"> <span class="st">&quot;tex&quot;</span><span class="op">:</span> <span class="st">&quot;LaTeX&quot;</span></a>
-<a class="sourceLine" id="cb141-3" data-line-number="3"><span class="op">}</span></a></code></pre></div>
+<div class="sourceCode" id="cb142"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb142-1"><a href="#cb142-1" aria-hidden="true"></a>{</span>
+<span id="cb142-2"><a href="#cb142-2" aria-hidden="true"></a> <span class="st">&quot;tex&quot;</span><span class="op">:</span> <span class="st">&quot;LaTeX&quot;</span></span>
+<span id="cb142-3"><a href="#cb142-3" aria-hidden="true"></a>}</span></code></pre></div>
<p>Create also a text document named <code>code.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb142"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb142-1" data-line-number="1">This is an example code listing in <span class="fu">\LaTeX</span>.</a></code></pre></div>
+<div class="sourceCode" id="cb143"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb143-1"><a href="#cb143-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div>
<p>Create also a text document named <code>part.md</code> with the following content:</p>
-<div class="sourceCode" id="cb143"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb143-1" data-line-number="1">This is a *transcluded markdown document*.</a></code></pre></div>
+<div class="sourceCode" id="cb144"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb144-1"><a href="#cb144-1" aria-hidden="true"></a>This is a *transcluded markdown document*.</span></code></pre></div>
<p>Create also a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb144"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb144-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb144-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</a>
-<a class="sourceLine" id="cb144-3" data-line-number="3"><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb144-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb144-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb144-6" data-line-number="6">/table.csv (An example table)</a>
-<a class="sourceLine" id="cb144-7" data-line-number="7">/code.tex (An example code listing)</a>
-<a class="sourceLine" id="cb144-8" data-line-number="8">/part.md (A file transclusion example)</a>
-<a class="sourceLine" id="cb144-9" data-line-number="9"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb144-10" data-line-number="10"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb145"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb145-1" data-line-number="1"><span class="ex">lualatex</span> --shell-escape document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb145"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb145-1"><a href="#cb145-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb145-2"><a href="#cb145-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span>
+<span id="cb145-3"><a href="#cb145-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span>
+<span id="cb145-4"><a href="#cb145-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb145-5"><a href="#cb145-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb145-6"><a href="#cb145-6" aria-hidden="true"></a>/table.csv (An example table)</span>
+<span id="cb145-7"><a href="#cb145-7" aria-hidden="true"></a>/code.tex (An example code listing)</span>
+<span id="cb145-8"><a href="#cb145-8" aria-hidden="true"></a>/part.md (A file transclusion example)</span>
+<span id="cb145-9"><a href="#cb145-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb145-10"><a href="#cb145-10" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb146"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb146-1"><a href="#cb146-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<table>
@@ -1536,37 +1544,37 @@ Thomas,Edison,1847</code></pre>
</tbody>
</table>
<p>Table 1: An example table</p>
-<div class="sourceCode" id="cb146"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb146-1" data-line-number="1">This is an example code listing in <span class="fu">\LaTeX</span>.</a></code></pre></div>
+<div class="sourceCode" id="cb147"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb147-1"><a href="#cb147-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div>
<p>This is a <em>transcluded markdown document</em>.</p>
</blockquote>
-<h5 id="context-example-7" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-7">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>table.csv</code> with the following content:</p>
<pre class="csv"><code>Name,Surname,Born
Albert,Einstein,1879
Marie,Curie,1867
Thomas,Edison,1847</code></pre>
<p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p>
-<div class="sourceCode" id="cb148"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb148-1" data-line-number="1"><span class="op">{</span></a>
-<a class="sourceLine" id="cb148-2" data-line-number="2"> <span class="st">&quot;tex&quot;</span><span class="op">:</span> <span class="st">&quot;ConTeXt&quot;</span></a>
-<a class="sourceLine" id="cb148-3" data-line-number="3"><span class="op">}</span></a></code></pre></div>
+<div class="sourceCode" id="cb149"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb149-1"><a href="#cb149-1" aria-hidden="true"></a>{</span>
+<span id="cb149-2"><a href="#cb149-2" aria-hidden="true"></a> <span class="st">&quot;tex&quot;</span><span class="op">:</span> <span class="st">&quot;ConTeXt&quot;</span></span>
+<span id="cb149-3"><a href="#cb149-3" aria-hidden="true"></a>}</span></code></pre></div>
<p>Create also a text document named <code>code.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb149"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb149-1" data-line-number="1">This is an example code listing in <span class="fu">\ConTeXt</span>.</a></code></pre></div>
+<div class="sourceCode" id="cb150"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb150-1"><a href="#cb150-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div>
<p>Create also a text document named <code>part.md</code> with the following content:</p>
-<div class="sourceCode" id="cb150"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb150-1" data-line-number="1">This is a *transcluded markdown document*.</a></code></pre></div>
+<div class="sourceCode" id="cb151"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb151-1"><a href="#cb151-1" aria-hidden="true"></a>This is a *transcluded markdown document*.</span></code></pre></div>
<p>Create also a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb151"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb151-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb151-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionContentBlocks{true}</a>
-<a class="sourceLine" id="cb151-3" data-line-number="3"><span class="fu">\definetyping</span> [ConTeXt]</a>
-<a class="sourceLine" id="cb151-4" data-line-number="4"><span class="fu">\setuptyping</span> [ConTeXt] [option=TEX]</a>
-<a class="sourceLine" id="cb151-5" data-line-number="5"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb151-6" data-line-number="6"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb151-7" data-line-number="7">/table.csv (An example table)</a>
-<a class="sourceLine" id="cb151-8" data-line-number="8">/code.tex (An example code listing)</a>
-<a class="sourceLine" id="cb151-9" data-line-number="9">/part.md (A file transclusion example)</a>
-<a class="sourceLine" id="cb151-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb151-11" data-line-number="11"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb152"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb152-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb152"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb152-1"><a href="#cb152-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb152-2"><a href="#cb152-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionContentBlocks</span>{true}</span>
+<span id="cb152-3"><a href="#cb152-3" aria-hidden="true"></a><span class="fu">\definetyping</span> [ConTeXt]</span>
+<span id="cb152-4"><a href="#cb152-4" aria-hidden="true"></a><span class="fu">\setuptyping</span> [ConTeXt] [option=TEX]</span>
+<span id="cb152-5"><a href="#cb152-5" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb152-6"><a href="#cb152-6" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb152-7"><a href="#cb152-7" aria-hidden="true"></a>/table.csv (An example table)</span>
+<span id="cb152-8"><a href="#cb152-8" aria-hidden="true"></a>/code.tex (An example code listing)</span>
+<span id="cb152-9"><a href="#cb152-9" aria-hidden="true"></a>/part.md (A file transclusion example)</span>
+<span id="cb152-10"><a href="#cb152-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb152-11"><a href="#cb152-11" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb153"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb153-1"><a href="#cb153-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<table>
@@ -1596,45 +1604,45 @@ Thomas,Edison,1847</code></pre>
</tbody>
</table>
<p>Table 1: An example table</p>
-<div class="sourceCode" id="cb153"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb153-1" data-line-number="1">This is an example code listing in <span class="fu">\ConTeXt</span>.</a></code></pre></div>
+<div class="sourceCode" id="cb154"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb154-1"><a href="#cb154-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div>
<p>This is a <em>transcluded markdown document</em>.</p>
</blockquote>
-<h4 id="option-contentblockslanguagemap"><span class="header-section-number">2.2.1.11</span> Option <code>contentBlocksLanguageMap</code></h4>
+<h4 data-number="2.2.1.11" id="option-contentblockslanguagemap"><span class="header-section-number">2.2.1.11</span> Option <code>contentBlocksLanguageMap</code></h4>
<dl>
-<dt><code>contentBlocksLanguageMap</code> (default value: <code>&quot;markdown-languages.json&quot;</code>)</dt>
+<dt><code>contentBlocksLanguageMap</code> (default value: <code>"markdown-languages.json"</code>)</dt>
<dd><p>The filename of the JSON file that maps filename extensions to programming language names in the iA Writer content blocks.</p>
</dd>
</dl>
-<h5 id="latex-example-10" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-10"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>table.csv</code> with the following content:</p>
<pre class="csv"><code>Name,Surname,Born
Albert,Einstein,1879
Marie,Curie,1867
Thomas,Edison,1847</code></pre>
<p>Create also a text document named <code>language-map.json</code> with the following content:</p>
-<div class="sourceCode" id="cb155"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb155-1" data-line-number="1"><span class="op">{</span></a>
-<a class="sourceLine" id="cb155-2" data-line-number="2"> <span class="st">&quot;tex&quot;</span><span class="op">:</span> <span class="st">&quot;LaTeX&quot;</span></a>
-<a class="sourceLine" id="cb155-3" data-line-number="3"><span class="op">}</span></a></code></pre></div>
+<div class="sourceCode" id="cb156"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb156-1"><a href="#cb156-1" aria-hidden="true"></a>{</span>
+<span id="cb156-2"><a href="#cb156-2" aria-hidden="true"></a> <span class="st">&quot;tex&quot;</span><span class="op">:</span> <span class="st">&quot;LaTeX&quot;</span></span>
+<span id="cb156-3"><a href="#cb156-3" aria-hidden="true"></a>}</span></code></pre></div>
<p>Create also a text document named <code>code.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb156"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb156-1" data-line-number="1">This is an example code listing in <span class="fu">\LaTeX</span>.</a></code></pre></div>
+<div class="sourceCode" id="cb157"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb157-1"><a href="#cb157-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div>
<p>Create also a text document named <code>part.md</code> with the following content:</p>
-<div class="sourceCode" id="cb157"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb157-1" data-line-number="1">This is a *transcluded markdown document*.</a></code></pre></div>
+<div class="sourceCode" id="cb158"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb158-1"><a href="#cb158-1" aria-hidden="true"></a>This is a *transcluded markdown document*.</span></code></pre></div>
<p>Create also a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb158"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb158-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb158-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</a>
-<a class="sourceLine" id="cb158-3" data-line-number="3"><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb158-4" data-line-number="4"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb158-5" data-line-number="5"> contentBlocksLanguageMap = {language-map.json},</a>
-<a class="sourceLine" id="cb158-6" data-line-number="6">}</a>
-<a class="sourceLine" id="cb158-7" data-line-number="7"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb158-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb158-9" data-line-number="9">/table.csv (An example table)</a>
-<a class="sourceLine" id="cb158-10" data-line-number="10">/code.tex (An example code listing)</a>
-<a class="sourceLine" id="cb158-11" data-line-number="11">/part.md (A file transclusion example)</a>
-<a class="sourceLine" id="cb158-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb158-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb159"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb159-1" data-line-number="1"><span class="ex">lualatex</span> --shell-escape document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb159"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb159-1"><a href="#cb159-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb159-2"><a href="#cb159-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span>
+<span id="cb159-3"><a href="#cb159-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span>
+<span id="cb159-4"><a href="#cb159-4" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb159-5"><a href="#cb159-5" aria-hidden="true"></a> contentBlocksLanguageMap = {language-map.json},</span>
+<span id="cb159-6"><a href="#cb159-6" aria-hidden="true"></a>}</span>
+<span id="cb159-7"><a href="#cb159-7" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb159-8"><a href="#cb159-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb159-9"><a href="#cb159-9" aria-hidden="true"></a>/table.csv (An example table)</span>
+<span id="cb159-10"><a href="#cb159-10" aria-hidden="true"></a>/code.tex (An example code listing)</span>
+<span id="cb159-11"><a href="#cb159-11" aria-hidden="true"></a>/part.md (A file transclusion example)</span>
+<span id="cb159-12"><a href="#cb159-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb159-13"><a href="#cb159-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb160"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb160-1"><a href="#cb160-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<table>
@@ -1664,38 +1672,38 @@ Thomas,Edison,1847</code></pre>
</tbody>
</table>
<p>Table 1: An example table</p>
-<div class="sourceCode" id="cb160"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb160-1" data-line-number="1">This is an example code listing in <span class="fu">\LaTeX</span>.</a></code></pre></div>
+<div class="sourceCode" id="cb161"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb161-1"><a href="#cb161-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\LaTeX</span>.</span></code></pre></div>
<p>This is a <em>transcluded markdown document</em>.</p>
</blockquote>
-<h5 id="context-example-8" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-8">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>table.csv</code> with the following content:</p>
<pre class="csv"><code>Name,Surname,Born
Albert,Einstein,1879
Marie,Curie,1867
Thomas,Edison,1847</code></pre>
<p>Create also a text document named <code>language-map.json</code> with the following content:</p>
-<div class="sourceCode" id="cb162"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb162-1" data-line-number="1"><span class="op">{</span></a>
-<a class="sourceLine" id="cb162-2" data-line-number="2"> <span class="st">&quot;tex&quot;</span><span class="op">:</span> <span class="st">&quot;ConTeXt&quot;</span></a>
-<a class="sourceLine" id="cb162-3" data-line-number="3"><span class="op">}</span></a></code></pre></div>
+<div class="sourceCode" id="cb163"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb163-1"><a href="#cb163-1" aria-hidden="true"></a>{</span>
+<span id="cb163-2"><a href="#cb163-2" aria-hidden="true"></a> <span class="st">&quot;tex&quot;</span><span class="op">:</span> <span class="st">&quot;ConTeXt&quot;</span></span>
+<span id="cb163-3"><a href="#cb163-3" aria-hidden="true"></a>}</span></code></pre></div>
<p>Create also a text document named <code>code.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb163"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb163-1" data-line-number="1">This is an example code listing in <span class="fu">\ConTeXt</span>.</a></code></pre></div>
+<div class="sourceCode" id="cb164"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb164-1"><a href="#cb164-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div>
<p>Create also a text document named <code>part.md</code> with the following content:</p>
-<div class="sourceCode" id="cb164"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb164-1" data-line-number="1">This is a *transcluded markdown document*.</a></code></pre></div>
+<div class="sourceCode" id="cb165"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb165-1"><a href="#cb165-1" aria-hidden="true"></a>This is a *transcluded markdown document*.</span></code></pre></div>
<p>Create also a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb165"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb165-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb165-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionContentBlocks{true}</a>
-<a class="sourceLine" id="cb165-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionContentBlocksLanguageMap{language-map.json}</a>
-<a class="sourceLine" id="cb165-4" data-line-number="4"><span class="fu">\definetyping</span> [ConTeXt]</a>
-<a class="sourceLine" id="cb165-5" data-line-number="5"><span class="fu">\setuptyping</span> [ConTeXt] [option=TEX]</a>
-<a class="sourceLine" id="cb165-6" data-line-number="6"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb165-7" data-line-number="7"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb165-8" data-line-number="8">/table.csv (An example table)</a>
-<a class="sourceLine" id="cb165-9" data-line-number="9">/code.tex (An example code listing)</a>
-<a class="sourceLine" id="cb165-10" data-line-number="10">/part.md (A file transclusion example)</a>
-<a class="sourceLine" id="cb165-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb165-12" data-line-number="12"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb166"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb166-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb166"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb166-1"><a href="#cb166-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb166-2"><a href="#cb166-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionContentBlocks</span>{true}</span>
+<span id="cb166-3"><a href="#cb166-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionContentBlocksLanguageMap</span>{language-map.json}</span>
+<span id="cb166-4"><a href="#cb166-4" aria-hidden="true"></a><span class="fu">\definetyping</span> [ConTeXt]</span>
+<span id="cb166-5"><a href="#cb166-5" aria-hidden="true"></a><span class="fu">\setuptyping</span> [ConTeXt] [option=TEX]</span>
+<span id="cb166-6"><a href="#cb166-6" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb166-7"><a href="#cb166-7" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb166-8"><a href="#cb166-8" aria-hidden="true"></a>/table.csv (An example table)</span>
+<span id="cb166-9"><a href="#cb166-9" aria-hidden="true"></a>/code.tex (An example code listing)</span>
+<span id="cb166-10"><a href="#cb166-10" aria-hidden="true"></a>/part.md (A file transclusion example)</span>
+<span id="cb166-11"><a href="#cb166-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb166-12"><a href="#cb166-12" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb167"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb167-1"><a href="#cb167-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<table>
@@ -1725,26 +1733,26 @@ Thomas,Edison,1847</code></pre>
</tbody>
</table>
<p>Table 1: An example table</p>
-<div class="sourceCode" id="cb167"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb167-1" data-line-number="1">This is an example code listing in <span class="fu">\ConTeXt</span>.</a></code></pre></div>
+<div class="sourceCode" id="cb168"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb168-1"><a href="#cb168-1" aria-hidden="true"></a>This is an example code listing in <span class="fu">\ConTeXt</span>.</span></code></pre></div>
<p>This is a <em>transcluded markdown document</em>.</p>
</blockquote>
-<h4 id="option-definitionlists"><span class="header-section-number">2.2.1.12</span> Option <code>definitionLists</code></h4>
+<h4 data-number="2.2.1.12" id="option-definitionlists"><span class="header-section-number">2.2.1.12</span> Option <code>definitionLists</code></h4>
<dl>
<dt><code>definitionLists</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the pandoc definition list syntax extension:</p>
-<div class="sourceCode" id="cb168"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb168-1" data-line-number="1">Term 1</a>
-<a class="sourceLine" id="cb168-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb168-3" data-line-number="3">: Definition 1</a>
-<a class="sourceLine" id="cb168-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb168-5" data-line-number="5">Term 2 with *inline markup*</a>
-<a class="sourceLine" id="cb168-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb168-7" data-line-number="7">: Definition 2</a>
-<a class="sourceLine" id="cb168-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb168-9" data-line-number="9"><span class="bn"> { some code, part of Definition 2 }</span></a>
-<a class="sourceLine" id="cb168-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb168-11" data-line-number="11"><span class="bn"> Third paragraph of definition 2.</span></a></code></pre></div>
+<div class="sourceCode" id="cb169"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb169-1"><a href="#cb169-1" aria-hidden="true"></a>Term 1</span>
+<span id="cb169-2"><a href="#cb169-2" aria-hidden="true"></a></span>
+<span id="cb169-3"><a href="#cb169-3" aria-hidden="true"></a>: Definition 1</span>
+<span id="cb169-4"><a href="#cb169-4" aria-hidden="true"></a></span>
+<span id="cb169-5"><a href="#cb169-5" aria-hidden="true"></a>Term 2 with *inline markup*</span>
+<span id="cb169-6"><a href="#cb169-6" aria-hidden="true"></a></span>
+<span id="cb169-7"><a href="#cb169-7" aria-hidden="true"></a>: Definition 2</span>
+<span id="cb169-8"><a href="#cb169-8" aria-hidden="true"></a></span>
+<span id="cb169-9"><a href="#cb169-9" aria-hidden="true"></a><span class="in"> { some code, part of Definition 2 }</span></span>
+<span id="cb169-10"><a href="#cb169-10" aria-hidden="true"></a></span>
+<span id="cb169-11"><a href="#cb169-11" aria-hidden="true"></a><span class="in"> Third paragraph of definition 2.</span></span></code></pre></div>
</dd>
</dl>
</dd>
@@ -1755,27 +1763,27 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="latex-example-11" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb169"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb169-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb169-2" data-line-number="2"><span class="bu">\usepackage</span>[definitionLists]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb169-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb169-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb169-5" data-line-number="5">Term 1</a>
-<a class="sourceLine" id="cb169-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb169-7" data-line-number="7">: Definition 1</a>
-<a class="sourceLine" id="cb169-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb169-9" data-line-number="9">Term 2 with *inline markup*</a>
-<a class="sourceLine" id="cb169-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb169-11" data-line-number="11">: Definition 2</a>
-<a class="sourceLine" id="cb169-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb169-13" data-line-number="13"> { some code, part of Definition 2 }</a>
-<a class="sourceLine" id="cb169-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb169-15" data-line-number="15"> Third paragraph of definition 2.</a>
-<a class="sourceLine" id="cb169-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb169-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb170"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb170-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-11"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb170"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb170-1"><a href="#cb170-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb170-2"><a href="#cb170-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[definitionLists]{<span class="ex">markdown</span>}</span>
+<span id="cb170-3"><a href="#cb170-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb170-4"><a href="#cb170-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb170-5"><a href="#cb170-5" aria-hidden="true"></a>Term 1</span>
+<span id="cb170-6"><a href="#cb170-6" aria-hidden="true"></a></span>
+<span id="cb170-7"><a href="#cb170-7" aria-hidden="true"></a>: Definition 1</span>
+<span id="cb170-8"><a href="#cb170-8" aria-hidden="true"></a></span>
+<span id="cb170-9"><a href="#cb170-9" aria-hidden="true"></a>Term 2 with *inline markup*</span>
+<span id="cb170-10"><a href="#cb170-10" aria-hidden="true"></a></span>
+<span id="cb170-11"><a href="#cb170-11" aria-hidden="true"></a>: Definition 2</span>
+<span id="cb170-12"><a href="#cb170-12" aria-hidden="true"></a></span>
+<span id="cb170-13"><a href="#cb170-13" aria-hidden="true"></a> { some code, part of Definition 2 }</span>
+<span id="cb170-14"><a href="#cb170-14" aria-hidden="true"></a></span>
+<span id="cb170-15"><a href="#cb170-15" aria-hidden="true"></a> Third paragraph of definition 2.</span>
+<span id="cb170-16"><a href="#cb170-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb170-17"><a href="#cb170-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb171"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb171-1"><a href="#cb171-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<dl>
@@ -1789,27 +1797,27 @@ Thomas,Edison,1847</code></pre>
</dd>
</dl>
</blockquote>
-<h5 id="context-example-9" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb172"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb172-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb172-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionDefinitionLists{true}</a>
-<a class="sourceLine" id="cb172-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb172-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb172-5" data-line-number="5">Term 1</a>
-<a class="sourceLine" id="cb172-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb172-7" data-line-number="7">: Definition 1</a>
-<a class="sourceLine" id="cb172-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb172-9" data-line-number="9">Term 2 with *inline markup*</a>
-<a class="sourceLine" id="cb172-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb172-11" data-line-number="11">: Definition 2</a>
-<a class="sourceLine" id="cb172-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb172-13" data-line-number="13"> { some code, part of Definition 2 }</a>
-<a class="sourceLine" id="cb172-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb172-15" data-line-number="15"> Third paragraph of definition 2.</a>
-<a class="sourceLine" id="cb172-16" data-line-number="16"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb172-17" data-line-number="17"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb173"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb173-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-9">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb173"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb173-1"><a href="#cb173-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb173-2"><a href="#cb173-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionDefinitionLists</span>{true}</span>
+<span id="cb173-3"><a href="#cb173-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb173-4"><a href="#cb173-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb173-5"><a href="#cb173-5" aria-hidden="true"></a>Term 1</span>
+<span id="cb173-6"><a href="#cb173-6" aria-hidden="true"></a></span>
+<span id="cb173-7"><a href="#cb173-7" aria-hidden="true"></a>: Definition 1</span>
+<span id="cb173-8"><a href="#cb173-8" aria-hidden="true"></a></span>
+<span id="cb173-9"><a href="#cb173-9" aria-hidden="true"></a>Term 2 with *inline markup*</span>
+<span id="cb173-10"><a href="#cb173-10" aria-hidden="true"></a></span>
+<span id="cb173-11"><a href="#cb173-11" aria-hidden="true"></a>: Definition 2</span>
+<span id="cb173-12"><a href="#cb173-12" aria-hidden="true"></a></span>
+<span id="cb173-13"><a href="#cb173-13" aria-hidden="true"></a> { some code, part of Definition 2 }</span>
+<span id="cb173-14"><a href="#cb173-14" aria-hidden="true"></a></span>
+<span id="cb173-15"><a href="#cb173-15" aria-hidden="true"></a> Third paragraph of definition 2.</span>
+<span id="cb173-16"><a href="#cb173-16" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb173-17"><a href="#cb173-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb174"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb174-1"><a href="#cb174-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<dl>
@@ -1823,28 +1831,28 @@ Thomas,Edison,1847</code></pre>
</dd>
</dl>
</blockquote>
-<h4 id="option-fencedcode"><span class="header-section-number">2.2.1.13</span> Option <code>fencedCode</code></h4>
+<h4 data-number="2.2.1.13" id="option-fencedcode"><span class="header-section-number">2.2.1.13</span> Option <code>fencedCode</code></h4>
<dl>
<dt><code>fencedCode</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the commonmark fenced code block extension:</p>
-<div class="sourceCode" id="cb175"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb175-1" data-line-number="1">~~~ js</a>
-<a class="sourceLine" id="cb175-2" data-line-number="2">if (a &gt; 3) {</a>
-<a class="sourceLine" id="cb175-3" data-line-number="3"><span class="bn"> moveShip(5 * gravity, DOWN);</span></a>
-<a class="sourceLine" id="cb175-4" data-line-number="4">}</a>
-<a class="sourceLine" id="cb175-5" data-line-number="5">~~~~~~</a>
-<a class="sourceLine" id="cb175-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb175-7" data-line-number="7"> ``` html</a>
-<a class="sourceLine" id="cb175-8" data-line-number="8"> &lt;pre&gt;</a>
-<a class="sourceLine" id="cb175-9" data-line-number="9"><span class="bn"> &lt;code&gt;</span></a>
-<a class="sourceLine" id="cb175-10" data-line-number="10"><span class="bn"> // Some comments</span></a>
-<a class="sourceLine" id="cb175-11" data-line-number="11"><span class="bn"> line 1 of code</span></a>
-<a class="sourceLine" id="cb175-12" data-line-number="12"><span class="bn"> line 2 of code</span></a>
-<a class="sourceLine" id="cb175-13" data-line-number="13"><span class="bn"> line 3 of code</span></a>
-<a class="sourceLine" id="cb175-14" data-line-number="14"><span class="bn"> &lt;/code&gt;</span></a>
-<a class="sourceLine" id="cb175-15" data-line-number="15"> &lt;/pre&gt;</a>
-<a class="sourceLine" id="cb175-16" data-line-number="16"> ```</a></code></pre></div>
+<div class="sourceCode" id="cb176"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb176-1"><a href="#cb176-1" aria-hidden="true"></a><span class="in">~~~ js</span></span>
+<span id="cb176-2"><a href="#cb176-2" aria-hidden="true"></a><span class="cf">if</span> (a <span class="op">&gt;</span> <span class="dv">3</span>) {</span>
+<span id="cb176-3"><a href="#cb176-3" aria-hidden="true"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span>
+<span id="cb176-4"><a href="#cb176-4" aria-hidden="true"></a>}</span>
+<span id="cb176-5"><a href="#cb176-5" aria-hidden="true"></a><span class="op">~~~~~~</span></span>
+<span id="cb176-6"><a href="#cb176-6" aria-hidden="true"></a></span>
+<span id="cb176-7"><a href="#cb176-7" aria-hidden="true"></a> <span class="vs">``` html</span></span>
+<span id="cb176-8"><a href="#cb176-8" aria-hidden="true"></a><span class="vs"> &lt;pre&gt;</span></span>
+<span id="cb176-9"><a href="#cb176-9" aria-hidden="true"></a><span class="vs"> &lt;code&gt;</span></span>
+<span id="cb176-10"><a href="#cb176-10" aria-hidden="true"></a><span class="vs"> // Some comments</span></span>
+<span id="cb176-11"><a href="#cb176-11" aria-hidden="true"></a><span class="vs"> line 1 of code</span></span>
+<span id="cb176-12"><a href="#cb176-12" aria-hidden="true"></a><span class="vs"> line 2 of code</span></span>
+<span id="cb176-13"><a href="#cb176-13" aria-hidden="true"></a><span class="vs"> line 3 of code</span></span>
+<span id="cb176-14"><a href="#cb176-14" aria-hidden="true"></a><span class="vs"> &lt;/code&gt;</span></span>
+<span id="cb176-15"><a href="#cb176-15" aria-hidden="true"></a><span class="vs"> &lt;/pre&gt;</span></span>
+<span id="cb176-16"><a href="#cb176-16" aria-hidden="true"></a><span class="vs"> ```</span></span></code></pre></div>
</dd>
</dl>
</dd>
@@ -1855,187 +1863,187 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="latex-example-12" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb176"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb176-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb176-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</a>
-<a class="sourceLine" id="cb176-3" data-line-number="3"><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb176-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb176-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb176-6" data-line-number="6">~~~ js</a>
-<a class="sourceLine" id="cb176-7" data-line-number="7">if (a &gt; 3) {</a>
-<a class="sourceLine" id="cb176-8" data-line-number="8"> moveShip(5 * gravity, DOWN);</a>
-<a class="sourceLine" id="cb176-9" data-line-number="9">}</a>
-<a class="sourceLine" id="cb176-10" data-line-number="10">~~~~~~</a>
-<a class="sourceLine" id="cb176-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb176-12" data-line-number="12"> ``` html</a>
-<a class="sourceLine" id="cb176-13" data-line-number="13"> &lt;pre&gt;</a>
-<a class="sourceLine" id="cb176-14" data-line-number="14"> &lt;code&gt;</a>
-<a class="sourceLine" id="cb176-15" data-line-number="15"> // Some comments</a>
-<a class="sourceLine" id="cb176-16" data-line-number="16"> line 1 of code</a>
-<a class="sourceLine" id="cb176-17" data-line-number="17"> line 2 of code</a>
-<a class="sourceLine" id="cb176-18" data-line-number="18"> line 3 of code</a>
-<a class="sourceLine" id="cb176-19" data-line-number="19"> &lt;/code&gt;</a>
-<a class="sourceLine" id="cb176-20" data-line-number="20"> &lt;/pre&gt;</a>
-<a class="sourceLine" id="cb176-21" data-line-number="21"> ```</a>
-<a class="sourceLine" id="cb176-22" data-line-number="22"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb176-23" data-line-number="23"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb177"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb177-1" data-line-number="1"><span class="ex">lualatex</span> --shell-escape document.tex</a></code></pre></div>
-<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
-<blockquote>
-<div class="sourceCode" id="cb178"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb178-1" data-line-number="1"><span class="cf">if</span> (a <span class="op">&gt;</span> <span class="dv">3</span>) <span class="op">{</span></a>
-<a class="sourceLine" id="cb178-2" data-line-number="2"> <span class="at">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></a>
-<a class="sourceLine" id="cb178-3" data-line-number="3"><span class="op">}</span></a></code></pre></div>
-<div class="sourceCode" id="cb179"><pre class="sourceCode html"><code class="sourceCode html"><a class="sourceLine" id="cb179-1" data-line-number="1"><span class="kw">&lt;pre&gt;</span></a>
-<a class="sourceLine" id="cb179-2" data-line-number="2"> <span class="kw">&lt;code&gt;</span></a>
-<a class="sourceLine" id="cb179-3" data-line-number="3"> // Some comments</a>
-<a class="sourceLine" id="cb179-4" data-line-number="4"> line 1 of code</a>
-<a class="sourceLine" id="cb179-5" data-line-number="5"> line 2 of code</a>
-<a class="sourceLine" id="cb179-6" data-line-number="6"> line 3 of code</a>
-<a class="sourceLine" id="cb179-7" data-line-number="7"> <span class="kw">&lt;/code&gt;</span></a>
-<a class="sourceLine" id="cb179-8" data-line-number="8"><span class="kw">&lt;/pre&gt;</span></a></code></pre></div>
-</blockquote>
-<h5 id="context-example-10" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb180"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb180-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb180-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFencedCode{true}</a>
-<a class="sourceLine" id="cb180-3" data-line-number="3"><span class="fu">\definetyping</span> [js]</a>
-<a class="sourceLine" id="cb180-4" data-line-number="4"><span class="fu">\definetyping</span> [html]</a>
-<a class="sourceLine" id="cb180-5" data-line-number="5"><span class="fu">\setuptyping</span> [html] [option=XML]</a>
-<a class="sourceLine" id="cb180-6" data-line-number="6"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb180-7" data-line-number="7"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb180-8" data-line-number="8">~~~ js</a>
-<a class="sourceLine" id="cb180-9" data-line-number="9">if (a &gt; 3) {</a>
-<a class="sourceLine" id="cb180-10" data-line-number="10"> moveShip(5 * gravity, DOWN);</a>
-<a class="sourceLine" id="cb180-11" data-line-number="11">}</a>
-<a class="sourceLine" id="cb180-12" data-line-number="12">~~~~~~</a>
-<a class="sourceLine" id="cb180-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb180-14" data-line-number="14"> ``` html</a>
-<a class="sourceLine" id="cb180-15" data-line-number="15"> &lt;pre&gt;</a>
-<a class="sourceLine" id="cb180-16" data-line-number="16"> &lt;code&gt;</a>
-<a class="sourceLine" id="cb180-17" data-line-number="17"> // Some comments</a>
-<a class="sourceLine" id="cb180-18" data-line-number="18"> line 1 of code</a>
-<a class="sourceLine" id="cb180-19" data-line-number="19"> line 2 of code</a>
-<a class="sourceLine" id="cb180-20" data-line-number="20"> line 3 of code</a>
-<a class="sourceLine" id="cb180-21" data-line-number="21"> &lt;/code&gt;</a>
-<a class="sourceLine" id="cb180-22" data-line-number="22"> &lt;/pre&gt;</a>
-<a class="sourceLine" id="cb180-23" data-line-number="23"> ```</a>
-<a class="sourceLine" id="cb180-24" data-line-number="24"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb180-25" data-line-number="25"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb181"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb181-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
-<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
-<blockquote>
-<div class="sourceCode" id="cb182"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb182-1" data-line-number="1"><span class="cf">if</span> (a <span class="op">&gt;</span> <span class="dv">3</span>) <span class="op">{</span></a>
-<a class="sourceLine" id="cb182-2" data-line-number="2"> <span class="at">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></a>
-<a class="sourceLine" id="cb182-3" data-line-number="3"><span class="op">}</span></a></code></pre></div>
-<div class="sourceCode" id="cb183"><pre class="sourceCode html"><code class="sourceCode html"><a class="sourceLine" id="cb183-1" data-line-number="1"><span class="kw">&lt;pre&gt;</span></a>
-<a class="sourceLine" id="cb183-2" data-line-number="2"> <span class="kw">&lt;code&gt;</span></a>
-<a class="sourceLine" id="cb183-3" data-line-number="3"> // Some comments</a>
-<a class="sourceLine" id="cb183-4" data-line-number="4"> line 1 of code</a>
-<a class="sourceLine" id="cb183-5" data-line-number="5"> line 2 of code</a>
-<a class="sourceLine" id="cb183-6" data-line-number="6"> line 3 of code</a>
-<a class="sourceLine" id="cb183-7" data-line-number="7"> <span class="kw">&lt;/code&gt;</span></a>
-<a class="sourceLine" id="cb183-8" data-line-number="8"><span class="kw">&lt;/pre&gt;</span></a></code></pre></div>
-</blockquote>
-<h4 id="option-finalizecache"><span class="header-section-number">2.2.1.14</span> Option <code>finalizeCache</code></h4>
+<h5 class="unnumbered" data-number="" id="latex-example-12"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb177"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb177-1"><a href="#cb177-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb177-2"><a href="#cb177-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">minted</span>}</span>
+<span id="cb177-3"><a href="#cb177-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span>
+<span id="cb177-4"><a href="#cb177-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb177-5"><a href="#cb177-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb177-6"><a href="#cb177-6" aria-hidden="true"></a>~~~ js</span>
+<span id="cb177-7"><a href="#cb177-7" aria-hidden="true"></a>if (a &gt; 3) {</span>
+<span id="cb177-8"><a href="#cb177-8" aria-hidden="true"></a> moveShip(5 * gravity, DOWN);</span>
+<span id="cb177-9"><a href="#cb177-9" aria-hidden="true"></a>}</span>
+<span id="cb177-10"><a href="#cb177-10" aria-hidden="true"></a>~~~~~~</span>
+<span id="cb177-11"><a href="#cb177-11" aria-hidden="true"></a></span>
+<span id="cb177-12"><a href="#cb177-12" aria-hidden="true"></a> ``` html</span>
+<span id="cb177-13"><a href="#cb177-13" aria-hidden="true"></a> &lt;pre&gt;</span>
+<span id="cb177-14"><a href="#cb177-14" aria-hidden="true"></a> &lt;code&gt;</span>
+<span id="cb177-15"><a href="#cb177-15" aria-hidden="true"></a> // Some comments</span>
+<span id="cb177-16"><a href="#cb177-16" aria-hidden="true"></a> line 1 of code</span>
+<span id="cb177-17"><a href="#cb177-17" aria-hidden="true"></a> line 2 of code</span>
+<span id="cb177-18"><a href="#cb177-18" aria-hidden="true"></a> line 3 of code</span>
+<span id="cb177-19"><a href="#cb177-19" aria-hidden="true"></a> &lt;/code&gt;</span>
+<span id="cb177-20"><a href="#cb177-20" aria-hidden="true"></a> &lt;/pre&gt;</span>
+<span id="cb177-21"><a href="#cb177-21" aria-hidden="true"></a> ```</span>
+<span id="cb177-22"><a href="#cb177-22" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb177-23"><a href="#cb177-23" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb178"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb178-1"><a href="#cb178-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<div class="sourceCode" id="cb179"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb179-1"><a href="#cb179-1" aria-hidden="true"></a><span class="cf">if</span> (a <span class="op">&gt;</span> <span class="dv">3</span>) {</span>
+<span id="cb179-2"><a href="#cb179-2" aria-hidden="true"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span>
+<span id="cb179-3"><a href="#cb179-3" aria-hidden="true"></a>}</span></code></pre></div>
+<div class="sourceCode" id="cb180"><pre class="sourceCode html"><code class="sourceCode html"><span id="cb180-1"><a href="#cb180-1" aria-hidden="true"></a><span class="kw">&lt;pre&gt;</span></span>
+<span id="cb180-2"><a href="#cb180-2" aria-hidden="true"></a> <span class="kw">&lt;code&gt;</span></span>
+<span id="cb180-3"><a href="#cb180-3" aria-hidden="true"></a> // Some comments</span>
+<span id="cb180-4"><a href="#cb180-4" aria-hidden="true"></a> line 1 of code</span>
+<span id="cb180-5"><a href="#cb180-5" aria-hidden="true"></a> line 2 of code</span>
+<span id="cb180-6"><a href="#cb180-6" aria-hidden="true"></a> line 3 of code</span>
+<span id="cb180-7"><a href="#cb180-7" aria-hidden="true"></a> <span class="kw">&lt;/code&gt;</span></span>
+<span id="cb180-8"><a href="#cb180-8" aria-hidden="true"></a><span class="kw">&lt;/pre&gt;</span></span></code></pre></div>
+</blockquote>
+<h5 class="unnumbered" data-number="" id="context-example-10">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb181"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb181-1"><a href="#cb181-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb181-2"><a href="#cb181-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFencedCode</span>{true}</span>
+<span id="cb181-3"><a href="#cb181-3" aria-hidden="true"></a><span class="fu">\definetyping</span> [js]</span>
+<span id="cb181-4"><a href="#cb181-4" aria-hidden="true"></a><span class="fu">\definetyping</span> [html]</span>
+<span id="cb181-5"><a href="#cb181-5" aria-hidden="true"></a><span class="fu">\setuptyping</span> [html] [option=XML]</span>
+<span id="cb181-6"><a href="#cb181-6" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb181-7"><a href="#cb181-7" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb181-8"><a href="#cb181-8" aria-hidden="true"></a>~~~ js</span>
+<span id="cb181-9"><a href="#cb181-9" aria-hidden="true"></a>if (a &gt; 3) {</span>
+<span id="cb181-10"><a href="#cb181-10" aria-hidden="true"></a> moveShip(5 * gravity, DOWN);</span>
+<span id="cb181-11"><a href="#cb181-11" aria-hidden="true"></a>}</span>
+<span id="cb181-12"><a href="#cb181-12" aria-hidden="true"></a>~~~~~~</span>
+<span id="cb181-13"><a href="#cb181-13" aria-hidden="true"></a></span>
+<span id="cb181-14"><a href="#cb181-14" aria-hidden="true"></a> ``` html</span>
+<span id="cb181-15"><a href="#cb181-15" aria-hidden="true"></a> &lt;pre&gt;</span>
+<span id="cb181-16"><a href="#cb181-16" aria-hidden="true"></a> &lt;code&gt;</span>
+<span id="cb181-17"><a href="#cb181-17" aria-hidden="true"></a> // Some comments</span>
+<span id="cb181-18"><a href="#cb181-18" aria-hidden="true"></a> line 1 of code</span>
+<span id="cb181-19"><a href="#cb181-19" aria-hidden="true"></a> line 2 of code</span>
+<span id="cb181-20"><a href="#cb181-20" aria-hidden="true"></a> line 3 of code</span>
+<span id="cb181-21"><a href="#cb181-21" aria-hidden="true"></a> &lt;/code&gt;</span>
+<span id="cb181-22"><a href="#cb181-22" aria-hidden="true"></a> &lt;/pre&gt;</span>
+<span id="cb181-23"><a href="#cb181-23" aria-hidden="true"></a> ```</span>
+<span id="cb181-24"><a href="#cb181-24" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb181-25"><a href="#cb181-25" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb182"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb182-1"><a href="#cb182-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<div class="sourceCode" id="cb183"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb183-1"><a href="#cb183-1" aria-hidden="true"></a><span class="cf">if</span> (a <span class="op">&gt;</span> <span class="dv">3</span>) {</span>
+<span id="cb183-2"><a href="#cb183-2" aria-hidden="true"></a> <span class="fu">moveShip</span>(<span class="dv">5</span> <span class="op">*</span> gravity<span class="op">,</span> DOWN)<span class="op">;</span></span>
+<span id="cb183-3"><a href="#cb183-3" aria-hidden="true"></a>}</span></code></pre></div>
+<div class="sourceCode" id="cb184"><pre class="sourceCode html"><code class="sourceCode html"><span id="cb184-1"><a href="#cb184-1" aria-hidden="true"></a><span class="kw">&lt;pre&gt;</span></span>
+<span id="cb184-2"><a href="#cb184-2" aria-hidden="true"></a> <span class="kw">&lt;code&gt;</span></span>
+<span id="cb184-3"><a href="#cb184-3" aria-hidden="true"></a> // Some comments</span>
+<span id="cb184-4"><a href="#cb184-4" aria-hidden="true"></a> line 1 of code</span>
+<span id="cb184-5"><a href="#cb184-5" aria-hidden="true"></a> line 2 of code</span>
+<span id="cb184-6"><a href="#cb184-6" aria-hidden="true"></a> line 3 of code</span>
+<span id="cb184-7"><a href="#cb184-7" aria-hidden="true"></a> <span class="kw">&lt;/code&gt;</span></span>
+<span id="cb184-8"><a href="#cb184-8" aria-hidden="true"></a><span class="kw">&lt;/pre&gt;</span></span></code></pre></div>
+</blockquote>
+<h4 data-number="2.2.1.14" id="option-finalizecache"><span class="header-section-number">2.2.1.14</span> Option <code>finalizeCache</code></h4>
<dl>
<dt><code>finalizeCache</code> (default value: <code>false</code>)</dt>
<dd><p>Whether an output file specified with the <strong><code>frozenCacheFileName</code></strong> option (frozen cache) that contains a mapping between an enumeration of markdown documents and their auxiliary cache files will be created.</p>
-<p>The frozen cache makes it possible to later typeset a plain <span class="tex">T<sub>e</sub>X</span> document that contains markdown documents without invoking Lua using the <code>\markdownOptionFrozenCache</code> plain <span class="tex">T<sub>e</sub>X</span> option. As a result, the plain <span class="tex">T<sub>e</sub>X</span> document becomes more portable, but further changes in the order and the content of markdown documents will not be reflected.</p>
+<p>The frozen cache makes it possible to later typeset a plain <span class="tex">T<sub>e</sub>X</span> document that contains markdown documents without invoking Lua using the plain <span class="tex">T<sub>e</sub>X</span> option. As a result, the plain <span class="tex">T<sub>e</sub>X</span> document becomes more portable, but further changes in the order and the content of markdown documents will not be reflected.</p>
</dd>
</dl>
-<h5 id="plain-tex-example-7" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-7">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb184"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb184-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb184-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFinalizeCache{true}</a>
-<a class="sourceLine" id="cb184-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb184-4" data-line-number="4">Hello *world*!</a>
-<a class="sourceLine" id="cb184-5" data-line-number="5"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb184-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb185"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb185-1"><a href="#cb185-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb185-2"><a href="#cb185-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFinalizeCache</span>{true}</span>
+<span id="cb185-3"><a href="#cb185-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb185-4"><a href="#cb185-4" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb185-5"><a href="#cb185-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb185-6"><a href="#cb185-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb185"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb185-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb186"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb186-1"><a href="#cb186-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced as we requested using the <code>finalizeCache</code> option.</p>
<p>Next, change the content of <code>document.tex</code> as follows:</p>
-<div class="sourceCode" id="cb186"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb186-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb186-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFrozenCache{true}</a>
-<a class="sourceLine" id="cb186-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb186-4" data-line-number="4">Hi *world*!</a>
-<a class="sourceLine" id="cb186-5" data-line-number="5"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb186-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb187"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb187-1"><a href="#cb187-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb187-2"><a href="#cb187-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCache</span>{true}</span>
+<span id="cb187-3"><a href="#cb187-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb187-4"><a href="#cb187-4" aria-hidden="true"></a>Hi *world*!</span>
+<span id="cb187-5"><a href="#cb187-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb187-6"><a href="#cb187-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Last, invoke pdfTeX without shell access from the terminal:</p>
-<div class="sourceCode" id="cb187"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb187-1" data-line-number="1"><span class="ex">pdftex</span> -no-shell-escape document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb188"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb188-1"><a href="#cb188-1" aria-hidden="true"></a><span class="ex">pdftex</span> -no-shell-escape document.tex</span></code></pre></div>
<p>A new PDF document named <code>document.pdf</code> should be produced and contain the same text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset the document without accessing the shell or invoking Lua, but the change in the content of the markdown document from “Hello <em>world</em>!” to “Hi <em>world</em>!” was not reflected.</p>
-<h5 id="latex-example-13" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-13"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb188"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb188-1" data-line-number="1"><span class="bu">\documentclass</span>[finalizecache]{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb188-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb188-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb188-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb188-5" data-line-number="5">Hello *world*!</a>
-<a class="sourceLine" id="cb188-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb188-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb189"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb189-1"><a href="#cb189-1" aria-hidden="true"></a><span class="bu">\documentclass</span>[finalizecache]{<span class="ex">article</span>}</span>
+<span id="cb189-2"><a href="#cb189-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb189-3"><a href="#cb189-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb189-4"><a href="#cb189-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb189-5"><a href="#cb189-5" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb189-6"><a href="#cb189-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb189-7"><a href="#cb189-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb189"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb189-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb190"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb190-1"><a href="#cb190-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced as we requested using the <code>finalizecache</code> option.</p>
<p>Next, change the content of <code>document.tex</code> as follows:</p>
-<div class="sourceCode" id="cb190"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb190-1" data-line-number="1"><span class="bu">\documentclass</span>[frozencache]{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb190-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb190-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb190-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb190-5" data-line-number="5">Hi *world*!</a>
-<a class="sourceLine" id="cb190-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb190-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb191"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb191-1"><a href="#cb191-1" aria-hidden="true"></a><span class="bu">\documentclass</span>[frozencache]{<span class="ex">article</span>}</span>
+<span id="cb191-2"><a href="#cb191-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb191-3"><a href="#cb191-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb191-4"><a href="#cb191-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb191-5"><a href="#cb191-5" aria-hidden="true"></a>Hi *world*!</span>
+<span id="cb191-6"><a href="#cb191-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb191-7"><a href="#cb191-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Last, invoke pdfTeX without shell access from the terminal:</p>
-<div class="sourceCode" id="cb191"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb191-1" data-line-number="1"><span class="ex">pdflatex</span> -no-shell-escape document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb192"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb192-1"><a href="#cb192-1" aria-hidden="true"></a><span class="ex">pdflatex</span> -no-shell-escape document.tex</span></code></pre></div>
<p>A new PDF document named <code>document.pdf</code> should be produced and contain the same text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset the document without accessing the shell or invoking Lua, but the change in the content of the markdown document from “Hello <em>world</em>!” to “Hi <em>world</em>!” was not reflected.</p>
-<h5 id="context-example-11" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-11">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb192"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb192-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb192-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFinalizeCache{true}</a>
-<a class="sourceLine" id="cb192-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb192-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb192-5" data-line-number="5">Hello *world*!</a>
-<a class="sourceLine" id="cb192-6" data-line-number="6"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb192-7" data-line-number="7"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb193"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb193-1"><a href="#cb193-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb193-2"><a href="#cb193-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFinalizeCache</span>{true}</span>
+<span id="cb193-3"><a href="#cb193-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb193-4"><a href="#cb193-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb193-5"><a href="#cb193-5" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb193-6"><a href="#cb193-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb193-7"><a href="#cb193-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb193"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb193-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb194"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb194-1"><a href="#cb194-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache will also be produced in the <code>cache.tex</code> output file as we requested using the <code>finalizeCache</code> option.</p>
<p>Next, change the content of <code>document.tex</code> as follows:</p>
-<div class="sourceCode" id="cb194"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb194-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb194-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFrozenCache{true}</a>
-<a class="sourceLine" id="cb194-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb194-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb194-5" data-line-number="5">Hi *world*!</a>
-<a class="sourceLine" id="cb194-6" data-line-number="6"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb194-7" data-line-number="7"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb195"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb195-1"><a href="#cb195-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb195-2"><a href="#cb195-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCache</span>{true}</span>
+<span id="cb195-3"><a href="#cb195-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb195-4"><a href="#cb195-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb195-5"><a href="#cb195-5" aria-hidden="true"></a>Hi *world*!</span>
+<span id="cb195-6"><a href="#cb195-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb195-7"><a href="#cb195-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Last, invoke pdfTeX without shell access from the terminal:</p>
-<div class="sourceCode" id="cb195"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb195-1" data-line-number="1"><span class="ex">texexec</span> --passon=--no-shell-escape document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb196"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb196-1"><a href="#cb196-1" aria-hidden="true"></a><span class="ex">texexec</span> --passon=--no-shell-escape document.tex</span></code></pre></div>
<p>A new PDF document named <code>document.pdf</code> should be produced and contain the same text “Hello <em>world</em>!” Since we used the contents of the frozen cache using the <code>\markdownOptionFrozenCache</code> option, we were able to typeset the document without accessing the shell or invoking Lua, but the change in the content of the markdown document from “Hello <em>world</em>!” to “Hi <em>world</em>!” was not reflected.</p>
-<h4 id="option-footnotes"><span class="header-section-number">2.2.1.15</span> Option <code>footnotes</code></h4>
+<h4 data-number="2.2.1.15" id="option-footnotes"><span class="header-section-number">2.2.1.15</span> Option <code>footnotes</code></h4>
<dl>
<dt><code>footnotes</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the pandoc footnote syntax extension:</p>
-<div class="sourceCode" id="cb196"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb196-1" data-line-number="1">Here is a footnote reference,<span class="ot">[^1]</span> and another.<span class="ot">[^longnote]</span></a>
-<a class="sourceLine" id="cb196-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb196-3" data-line-number="3"><span class="ot">[^1]</span>: Here is the footnote.</a>
-<a class="sourceLine" id="cb196-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb196-5" data-line-number="5"><span class="ot">[^longnote]</span>: Here&#39;s one with multiple blocks.</a>
-<a class="sourceLine" id="cb196-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb196-7" data-line-number="7"><span class="bn"> Subsequent paragraphs are indented to show that they</span></a>
-<a class="sourceLine" id="cb196-8" data-line-number="8">belong to the previous footnote.</a>
-<a class="sourceLine" id="cb196-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb196-10" data-line-number="10"><span class="bn"> { some.code }</span></a>
-<a class="sourceLine" id="cb196-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb196-12" data-line-number="12"><span class="bn"> The whole paragraph can be indented, or just the</span></a>
-<a class="sourceLine" id="cb196-13" data-line-number="13"><span class="bn"> first line. In this way, multi-paragraph footnotes</span></a>
-<a class="sourceLine" id="cb196-14" data-line-number="14"><span class="bn"> work like multi-paragraph list items.</span></a>
-<a class="sourceLine" id="cb196-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb196-16" data-line-number="16">This paragraph won&#39;t be part of the note, because it</a>
-<a class="sourceLine" id="cb196-17" data-line-number="17">isn&#39;t indented.</a></code></pre></div>
+<div class="sourceCode" id="cb197"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb197-1"><a href="#cb197-1" aria-hidden="true"></a>Here is a footnote reference,<span class="ot">[^1]</span> and another.<span class="ot">[^longnote]</span></span>
+<span id="cb197-2"><a href="#cb197-2" aria-hidden="true"></a></span>
+<span id="cb197-3"><a href="#cb197-3" aria-hidden="true"></a><span class="ot">[^1]: </span>Here is the footnote.</span>
+<span id="cb197-4"><a href="#cb197-4" aria-hidden="true"></a></span>
+<span id="cb197-5"><a href="#cb197-5" aria-hidden="true"></a><span class="ot">[^longnote]: </span>Here&#39;s one with multiple blocks.</span>
+<span id="cb197-6"><a href="#cb197-6" aria-hidden="true"></a></span>
+<span id="cb197-7"><a href="#cb197-7" aria-hidden="true"></a><span class="in"> Subsequent paragraphs are indented to show that they</span></span>
+<span id="cb197-8"><a href="#cb197-8" aria-hidden="true"></a>belong to the previous footnote.</span>
+<span id="cb197-9"><a href="#cb197-9" aria-hidden="true"></a></span>
+<span id="cb197-10"><a href="#cb197-10" aria-hidden="true"></a><span class="in"> { some.code }</span></span>
+<span id="cb197-11"><a href="#cb197-11" aria-hidden="true"></a></span>
+<span id="cb197-12"><a href="#cb197-12" aria-hidden="true"></a><span class="in"> The whole paragraph can be indented, or just the</span></span>
+<span id="cb197-13"><a href="#cb197-13" aria-hidden="true"></a><span class="in"> first line. In this way, multi-paragraph footnotes</span></span>
+<span id="cb197-14"><a href="#cb197-14" aria-hidden="true"></a><span class="in"> work like multi-paragraph list items.</span></span>
+<span id="cb197-15"><a href="#cb197-15" aria-hidden="true"></a></span>
+<span id="cb197-16"><a href="#cb197-16" aria-hidden="true"></a>This paragraph won&#39;t be part of the note, because it</span>
+<span id="cb197-17"><a href="#cb197-17" aria-hidden="true"></a>isn&#39;t indented.</span></code></pre></div>
</dd>
</dl>
</dd>
@@ -2046,100 +2054,100 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="latex-example-14" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb197"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb197-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb197-2" data-line-number="2"><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb197-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb197-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb197-5" data-line-number="5">Here is a footnote reference,[^1] and another.[^longnote]</a>
-<a class="sourceLine" id="cb197-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb197-7" data-line-number="7">[^1]: Here is the footnote.</a>
-<a class="sourceLine" id="cb197-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb197-9" data-line-number="9">[^longnote]: Here&#39;s one with multiple blocks.</a>
-<a class="sourceLine" id="cb197-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb197-11" data-line-number="11"> Subsequent paragraphs are indented to show that they</a>
-<a class="sourceLine" id="cb197-12" data-line-number="12">belong to the previous footnote.</a>
-<a class="sourceLine" id="cb197-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb197-14" data-line-number="14"> { some.code }</a>
-<a class="sourceLine" id="cb197-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb197-16" data-line-number="16"> The whole paragraph can be indented, or just the</a>
-<a class="sourceLine" id="cb197-17" data-line-number="17"> first line. In this way, multi-paragraph footnotes</a>
-<a class="sourceLine" id="cb197-18" data-line-number="18"> work like multi-paragraph list items.</a>
-<a class="sourceLine" id="cb197-19" data-line-number="19"></a>
-<a class="sourceLine" id="cb197-20" data-line-number="20">This paragraph won&#39;t be part of the note, because it</a>
-<a class="sourceLine" id="cb197-21" data-line-number="21">isn&#39;t indented.</a>
-<a class="sourceLine" id="cb197-22" data-line-number="22"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb197-23" data-line-number="23"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb198"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb198-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
-<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
-<blockquote>
-<p>Here is a footnote reference,<a href="#fn1" class="footnote-ref" id="fnref1"><sup>1</sup></a> and another.<a href="#fn2" class="footnote-ref" id="fnref2"><sup>2</sup></a></p>
+<h5 class="unnumbered" data-number="" id="latex-example-14"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb198"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb198-1"><a href="#cb198-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb198-2"><a href="#cb198-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</span>
+<span id="cb198-3"><a href="#cb198-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb198-4"><a href="#cb198-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb198-5"><a href="#cb198-5" aria-hidden="true"></a>Here is a footnote reference,[^1] and another.[^longnote]</span>
+<span id="cb198-6"><a href="#cb198-6" aria-hidden="true"></a></span>
+<span id="cb198-7"><a href="#cb198-7" aria-hidden="true"></a>[^1]: Here is the footnote.</span>
+<span id="cb198-8"><a href="#cb198-8" aria-hidden="true"></a></span>
+<span id="cb198-9"><a href="#cb198-9" aria-hidden="true"></a>[^longnote]: Here&#39;s one with multiple blocks.</span>
+<span id="cb198-10"><a href="#cb198-10" aria-hidden="true"></a></span>
+<span id="cb198-11"><a href="#cb198-11" aria-hidden="true"></a> Subsequent paragraphs are indented to show that they</span>
+<span id="cb198-12"><a href="#cb198-12" aria-hidden="true"></a>belong to the previous footnote.</span>
+<span id="cb198-13"><a href="#cb198-13" aria-hidden="true"></a></span>
+<span id="cb198-14"><a href="#cb198-14" aria-hidden="true"></a> { some.code }</span>
+<span id="cb198-15"><a href="#cb198-15" aria-hidden="true"></a></span>
+<span id="cb198-16"><a href="#cb198-16" aria-hidden="true"></a> The whole paragraph can be indented, or just the</span>
+<span id="cb198-17"><a href="#cb198-17" aria-hidden="true"></a> first line. In this way, multi-paragraph footnotes</span>
+<span id="cb198-18"><a href="#cb198-18" aria-hidden="true"></a> work like multi-paragraph list items.</span>
+<span id="cb198-19"><a href="#cb198-19" aria-hidden="true"></a></span>
+<span id="cb198-20"><a href="#cb198-20" aria-hidden="true"></a>This paragraph won&#39;t be part of the note, because it</span>
+<span id="cb198-21"><a href="#cb198-21" aria-hidden="true"></a>isn&#39;t indented.</span>
+<span id="cb198-22"><a href="#cb198-22" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb198-23"><a href="#cb198-23" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb199"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb199-1"><a href="#cb199-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<p>Here is a footnote reference,<a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> and another.<a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a></p>
<p>This paragraph won’t be part of the note, because it isn’t indented.</p>
</blockquote>
-<h5 id="context-example-12" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb200"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb200-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb200-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFootnotes{true}</a>
-<a class="sourceLine" id="cb200-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb200-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb200-5" data-line-number="5">Here is a footnote reference,[^1] and another.[^longnote]</a>
-<a class="sourceLine" id="cb200-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb200-7" data-line-number="7">[^1]: Here is the footnote.</a>
-<a class="sourceLine" id="cb200-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb200-9" data-line-number="9">[^longnote]: Here&#39;s one with multiple blocks.</a>
-<a class="sourceLine" id="cb200-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb200-11" data-line-number="11"> Subsequent paragraphs are indented to show that they</a>
-<a class="sourceLine" id="cb200-12" data-line-number="12">belong to the previous footnote.</a>
-<a class="sourceLine" id="cb200-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb200-14" data-line-number="14"> { some.code }</a>
-<a class="sourceLine" id="cb200-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb200-16" data-line-number="16"> The whole paragraph can be indented, or just the</a>
-<a class="sourceLine" id="cb200-17" data-line-number="17"> first line. In this way, multi-paragraph footnotes</a>
-<a class="sourceLine" id="cb200-18" data-line-number="18"> work like multi-paragraph list items.</a>
-<a class="sourceLine" id="cb200-19" data-line-number="19"></a>
-<a class="sourceLine" id="cb200-20" data-line-number="20">This paragraph won&#39;t be part of the note, because it</a>
-<a class="sourceLine" id="cb200-21" data-line-number="21">isn&#39;t indented.</a>
-<a class="sourceLine" id="cb200-22" data-line-number="22"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb200-23" data-line-number="23"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb201"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb201-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
-<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
-<blockquote>
-<p>Here is a footnote reference,<a href="#fn3" class="footnote-ref" id="fnref3"><sup>3</sup></a> and another.<a href="#fn4" class="footnote-ref" id="fnref4"><sup>4</sup></a></p>
+<h5 class="unnumbered" data-number="" id="context-example-12">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb201"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb201-1"><a href="#cb201-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb201-2"><a href="#cb201-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFootnotes</span>{true}</span>
+<span id="cb201-3"><a href="#cb201-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb201-4"><a href="#cb201-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb201-5"><a href="#cb201-5" aria-hidden="true"></a>Here is a footnote reference,[^1] and another.[^longnote]</span>
+<span id="cb201-6"><a href="#cb201-6" aria-hidden="true"></a></span>
+<span id="cb201-7"><a href="#cb201-7" aria-hidden="true"></a>[^1]: Here is the footnote.</span>
+<span id="cb201-8"><a href="#cb201-8" aria-hidden="true"></a></span>
+<span id="cb201-9"><a href="#cb201-9" aria-hidden="true"></a>[^longnote]: Here&#39;s one with multiple blocks.</span>
+<span id="cb201-10"><a href="#cb201-10" aria-hidden="true"></a></span>
+<span id="cb201-11"><a href="#cb201-11" aria-hidden="true"></a> Subsequent paragraphs are indented to show that they</span>
+<span id="cb201-12"><a href="#cb201-12" aria-hidden="true"></a>belong to the previous footnote.</span>
+<span id="cb201-13"><a href="#cb201-13" aria-hidden="true"></a></span>
+<span id="cb201-14"><a href="#cb201-14" aria-hidden="true"></a> { some.code }</span>
+<span id="cb201-15"><a href="#cb201-15" aria-hidden="true"></a></span>
+<span id="cb201-16"><a href="#cb201-16" aria-hidden="true"></a> The whole paragraph can be indented, or just the</span>
+<span id="cb201-17"><a href="#cb201-17" aria-hidden="true"></a> first line. In this way, multi-paragraph footnotes</span>
+<span id="cb201-18"><a href="#cb201-18" aria-hidden="true"></a> work like multi-paragraph list items.</span>
+<span id="cb201-19"><a href="#cb201-19" aria-hidden="true"></a></span>
+<span id="cb201-20"><a href="#cb201-20" aria-hidden="true"></a>This paragraph won&#39;t be part of the note, because it</span>
+<span id="cb201-21"><a href="#cb201-21" aria-hidden="true"></a>isn&#39;t indented.</span>
+<span id="cb201-22"><a href="#cb201-22" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb201-23"><a href="#cb201-23" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb202"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb202-1"><a href="#cb202-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<p>Here is a footnote reference,<a href="#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a> and another.<a href="#fn4" class="footnote-ref" id="fnref4" role="doc-noteref"><sup>4</sup></a></p>
<p>This paragraph won’t be part of the note, because it isn’t indented.</p>
</blockquote>
-<h4 id="option-frozencachecounter"><span class="header-section-number">2.2.1.16</span> Option <code>frozenCacheCounter</code></h4>
+<h4 data-number="2.2.1.16" id="option-frozencachecounter"><span class="header-section-number">2.2.1.16</span> Option <code>frozenCacheCounter</code></h4>
<dl>
<dt><code>frozenCacheCounter</code> (default value: <code>0</code>)</dt>
<dd><p>The number of the current markdown document that will be stored in an output file (frozen cache) when the <strong><code>finalizeCache</code></strong> is enabled. When the document number is 0, then a new frozen cache will be created. Otherwise, the frozen cache will be appended.</p>
<p>Each frozen cache entry will define a <span class="tex">T<sub>e</sub>X</span> macro <code>\markdownFrozenCache</code>⟨<em>number</em>⟩ that will typeset markdown document number ⟨<em>number</em>⟩.</p>
</dd>
</dl>
-<h5 id="lua-module-example-7" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb203"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb203-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb203-2" data-line-number="2"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb203-3" data-line-number="3"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb203-4" data-line-number="4"> local firstConvert = markdown.new({finalizeCache = true, frozenCacheCounter = 0})</a>
-<a class="sourceLine" id="cb203-5" data-line-number="5"> local firstInput = &quot;Hello&quot;</a>
-<a class="sourceLine" id="cb203-6" data-line-number="6"> local secondConvert = markdown.new({finalizeCache = true, frozenCacheCounter = 1})</a>
-<a class="sourceLine" id="cb203-7" data-line-number="7"> local secondInput = &quot;*world*!&quot;</a>
-<a class="sourceLine" id="cb203-8" data-line-number="8"> tex.sprint(firstConvert(firstInput) .. [[ ]] .. secondConvert(secondInput)) }</a>
-<a class="sourceLine" id="cb203-9" data-line-number="9"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-7">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb204"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb204-1"><a href="#cb204-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb204-2"><a href="#cb204-2" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb204-3"><a href="#cb204-3" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb204-4"><a href="#cb204-4" aria-hidden="true"></a> local firstConvert = markdown.new({finalizeCache = true, frozenCacheCounter = 0})</span>
+<span id="cb204-5"><a href="#cb204-5" aria-hidden="true"></a> local firstInput = &quot;Hello&quot;</span>
+<span id="cb204-6"><a href="#cb204-6" aria-hidden="true"></a> local secondConvert = markdown.new({finalizeCache = true, frozenCacheCounter = 1})</span>
+<span id="cb204-7"><a href="#cb204-7" aria-hidden="true"></a> local secondInput = &quot;*world*!&quot;</span>
+<span id="cb204-8"><a href="#cb204-8" aria-hidden="true"></a> tex.sprint(firstConvert(firstInput) .. [[ ]] .. secondConvert(secondInput)) }</span>
+<span id="cb204-9"><a href="#cb204-9" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb204"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb204-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb205"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb205-1"><a href="#cb205-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!” A frozen cache with two entries will also be produced as we requested using the <code>frozenCacheCounter</code> option.</p>
-<h4 id="option-hashenumerators"><span class="header-section-number">2.2.1.17</span> Option <code>hashEnumerators</code></h4>
+<h4 data-number="2.2.1.17" id="option-hashenumerators"><span class="header-section-number">2.2.1.17</span> Option <code>hashEnumerators</code></h4>
<dl>
<dt><code>hashEnumerators</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the use of hash symbols (<code>#</code>) as ordered item list markers:</p>
-<div class="sourceCode" id="cb205"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb205-1" data-line-number="1">#. Bird</a>
-<a class="sourceLine" id="cb205-2" data-line-number="2">#. McHale</a>
-<a class="sourceLine" id="cb205-3" data-line-number="3">#. Parish</a></code></pre></div>
+<div class="sourceCode" id="cb206"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb206-1"><a href="#cb206-1" aria-hidden="true"></a>#. Bird</span>
+<span id="cb206-2"><a href="#cb206-2" aria-hidden="true"></a>#. McHale</span>
+<span id="cb206-3"><a href="#cb206-3" aria-hidden="true"></a>#. Parish</span></code></pre></div>
</dd>
</dl>
</dd>
@@ -2150,27 +2158,27 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="latex-example-15" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb206"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb206-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb206-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb206-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb206-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb206-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb206-6" data-line-number="6">. Bird</a>
-<a class="sourceLine" id="cb206-7" data-line-number="7">. McHale</a>
-<a class="sourceLine" id="cb206-8" data-line-number="8">. Parish</a>
-<a class="sourceLine" id="cb206-9" data-line-number="9"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb206-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb206-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hashEnumerators}</a>
-<a class="sourceLine" id="cb206-12" data-line-number="12">. Bird</a>
-<a class="sourceLine" id="cb206-13" data-line-number="13">. McHale</a>
-<a class="sourceLine" id="cb206-14" data-line-number="14">. Parish</a>
-<a class="sourceLine" id="cb206-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb206-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb206-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb207"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb207-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-15"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb207"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb207-1"><a href="#cb207-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb207-2"><a href="#cb207-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb207-3"><a href="#cb207-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb207-4"><a href="#cb207-4" aria-hidden="true"></a></span>
+<span id="cb207-5"><a href="#cb207-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb207-6"><a href="#cb207-6" aria-hidden="true"></a>. Bird</span>
+<span id="cb207-7"><a href="#cb207-7" aria-hidden="true"></a>. McHale</span>
+<span id="cb207-8"><a href="#cb207-8" aria-hidden="true"></a>. Parish</span>
+<span id="cb207-9"><a href="#cb207-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb207-10"><a href="#cb207-10" aria-hidden="true"></a></span>
+<span id="cb207-11"><a href="#cb207-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hashEnumerators}</span>
+<span id="cb207-12"><a href="#cb207-12" aria-hidden="true"></a>. Bird</span>
+<span id="cb207-13"><a href="#cb207-13" aria-hidden="true"></a>. McHale</span>
+<span id="cb207-14"><a href="#cb207-14" aria-hidden="true"></a>. Parish</span>
+<span id="cb207-15"><a href="#cb207-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb207-16"><a href="#cb207-16" aria-hidden="true"></a></span>
+<span id="cb207-17"><a href="#cb207-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb208"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb208-1"><a href="#cb208-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<h1 id="bird">. Bird</h1>
@@ -2182,27 +2190,27 @@ Thomas,Edison,1847</code></pre>
<li>Parish</li>
</ol>
</blockquote>
-<h5 id="context-example-13" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb208"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb208-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb208-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb208-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb208-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb208-5" data-line-number="5">. Bird</a>
-<a class="sourceLine" id="cb208-6" data-line-number="6">. McHale</a>
-<a class="sourceLine" id="cb208-7" data-line-number="7">. Parish</a>
-<a class="sourceLine" id="cb208-8" data-line-number="8"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb208-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb208-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionHashEnumerators{true}</a>
-<a class="sourceLine" id="cb208-11" data-line-number="11"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb208-12" data-line-number="12">. Bird</a>
-<a class="sourceLine" id="cb208-13" data-line-number="13">. McHale</a>
-<a class="sourceLine" id="cb208-14" data-line-number="14">. Parish</a>
-<a class="sourceLine" id="cb208-15" data-line-number="15"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb208-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb208-17" data-line-number="17"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb209"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb209-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-13">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb209"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb209-1"><a href="#cb209-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb209-2"><a href="#cb209-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb209-3"><a href="#cb209-3" aria-hidden="true"></a></span>
+<span id="cb209-4"><a href="#cb209-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb209-5"><a href="#cb209-5" aria-hidden="true"></a>. Bird</span>
+<span id="cb209-6"><a href="#cb209-6" aria-hidden="true"></a>. McHale</span>
+<span id="cb209-7"><a href="#cb209-7" aria-hidden="true"></a>. Parish</span>
+<span id="cb209-8"><a href="#cb209-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb209-9"><a href="#cb209-9" aria-hidden="true"></a></span>
+<span id="cb209-10"><a href="#cb209-10" aria-hidden="true"></a><span class="fu">\def\markdownOptionHashEnumerators</span>{true}</span>
+<span id="cb209-11"><a href="#cb209-11" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb209-12"><a href="#cb209-12" aria-hidden="true"></a>. Bird</span>
+<span id="cb209-13"><a href="#cb209-13" aria-hidden="true"></a>. McHale</span>
+<span id="cb209-14"><a href="#cb209-14" aria-hidden="true"></a>. Parish</span>
+<span id="cb209-15"><a href="#cb209-15" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb209-16"><a href="#cb209-16" aria-hidden="true"></a></span>
+<span id="cb209-17"><a href="#cb209-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb210"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb210-1"><a href="#cb210-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<h1 id="bird-1">. Bird</h1>
@@ -2214,18 +2222,18 @@ Thomas,Edison,1847</code></pre>
<li>Parish</li>
</ol>
</blockquote>
-<h4 id="header-attributes"><span class="header-section-number">2.2.1.18</span> Option <code>headerAttributes</code></h4>
+<h4 data-number="2.2.1.18" id="header-attributes"><span class="header-section-number">2.2.1.18</span> Option <code>headerAttributes</code></h4>
<dl>
<dt><code>headerAttributes</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the assignment of HTML attributes to headings:</p>
-<div class="sourceCode" id="cb210"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb210-1" data-line-number="1"><span class="fu"># My first heading {#foo}</span></a>
-<a class="sourceLine" id="cb210-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb210-3" data-line-number="3"><span class="fu">## My second heading ## {#bar .baz}</span></a>
-<a class="sourceLine" id="cb210-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb210-5" data-line-number="5">Yet another heading {key=value}</a>
-<a class="sourceLine" id="cb210-6" data-line-number="6">===================</a></code></pre></div>
+<div class="sourceCode" id="cb211"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb211-1"><a href="#cb211-1" aria-hidden="true"></a><span class="fu"># My first heading {#foo}</span></span>
+<span id="cb211-2"><a href="#cb211-2" aria-hidden="true"></a></span>
+<span id="cb211-3"><a href="#cb211-3" aria-hidden="true"></a><span class="fu">## My second heading ## {#bar .baz}</span></span>
+<span id="cb211-4"><a href="#cb211-4" aria-hidden="true"></a></span>
+<span id="cb211-5"><a href="#cb211-5" aria-hidden="true"></a>Yet another heading {key=value}</span>
+<span id="cb211-6"><a href="#cb211-6" aria-hidden="true"></a><span class="fu">===================</span></span></code></pre></div>
<p>These HTML attributes have currently no effect other than enabling <a href="#slice">content slicing</a>.</p>
</dd>
</dl>
@@ -2237,7 +2245,7 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h4 id="option-html"><span class="header-section-number">2.2.1.19</span> Option <code>html</code></h4>
+<h4 data-number="2.2.1.19" id="option-html"><span class="header-section-number">2.2.1.19</span> Option <code>html</code></h4>
<dl>
<dt><code>html</code> (default value: <code>false</code>)</dt>
<dd><dl>
@@ -2253,162 +2261,162 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="lua-module-example-8" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb211"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb211-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb211-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb211-3" data-line-number="3"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb211-4" data-line-number="4"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb211-5" data-line-number="5"> local convert = markdown.new()</a>
-<a class="sourceLine" id="cb211-6" data-line-number="6"> local newline = [[^^J^^J]]</a>
-<a class="sourceLine" id="cb211-7" data-line-number="7"> local input =</a>
-<a class="sourceLine" id="cb211-8" data-line-number="8"> &quot;&lt;div&gt;*There is no block tag support.*&lt;/div&gt;&quot; .. newline ..</a>
-<a class="sourceLine" id="cb211-9" data-line-number="9"> &quot;*There is no &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*&quot; .. newline ..</a>
-<a class="sourceLine" id="cb211-10" data-line-number="10"> &quot;_There is no &lt;!-- comment --&gt; support._&quot; .. newline ..</a>
-<a class="sourceLine" id="cb211-11" data-line-number="11"> &quot;_There is no &lt;? HTML instruction ?&gt; support._&quot;</a>
-<a class="sourceLine" id="cb211-12" data-line-number="12"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb211-13" data-line-number="13"><span class="fu">\par</span></a>
-<a class="sourceLine" id="cb211-14" data-line-number="14"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb211-15" data-line-number="15"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb211-16" data-line-number="16"> local convert = markdown.new({html = true})</a>
-<a class="sourceLine" id="cb211-17" data-line-number="17"> local input =</a>
-<a class="sourceLine" id="cb211-18" data-line-number="18"> &quot;&lt;div&gt;*There is block tag support.*&lt;/div&gt;&quot; .. newline ..</a>
-<a class="sourceLine" id="cb211-19" data-line-number="19"> &quot;*There is &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*&quot; .. newline ..</a>
-<a class="sourceLine" id="cb211-20" data-line-number="20"> &quot;_There is &lt;!-- comment --&gt; support._&quot; .. newline ..</a>
-<a class="sourceLine" id="cb211-21" data-line-number="21"> &quot;_There is &lt;? HTML instruction ?&gt; support._&quot;</a>
-<a class="sourceLine" id="cb211-22" data-line-number="22"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb211-23" data-line-number="23"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-8">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb212"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb212-1"><a href="#cb212-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb212-2"><a href="#cb212-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb212-3"><a href="#cb212-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb212-4"><a href="#cb212-4" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb212-5"><a href="#cb212-5" aria-hidden="true"></a> local convert = markdown.new()</span>
+<span id="cb212-6"><a href="#cb212-6" aria-hidden="true"></a> local newline = [[^^J^^J]]</span>
+<span id="cb212-7"><a href="#cb212-7" aria-hidden="true"></a> local input =</span>
+<span id="cb212-8"><a href="#cb212-8" aria-hidden="true"></a> &quot;&lt;div&gt;*There is no block tag support.*&lt;/div&gt;&quot; .. newline ..</span>
+<span id="cb212-9"><a href="#cb212-9" aria-hidden="true"></a> &quot;*There is no &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*&quot; .. newline ..</span>
+<span id="cb212-10"><a href="#cb212-10" aria-hidden="true"></a> &quot;_There is no &lt;!-- comment --&gt; support._&quot; .. newline ..</span>
+<span id="cb212-11"><a href="#cb212-11" aria-hidden="true"></a> &quot;_There is no &lt;? HTML instruction ?&gt; support._&quot;</span>
+<span id="cb212-12"><a href="#cb212-12" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb212-13"><a href="#cb212-13" aria-hidden="true"></a><span class="fu">\par</span></span>
+<span id="cb212-14"><a href="#cb212-14" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb212-15"><a href="#cb212-15" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb212-16"><a href="#cb212-16" aria-hidden="true"></a> local convert = markdown.new({html = true})</span>
+<span id="cb212-17"><a href="#cb212-17" aria-hidden="true"></a> local input =</span>
+<span id="cb212-18"><a href="#cb212-18" aria-hidden="true"></a> &quot;&lt;div&gt;*There is block tag support.*&lt;/div&gt;&quot; .. newline ..</span>
+<span id="cb212-19"><a href="#cb212-19" aria-hidden="true"></a> &quot;*There is &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*&quot; .. newline ..</span>
+<span id="cb212-20"><a href="#cb212-20" aria-hidden="true"></a> &quot;_There is &lt;!-- comment --&gt; support._&quot; .. newline ..</span>
+<span id="cb212-21"><a href="#cb212-21" aria-hidden="true"></a> &quot;_There is &lt;? HTML instruction ?&gt; support._&quot;</span>
+<span id="cb212-22"><a href="#cb212-22" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb212-23"><a href="#cb212-23" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb212"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb212-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb213"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb213-1"><a href="#cb213-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>&lt;div&gt;There is no block tag support.&lt;/div&gt; There is no &lt;inline tag=”tag”&gt;&lt;/inline&gt; support. There is no &lt;!– comment –&gt; support. There is no &lt;? HTML instruction ?&gt; support.</p>
<p>There is support. There is support. There is support.</p>
</blockquote>
-<h5 id="lua-cli-example-7" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-7">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb213"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb213-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb213-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb213-3" data-line-number="3"><span class="fu">\input</span> optionfalse</a>
-<a class="sourceLine" id="cb213-4" data-line-number="4"><span class="fu">\par</span></a>
-<a class="sourceLine" id="cb213-5" data-line-number="5"><span class="fu">\input</span> optiontrue</a>
-<a class="sourceLine" id="cb213-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb214"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb214-1"><a href="#cb214-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb214-2"><a href="#cb214-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb214-3"><a href="#cb214-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span>
+<span id="cb214-4"><a href="#cb214-4" aria-hidden="true"></a><span class="fu">\par</span></span>
+<span id="cb214-5"><a href="#cb214-5" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span>
+<span id="cb214-6"><a href="#cb214-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p>
-<div class="sourceCode" id="cb214"><pre class="sourceCode html"><code class="sourceCode html"><a class="sourceLine" id="cb214-1" data-line-number="1"><span class="kw">&lt;div&gt;</span></a>
-<a class="sourceLine" id="cb214-2" data-line-number="2">*Is there block tag support?*</a>
-<a class="sourceLine" id="cb214-3" data-line-number="3"><span class="kw">&lt;/div&gt;</span></a>
-<a class="sourceLine" id="cb214-4" data-line-number="4">*Is there <span class="kw">&lt;inline</span><span class="ot"> tag=</span><span class="st">&quot;tag&quot;</span><span class="kw">&gt;&lt;/inline&gt;</span> support?*</a>
-<a class="sourceLine" id="cb214-5" data-line-number="5">_Is there <span class="co">&lt;!-- comment --&gt;</span> support?_</a>
-<a class="sourceLine" id="cb214-6" data-line-number="6">_Is there <span class="kw">&lt;?</span> HTML instruction <span class="kw">?&gt;</span> support?_</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb215"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb215-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</a>
-<a class="sourceLine" id="cb215-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ html=true -- content.md optiontrue.tex</a>
-<a class="sourceLine" id="cb215-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb215"><pre class="sourceCode html"><code class="sourceCode html"><span id="cb215-1"><a href="#cb215-1" aria-hidden="true"></a><span class="kw">&lt;div&gt;</span></span>
+<span id="cb215-2"><a href="#cb215-2" aria-hidden="true"></a>*Is there block tag support?*</span>
+<span id="cb215-3"><a href="#cb215-3" aria-hidden="true"></a><span class="kw">&lt;/div&gt;</span></span>
+<span id="cb215-4"><a href="#cb215-4" aria-hidden="true"></a>*Is there <span class="kw">&lt;inline</span><span class="ot"> tag=</span><span class="st">&quot;tag&quot;</span><span class="kw">&gt;&lt;/inline&gt;</span> support?*</span>
+<span id="cb215-5"><a href="#cb215-5" aria-hidden="true"></a>_Is there <span class="co">&lt;!-- comment --&gt;</span> support?_</span>
+<span id="cb215-6"><a href="#cb215-6" aria-hidden="true"></a>_Is there <span class="kw">&lt;?</span> HTML instruction <span class="kw">?&gt;</span> support?_</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb216"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb216-1"><a href="#cb216-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span>
+<span id="cb216-2"><a href="#cb216-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ html=true -- content.md optiontrue.tex</span>
+<span id="cb216-3"><a href="#cb216-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>&lt;div&gt;Is there block tag support?&lt;/div&gt; Is there &lt;inline tag=”tag”&gt;&lt;/inline&gt; support? Is there &lt;!– comment –&gt; support? Is there &lt;? HTML instruction ?&gt; support?</p>
<p>Is there support? Is there support? Is there support?</p>
</blockquote>
-<h5 id="plain-tex-example-8" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb216"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb216-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb216-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb216-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb216-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb216-5" data-line-number="5">&lt;div&gt;</a>
-<a class="sourceLine" id="cb216-6" data-line-number="6">*There is no block tag support.*</a>
-<a class="sourceLine" id="cb216-7" data-line-number="7">&lt;/div&gt;</a>
-<a class="sourceLine" id="cb216-8" data-line-number="8">*There is no &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</a>
-<a class="sourceLine" id="cb216-9" data-line-number="9">_There is no &lt;!-- comment --&gt; support._</a>
-<a class="sourceLine" id="cb216-10" data-line-number="10">_There is no &lt;? HTML instruction ?&gt; support._</a>
-<a class="sourceLine" id="cb216-11" data-line-number="11"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb216-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb216-13" data-line-number="13"><span class="fu">\def</span>\markdownOptionHtml{true}</a>
-<a class="sourceLine" id="cb216-14" data-line-number="14"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb216-15" data-line-number="15">&lt;div&gt;</a>
-<a class="sourceLine" id="cb216-16" data-line-number="16">*There is block tag support.*</a>
-<a class="sourceLine" id="cb216-17" data-line-number="17">&lt;/div&gt;</a>
-<a class="sourceLine" id="cb216-18" data-line-number="18">*There is &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</a>
-<a class="sourceLine" id="cb216-19" data-line-number="19">_There is &lt;!-- comment --&gt; support._</a>
-<a class="sourceLine" id="cb216-20" data-line-number="20">_There is &lt;? HTML instruction ?&gt; support._</a>
-<a class="sourceLine" id="cb216-21" data-line-number="21"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb216-22" data-line-number="22"></a>
-<a class="sourceLine" id="cb216-23" data-line-number="23"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb217"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb217-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-8">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb217"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb217-1"><a href="#cb217-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb217-2"><a href="#cb217-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb217-3"><a href="#cb217-3" aria-hidden="true"></a></span>
+<span id="cb217-4"><a href="#cb217-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb217-5"><a href="#cb217-5" aria-hidden="true"></a>&lt;div&gt;</span>
+<span id="cb217-6"><a href="#cb217-6" aria-hidden="true"></a>*There is no block tag support.*</span>
+<span id="cb217-7"><a href="#cb217-7" aria-hidden="true"></a>&lt;/div&gt;</span>
+<span id="cb217-8"><a href="#cb217-8" aria-hidden="true"></a>*There is no &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</span>
+<span id="cb217-9"><a href="#cb217-9" aria-hidden="true"></a>_There is no &lt;!-- comment --&gt; support._</span>
+<span id="cb217-10"><a href="#cb217-10" aria-hidden="true"></a>_There is no &lt;? HTML instruction ?&gt; support._</span>
+<span id="cb217-11"><a href="#cb217-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb217-12"><a href="#cb217-12" aria-hidden="true"></a></span>
+<span id="cb217-13"><a href="#cb217-13" aria-hidden="true"></a><span class="fu">\def\markdownOptionHtml</span>{true}</span>
+<span id="cb217-14"><a href="#cb217-14" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb217-15"><a href="#cb217-15" aria-hidden="true"></a>&lt;div&gt;</span>
+<span id="cb217-16"><a href="#cb217-16" aria-hidden="true"></a>*There is block tag support.*</span>
+<span id="cb217-17"><a href="#cb217-17" aria-hidden="true"></a>&lt;/div&gt;</span>
+<span id="cb217-18"><a href="#cb217-18" aria-hidden="true"></a>*There is &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</span>
+<span id="cb217-19"><a href="#cb217-19" aria-hidden="true"></a>_There is &lt;!-- comment --&gt; support._</span>
+<span id="cb217-20"><a href="#cb217-20" aria-hidden="true"></a>_There is &lt;? HTML instruction ?&gt; support._</span>
+<span id="cb217-21"><a href="#cb217-21" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb217-22"><a href="#cb217-22" aria-hidden="true"></a></span>
+<span id="cb217-23"><a href="#cb217-23" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb218"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb218-1"><a href="#cb218-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>&lt;div&gt;There is no block tag support.&lt;/div&gt; There is no &lt;inline tag=”tag”&gt;&lt;/inline&gt; support. There is no &lt;!– comment –&gt; support. There is no &lt;? HTML instruction ?&gt; support.</p>
<p>There is support. There is support. There is support.</p>
</blockquote>
-<h5 id="latex-example-16" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb218"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb218-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb218-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb218-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb218-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb218-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb218-6" data-line-number="6">&lt;div&gt;</a>
-<a class="sourceLine" id="cb218-7" data-line-number="7">*There is no block tag support.*</a>
-<a class="sourceLine" id="cb218-8" data-line-number="8">&lt;/div&gt;</a>
-<a class="sourceLine" id="cb218-9" data-line-number="9">*There is no &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</a>
-<a class="sourceLine" id="cb218-10" data-line-number="10">_There is no &lt;!-- comment --&gt; support._</a>
-<a class="sourceLine" id="cb218-11" data-line-number="11">_There is no &lt;? HTML instruction ?&gt; support._</a>
-<a class="sourceLine" id="cb218-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb218-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb218-14" data-line-number="14"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{html}</a>
-<a class="sourceLine" id="cb218-15" data-line-number="15">&lt;div&gt;</a>
-<a class="sourceLine" id="cb218-16" data-line-number="16">*There is block tag support.*</a>
-<a class="sourceLine" id="cb218-17" data-line-number="17">&lt;/div&gt;</a>
-<a class="sourceLine" id="cb218-18" data-line-number="18">*There is &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</a>
-<a class="sourceLine" id="cb218-19" data-line-number="19">_There is &lt;!-- comment --&gt; support._</a>
-<a class="sourceLine" id="cb218-20" data-line-number="20">_There is &lt;? HTML instruction ?&gt; support._</a>
-<a class="sourceLine" id="cb218-21" data-line-number="21"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb218-22" data-line-number="22"></a>
-<a class="sourceLine" id="cb218-23" data-line-number="23"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb219"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb219-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-16"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb219"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb219-1"><a href="#cb219-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb219-2"><a href="#cb219-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb219-3"><a href="#cb219-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb219-4"><a href="#cb219-4" aria-hidden="true"></a></span>
+<span id="cb219-5"><a href="#cb219-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb219-6"><a href="#cb219-6" aria-hidden="true"></a>&lt;div&gt;</span>
+<span id="cb219-7"><a href="#cb219-7" aria-hidden="true"></a>*There is no block tag support.*</span>
+<span id="cb219-8"><a href="#cb219-8" aria-hidden="true"></a>&lt;/div&gt;</span>
+<span id="cb219-9"><a href="#cb219-9" aria-hidden="true"></a>*There is no &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</span>
+<span id="cb219-10"><a href="#cb219-10" aria-hidden="true"></a>_There is no &lt;!-- comment --&gt; support._</span>
+<span id="cb219-11"><a href="#cb219-11" aria-hidden="true"></a>_There is no &lt;? HTML instruction ?&gt; support._</span>
+<span id="cb219-12"><a href="#cb219-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb219-13"><a href="#cb219-13" aria-hidden="true"></a></span>
+<span id="cb219-14"><a href="#cb219-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{html}</span>
+<span id="cb219-15"><a href="#cb219-15" aria-hidden="true"></a>&lt;div&gt;</span>
+<span id="cb219-16"><a href="#cb219-16" aria-hidden="true"></a>*There is block tag support.*</span>
+<span id="cb219-17"><a href="#cb219-17" aria-hidden="true"></a>&lt;/div&gt;</span>
+<span id="cb219-18"><a href="#cb219-18" aria-hidden="true"></a>*There is &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</span>
+<span id="cb219-19"><a href="#cb219-19" aria-hidden="true"></a>_There is &lt;!-- comment --&gt; support._</span>
+<span id="cb219-20"><a href="#cb219-20" aria-hidden="true"></a>_There is &lt;? HTML instruction ?&gt; support._</span>
+<span id="cb219-21"><a href="#cb219-21" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb219-22"><a href="#cb219-22" aria-hidden="true"></a></span>
+<span id="cb219-23"><a href="#cb219-23" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb220"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb220-1"><a href="#cb220-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>&lt;div&gt;There is no block tag support.&lt;/div&gt; There is no &lt;inline tag=”tag”&gt;&lt;/inline&gt; support. There is no &lt;!– comment –&gt; support. There is no &lt;? HTML instruction ?&gt; support.</p>
<p>There is support. There is support. There is support.</p>
</blockquote>
-<h5 id="context-example-14" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb220"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb220-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb220-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb220-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb220-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb220-5" data-line-number="5">&lt;div&gt;</a>
-<a class="sourceLine" id="cb220-6" data-line-number="6">*There is no block tag support.*</a>
-<a class="sourceLine" id="cb220-7" data-line-number="7">&lt;/div&gt;</a>
-<a class="sourceLine" id="cb220-8" data-line-number="8">*There is no &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</a>
-<a class="sourceLine" id="cb220-9" data-line-number="9">_There is no &lt;!-- comment --&gt; support._</a>
-<a class="sourceLine" id="cb220-10" data-line-number="10">_There is no &lt;? HTML instruction ?&gt; support._</a>
-<a class="sourceLine" id="cb220-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb220-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb220-13" data-line-number="13"><span class="fu">\def</span>\markdownOptionHtml{true}</a>
-<a class="sourceLine" id="cb220-14" data-line-number="14"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb220-15" data-line-number="15">&lt;div&gt;</a>
-<a class="sourceLine" id="cb220-16" data-line-number="16">*There is block tag support.*</a>
-<a class="sourceLine" id="cb220-17" data-line-number="17">&lt;/div&gt;</a>
-<a class="sourceLine" id="cb220-18" data-line-number="18">*There is &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</a>
-<a class="sourceLine" id="cb220-19" data-line-number="19">_There is &lt;!-- comment --&gt; support._</a>
-<a class="sourceLine" id="cb220-20" data-line-number="20">_There is &lt;? HTML instruction ?&gt; support._</a>
-<a class="sourceLine" id="cb220-21" data-line-number="21"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb220-22" data-line-number="22"></a>
-<a class="sourceLine" id="cb220-23" data-line-number="23"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb221"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb221-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-14">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb221"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb221-1"><a href="#cb221-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb221-2"><a href="#cb221-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb221-3"><a href="#cb221-3" aria-hidden="true"></a></span>
+<span id="cb221-4"><a href="#cb221-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb221-5"><a href="#cb221-5" aria-hidden="true"></a>&lt;div&gt;</span>
+<span id="cb221-6"><a href="#cb221-6" aria-hidden="true"></a>*There is no block tag support.*</span>
+<span id="cb221-7"><a href="#cb221-7" aria-hidden="true"></a>&lt;/div&gt;</span>
+<span id="cb221-8"><a href="#cb221-8" aria-hidden="true"></a>*There is no &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</span>
+<span id="cb221-9"><a href="#cb221-9" aria-hidden="true"></a>_There is no &lt;!-- comment --&gt; support._</span>
+<span id="cb221-10"><a href="#cb221-10" aria-hidden="true"></a>_There is no &lt;? HTML instruction ?&gt; support._</span>
+<span id="cb221-11"><a href="#cb221-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb221-12"><a href="#cb221-12" aria-hidden="true"></a></span>
+<span id="cb221-13"><a href="#cb221-13" aria-hidden="true"></a><span class="fu">\def\markdownOptionHtml</span>{true}</span>
+<span id="cb221-14"><a href="#cb221-14" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb221-15"><a href="#cb221-15" aria-hidden="true"></a>&lt;div&gt;</span>
+<span id="cb221-16"><a href="#cb221-16" aria-hidden="true"></a>*There is block tag support.*</span>
+<span id="cb221-17"><a href="#cb221-17" aria-hidden="true"></a>&lt;/div&gt;</span>
+<span id="cb221-18"><a href="#cb221-18" aria-hidden="true"></a>*There is &lt;inline tag=&quot;tag&quot;&gt;&lt;/inline&gt; support.*</span>
+<span id="cb221-19"><a href="#cb221-19" aria-hidden="true"></a>_There is &lt;!-- comment --&gt; support._</span>
+<span id="cb221-20"><a href="#cb221-20" aria-hidden="true"></a>_There is &lt;? HTML instruction ?&gt; support._</span>
+<span id="cb221-21"><a href="#cb221-21" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb221-22"><a href="#cb221-22" aria-hidden="true"></a></span>
+<span id="cb221-23"><a href="#cb221-23" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb222"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb222-1"><a href="#cb222-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>&lt;div&gt;There is no block tag support.&lt;/div&gt; There is no &lt;inline tag=”tag”&gt;&lt;/inline&gt; support. There is no &lt;!– comment –&gt; support. There is no &lt;? HTML instruction ?&gt; support.</p>
<p>There is support. There is support. There is support.</p>
</blockquote>
-<h4 id="option-hybrid"><span class="header-section-number">2.2.1.20</span> Option <code>hybrid</code></h4>
+<h4 data-number="2.2.1.20" id="option-hybrid"><span class="header-section-number">2.2.1.20</span> Option <code>hybrid</code></h4>
<dl>
-<dt><code>hybrid</code> (default value: <code>true</code>)</dt>
+<dt><code>hybrid</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Disable the escaping of special plain <span class="tex">T<sub>e</sub>X</span> characters, which makes it possible to intersperse your markdown markup with <span class="tex">T<sub>e</sub>X</span> code. The intended usage is in documents prepared manually by a human author. In such documents, it can often be desirable to mix <span class="tex">T<sub>e</sub>X</span> and markdown markup freely.</p>
@@ -2422,130 +2430,130 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="lua-module-example-9" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb222"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb222-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb222-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb222-3" data-line-number="3"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb222-4" data-line-number="4"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb222-5" data-line-number="5"> local input, convert_safe, convert_unsafe, paragraph</a>
-<a class="sourceLine" id="cb222-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb222-7" data-line-number="7"> input = [[<span class="ss">$</span><span class="sc">\string\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.]]</a>
-<a class="sourceLine" id="cb222-8" data-line-number="8"> convert_safe = markdown.new()</a>
-<a class="sourceLine" id="cb222-9" data-line-number="9"> convert_unsafe = markdown.new({hybrid = true})</a>
-<a class="sourceLine" id="cb222-10" data-line-number="10"> paragraph = [[<span class="fu">\par</span>]]</a>
-<a class="sourceLine" id="cb222-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb222-12" data-line-number="12"> tex.sprint(</a>
-<a class="sourceLine" id="cb222-13" data-line-number="13"> convert_safe(input) .. paragraph ..</a>
-<a class="sourceLine" id="cb222-14" data-line-number="14"> convert_unsafe(input)</a>
-<a class="sourceLine" id="cb222-15" data-line-number="15"> )</a>
-<a class="sourceLine" id="cb222-16" data-line-number="16">}</a>
-<a class="sourceLine" id="cb222-17" data-line-number="17"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-9">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb223"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb223-1"><a href="#cb223-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb223-2"><a href="#cb223-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb223-3"><a href="#cb223-3" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb223-4"><a href="#cb223-4" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb223-5"><a href="#cb223-5" aria-hidden="true"></a> local input, convert_safe, convert_unsafe, paragraph</span>
+<span id="cb223-6"><a href="#cb223-6" aria-hidden="true"></a></span>
+<span id="cb223-7"><a href="#cb223-7" aria-hidden="true"></a> input = [[<span class="ss">$</span><span class="sc">\string\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.]]</span>
+<span id="cb223-8"><a href="#cb223-8" aria-hidden="true"></a> convert_safe = markdown.new()</span>
+<span id="cb223-9"><a href="#cb223-9" aria-hidden="true"></a> convert_unsafe = markdown.new({hybrid = true})</span>
+<span id="cb223-10"><a href="#cb223-10" aria-hidden="true"></a> paragraph = [[<span class="fu">\par</span>]]</span>
+<span id="cb223-11"><a href="#cb223-11" aria-hidden="true"></a></span>
+<span id="cb223-12"><a href="#cb223-12" aria-hidden="true"></a> tex.sprint(</span>
+<span id="cb223-13"><a href="#cb223-13" aria-hidden="true"></a> convert_safe(input) .. paragraph ..</span>
+<span id="cb223-14"><a href="#cb223-14" aria-hidden="true"></a> convert_unsafe(input)</span>
+<span id="cb223-15"><a href="#cb223-15" aria-hidden="true"></a> )</span>
+<span id="cb223-16"><a href="#cb223-16" aria-hidden="true"></a>}</span>
+<span id="cb223-17"><a href="#cb223-17" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb223"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb223-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb224"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb224-1"><a href="#cb224-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt {-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
-<h5 id="lua-cli-example-8" class="unnumbered">Lua CLI Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb224"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb224-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb224-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb224-3" data-line-number="3"><span class="fu">\input</span> optionfalse</a>
-<a class="sourceLine" id="cb224-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb224-5" data-line-number="5"><span class="fu">\begingroup</span></a>
-<a class="sourceLine" id="cb224-6" data-line-number="6"><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</a>
-<a class="sourceLine" id="cb224-7" data-line-number="7"><span class="fu">\input</span> optiontrue</a>
-<a class="sourceLine" id="cb224-8" data-line-number="8"><span class="fu">\endgroup</span></a>
-<a class="sourceLine" id="cb224-9" data-line-number="9"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-8">Lua CLI Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb225"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb225-1"><a href="#cb225-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb225-2"><a href="#cb225-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb225-3"><a href="#cb225-3" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span>
+<span id="cb225-4"><a href="#cb225-4" aria-hidden="true"></a></span>
+<span id="cb225-5"><a href="#cb225-5" aria-hidden="true"></a><span class="fu">\begingroup</span></span>
+<span id="cb225-6"><a href="#cb225-6" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span>
+<span id="cb225-7"><a href="#cb225-7" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span>
+<span id="cb225-8"><a href="#cb225-8" aria-hidden="true"></a><span class="fu">\endgroup</span></span>
+<span id="cb225-9"><a href="#cb225-9" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p>
-<div class="sourceCode" id="cb225"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb225-1" data-line-number="1">$\sqrt{-1}$ *equals* $i$.</a></code></pre></div>
+<div class="sourceCode" id="cb226"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb226-1"><a href="#cb226-1" aria-hidden="true"></a>$\sqrt{-1}$ *equals* $i$.</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb226"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb226-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</a>
-<a class="sourceLine" id="cb226-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- content.md optiontrue.tex</a>
-<a class="sourceLine" id="cb226-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb227"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb227-1"><a href="#cb227-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span>
+<span id="cb227-2"><a href="#cb227-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ hybrid=true -- content.md optiontrue.tex</span>
+<span id="cb227-3"><a href="#cb227-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt {-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
-<h5 id="plain-tex-example-9" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb227"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb227-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb227-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb227-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb227-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb227-5" data-line-number="5"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb227-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb227-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb227-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionHybrid{true}</a>
-<a class="sourceLine" id="cb227-9" data-line-number="9"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb227-10" data-line-number="10"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb227-11" data-line-number="11"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb227-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb227-13" data-line-number="13"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb228"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb228-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-9">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb228"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb228-1"><a href="#cb228-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb228-2"><a href="#cb228-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb228-3"><a href="#cb228-3" aria-hidden="true"></a></span>
+<span id="cb228-4"><a href="#cb228-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb228-5"><a href="#cb228-5" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb228-6"><a href="#cb228-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb228-7"><a href="#cb228-7" aria-hidden="true"></a></span>
+<span id="cb228-8"><a href="#cb228-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span>
+<span id="cb228-9"><a href="#cb228-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb228-10"><a href="#cb228-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb228-11"><a href="#cb228-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb228-12"><a href="#cb228-12" aria-hidden="true"></a></span>
+<span id="cb228-13"><a href="#cb228-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb229"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb229-1"><a href="#cb229-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt {-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
-<h5 id="latex-example-17" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb229"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb229-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb229-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb229-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb229-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb229-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb229-6" data-line-number="6"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb229-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb229-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb229-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</a>
-<a class="sourceLine" id="cb229-10" data-line-number="10"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb229-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb229-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb229-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb230"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb230-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-17"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb230"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb230-1"><a href="#cb230-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb230-2"><a href="#cb230-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb230-3"><a href="#cb230-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb230-4"><a href="#cb230-4" aria-hidden="true"></a></span>
+<span id="cb230-5"><a href="#cb230-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb230-6"><a href="#cb230-6" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb230-7"><a href="#cb230-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb230-8"><a href="#cb230-8" aria-hidden="true"></a></span>
+<span id="cb230-9"><a href="#cb230-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span>
+<span id="cb230-10"><a href="#cb230-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb230-11"><a href="#cb230-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb230-12"><a href="#cb230-12" aria-hidden="true"></a></span>
+<span id="cb230-13"><a href="#cb230-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb231"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb231-1"><a href="#cb231-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt {-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
-<h5 id="context-example-15" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb231"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb231-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb231-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb231-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb231-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb231-5" data-line-number="5"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb231-6" data-line-number="6"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb231-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb231-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionHybrid{true}</a>
-<a class="sourceLine" id="cb231-9" data-line-number="9"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb231-10" data-line-number="10"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</a>
-<a class="sourceLine" id="cb231-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb231-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb231-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb232"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb232-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-15">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb232"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb232-1"><a href="#cb232-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb232-2"><a href="#cb232-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb232-3"><a href="#cb232-3" aria-hidden="true"></a></span>
+<span id="cb232-4"><a href="#cb232-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb232-5"><a href="#cb232-5" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb232-6"><a href="#cb232-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb232-7"><a href="#cb232-7" aria-hidden="true"></a></span>
+<span id="cb232-8"><a href="#cb232-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span>
+<span id="cb232-9"><a href="#cb232-9" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb232-10"><a href="#cb232-10" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>.</span>
+<span id="cb232-11"><a href="#cb232-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb232-12"><a href="#cb232-12" aria-hidden="true"></a></span>
+<span id="cb232-13"><a href="#cb232-13" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb233"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb233-1"><a href="#cb233-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt {-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
-<h4 id="option-inlinefootnotes"><span class="header-section-number">2.2.1.21</span> Option <code>inlineFootnotes</code></h4>
+<h4 data-number="2.2.1.21" id="option-inlinefootnotes"><span class="header-section-number">2.2.1.21</span> Option <code>inlineFootnotes</code></h4>
<dl>
<dt><code>inlineFootnotes</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the pandoc inline footnote syntax extension:</p>
-<div class="sourceCode" id="cb233"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb233-1" data-line-number="1">Here is an inline note.^[Inlines notes are easier to</a>
-<a class="sourceLine" id="cb233-2" data-line-number="2">write, since you don&#39;t have to pick an identifier and</a>
-<a class="sourceLine" id="cb233-3" data-line-number="3">move down to type the note.]</a></code></pre></div>
+<div class="sourceCode" id="cb234"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb234-1"><a href="#cb234-1" aria-hidden="true"></a>Here is an inline note.^[Inlines notes are easier to</span>
+<span id="cb234-2"><a href="#cb234-2" aria-hidden="true"></a>write, since you don&#39;t have to pick an identifier and</span>
+<span id="cb234-3"><a href="#cb234-3" aria-hidden="true"></a>move down to type the note.]</span></code></pre></div>
</dd>
</dl>
</dd>
@@ -2556,51 +2564,150 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="latex-example-18" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb234"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb234-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb234-2" data-line-number="2"><span class="bu">\usepackage</span>[inlineFootnotes]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb234-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb234-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb234-5" data-line-number="5">Here is an inline note.^[Inlines notes are easier to</a>
-<a class="sourceLine" id="cb234-6" data-line-number="6">write, since you don&#39;t have to pick an identifier and</a>
-<a class="sourceLine" id="cb234-7" data-line-number="7">move down to type the note.]</a>
-<a class="sourceLine" id="cb234-8" data-line-number="8"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb234-9" data-line-number="9"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb235"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb235-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-18"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb235"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb235-1"><a href="#cb235-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb235-2"><a href="#cb235-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[inlineFootnotes]{<span class="ex">markdown</span>}</span>
+<span id="cb235-3"><a href="#cb235-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb235-4"><a href="#cb235-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb235-5"><a href="#cb235-5" aria-hidden="true"></a>Here is an inline note.^[Inlines notes are easier to</span>
+<span id="cb235-6"><a href="#cb235-6" aria-hidden="true"></a>write, since you don&#39;t have to pick an identifier and</span>
+<span id="cb235-7"><a href="#cb235-7" aria-hidden="true"></a>move down to type the note.]</span>
+<span id="cb235-8"><a href="#cb235-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb235-9"><a href="#cb235-9" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb236"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb236-1"><a href="#cb236-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
-<p>Here is an inline note.<a href="#fn5" class="footnote-ref" id="fnref5"><sup>5</sup></a></p>
+<p>Here is an inline note.<a href="#fn5" class="footnote-ref" id="fnref5" role="doc-noteref"><sup>5</sup></a></p>
</blockquote>
-<h5 id="context-example-16" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-16">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb236"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb236-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb236-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionInlineFootnotes{true}</a>
-<a class="sourceLine" id="cb236-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb236-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb236-5" data-line-number="5">Here is an inline note.^[Inlines notes are easier to</a>
-<a class="sourceLine" id="cb236-6" data-line-number="6">write, since you don&#39;t have to pick an identifier and</a>
-<a class="sourceLine" id="cb236-7" data-line-number="7">move down to type the note.]</a>
-<a class="sourceLine" id="cb236-8" data-line-number="8"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb236-9" data-line-number="9"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb237"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb237-1"><a href="#cb237-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb237-2"><a href="#cb237-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionInlineFootnotes</span>{true}</span>
+<span id="cb237-3"><a href="#cb237-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb237-4"><a href="#cb237-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb237-5"><a href="#cb237-5" aria-hidden="true"></a>Here is an inline note.^[Inlines notes are easier to</span>
+<span id="cb237-6"><a href="#cb237-6" aria-hidden="true"></a>write, since you don&#39;t have to pick an identifier and</span>
+<span id="cb237-7"><a href="#cb237-7" aria-hidden="true"></a>move down to type the note.]</span>
+<span id="cb237-8"><a href="#cb237-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb237-9"><a href="#cb237-9" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb237"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb237-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb238"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb238-1"><a href="#cb238-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
-<p>Here is an inline note.<a href="#fn6" class="footnote-ref" id="fnref6"><sup>6</sup></a></p>
+<p>Here is an inline note.<a href="#fn6" class="footnote-ref" id="fnref6" role="doc-noteref"><sup>6</sup></a></p>
</blockquote>
-<h4 id="pipe-tables"><span class="header-section-number">2.2.1.22</span> Option <code>pipeTables</code></h4>
+<h4 data-number="2.2.1.22" id="option-jekylldata"><span class="header-section-number">2.2.1.22</span> Option <code>jekyllData</code></h4>
+<dl>
+<dt><code>jekyllData</code> (default value: <code>false</code>)</dt>
+<dd><dl>
+<dt>true</dt>
+<dd><p>Enable the Pandoc <code>yaml_metadata_block</code> syntax extension for entering metadata in <abbr>yaml</abbr>:</p>
+<div class="sourceCode" id="cb239"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb239-1"><a href="#cb239-1" aria-hidden="true"></a><span class="pp">---</span></span>
+<span id="cb239-2"><a href="#cb239-2" aria-hidden="true"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> </span><span class="st">&#39;This is the title: it contains a colon&#39;</span></span>
+<span id="cb239-3"><a href="#cb239-3" aria-hidden="true"></a><span class="fu">author</span><span class="kw">:</span></span>
+<span id="cb239-4"><a href="#cb239-4" aria-hidden="true"></a><span class="kw">-</span><span class="at"> Author One</span></span>
+<span id="cb239-5"><a href="#cb239-5" aria-hidden="true"></a><span class="kw">-</span><span class="at"> Author Two</span></span>
+<span id="cb239-6"><a href="#cb239-6" aria-hidden="true"></a><span class="fu">keywords</span><span class="kw">:</span><span class="at"> </span><span class="kw">[</span><span class="at">nothing</span><span class="kw">,</span><span class="at"> nothingness</span><span class="kw">]</span></span>
+<span id="cb239-7"><a href="#cb239-7" aria-hidden="true"></a><span class="fu">abstract</span><span class="kw">: </span><span class="ch">|</span></span>
+<span id="cb239-8"><a href="#cb239-8" aria-hidden="true"></a> This is the abstract.</span>
+<span id="cb239-9"><a href="#cb239-9" aria-hidden="true"></a></span>
+<span id="cb239-10"><a href="#cb239-10" aria-hidden="true"></a> It consists of two paragraphs.</span>
+<span id="cb239-11"><a href="#cb239-11" aria-hidden="true"></a><span class="pp">---</span></span></code></pre></div>
+</dd>
+</dl>
+</dd>
+<dd><dl>
+<dt>false</dt>
+<dd><p>Disable the Pandoc <code>yaml_metadata_block</code> syntax extension for entering metadata in <abbr>yaml</abbr>.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-10">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb240"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb240-1"><a href="#cb240-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb240-2"><a href="#cb240-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span>
+<span id="cb240-3"><a href="#cb240-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span>
+<span id="cb240-4"><a href="#cb240-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span>
+<span id="cb240-5"><a href="#cb240-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span>
+<span id="cb240-6"><a href="#cb240-6" aria-hidden="true"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span>
+<span id="cb240-7"><a href="#cb240-7" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb240-8"><a href="#cb240-8" aria-hidden="true"></a>---</span>
+<span id="cb240-9"><a href="#cb240-9" aria-hidden="true"></a>name: Jane Doe</span>
+<span id="cb240-10"><a href="#cb240-10" aria-hidden="true"></a>age: 99</span>
+<span id="cb240-11"><a href="#cb240-11" aria-hidden="true"></a>---</span>
+<span id="cb240-12"><a href="#cb240-12" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb240-13"><a href="#cb240-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb241"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb241-1"><a href="#cb241-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<p>Jane Doe is 99 years old.</p>
+</blockquote>
+<h5 class="unnumbered" data-number="" id="latex-example-19"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb242"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb242-1"><a href="#cb242-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb242-2"><a href="#cb242-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span>
+<span id="cb242-3"><a href="#cb242-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb242-4"><a href="#cb242-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb242-5"><a href="#cb242-5" aria-hidden="true"></a> jekyllDataString = {<span class="fu">\gdef\name</span>{#2}},</span>
+<span id="cb242-6"><a href="#cb242-6" aria-hidden="true"></a> jekyllDataNumber = {<span class="fu">\gdef\age</span>{#2}},</span>
+<span id="cb242-7"><a href="#cb242-7" aria-hidden="true"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span>
+<span id="cb242-8"><a href="#cb242-8" aria-hidden="true"></a> }</span>
+<span id="cb242-9"><a href="#cb242-9" aria-hidden="true"></a>}</span>
+<span id="cb242-10"><a href="#cb242-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb242-11"><a href="#cb242-11" aria-hidden="true"></a></span>
+<span id="cb242-12"><a href="#cb242-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb242-13"><a href="#cb242-13" aria-hidden="true"></a>---</span>
+<span id="cb242-14"><a href="#cb242-14" aria-hidden="true"></a>name: Jane Doe</span>
+<span id="cb242-15"><a href="#cb242-15" aria-hidden="true"></a>age: 99</span>
+<span id="cb242-16"><a href="#cb242-16" aria-hidden="true"></a>---</span>
+<span id="cb242-17"><a href="#cb242-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb242-18"><a href="#cb242-18" aria-hidden="true"></a></span>
+<span id="cb242-19"><a href="#cb242-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb243"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb243-1"><a href="#cb243-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<p>Jane Doe is 99 years old.</p>
+</blockquote>
+<h5 class="unnumbered" data-number="" id="context-example-17">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb244"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb244-1"><a href="#cb244-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb244-2"><a href="#cb244-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span>
+<span id="cb244-3"><a href="#cb244-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span>
+<span id="cb244-4"><a href="#cb244-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span>
+<span id="cb244-5"><a href="#cb244-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span>
+<span id="cb244-6"><a href="#cb244-6" aria-hidden="true"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span>
+<span id="cb244-7"><a href="#cb244-7" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb244-8"><a href="#cb244-8" aria-hidden="true"></a></span>
+<span id="cb244-9"><a href="#cb244-9" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb244-10"><a href="#cb244-10" aria-hidden="true"></a>---</span>
+<span id="cb244-11"><a href="#cb244-11" aria-hidden="true"></a>name: Jane Doe</span>
+<span id="cb244-12"><a href="#cb244-12" aria-hidden="true"></a>age: 99</span>
+<span id="cb244-13"><a href="#cb244-13" aria-hidden="true"></a>---</span>
+<span id="cb244-14"><a href="#cb244-14" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb244-15"><a href="#cb244-15" aria-hidden="true"></a></span>
+<span id="cb244-16"><a href="#cb244-16" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb245"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb245-1"><a href="#cb245-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<p>Jane Doe is 99 years old.</p>
+</blockquote>
+<h4 data-number="2.2.1.23" id="pipe-tables"><span class="header-section-number">2.2.1.23</span> Option <code>pipeTables</code></h4>
<dl>
<dt><code>pipeTables</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the <abbr>PHP</abbr> Markdown table syntax extension:</p>
-<div class="sourceCode" id="cb238"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb238-1" data-line-number="1">| Right | Left | Default | Center |</a>
-<a class="sourceLine" id="cb238-2" data-line-number="2">|------:|:-----|---------|:------:|</a>
-<a class="sourceLine" id="cb238-3" data-line-number="3">| 12 | 12 | 12 | 12 |</a>
-<a class="sourceLine" id="cb238-4" data-line-number="4">| 123 | 123 | 123 | 123 |</a>
-<a class="sourceLine" id="cb238-5" data-line-number="5">| 1 | 1 | 1 | 1 |</a></code></pre></div>
+<div class="sourceCode" id="cb246"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb246-1"><a href="#cb246-1" aria-hidden="true"></a>| Right | Left | Default | Center |</span>
+<span id="cb246-2"><a href="#cb246-2" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span>
+<span id="cb246-3"><a href="#cb246-3" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span>
+<span id="cb246-4"><a href="#cb246-4" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span>
+<span id="cb246-5"><a href="#cb246-5" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span></code></pre></div>
</dd>
</dl>
</dd>
@@ -2611,21 +2718,21 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="latex-example-19" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb239"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb239-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb239-2" data-line-number="2"><span class="bu">\usepackage</span>[pipeTables]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb239-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb239-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb239-5" data-line-number="5">| Right | Left | Default | Center |</a>
-<a class="sourceLine" id="cb239-6" data-line-number="6">|------:|:-----|---------|:------:|</a>
-<a class="sourceLine" id="cb239-7" data-line-number="7">| 12 | 12 | 12 | 12 |</a>
-<a class="sourceLine" id="cb239-8" data-line-number="8">| 123 | 123 | 123 | 123 |</a>
-<a class="sourceLine" id="cb239-9" data-line-number="9">| 1 | 1 | 1 | 1 |</a>
-<a class="sourceLine" id="cb239-10" data-line-number="10"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb239-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb240"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb240-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-20"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb247"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb247-1"><a href="#cb247-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb247-2"><a href="#cb247-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[pipeTables]{<span class="ex">markdown</span>}</span>
+<span id="cb247-3"><a href="#cb247-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb247-4"><a href="#cb247-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb247-5"><a href="#cb247-5" aria-hidden="true"></a>| Right | Left | Default | Center |</span>
+<span id="cb247-6"><a href="#cb247-6" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span>
+<span id="cb247-7"><a href="#cb247-7" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span>
+<span id="cb247-8"><a href="#cb247-8" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span>
+<span id="cb247-9"><a href="#cb247-9" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span>
+<span id="cb247-10"><a href="#cb247-10" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb247-11"><a href="#cb247-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb248"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb248-1"><a href="#cb248-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<table>
@@ -2659,21 +2766,21 @@ Thomas,Edison,1847</code></pre>
</tbody>
</table>
</blockquote>
-<h5 id="context-example-17" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb241"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb241-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb241-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionPipeTables{true}</a>
-<a class="sourceLine" id="cb241-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb241-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb241-5" data-line-number="5">| Right | Left | Default | Center |</a>
-<a class="sourceLine" id="cb241-6" data-line-number="6">|------:|:-----|---------|:------:|</a>
-<a class="sourceLine" id="cb241-7" data-line-number="7">| 12 | 12 | 12 | 12 |</a>
-<a class="sourceLine" id="cb241-8" data-line-number="8">| 123 | 123 | 123 | 123 |</a>
-<a class="sourceLine" id="cb241-9" data-line-number="9">| 1 | 1 | 1 | 1 |</a>
-<a class="sourceLine" id="cb241-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb241-11" data-line-number="11"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb242"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb242-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-18">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb249"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb249-1"><a href="#cb249-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb249-2"><a href="#cb249-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionPipeTables</span>{true}</span>
+<span id="cb249-3"><a href="#cb249-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb249-4"><a href="#cb249-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb249-5"><a href="#cb249-5" aria-hidden="true"></a>| Right | Left | Default | Center |</span>
+<span id="cb249-6"><a href="#cb249-6" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span>
+<span id="cb249-7"><a href="#cb249-7" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span>
+<span id="cb249-8"><a href="#cb249-8" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span>
+<span id="cb249-9"><a href="#cb249-9" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span>
+<span id="cb249-10"><a href="#cb249-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb249-11"><a href="#cb249-11" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb250"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb250-1"><a href="#cb250-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<table>
@@ -2707,7 +2814,7 @@ Thomas,Edison,1847</code></pre>
</tbody>
</table>
</blockquote>
-<h4 id="option-preservetabs"><span class="header-section-number">2.2.1.23</span> Option <code>preserveTabs</code></h4>
+<h4 data-number="2.2.1.24" id="option-preservetabs"><span class="header-section-number">2.2.1.24</span> Option <code>preserveTabs</code></h4>
<dl>
<dt><code>preserveTabs</code> (default value: <code>false</code>)</dt>
<dd><dl>
@@ -2723,88 +2830,88 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h4 id="option-shiftheadings"><span class="header-section-number">2.2.1.24</span> Option <code>shiftHeadings</code></h4>
+<h4 data-number="2.2.1.25" id="option-shiftheadings"><span class="header-section-number">2.2.1.25</span> Option <code>shiftHeadings</code></h4>
<dl>
<dt><code>shiftHeadings</code> (default value: <code>0</code>)</dt>
<dd><p>All headings will be shifted by ⟨<em>shift amount</em>⟩, which can be both positive and negative. Headings will not be shifted beyond level 6 or below level 1. Instead, those headings will be shifted to level 6, when ⟨<em>shift amount</em>⟩ is positive, and to level 1, when ⟨<em>shift amount</em>⟩ is negative.</p>
</dd>
</dl>
-<h5 id="plain-tex-example-10" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-11">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>example.md</code> with the following content:</p>
-<div class="sourceCode" id="cb243"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb243-1" data-line-number="1"><span class="fu">## A section</span></a></code></pre></div>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb244"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb244-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb244-2" data-line-number="2"></a>
-<a class="sourceLine" id="cb244-3" data-line-number="3"><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></a>
-<a class="sourceLine" id="cb244-4" data-line-number="4"><span class="fu">\font\big</span>=cmr10 at 12pt</a>
-<a class="sourceLine" id="cb244-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererHeadingTwo#1{{\big #1\par}}</a>
-<a class="sourceLine" id="cb244-6" data-line-number="6"><span class="fu">\font\bigger</span>=cmr10 scaled 1440</a>
-<a class="sourceLine" id="cb244-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererHeadingOne#1{{\bigger #1\par}}</a>
-<a class="sourceLine" id="cb244-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb244-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionShiftHeadings{-1}</a>
-<a class="sourceLine" id="cb244-10" data-line-number="10"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb244-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb244-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionShiftHeadings{0}</a>
-<a class="sourceLine" id="cb244-13" data-line-number="13"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb244-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb244-15" data-line-number="15"><span class="fu">\def</span>\markdownOptionShiftHeadings{+1}</a>
-<a class="sourceLine" id="cb244-16" data-line-number="16"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb244-17" data-line-number="17"></a>
-<a class="sourceLine" id="cb244-18" data-line-number="18"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb245"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb245-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb251"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb251-1"><a href="#cb251-1" aria-hidden="true"></a><span class="fu">## A section</span></span></code></pre></div>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb252"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb252-1"><a href="#cb252-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb252-2"><a href="#cb252-2" aria-hidden="true"></a></span>
+<span id="cb252-3"><a href="#cb252-3" aria-hidden="true"></a><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></span>
+<span id="cb252-4"><a href="#cb252-4" aria-hidden="true"></a><span class="fu">\font\big</span>=cmr10 at 12pt</span>
+<span id="cb252-5"><a href="#cb252-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingTwo</span>#1{{<span class="fu">\big</span> #1<span class="fu">\par</span>}}</span>
+<span id="cb252-6"><a href="#cb252-6" aria-hidden="true"></a><span class="fu">\font\bigger</span>=cmr10 scaled 1440</span>
+<span id="cb252-7"><a href="#cb252-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bigger</span> #1<span class="fu">\par</span>}}</span>
+<span id="cb252-8"><a href="#cb252-8" aria-hidden="true"></a></span>
+<span id="cb252-9"><a href="#cb252-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{-1}</span>
+<span id="cb252-10"><a href="#cb252-10" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb252-11"><a href="#cb252-11" aria-hidden="true"></a></span>
+<span id="cb252-12"><a href="#cb252-12" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{0}</span>
+<span id="cb252-13"><a href="#cb252-13" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb252-14"><a href="#cb252-14" aria-hidden="true"></a></span>
+<span id="cb252-15"><a href="#cb252-15" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{+1}</span>
+<span id="cb252-16"><a href="#cb252-16" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb252-17"><a href="#cb252-17" aria-hidden="true"></a></span>
+<span id="cb252-18"><a href="#cb252-18" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb253"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb253-1"><a href="#cb253-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<h1 id="a-section">A section</h1>
<h2 id="a-section-1">A section</h2>
<h3 id="a-section-2">A section</h3>
</blockquote>
-<h5 id="latex-example-20" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-21"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb246"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb246-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb246-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb246-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{example.md}</a>
-<a class="sourceLine" id="cb246-4" data-line-number="4">## A section</a>
-<a class="sourceLine" id="cb246-5" data-line-number="5"><span class="kw">\end</span>{<span class="ex">filecontents</span>}</a>
-<a class="sourceLine" id="cb246-6" data-line-number="6"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb246-7" data-line-number="7"><span class="fu">\markdownInput</span>[shiftHeadings=-1]{example.md}</a>
-<a class="sourceLine" id="cb246-8" data-line-number="8"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb246-9" data-line-number="9"><span class="fu">\markdownInput</span>[shiftHeadings=+1]{example.md}</a>
-<a class="sourceLine" id="cb246-10" data-line-number="10"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb254"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb254-1"><a href="#cb254-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb254-2"><a href="#cb254-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb254-3"><a href="#cb254-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{example.md}</span>
+<span id="cb254-4"><a href="#cb254-4" aria-hidden="true"></a>## A section</span>
+<span id="cb254-5"><a href="#cb254-5" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span>
+<span id="cb254-6"><a href="#cb254-6" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb254-7"><a href="#cb254-7" aria-hidden="true"></a><span class="fu">\markdownInput</span>[shiftHeadings=-1]{example.md}</span>
+<span id="cb254-8"><a href="#cb254-8" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb254-9"><a href="#cb254-9" aria-hidden="true"></a><span class="fu">\markdownInput</span>[shiftHeadings=+1]{example.md}</span>
+<span id="cb254-10"><a href="#cb254-10" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb247"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb247-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb255"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb255-1"><a href="#cb255-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<h1 id="a-section-3">A section</h1>
<h2 id="a-section-4">A section</h2>
<h3 id="a-section-5">A section</h3>
</blockquote>
-<h5 id="context-example-18" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-19">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>example.md</code> with the following content:</p>
-<div class="sourceCode" id="cb248"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb248-1" data-line-number="1"><span class="fu">## A section</span></a></code></pre></div>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb249"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb249-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb249-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb249-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb249-4" data-line-number="4"><span class="fu">\def</span>\markdownOptionShiftHeadings{-1}</a>
-<a class="sourceLine" id="cb249-5" data-line-number="5"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb249-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb249-7" data-line-number="7"><span class="fu">\def</span>\markdownOptionShiftHeadings{0}</a>
-<a class="sourceLine" id="cb249-8" data-line-number="8"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb249-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb249-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionShiftHeadings{+1}</a>
-<a class="sourceLine" id="cb249-11" data-line-number="11"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb249-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb249-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb250"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb250-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb256"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb256-1"><a href="#cb256-1" aria-hidden="true"></a><span class="fu">## A section</span></span></code></pre></div>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb257"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb257-1"><a href="#cb257-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb257-2"><a href="#cb257-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb257-3"><a href="#cb257-3" aria-hidden="true"></a></span>
+<span id="cb257-4"><a href="#cb257-4" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{-1}</span>
+<span id="cb257-5"><a href="#cb257-5" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb257-6"><a href="#cb257-6" aria-hidden="true"></a></span>
+<span id="cb257-7"><a href="#cb257-7" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{0}</span>
+<span id="cb257-8"><a href="#cb257-8" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb257-9"><a href="#cb257-9" aria-hidden="true"></a></span>
+<span id="cb257-10"><a href="#cb257-10" aria-hidden="true"></a><span class="fu">\def\markdownOptionShiftHeadings</span>{+1}</span>
+<span id="cb257-11"><a href="#cb257-11" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb257-12"><a href="#cb257-12" aria-hidden="true"></a></span>
+<span id="cb257-13"><a href="#cb257-13" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb258"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb258-1"><a href="#cb258-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<h1 id="a-section-6">A section</h1>
<h2 id="a-section-7">A section</h2>
<h3 id="a-section-8">A section</h3>
</blockquote>
-<h4 id="slice"><span class="header-section-number">2.2.1.25</span> Option <code>slice</code></h4>
+<h4 data-number="2.2.1.26" id="slice"><span class="header-section-number">2.2.1.26</span> Option <code>slice</code></h4>
<dl>
<dt><code>slice</code> (default value: <code>^ $</code>)</dt>
<dd><p>Two space-separated selectors that specify the slice of a document that will be processed, whereas the remainder of the document will be ignored. The following selectors are recognized:</p>
@@ -2815,44 +2922,44 @@ Thomas,Edison,1847</code></pre>
<li><code>$</code>⟨<em>identifier</em>⟩ selects the end of a section with the <abbr>HTML</abbr> attribute <code>#</code>⟨<em>identifier</em>⟩.</li>
<li>⟨<em>identifier</em>⟩ corresponds to <code>^</code>⟨<em>identifier</em>⟩ for the first selector and to <code>$</code>⟨<em>identifier</em>⟩ for the second selector.</li>
</ul>
-<p>Specifying only a single selector, ⟨<em>identifier</em>⟩, is equivalent to specifying the two selectors ⟨<em>identifier</em>⟩ ⟨<em>identifier</em>⟩, which is equivalent to <code>^</code>⟨<em>identifier</em>⟩ <code>$</code>⟨<em>identifier</em>⟩, i.e. the entire section with the <abbr>HTML</abbr> attribute <code>#</code>⟨<em>identifier</em>⟩ will be selected.</p>
+<p>Specifying only a single selector, ⟨<em>identifier</em>⟩, is equivalent to specifying the two selectors ⟨<em>identifier</em>⟩ ⟨<em>identifier</em>⟩, which is equivalent to <code>^</code>⟨<em>identifier</em>⟩ <code>$</code>⟨<em>identifier</em>⟩, i.e. the entire section with the <abbr>HTML</abbr> attribute <code>#</code>⟨<em>identifier</em>⟩ will be selected.</p>
</dd>
</dl>
-<h5 id="plain-tex-example-11" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-12">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>hamlet.md</code> with the following content:</p>
-<div class="sourceCode" id="cb251"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb251-1" data-line-number="1"><span class="fu"># The Tragedy of Hamlet</span></a>
-<a class="sourceLine" id="cb251-2" data-line-number="2">Shakespeare&#39;s longest play.</a>
-<a class="sourceLine" id="cb251-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb251-4" data-line-number="4"><span class="fu">## Act III {#act-3}</span></a>
-<a class="sourceLine" id="cb251-5" data-line-number="5">Hamlet kills Polonius.</a>
-<a class="sourceLine" id="cb251-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb251-7" data-line-number="7"><span class="fu">## Act V {#act-5}</span></a>
-<a class="sourceLine" id="cb251-8" data-line-number="8">Hamlet dies.</a>
-<a class="sourceLine" id="cb251-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb251-10" data-line-number="10"><span class="fu">## Act I {#act-1}</span></a>
-<a class="sourceLine" id="cb251-11" data-line-number="11">Hamlet talks to ghost.</a></code></pre></div>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb252"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb252-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb252-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHeaderAttributes{true}</a>
-<a class="sourceLine" id="cb252-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb252-4" data-line-number="4"><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></a>
-<a class="sourceLine" id="cb252-5" data-line-number="5"><span class="fu">\font\big</span>=cmr10 at 12pt</a>
-<a class="sourceLine" id="cb252-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingTwo#1{{\big #1\par}}</a>
-<a class="sourceLine" id="cb252-7" data-line-number="7"><span class="fu">\font\bigger</span>=cmr10 scaled 1440</a>
-<a class="sourceLine" id="cb252-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingOne#1{{\bigger #1\par}}</a>
-<a class="sourceLine" id="cb252-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb252-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionSlice{^ ^act-3}</a>
-<a class="sourceLine" id="cb252-11" data-line-number="11"><span class="fu">\markdownInput</span>{hamlet.md}</a>
-<a class="sourceLine" id="cb252-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb252-13" data-line-number="13"><span class="fu">\def</span>\markdownOptionSlice{act-1}</a>
-<a class="sourceLine" id="cb252-14" data-line-number="14"><span class="fu">\markdownInput</span>{hamlet.md}</a>
-<a class="sourceLine" id="cb252-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb252-16" data-line-number="16"><span class="fu">\def</span>\markdownOptionSlice{act-3 act-5}</a>
-<a class="sourceLine" id="cb252-17" data-line-number="17"><span class="fu">\markdownInput</span>{hamlet.md}</a>
-<a class="sourceLine" id="cb252-18" data-line-number="18"></a>
-<a class="sourceLine" id="cb252-19" data-line-number="19"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb253"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb253-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb259"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb259-1"><a href="#cb259-1" aria-hidden="true"></a><span class="fu"># The Tragedy of Hamlet</span></span>
+<span id="cb259-2"><a href="#cb259-2" aria-hidden="true"></a>Shakespeare&#39;s longest play.</span>
+<span id="cb259-3"><a href="#cb259-3" aria-hidden="true"></a></span>
+<span id="cb259-4"><a href="#cb259-4" aria-hidden="true"></a><span class="fu">## Act III {#act-3}</span></span>
+<span id="cb259-5"><a href="#cb259-5" aria-hidden="true"></a>Hamlet kills Polonius.</span>
+<span id="cb259-6"><a href="#cb259-6" aria-hidden="true"></a></span>
+<span id="cb259-7"><a href="#cb259-7" aria-hidden="true"></a><span class="fu">## Act V {#act-5}</span></span>
+<span id="cb259-8"><a href="#cb259-8" aria-hidden="true"></a>Hamlet dies.</span>
+<span id="cb259-9"><a href="#cb259-9" aria-hidden="true"></a></span>
+<span id="cb259-10"><a href="#cb259-10" aria-hidden="true"></a><span class="fu">## Act I {#act-1}</span></span>
+<span id="cb259-11"><a href="#cb259-11" aria-hidden="true"></a>Hamlet talks to ghost.</span></code></pre></div>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb260"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb260-1"><a href="#cb260-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb260-2"><a href="#cb260-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionHeaderAttributes</span>{true}</span>
+<span id="cb260-3"><a href="#cb260-3" aria-hidden="true"></a></span>
+<span id="cb260-4"><a href="#cb260-4" aria-hidden="true"></a><span class="fu">\font\normal</span>=cmr10<span class="fu">\normal</span></span>
+<span id="cb260-5"><a href="#cb260-5" aria-hidden="true"></a><span class="fu">\font\big</span>=cmr10 at 12pt</span>
+<span id="cb260-6"><a href="#cb260-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingTwo</span>#1{{<span class="fu">\big</span> #1<span class="fu">\par</span>}}</span>
+<span id="cb260-7"><a href="#cb260-7" aria-hidden="true"></a><span class="fu">\font\bigger</span>=cmr10 scaled 1440</span>
+<span id="cb260-8"><a href="#cb260-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>#1{{<span class="fu">\bigger</span> #1<span class="fu">\par</span>}}</span>
+<span id="cb260-9"><a href="#cb260-9" aria-hidden="true"></a></span>
+<span id="cb260-10"><a href="#cb260-10" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{^ ^act-3}</span>
+<span id="cb260-11"><a href="#cb260-11" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span>
+<span id="cb260-12"><a href="#cb260-12" aria-hidden="true"></a></span>
+<span id="cb260-13"><a href="#cb260-13" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{act-1}</span>
+<span id="cb260-14"><a href="#cb260-14" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span>
+<span id="cb260-15"><a href="#cb260-15" aria-hidden="true"></a></span>
+<span id="cb260-16"><a href="#cb260-16" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{act-3 act-5}</span>
+<span id="cb260-17"><a href="#cb260-17" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span>
+<span id="cb260-18"><a href="#cb260-18" aria-hidden="true"></a></span>
+<span id="cb260-19"><a href="#cb260-19" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb261"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb261-1"><a href="#cb261-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<h1 id="the-tragedy-of-hamlet">The Tragedy of Hamlet</h1>
@@ -2864,30 +2971,30 @@ Thomas,Edison,1847</code></pre>
<h2 id="act-v">Act V</h2>
<p>Hamlet dies.</p>
</blockquote>
-<h5 id="latex-example-21" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb254"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb254-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb254-2" data-line-number="2"><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb254-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{hamlet.md}</a>
-<a class="sourceLine" id="cb254-4" data-line-number="4"># The Tragedy of Hamlet</a>
-<a class="sourceLine" id="cb254-5" data-line-number="5">Shakespeare&#39;s longest play.</a>
-<a class="sourceLine" id="cb254-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb254-7" data-line-number="7">## Act III {#act-3}</a>
-<a class="sourceLine" id="cb254-8" data-line-number="8">Hamlet kills Polonius.</a>
-<a class="sourceLine" id="cb254-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb254-10" data-line-number="10">## Act V {#act-5}</a>
-<a class="sourceLine" id="cb254-11" data-line-number="11">Hamlet dies.</a>
-<a class="sourceLine" id="cb254-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb254-13" data-line-number="13">## Act I {#act-1}</a>
-<a class="sourceLine" id="cb254-14" data-line-number="14">Hamlet talks to ghost.</a>
-<a class="sourceLine" id="cb254-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">filecontents</span>}</a>
-<a class="sourceLine" id="cb254-16" data-line-number="16"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb254-17" data-line-number="17"><span class="fu">\markdownInput</span>[slice=^ ^act-3]{hamlet.md}</a>
-<a class="sourceLine" id="cb254-18" data-line-number="18"><span class="fu">\markdownInput</span>[slice=act-1]{hamlet.md}</a>
-<a class="sourceLine" id="cb254-19" data-line-number="19"><span class="fu">\markdownInput</span>[slice=act-3 act-5]{hamlet.md}</a>
-<a class="sourceLine" id="cb254-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb255"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb255-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-22"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb262"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb262-1"><a href="#cb262-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb262-2"><a href="#cb262-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[headerAttributes]{<span class="ex">markdown</span>}</span>
+<span id="cb262-3"><a href="#cb262-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{hamlet.md}</span>
+<span id="cb262-4"><a href="#cb262-4" aria-hidden="true"></a># The Tragedy of Hamlet</span>
+<span id="cb262-5"><a href="#cb262-5" aria-hidden="true"></a>Shakespeare&#39;s longest play.</span>
+<span id="cb262-6"><a href="#cb262-6" aria-hidden="true"></a></span>
+<span id="cb262-7"><a href="#cb262-7" aria-hidden="true"></a>## Act III {#act-3}</span>
+<span id="cb262-8"><a href="#cb262-8" aria-hidden="true"></a>Hamlet kills Polonius.</span>
+<span id="cb262-9"><a href="#cb262-9" aria-hidden="true"></a></span>
+<span id="cb262-10"><a href="#cb262-10" aria-hidden="true"></a>## Act V {#act-5}</span>
+<span id="cb262-11"><a href="#cb262-11" aria-hidden="true"></a>Hamlet dies.</span>
+<span id="cb262-12"><a href="#cb262-12" aria-hidden="true"></a></span>
+<span id="cb262-13"><a href="#cb262-13" aria-hidden="true"></a>## Act I {#act-1}</span>
+<span id="cb262-14"><a href="#cb262-14" aria-hidden="true"></a>Hamlet talks to ghost.</span>
+<span id="cb262-15"><a href="#cb262-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span>
+<span id="cb262-16"><a href="#cb262-16" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb262-17"><a href="#cb262-17" aria-hidden="true"></a><span class="fu">\markdownInput</span>[slice=^ ^act-3]{hamlet.md}</span>
+<span id="cb262-18"><a href="#cb262-18" aria-hidden="true"></a><span class="fu">\markdownInput</span>[slice=act-1]{hamlet.md}</span>
+<span id="cb262-19"><a href="#cb262-19" aria-hidden="true"></a><span class="fu">\markdownInput</span>[slice=act-3 act-5]{hamlet.md}</span>
+<span id="cb262-20"><a href="#cb262-20" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb263"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb263-1"><a href="#cb263-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<h1 id="the-tragedy-of-hamlet-1">The Tragedy of Hamlet</h1>
@@ -2899,36 +3006,36 @@ Thomas,Edison,1847</code></pre>
<h2 id="act-v-1">Act V</h2>
<p>Hamlet dies.</p>
</blockquote>
-<h5 id="context-example-19" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-20">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>hamlet.md</code> with the following content:</p>
-<div class="sourceCode" id="cb256"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb256-1" data-line-number="1"><span class="fu"># The Tragedy of Hamlet</span></a>
-<a class="sourceLine" id="cb256-2" data-line-number="2">Shakespeare&#39;s longest play.</a>
-<a class="sourceLine" id="cb256-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb256-4" data-line-number="4"><span class="fu">## Act III {#act-3}</span></a>
-<a class="sourceLine" id="cb256-5" data-line-number="5">Hamlet kills Polonius.</a>
-<a class="sourceLine" id="cb256-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb256-7" data-line-number="7"><span class="fu">## Act V {#act-5}</span></a>
-<a class="sourceLine" id="cb256-8" data-line-number="8">Hamlet dies.</a>
-<a class="sourceLine" id="cb256-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb256-10" data-line-number="10"><span class="fu">## Act I {#act-1}</span></a>
-<a class="sourceLine" id="cb256-11" data-line-number="11">Hamlet talks to ghost.</a></code></pre></div>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb257"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb257-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb257-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHeaderAttributes{true}</a>
-<a class="sourceLine" id="cb257-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb257-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb257-5" data-line-number="5"><span class="fu">\def</span>\markdownOptionSlice{^ ^act-3}</a>
-<a class="sourceLine" id="cb257-6" data-line-number="6"><span class="fu">\markdownInput</span>{hamlet.md}</a>
-<a class="sourceLine" id="cb257-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb257-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionSlice{act-1}</a>
-<a class="sourceLine" id="cb257-9" data-line-number="9"><span class="fu">\markdownInput</span>{hamlet.md}</a>
-<a class="sourceLine" id="cb257-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb257-11" data-line-number="11"><span class="fu">\def</span>\markdownOptionSlice{act-3 act-5}</a>
-<a class="sourceLine" id="cb257-12" data-line-number="12"><span class="fu">\markdownInput</span>{hamlet.md}</a>
-<a class="sourceLine" id="cb257-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb257-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb258"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb258-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb264"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb264-1"><a href="#cb264-1" aria-hidden="true"></a><span class="fu"># The Tragedy of Hamlet</span></span>
+<span id="cb264-2"><a href="#cb264-2" aria-hidden="true"></a>Shakespeare&#39;s longest play.</span>
+<span id="cb264-3"><a href="#cb264-3" aria-hidden="true"></a></span>
+<span id="cb264-4"><a href="#cb264-4" aria-hidden="true"></a><span class="fu">## Act III {#act-3}</span></span>
+<span id="cb264-5"><a href="#cb264-5" aria-hidden="true"></a>Hamlet kills Polonius.</span>
+<span id="cb264-6"><a href="#cb264-6" aria-hidden="true"></a></span>
+<span id="cb264-7"><a href="#cb264-7" aria-hidden="true"></a><span class="fu">## Act V {#act-5}</span></span>
+<span id="cb264-8"><a href="#cb264-8" aria-hidden="true"></a>Hamlet dies.</span>
+<span id="cb264-9"><a href="#cb264-9" aria-hidden="true"></a></span>
+<span id="cb264-10"><a href="#cb264-10" aria-hidden="true"></a><span class="fu">## Act I {#act-1}</span></span>
+<span id="cb264-11"><a href="#cb264-11" aria-hidden="true"></a>Hamlet talks to ghost.</span></code></pre></div>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb265"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb265-1"><a href="#cb265-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb265-2"><a href="#cb265-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionHeaderAttributes</span>{true}</span>
+<span id="cb265-3"><a href="#cb265-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb265-4"><a href="#cb265-4" aria-hidden="true"></a></span>
+<span id="cb265-5"><a href="#cb265-5" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{^ ^act-3}</span>
+<span id="cb265-6"><a href="#cb265-6" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span>
+<span id="cb265-7"><a href="#cb265-7" aria-hidden="true"></a></span>
+<span id="cb265-8"><a href="#cb265-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{act-1}</span>
+<span id="cb265-9"><a href="#cb265-9" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span>
+<span id="cb265-10"><a href="#cb265-10" aria-hidden="true"></a></span>
+<span id="cb265-11"><a href="#cb265-11" aria-hidden="true"></a><span class="fu">\def\markdownOptionSlice</span>{act-3 act-5}</span>
+<span id="cb265-12"><a href="#cb265-12" aria-hidden="true"></a><span class="fu">\markdownInput</span>{hamlet.md}</span>
+<span id="cb265-13"><a href="#cb265-13" aria-hidden="true"></a></span>
+<span id="cb265-14"><a href="#cb265-14" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb266"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb266-1"><a href="#cb266-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<h1 id="the-tragedy-of-hamlet-2">The Tragedy of Hamlet</h1>
@@ -2940,12 +3047,12 @@ Thomas,Edison,1847</code></pre>
<h2 id="act-v-2">Act V</h2>
<p>Hamlet dies.</p>
</blockquote>
-<h4 id="option-smartellipses"><span class="header-section-number">2.2.1.26</span> Option <code>smartEllipses</code></h4>
+<h4 data-number="2.2.1.27" id="option-smartellipses"><span class="header-section-number">2.2.1.27</span> Option <code>smartEllipses</code></h4>
<dl>
<dt><code>smartEllipses</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
-<dd><p>Convert any ellipses in the input to the <code>\markdownRendererEllipsis</code> <span class="tex">T<sub>e</sub>X</span> macro.</p>
+<dd><p>Convert any ellipses in the input to the <span class="tex">T<sub>e</sub>X</span> macro.</p>
</dd>
</dl>
</dd>
@@ -2956,165 +3063,165 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="lua-module-example-10" class="unnumbered">Lua Module Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb259"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb259-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb259-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a>
-<a class="sourceLine" id="cb259-3" data-line-number="3"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb259-4" data-line-number="4"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb259-5" data-line-number="5"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb259-6" data-line-number="6"> local convert = markdown.new()</a>
-<a class="sourceLine" id="cb259-7" data-line-number="7"> local input = &quot;These are just three regular dots ...&quot;</a>
-<a class="sourceLine" id="cb259-8" data-line-number="8"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb259-9" data-line-number="9"><span class="fu">\par</span></a>
-<a class="sourceLine" id="cb259-10" data-line-number="10"><span class="fu">\directlua</span>{</a>
-<a class="sourceLine" id="cb259-11" data-line-number="11"> local markdown = require(&quot;markdown&quot;)</a>
-<a class="sourceLine" id="cb259-12" data-line-number="12"> local convert = markdown.new({smartEllipses = true})</a>
-<a class="sourceLine" id="cb259-13" data-line-number="13"> local input = &quot;... and this is a victorian ellipsis.&quot;</a>
-<a class="sourceLine" id="cb259-14" data-line-number="14"> tex.sprint(convert(input)) }</a>
-<a class="sourceLine" id="cb259-15" data-line-number="15"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="lua-module-example-10">Lua Module Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb267"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb267-1"><a href="#cb267-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb267-2"><a href="#cb267-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span>
+<span id="cb267-3"><a href="#cb267-3" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb267-4"><a href="#cb267-4" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb267-5"><a href="#cb267-5" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb267-6"><a href="#cb267-6" aria-hidden="true"></a> local convert = markdown.new()</span>
+<span id="cb267-7"><a href="#cb267-7" aria-hidden="true"></a> local input = &quot;These are just three regular dots ...&quot;</span>
+<span id="cb267-8"><a href="#cb267-8" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb267-9"><a href="#cb267-9" aria-hidden="true"></a><span class="fu">\par</span></span>
+<span id="cb267-10"><a href="#cb267-10" aria-hidden="true"></a><span class="fu">\directlua</span>{</span>
+<span id="cb267-11"><a href="#cb267-11" aria-hidden="true"></a> local markdown = require(&quot;markdown&quot;)</span>
+<span id="cb267-12"><a href="#cb267-12" aria-hidden="true"></a> local convert = markdown.new({smartEllipses = true})</span>
+<span id="cb267-13"><a href="#cb267-13" aria-hidden="true"></a> local input = &quot;... and this is a victorian ellipsis.&quot;</span>
+<span id="cb267-14"><a href="#cb267-14" aria-hidden="true"></a> tex.sprint(convert(input)) }</span>
+<span id="cb267-15"><a href="#cb267-15" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Then, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb260"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb260-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb268"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb268-1"><a href="#cb268-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>These are just three regular dots …</p>
<p>. . . and this is a victorian ellipsis.</p>
</blockquote>
-<h5 id="lua-cli-example-9" class="unnumbered">Lua CLI Example</h5>
+<h5 class="unnumbered" data-number="" id="lua-cli-example-9">Lua CLI Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb261"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb261-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb261-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a>
-<a class="sourceLine" id="cb261-3" data-line-number="3"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb261-4" data-line-number="4"><span class="fu">\input</span> optionfalse</a>
-<a class="sourceLine" id="cb261-5" data-line-number="5"><span class="fu">\par</span></a>
-<a class="sourceLine" id="cb261-6" data-line-number="6"><span class="fu">\input</span> optiontrue</a>
-<a class="sourceLine" id="cb261-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb269"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb269-1"><a href="#cb269-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb269-2"><a href="#cb269-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span>
+<span id="cb269-3"><a href="#cb269-3" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb269-4"><a href="#cb269-4" aria-hidden="true"></a><span class="fu">\input</span> optionfalse</span>
+<span id="cb269-5"><a href="#cb269-5" aria-hidden="true"></a><span class="fu">\par</span></span>
+<span id="cb269-6"><a href="#cb269-6" aria-hidden="true"></a><span class="fu">\input</span> optiontrue</span>
+<span id="cb269-7"><a href="#cb269-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>content.md</code> with the following content:</p>
-<div class="sourceCode" id="cb262"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb262-1" data-line-number="1">Are these just three regular dots, a victorian ellipsis, or ... ?</a></code></pre></div>
+<div class="sourceCode" id="cb270"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb270-1"><a href="#cb270-1" aria-hidden="true"></a>Are these just three regular dots, a victorian ellipsis, or ... ?</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb263"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb263-1" data-line-number="1"><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</a>
-<a class="sourceLine" id="cb263-2" data-line-number="2"><span class="ex">texlua</span> ⟨CLI pathname⟩ smartEllipses=true -- content.md optiontrue.tex</a>
-<a class="sourceLine" id="cb263-3" data-line-number="3"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb271"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb271-1"><a href="#cb271-1" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ -- content.md optionfalse.tex</span>
+<span id="cb271-2"><a href="#cb271-2" aria-hidden="true"></a><span class="ex">texlua</span> ⟨CLI pathname⟩ smartEllipses=true -- content.md optiontrue.tex</span>
+<span id="cb271-3"><a href="#cb271-3" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>where ⟨<em>CLI pathname</em>⟩ corresponds to the location of the Lua CLI script file, such as <code>~/texmf/scripts/markdown/markdown-cli.lua</code> on UN*X systems or <code>C:\Users\</code>⟨<em>Your username</em>⟩<code>\texmf\scripts\markdown\markdown-cli.lua</code> on Windows systems. Use the command <code>kpsewhich -a markdown-cli.lua</code> to locate the Lua CLI script file using <a href="https://tug.org/kpathsea/" title="Kpathsea - TeX Users Group">Kpathsea</a>.</p>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Are these just three regular dots, a victorian ellipsis, or … ?</p>
<p>Are these just three regular dots, a victorian ellipsis, or . . . ?</p>
</blockquote>
-<h5 id="plain-tex-example-12" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb264"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb264-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb264-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a>
-<a class="sourceLine" id="cb264-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb264-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb264-5" data-line-number="5">These are just three regular dots ...</a>
-<a class="sourceLine" id="cb264-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb264-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb264-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a>
-<a class="sourceLine" id="cb264-9" data-line-number="9"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb264-10" data-line-number="10">... and this is a victorian ellipsis.</a>
-<a class="sourceLine" id="cb264-11" data-line-number="11"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb264-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb264-13" data-line-number="13"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb265"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb265-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-13">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb272"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb272-1"><a href="#cb272-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb272-2"><a href="#cb272-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span>
+<span id="cb272-3"><a href="#cb272-3" aria-hidden="true"></a></span>
+<span id="cb272-4"><a href="#cb272-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb272-5"><a href="#cb272-5" aria-hidden="true"></a>These are just three regular dots ...</span>
+<span id="cb272-6"><a href="#cb272-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb272-7"><a href="#cb272-7" aria-hidden="true"></a></span>
+<span id="cb272-8"><a href="#cb272-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span>
+<span id="cb272-9"><a href="#cb272-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb272-10"><a href="#cb272-10" aria-hidden="true"></a>... and this is a victorian ellipsis.</span>
+<span id="cb272-11"><a href="#cb272-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb272-12"><a href="#cb272-12" aria-hidden="true"></a></span>
+<span id="cb272-13"><a href="#cb272-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb273"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb273-1"><a href="#cb273-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>These are just three regular dots …</p>
<p>. . . and this is a victorian ellipsis.</p>
</blockquote>
-<h5 id="latex-example-22" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb266"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb266-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb266-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb266-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb266-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb266-5" data-line-number="5"> ellipsis = {. . .}</a>
-<a class="sourceLine" id="cb266-6" data-line-number="6"> }</a>
-<a class="sourceLine" id="cb266-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb266-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb266-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb266-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb266-11" data-line-number="11">These are just three regular dots ...</a>
-<a class="sourceLine" id="cb266-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb266-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb266-14" data-line-number="14"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{smartEllipses}</a>
-<a class="sourceLine" id="cb266-15" data-line-number="15">... and this is a victorian ellipsis.</a>
-<a class="sourceLine" id="cb266-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb266-17" data-line-number="17"></a>
-<a class="sourceLine" id="cb266-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb267"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb267-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-23"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb274"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb274-1"><a href="#cb274-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb274-2"><a href="#cb274-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb274-3"><a href="#cb274-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb274-4"><a href="#cb274-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb274-5"><a href="#cb274-5" aria-hidden="true"></a> ellipsis = {. . .}</span>
+<span id="cb274-6"><a href="#cb274-6" aria-hidden="true"></a> }</span>
+<span id="cb274-7"><a href="#cb274-7" aria-hidden="true"></a>}</span>
+<span id="cb274-8"><a href="#cb274-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb274-9"><a href="#cb274-9" aria-hidden="true"></a></span>
+<span id="cb274-10"><a href="#cb274-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb274-11"><a href="#cb274-11" aria-hidden="true"></a>These are just three regular dots ...</span>
+<span id="cb274-12"><a href="#cb274-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb274-13"><a href="#cb274-13" aria-hidden="true"></a></span>
+<span id="cb274-14"><a href="#cb274-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{smartEllipses}</span>
+<span id="cb274-15"><a href="#cb274-15" aria-hidden="true"></a>... and this is a victorian ellipsis.</span>
+<span id="cb274-16"><a href="#cb274-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb274-17"><a href="#cb274-17" aria-hidden="true"></a></span>
+<span id="cb274-18"><a href="#cb274-18" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb275"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb275-1"><a href="#cb275-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>These are just three regular dots …</p>
<p>. . . and this is a victorian ellipsis.</p>
</blockquote>
-<h5 id="context-example-20" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb268"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb268-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb268-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEllipsis{. . .}</a>
-<a class="sourceLine" id="cb268-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb268-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb268-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb268-6" data-line-number="6">These are just three regular dots ...</a>
-<a class="sourceLine" id="cb268-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb268-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb268-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a>
-<a class="sourceLine" id="cb268-10" data-line-number="10"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb268-11" data-line-number="11">... and this is a victorian ellipsis.</a>
-<a class="sourceLine" id="cb268-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb268-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb268-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb269"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb269-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-21">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb276"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb276-1"><a href="#cb276-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb276-2"><a href="#cb276-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{. . .}</span>
+<span id="cb276-3"><a href="#cb276-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb276-4"><a href="#cb276-4" aria-hidden="true"></a></span>
+<span id="cb276-5"><a href="#cb276-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb276-6"><a href="#cb276-6" aria-hidden="true"></a>These are just three regular dots ...</span>
+<span id="cb276-7"><a href="#cb276-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb276-8"><a href="#cb276-8" aria-hidden="true"></a></span>
+<span id="cb276-9"><a href="#cb276-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span>
+<span id="cb276-10"><a href="#cb276-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb276-11"><a href="#cb276-11" aria-hidden="true"></a>... and this is a victorian ellipsis.</span>
+<span id="cb276-12"><a href="#cb276-12" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb276-13"><a href="#cb276-13" aria-hidden="true"></a></span>
+<span id="cb276-14"><a href="#cb276-14" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb277"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb277-1"><a href="#cb277-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>These are just three regular dots …</p>
<p>. . . and this is a victorian ellipsis.</p>
</blockquote>
-<h4 id="option-startnumber"><span class="header-section-number">2.2.1.27</span> Option <code>startNumber</code></h4>
+<h4 data-number="2.2.1.28" id="option-startnumber"><span class="header-section-number">2.2.1.28</span> Option <code>startNumber</code></h4>
<dl>
<dt><code>startNumber</code> (default value: <code>true</code>)</dt>
<dd><dl>
<dt>true</dt>
-<dd><p>Make the number in the first item of an ordered lists significant. The item numbers will be passed to the <code>\markdownRendererOlItemWithNumber</code> <span class="tex">T<sub>e</sub>X</span> macro.</p>
+<dd><p>Make the number in the first item of an ordered lists significant. The item numbers will be passed to the <span class="tex">T<sub>e</sub>X</span> macro.</p>
</dd>
</dl>
</dd>
<dd><dl>
<dt>false</dt>
-<dd><p>Ignore the numbers in the ordered list items. Each item will only produce a <code>\markdownRendererOlItem</code> <span class="tex">T<sub>e</sub>X</span> macro.</p>
+<dd><p>Ignore the numbers in the ordered list items. Each item will only produce a <span class="tex">T<sub>e</sub>X</span> macro.</p>
</dd>
</dl>
</dd>
</dl>
-<h5 id="latex-example-23" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb270"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb270-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb270-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb270-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb270-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb270-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb270-6" data-line-number="6">The following list respects the numbers specified in the markup:</a>
-<a class="sourceLine" id="cb270-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb270-8" data-line-number="8">3. third item</a>
-<a class="sourceLine" id="cb270-9" data-line-number="9">4. fourth item</a>
-<a class="sourceLine" id="cb270-10" data-line-number="10">5. fifth item</a>
-<a class="sourceLine" id="cb270-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb270-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb270-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{startNumber=false}</a>
-<a class="sourceLine" id="cb270-14" data-line-number="14">The following list does not respect the numbers specified in the</a>
-<a class="sourceLine" id="cb270-15" data-line-number="15">markup:</a>
-<a class="sourceLine" id="cb270-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb270-17" data-line-number="17">3. third item</a>
-<a class="sourceLine" id="cb270-18" data-line-number="18">4. fourth item</a>
-<a class="sourceLine" id="cb270-19" data-line-number="19">5. fifth item</a>
-<a class="sourceLine" id="cb270-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb270-21" data-line-number="21"></a>
-<a class="sourceLine" id="cb270-22" data-line-number="22"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb271"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb271-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-24"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb278"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb278-1"><a href="#cb278-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb278-2"><a href="#cb278-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb278-3"><a href="#cb278-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb278-4"><a href="#cb278-4" aria-hidden="true"></a></span>
+<span id="cb278-5"><a href="#cb278-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb278-6"><a href="#cb278-6" aria-hidden="true"></a>The following list respects the numbers specified in the markup:</span>
+<span id="cb278-7"><a href="#cb278-7" aria-hidden="true"></a></span>
+<span id="cb278-8"><a href="#cb278-8" aria-hidden="true"></a>3. third item</span>
+<span id="cb278-9"><a href="#cb278-9" aria-hidden="true"></a>4. fourth item</span>
+<span id="cb278-10"><a href="#cb278-10" aria-hidden="true"></a>5. fifth item</span>
+<span id="cb278-11"><a href="#cb278-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb278-12"><a href="#cb278-12" aria-hidden="true"></a></span>
+<span id="cb278-13"><a href="#cb278-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{startNumber=false}</span>
+<span id="cb278-14"><a href="#cb278-14" aria-hidden="true"></a>The following list does not respect the numbers specified in the</span>
+<span id="cb278-15"><a href="#cb278-15" aria-hidden="true"></a>markup:</span>
+<span id="cb278-16"><a href="#cb278-16" aria-hidden="true"></a></span>
+<span id="cb278-17"><a href="#cb278-17" aria-hidden="true"></a>3. third item</span>
+<span id="cb278-18"><a href="#cb278-18" aria-hidden="true"></a>4. fourth item</span>
+<span id="cb278-19"><a href="#cb278-19" aria-hidden="true"></a>5. fifth item</span>
+<span id="cb278-20"><a href="#cb278-20" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb278-21"><a href="#cb278-21" aria-hidden="true"></a></span>
+<span id="cb278-22"><a href="#cb278-22" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb279"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb279-1"><a href="#cb279-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>The following list respects the numbers specified in the markup:</p>
@@ -3130,30 +3237,30 @@ Thomas,Edison,1847</code></pre>
<li>fifth item</li>
</ol>
</blockquote>
-<h5 id="context-example-21" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb272"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb272-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb272-2" data-line-number="2"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb272-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb272-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb272-5" data-line-number="5">The following list respects the numbers specified in the markup:</a>
-<a class="sourceLine" id="cb272-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb272-7" data-line-number="7">3. third item</a>
-<a class="sourceLine" id="cb272-8" data-line-number="8">4. fourth item</a>
-<a class="sourceLine" id="cb272-9" data-line-number="9">5. fifth item</a>
-<a class="sourceLine" id="cb272-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb272-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb272-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionStartNumber{false}</a>
-<a class="sourceLine" id="cb272-13" data-line-number="13"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb272-14" data-line-number="14">The following list respects the numbers specified in the markup:</a>
-<a class="sourceLine" id="cb272-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb272-16" data-line-number="16">3. third item</a>
-<a class="sourceLine" id="cb272-17" data-line-number="17">4. fourth item</a>
-<a class="sourceLine" id="cb272-18" data-line-number="18">5. fifth item</a>
-<a class="sourceLine" id="cb272-19" data-line-number="19"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb272-20" data-line-number="20"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb273"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb273-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-22">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb280"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb280-1"><a href="#cb280-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb280-2"><a href="#cb280-2" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb280-3"><a href="#cb280-3" aria-hidden="true"></a></span>
+<span id="cb280-4"><a href="#cb280-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb280-5"><a href="#cb280-5" aria-hidden="true"></a>The following list respects the numbers specified in the markup:</span>
+<span id="cb280-6"><a href="#cb280-6" aria-hidden="true"></a></span>
+<span id="cb280-7"><a href="#cb280-7" aria-hidden="true"></a>3. third item</span>
+<span id="cb280-8"><a href="#cb280-8" aria-hidden="true"></a>4. fourth item</span>
+<span id="cb280-9"><a href="#cb280-9" aria-hidden="true"></a>5. fifth item</span>
+<span id="cb280-10"><a href="#cb280-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb280-11"><a href="#cb280-11" aria-hidden="true"></a></span>
+<span id="cb280-12"><a href="#cb280-12" aria-hidden="true"></a><span class="fu">\def\markdownOptionStartNumber</span>{false}</span>
+<span id="cb280-13"><a href="#cb280-13" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb280-14"><a href="#cb280-14" aria-hidden="true"></a>The following list respects the numbers specified in the markup:</span>
+<span id="cb280-15"><a href="#cb280-15" aria-hidden="true"></a></span>
+<span id="cb280-16"><a href="#cb280-16" aria-hidden="true"></a>3. third item</span>
+<span id="cb280-17"><a href="#cb280-17" aria-hidden="true"></a>4. fourth item</span>
+<span id="cb280-18"><a href="#cb280-18" aria-hidden="true"></a>5. fifth item</span>
+<span id="cb280-19"><a href="#cb280-19" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb280-20"><a href="#cb280-20" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb281"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb281-1"><a href="#cb281-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>The following list respects the numbers specified in the markup:</p>
@@ -3169,19 +3276,19 @@ Thomas,Edison,1847</code></pre>
<li>fifth item</li>
</ol>
</blockquote>
-<h4 id="option-stripindent"><span class="header-section-number">2.2.1.28</span> Option <code>stripIndent</code></h4>
+<h4 data-number="2.2.1.29" id="option-stripindent"><span class="header-section-number">2.2.1.29</span> Option <code>stripIndent</code></h4>
<dl>
<dt><code>stripIndent</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Strip the minimal indentation of non-blank lines from all lines in a markdown document. Requires that the <strong><code>preserveTabs</code></strong> Lua option is :</p>
-<div class="sourceCode" id="cb274"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb274-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb274-2" data-line-number="2"><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb274-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb274-4" data-line-number="4"> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb274-5" data-line-number="5"> Hello *world*!</a>
-<a class="sourceLine" id="cb274-6" data-line-number="6"> <span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb274-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb282"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb282-1"><a href="#cb282-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb282-2"><a href="#cb282-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</span>
+<span id="cb282-3"><a href="#cb282-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb282-4"><a href="#cb282-4" aria-hidden="true"></a> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb282-5"><a href="#cb282-5" aria-hidden="true"></a> Hello *world*!</span>
+<span id="cb282-6"><a href="#cb282-6" aria-hidden="true"></a> <span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb282-7"><a href="#cb282-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
</dd>
</dl>
</dd>
@@ -3192,81 +3299,81 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="plain-tex-example-13" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-14">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb275"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb275-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb275-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionStripIndent{true}</a>
-<a class="sourceLine" id="cb275-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb275-4" data-line-number="4"> Hello *world*!</a>
-<a class="sourceLine" id="cb275-5" data-line-number="5"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb275-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb283"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb283-1"><a href="#cb283-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb283-2"><a href="#cb283-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionStripIndent</span>{true}</span>
+<span id="cb283-3"><a href="#cb283-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb283-4"><a href="#cb283-4" aria-hidden="true"></a> Hello *world*!</span>
+<span id="cb283-5"><a href="#cb283-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb283-6"><a href="#cb283-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb276"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb276-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb284"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb284-1"><a href="#cb284-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p>
-<h5 id="latex-example-24" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-25"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb277"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb277-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb277-2" data-line-number="2"><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb277-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb277-4" data-line-number="4"> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb277-5" data-line-number="5"> Hello *world*!</a>
-<a class="sourceLine" id="cb277-6" data-line-number="6"> <span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb277-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb285"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb285-1"><a href="#cb285-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb285-2"><a href="#cb285-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[stripIndent]{<span class="ex">markdown</span>}</span>
+<span id="cb285-3"><a href="#cb285-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb285-4"><a href="#cb285-4" aria-hidden="true"></a> <span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb285-5"><a href="#cb285-5" aria-hidden="true"></a> Hello *world*!</span>
+<span id="cb285-6"><a href="#cb285-6" aria-hidden="true"></a> <span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb285-7"><a href="#cb285-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb278"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb278-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb286"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb286-1"><a href="#cb286-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p>
-<h5 id="context-example-22" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-23">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb279"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb279-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb279-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionStripIndent{true}</a>
-<a class="sourceLine" id="cb279-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb279-4" data-line-number="4"> <span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb279-5" data-line-number="5"> Hello *world*!</a>
-<a class="sourceLine" id="cb279-6" data-line-number="6"> <span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb279-7" data-line-number="7"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb287"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb287-1"><a href="#cb287-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb287-2"><a href="#cb287-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionStripIndent</span>{true}</span>
+<span id="cb287-3"><a href="#cb287-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb287-4"><a href="#cb287-4" aria-hidden="true"></a> <span class="fu">\startmarkdown</span></span>
+<span id="cb287-5"><a href="#cb287-5" aria-hidden="true"></a> Hello *world*!</span>
+<span id="cb287-6"><a href="#cb287-6" aria-hidden="true"></a> <span class="fu">\stopmarkdown</span></span>
+<span id="cb287-7"><a href="#cb287-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb280"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb280-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb288"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb288-1"><a href="#cb288-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p>
-<h4 id="option-tablecaptions"><span class="header-section-number">2.2.1.29</span> Option <code>tableCaptions</code></h4>
+<h4 data-number="2.2.1.30" id="option-tablecaptions"><span class="header-section-number">2.2.1.30</span> Option <code>tableCaptions</code></h4>
<dl>
<dt><code>tableCaptions</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Enable the Pandoc <code>table_captions</code> syntax extension for <a href="#pipe-tables">pipe tables</a>.</p>
-<div class="sourceCode" id="cb281"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb281-1" data-line-number="1">| Right | Left | Default | Center |</a>
-<a class="sourceLine" id="cb281-2" data-line-number="2">|------:|:-----|---------|:------:|</a>
-<a class="sourceLine" id="cb281-3" data-line-number="3">| 12 | 12 | 12 | 12 |</a>
-<a class="sourceLine" id="cb281-4" data-line-number="4">| 123 | 123 | 123 | 123 |</a>
-<a class="sourceLine" id="cb281-5" data-line-number="5">| 1 | 1 | 1 | 1 |</a>
-<a class="sourceLine" id="cb281-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb281-7" data-line-number="7"> : Demonstration of pipe table syntax.</a></code></pre></div>
+<div class="sourceCode" id="cb289"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb289-1"><a href="#cb289-1" aria-hidden="true"></a>| Right | Left | Default | Center |</span>
+<span id="cb289-2"><a href="#cb289-2" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span>
+<span id="cb289-3"><a href="#cb289-3" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span>
+<span id="cb289-4"><a href="#cb289-4" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span>
+<span id="cb289-5"><a href="#cb289-5" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span>
+<span id="cb289-6"><a href="#cb289-6" aria-hidden="true"></a></span>
+<span id="cb289-7"><a href="#cb289-7" aria-hidden="true"></a> : Demonstration of pipe table syntax.</span></code></pre></div>
</dd>
</dl>
</dd>
<dd><dl>
<dt>false</dt>
-<dd><p>Enable the Pandoc <code>table_captions</code> syntax extension.</p>
+<dd><p>Disable the Pandoc <code>table_captions</code> syntax extension.</p>
</dd>
</dl>
</dd>
</dl>
-<h5 id="latex-example-25" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb282"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb282-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb282-2" data-line-number="2"><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb282-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb282-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb282-5" data-line-number="5">| Right | Left | Default | Center |</a>
-<a class="sourceLine" id="cb282-6" data-line-number="6">|------:|:-----|---------|:------:|</a>
-<a class="sourceLine" id="cb282-7" data-line-number="7">| 12 | 12 | 12 | 12 |</a>
-<a class="sourceLine" id="cb282-8" data-line-number="8">| 123 | 123 | 123 | 123 |</a>
-<a class="sourceLine" id="cb282-9" data-line-number="9">| 1 | 1 | 1 | 1 |</a>
-<a class="sourceLine" id="cb282-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb282-11" data-line-number="11"> : Demonstration of pipe table syntax.</a>
-<a class="sourceLine" id="cb282-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb282-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb283"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb283-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-26"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb290"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb290-1"><a href="#cb290-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb290-2"><a href="#cb290-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</span>
+<span id="cb290-3"><a href="#cb290-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb290-4"><a href="#cb290-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb290-5"><a href="#cb290-5" aria-hidden="true"></a>| Right | Left | Default | Center |</span>
+<span id="cb290-6"><a href="#cb290-6" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span>
+<span id="cb290-7"><a href="#cb290-7" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span>
+<span id="cb290-8"><a href="#cb290-8" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span>
+<span id="cb290-9"><a href="#cb290-9" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span>
+<span id="cb290-10"><a href="#cb290-10" aria-hidden="true"></a></span>
+<span id="cb290-11"><a href="#cb290-11" aria-hidden="true"></a> : Demonstration of pipe table syntax.</span>
+<span id="cb290-12"><a href="#cb290-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb290-13"><a href="#cb290-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb291"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb291-1"><a href="#cb291-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<table>
@@ -3301,24 +3408,24 @@ Thomas,Edison,1847</code></pre>
</tbody>
</table>
</blockquote>
-<h5 id="context-example-23" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb284"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb284-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb284-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionPipeTables{true}</a>
-<a class="sourceLine" id="cb284-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionTableCaptions{true}</a>
-<a class="sourceLine" id="cb284-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb284-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb284-6" data-line-number="6">| Right | Left | Default | Center |</a>
-<a class="sourceLine" id="cb284-7" data-line-number="7">|------:|:-----|---------|:------:|</a>
-<a class="sourceLine" id="cb284-8" data-line-number="8">| 12 | 12 | 12 | 12 |</a>
-<a class="sourceLine" id="cb284-9" data-line-number="9">| 123 | 123 | 123 | 123 |</a>
-<a class="sourceLine" id="cb284-10" data-line-number="10">| 1 | 1 | 1 | 1 |</a>
-<a class="sourceLine" id="cb284-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb284-12" data-line-number="12"> : Demonstration of pipe table syntax.</a>
-<a class="sourceLine" id="cb284-13" data-line-number="13"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb284-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb285"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb285-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-24">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb292"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb292-1"><a href="#cb292-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb292-2"><a href="#cb292-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionPipeTables</span>{true}</span>
+<span id="cb292-3"><a href="#cb292-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionTableCaptions</span>{true}</span>
+<span id="cb292-4"><a href="#cb292-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb292-5"><a href="#cb292-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb292-6"><a href="#cb292-6" aria-hidden="true"></a>| Right | Left | Default | Center |</span>
+<span id="cb292-7"><a href="#cb292-7" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span>
+<span id="cb292-8"><a href="#cb292-8" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span>
+<span id="cb292-9"><a href="#cb292-9" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span>
+<span id="cb292-10"><a href="#cb292-10" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span>
+<span id="cb292-11"><a href="#cb292-11" aria-hidden="true"></a></span>
+<span id="cb292-12"><a href="#cb292-12" aria-hidden="true"></a> : Demonstration of pipe table syntax.</span>
+<span id="cb292-13"><a href="#cb292-13" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb292-14"><a href="#cb292-14" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb293"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb293-1"><a href="#cb293-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<table>
@@ -3353,20 +3460,91 @@ Thomas,Edison,1847</code></pre>
</tbody>
</table>
</blockquote>
-<h4 id="option-texcomments"><span class="header-section-number">2.2.1.30</span> Option <code>texComments</code></h4>
+<h4 data-number="2.2.1.31" id="option-tasklists"><span class="header-section-number">2.2.1.31</span> Option <code>taskLists</code></h4>
+<dl>
+<dt><code>taskLists</code> (default value: <code>false</code>)</dt>
+<dd><dl>
+<dt>true</dt>
+<dd><p>Enable the Pandoc <code>task_lists</code> syntax extension.</p>
+<div class="sourceCode" id="cb294"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb294-1"><a href="#cb294-1" aria-hidden="true"></a><span class="ss">- </span><span class="va">[ ]</span> an unticked task list item</span>
+<span id="cb294-2"><a href="#cb294-2" aria-hidden="true"></a><span class="ss">- </span><span class="co">[</span><span class="ot">/</span><span class="co">]</span> a half-checked task list item</span>
+<span id="cb294-3"><a href="#cb294-3" aria-hidden="true"></a><span class="ss">- </span><span class="co">[</span><span class="ot">X</span><span class="co">]</span> a ticked task list item</span></code></pre></div>
+</dd>
+</dl>
+</dd>
+<dd><dl>
+<dt>false</dt>
+<dd><p>Disable the Pandoc <code>task_lists</code> syntax extension.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<h5 class="unnumbered" data-number="" id="latex-example-27"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb295"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb295-1"><a href="#cb295-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb295-2"><a href="#cb295-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[taskLists]{<span class="ex">markdown</span>}</span>
+<span id="cb295-3"><a href="#cb295-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb295-4"><a href="#cb295-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb295-5"><a href="#cb295-5" aria-hidden="true"></a> untickedBox = No,</span>
+<span id="cb295-6"><a href="#cb295-6" aria-hidden="true"></a> halfTickedBox = Maybe,</span>
+<span id="cb295-7"><a href="#cb295-7" aria-hidden="true"></a> tickedBox = Yes,</span>
+<span id="cb295-8"><a href="#cb295-8" aria-hidden="true"></a> },</span>
+<span id="cb295-9"><a href="#cb295-9" aria-hidden="true"></a>}</span>
+<span id="cb295-10"><a href="#cb295-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb295-11"><a href="#cb295-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb295-12"><a href="#cb295-12" aria-hidden="true"></a>- [ ] you can&#39;t.</span>
+<span id="cb295-13"><a href="#cb295-13" aria-hidden="true"></a>- [/] I can?</span>
+<span id="cb295-14"><a href="#cb295-14" aria-hidden="true"></a>- [X] I can!</span>
+<span id="cb295-15"><a href="#cb295-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb295-16"><a href="#cb295-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb296"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb296-1"><a href="#cb296-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<ul>
+<li>No you can’t.</li>
+<li>Maybe I can?</li>
+<li>Yes I can!</li>
+</ul>
+</blockquote>
+<h5 class="unnumbered" data-number="" id="context-example-25">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb297"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb297-1"><a href="#cb297-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb297-2"><a href="#cb297-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTaskLists</span>{true}</span>
+<span id="cb297-3"><a href="#cb297-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererUntickedBox</span>{No}</span>
+<span id="cb297-4"><a href="#cb297-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererHalftickedBox</span>{Maybe}</span>
+<span id="cb297-5"><a href="#cb297-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererTickedBox</span>{Yes}</span>
+<span id="cb297-6"><a href="#cb297-6" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb297-7"><a href="#cb297-7" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb297-8"><a href="#cb297-8" aria-hidden="true"></a>- [ ] you can&#39;t.</span>
+<span id="cb297-9"><a href="#cb297-9" aria-hidden="true"></a>- [/] I can?</span>
+<span id="cb297-10"><a href="#cb297-10" aria-hidden="true"></a>- [X] I can!</span>
+<span id="cb297-11"><a href="#cb297-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb297-12"><a href="#cb297-12" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb298"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb298-1"><a href="#cb298-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<ul>
+<li>No you can’t.</li>
+<li>Maybe I can?</li>
+<li>Yes I can!</li>
+</ul>
+</blockquote>
+<h4 data-number="2.2.1.32" id="option-texcomments"><span class="header-section-number">2.2.1.32</span> Option <code>texComments</code></h4>
<dl>
<dt><code>texComments</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Strip <span class="tex">T<sub>e</sub>X</span>-style comments.</p>
-<div class="sourceCode" id="cb286"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb286-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb286-2" data-line-number="2"><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb286-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb286-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb286-5" data-line-number="5">Hel<span class="co">% this is a comment</span></a>
-<a class="sourceLine" id="cb286-6" data-line-number="6"> lo *world*!</a>
-<a class="sourceLine" id="cb286-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb286-8" data-line-number="8"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb299"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb299-1"><a href="#cb299-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb299-2"><a href="#cb299-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</span>
+<span id="cb299-3"><a href="#cb299-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb299-4"><a href="#cb299-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb299-5"><a href="#cb299-5" aria-hidden="true"></a>Hel<span class="co">% this is a comment</span></span>
+<span id="cb299-6"><a href="#cb299-6" aria-hidden="true"></a> lo *world*!</span>
+<span id="cb299-7"><a href="#cb299-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb299-8"><a href="#cb299-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Always enabled when <strong><code>hybrid</code></strong> is enabled.</p>
</dd>
</dl>
@@ -3378,50 +3556,50 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="plain-tex-example-14" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-15">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb287"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb287-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb287-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTeXComments{true}</a>
-<a class="sourceLine" id="cb287-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb287-4" data-line-number="4">Hel<span class="co">% this is a comment</span></a>
-<a class="sourceLine" id="cb287-5" data-line-number="5"> lo *world*!</a>
-<a class="sourceLine" id="cb287-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb287-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb300"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb300-1"><a href="#cb300-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb300-2"><a href="#cb300-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTeXComments</span>{true}</span>
+<span id="cb300-3"><a href="#cb300-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb300-4"><a href="#cb300-4" aria-hidden="true"></a>Hel<span class="co">% this is a comment</span></span>
+<span id="cb300-5"><a href="#cb300-5" aria-hidden="true"></a> lo *world*!</span>
+<span id="cb300-6"><a href="#cb300-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb300-7"><a href="#cb300-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb288"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb288-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb301"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb301-1"><a href="#cb301-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p>
-<h5 id="latex-example-26" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb289"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb289-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb289-2" data-line-number="2"><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb289-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb289-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb289-5" data-line-number="5">Hel<span class="co">% this is a comment</span></a>
-<a class="sourceLine" id="cb289-6" data-line-number="6"> lo *world*!</a>
-<a class="sourceLine" id="cb289-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb289-8" data-line-number="8"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb290"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb290-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-28"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb302"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb302-1"><a href="#cb302-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb302-2"><a href="#cb302-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[texComments]{<span class="ex">markdown</span>}</span>
+<span id="cb302-3"><a href="#cb302-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb302-4"><a href="#cb302-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb302-5"><a href="#cb302-5" aria-hidden="true"></a>Hel<span class="co">% this is a comment</span></span>
+<span id="cb302-6"><a href="#cb302-6" aria-hidden="true"></a> lo *world*!</span>
+<span id="cb302-7"><a href="#cb302-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb302-8"><a href="#cb302-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb303"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb303-1"><a href="#cb303-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p>
-<h5 id="context-example-24" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb291"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb291-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb291-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTeXComments{true}</a>
-<a class="sourceLine" id="cb291-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb291-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb291-5" data-line-number="5">Hel<span class="co">% this is a comment</span></a>
-<a class="sourceLine" id="cb291-6" data-line-number="6"> lo *world*!</a>
-<a class="sourceLine" id="cb291-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb291-8" data-line-number="8"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb292"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb292-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-26">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb304"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb304-1"><a href="#cb304-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb304-2"><a href="#cb304-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTeXComments</span>{true}</span>
+<span id="cb304-3"><a href="#cb304-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb304-4"><a href="#cb304-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb304-5"><a href="#cb304-5" aria-hidden="true"></a>Hel<span class="co">% this is a comment</span></span>
+<span id="cb304-6"><a href="#cb304-6" aria-hidden="true"></a> lo *world*!</span>
+<span id="cb304-7"><a href="#cb304-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb304-8"><a href="#cb304-8" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb305"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb305-1"><a href="#cb305-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p>
-<h4 id="option-tightlists"><span class="header-section-number">2.2.1.31</span> Option <code>tightLists</code></h4>
+<h4 data-number="2.2.1.33" id="option-tightlists"><span class="header-section-number">2.2.1.33</span> Option <code>tightLists</code></h4>
<dl>
<dt><code>tightLists</code> (default value: <code>true</code>)</dt>
<dd><dl>
<dt>true</dt>
-<dd><p>Lists whose bullets do not consist of multiple paragraphs will be passed to the <code>\markdownRendererOlBeginTight</code>, <code>\markdownRendererOlEndTight</code>, <code>\markdownRendererUlBeginTight</code>, <code>\markdownRendererUlEndTight</code>, <code>\markdownRendererDlBeginTight</code>, and <code>\markdownRendererDlEndTight</code> <span class="tex">T<sub>e</sub>X</span> macros.</p>
+<dd><p>Lists whose bullets do not consist of multiple paragraphs will be passed to the , , , , , and <span class="tex">T<sub>e</sub>X</span> macros.</p>
</dd>
</dl>
</dd>
@@ -3432,39 +3610,39 @@ Thomas,Edison,1847</code></pre>
</dl>
</dd>
</dl>
-<h5 id="latex-example-27" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb293"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb293-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb293-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb293-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb293-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb293-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb293-6" data-line-number="6">The following list is tight:</a>
-<a class="sourceLine" id="cb293-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb293-8" data-line-number="8"> - first item</a>
-<a class="sourceLine" id="cb293-9" data-line-number="9"> - second item</a>
-<a class="sourceLine" id="cb293-10" data-line-number="10"> - third item</a>
-<a class="sourceLine" id="cb293-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb293-12" data-line-number="12">The following list is loose:</a>
-<a class="sourceLine" id="cb293-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb293-14" data-line-number="14"> - first item</a>
-<a class="sourceLine" id="cb293-15" data-line-number="15"> - second item that spans</a>
-<a class="sourceLine" id="cb293-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb293-17" data-line-number="17"> multiple paragraphs</a>
-<a class="sourceLine" id="cb293-18" data-line-number="18"> - third item</a>
-<a class="sourceLine" id="cb293-19" data-line-number="19"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb293-20" data-line-number="20"></a>
-<a class="sourceLine" id="cb293-21" data-line-number="21"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{tightLists=false}</a>
-<a class="sourceLine" id="cb293-22" data-line-number="22">The following list is now also loose:</a>
-<a class="sourceLine" id="cb293-23" data-line-number="23"></a>
-<a class="sourceLine" id="cb293-24" data-line-number="24"> - first item</a>
-<a class="sourceLine" id="cb293-25" data-line-number="25"> - second item</a>
-<a class="sourceLine" id="cb293-26" data-line-number="26"> - third item</a>
-<a class="sourceLine" id="cb293-27" data-line-number="27"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb293-28" data-line-number="28"></a>
-<a class="sourceLine" id="cb293-29" data-line-number="29"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb294"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb294-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-29"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb306"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb306-1"><a href="#cb306-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb306-2"><a href="#cb306-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb306-3"><a href="#cb306-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb306-4"><a href="#cb306-4" aria-hidden="true"></a></span>
+<span id="cb306-5"><a href="#cb306-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb306-6"><a href="#cb306-6" aria-hidden="true"></a>The following list is tight:</span>
+<span id="cb306-7"><a href="#cb306-7" aria-hidden="true"></a></span>
+<span id="cb306-8"><a href="#cb306-8" aria-hidden="true"></a> - first item</span>
+<span id="cb306-9"><a href="#cb306-9" aria-hidden="true"></a> - second item</span>
+<span id="cb306-10"><a href="#cb306-10" aria-hidden="true"></a> - third item</span>
+<span id="cb306-11"><a href="#cb306-11" aria-hidden="true"></a></span>
+<span id="cb306-12"><a href="#cb306-12" aria-hidden="true"></a>The following list is loose:</span>
+<span id="cb306-13"><a href="#cb306-13" aria-hidden="true"></a></span>
+<span id="cb306-14"><a href="#cb306-14" aria-hidden="true"></a> - first item</span>
+<span id="cb306-15"><a href="#cb306-15" aria-hidden="true"></a> - second item that spans</span>
+<span id="cb306-16"><a href="#cb306-16" aria-hidden="true"></a></span>
+<span id="cb306-17"><a href="#cb306-17" aria-hidden="true"></a> multiple paragraphs</span>
+<span id="cb306-18"><a href="#cb306-18" aria-hidden="true"></a> - third item</span>
+<span id="cb306-19"><a href="#cb306-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb306-20"><a href="#cb306-20" aria-hidden="true"></a></span>
+<span id="cb306-21"><a href="#cb306-21" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{tightLists=false}</span>
+<span id="cb306-22"><a href="#cb306-22" aria-hidden="true"></a>The following list is now also loose:</span>
+<span id="cb306-23"><a href="#cb306-23" aria-hidden="true"></a></span>
+<span id="cb306-24"><a href="#cb306-24" aria-hidden="true"></a> - first item</span>
+<span id="cb306-25"><a href="#cb306-25" aria-hidden="true"></a> - second item</span>
+<span id="cb306-26"><a href="#cb306-26" aria-hidden="true"></a> - third item</span>
+<span id="cb306-27"><a href="#cb306-27" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb306-28"><a href="#cb306-28" aria-hidden="true"></a></span>
+<span id="cb306-29"><a href="#cb306-29" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb307"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb307-1"><a href="#cb307-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>The following list is tight:</p>
@@ -3475,9 +3653,9 @@ Thomas,Edison,1847</code></pre>
</ul>
<p>The following list is loose:</p>
<ul>
-<li>first item</li>
+<li><p>first item</p></li>
<li><p>second item that spans</p>
-multiple paragraphs</li>
+<p>multiple paragraphs</p></li>
<li><p>third item</p></li>
</ul>
<p>The following list is now also loose:</p>
@@ -3487,16 +3665,16 @@ multiple paragraphs</li>
<li><p>third item</p></li>
</ul>
</blockquote>
-<h4 id="option-underscores"><span class="header-section-number">2.2.1.32</span> Option <code>underscores</code></h4>
+<h4 data-number="2.2.1.34" id="option-underscores"><span class="header-section-number">2.2.1.34</span> Option <code>underscores</code></h4>
<dl>
<dt><code>underscores</code> (default value: <code>true</code>)</dt>
<dd><dl>
<dt>true</dt>
<dd><p>Both underscores and asterisks can be used to denote emphasis and strong emphasis:</p>
-<div class="sourceCode" id="cb295"><pre class="sourceCode md"><code class="sourceCode markdown"><a class="sourceLine" id="cb295-1" data-line-number="1">*single asterisks*</a>
-<a class="sourceLine" id="cb295-2" data-line-number="2">_single underscores_</a>
-<a class="sourceLine" id="cb295-3" data-line-number="3">**double asterisks**</a>
-<a class="sourceLine" id="cb295-4" data-line-number="4">__double underscores__</a></code></pre></div>
+<div class="sourceCode" id="cb308"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb308-1"><a href="#cb308-1" aria-hidden="true"></a>*single asterisks*</span>
+<span id="cb308-2"><a href="#cb308-2" aria-hidden="true"></a>_single underscores_</span>
+<span id="cb308-3"><a href="#cb308-3" aria-hidden="true"></a>**double asterisks**</span>
+<span id="cb308-4"><a href="#cb308-4" aria-hidden="true"></a>__double underscores__</span></code></pre></div>
</dd>
</dl>
</dd>
@@ -3507,87 +3685,87 @@ multiple paragraphs</li>
</dl>
</dd>
</dl>
-<h5 id="plain-tex-example-15" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb296"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb296-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb296-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHybrid{true}</a>
-<a class="sourceLine" id="cb296-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb296-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb296-5" data-line-number="5">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a>
-<a class="sourceLine" id="cb296-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb296-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb296-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionUnderscores{false}</a>
-<a class="sourceLine" id="cb296-9" data-line-number="9"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb296-10" data-line-number="10">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a>
-<a class="sourceLine" id="cb296-11" data-line-number="11"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb296-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb296-13" data-line-number="13"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb297"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb297-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-16">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb309"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb309-1"><a href="#cb309-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb309-2"><a href="#cb309-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span>
+<span id="cb309-3"><a href="#cb309-3" aria-hidden="true"></a></span>
+<span id="cb309-4"><a href="#cb309-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb309-5"><a href="#cb309-5" aria-hidden="true"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span>
+<span id="cb309-6"><a href="#cb309-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb309-7"><a href="#cb309-7" aria-hidden="true"></a></span>
+<span id="cb309-8"><a href="#cb309-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionUnderscores</span>{false}</span>
+<span id="cb309-9"><a href="#cb309-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb309-10"><a href="#cb309-10" aria-hidden="true"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span>
+<span id="cb309-11"><a href="#cb309-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb309-12"><a href="#cb309-12" aria-hidden="true"></a></span>
+<span id="cb309-13"><a href="#cb309-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb310"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb310-1"><a href="#cb310-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p>
<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p>
</blockquote>
-<h5 id="latex-example-28" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb298"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb298-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb298-2" data-line-number="2"><span class="bu">\usepackage</span>[hybrid]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb298-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb298-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb298-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb298-6" data-line-number="6">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a>
-<a class="sourceLine" id="cb298-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb298-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb298-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{underscores=false}</a>
-<a class="sourceLine" id="cb298-10" data-line-number="10">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a>
-<a class="sourceLine" id="cb298-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb298-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb298-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb299"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb299-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-30"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb311"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb311-1"><a href="#cb311-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb311-2"><a href="#cb311-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[hybrid]{<span class="ex">markdown</span>}</span>
+<span id="cb311-3"><a href="#cb311-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb311-4"><a href="#cb311-4" aria-hidden="true"></a></span>
+<span id="cb311-5"><a href="#cb311-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb311-6"><a href="#cb311-6" aria-hidden="true"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span>
+<span id="cb311-7"><a href="#cb311-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb311-8"><a href="#cb311-8" aria-hidden="true"></a></span>
+<span id="cb311-9"><a href="#cb311-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{underscores=false}</span>
+<span id="cb311-10"><a href="#cb311-10" aria-hidden="true"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span>
+<span id="cb311-11"><a href="#cb311-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb311-12"><a href="#cb311-12" aria-hidden="true"></a></span>
+<span id="cb311-13"><a href="#cb311-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb312"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb312-1"><a href="#cb312-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p>
<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p>
</blockquote>
-<h5 id="context-example-25" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb300"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb300-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb300-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionHybrid{true}</a>
-<a class="sourceLine" id="cb300-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb300-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb300-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb300-6" data-line-number="6">This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</a>
-<a class="sourceLine" id="cb300-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb300-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb300-9" data-line-number="9"><span class="fu">\def</span>\markdownOptionUnderscores{false}</a>
-<a class="sourceLine" id="cb300-10" data-line-number="10"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb300-11" data-line-number="11">This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</a>
-<a class="sourceLine" id="cb300-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb300-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb300-14" data-line-number="14"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb301"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb301-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-27">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb313"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb313-1"><a href="#cb313-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb313-2"><a href="#cb313-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span>
+<span id="cb313-3"><a href="#cb313-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb313-4"><a href="#cb313-4" aria-hidden="true"></a></span>
+<span id="cb313-5"><a href="#cb313-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb313-6"><a href="#cb313-6" aria-hidden="true"></a>This is _emphasized text_ and this is a math subscript: <span class="ss">$m</span><span class="sc">\_</span><span class="ss">n$</span>.</span>
+<span id="cb313-7"><a href="#cb313-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb313-8"><a href="#cb313-8" aria-hidden="true"></a></span>
+<span id="cb313-9"><a href="#cb313-9" aria-hidden="true"></a><span class="fu">\def\markdownOptionUnderscores</span>{false}</span>
+<span id="cb313-10"><a href="#cb313-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb313-11"><a href="#cb313-11" aria-hidden="true"></a>This is *emphasized text* and this is a math subscript: <span class="ss">$m_n$</span>.</span>
+<span id="cb313-12"><a href="#cb313-12" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb313-13"><a href="#cb313-13" aria-hidden="true"></a></span>
+<span id="cb313-14"><a href="#cb313-14" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb314"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb314-1"><a href="#cb314-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p>
<p>This is <em>emphasized text</em> and this is a math subscript: <em>mₙ</em>.</p>
</blockquote>
-<h3 id="plain-tex-1"><span class="header-section-number">2.2.2</span> Plain <span class="tex">T<sub>e</sub>X</span></h3>
+<h3 data-number="2.2.2" id="plain-tex-1"><span class="header-section-number">2.2.2</span> Plain <span class="tex">T<sub>e</sub>X</span></h3>
<p>Plain <span class="tex">T<sub>e</sub>X</span> options control the communication between the <span class="tex">T<sub>e</sub>X</span> interface and the <code>markdown</code> Lua module. They are supported by all higher-level interfaces of the Markdown package, i.e. the plain <span class="tex">T<sub>e</sub>X</span>, <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> and Con<span class="tex">T<sub>e</sub>X</span>t interfaces.</p>
-<h4 id="finalizing-and-freezing-the-cache"><span class="header-section-number">2.2.2.1</span> Finalizing and Freezing the Cache</h4>
+<h4 data-number="2.2.2.1" id="finalizing-and-freezing-the-cache"><span class="header-section-number">2.2.2.1</span> Finalizing and Freezing the Cache</h4>
<p>The <code>\markdownOptionFrozenCache</code> option uses the mapping previously created by the Lua interface <strong><code>finalizeCache</code></strong> option, and uses it to typeset the plain <span class="tex">T<sub>e</sub>X</span> document without invoking Lua. As a result, the plain <span class="tex">T<sub>e</sub>X</span> document becomes more portable, but further changes in the order and the content of markdown documents will not be reflected. It defaults to <code>false</code>.</p>
-<p>The standard usage of the <strong><code>finalizeCache</code></strong> and <code>\markdownOptionFrozenCache</code> options is as follows:</p>
+<p>The standard usage of the <strong><code>finalizeCache</code></strong> and options is as follows:</p>
<ol type="1">
<li>Remove the <strong><code>cacheDir</code></strong> cache directory with stale auxiliary cache files.</li>
<li>Enable the <strong><code>finalizeCache</code></strong> option.</li>
<li>Typeset the plain <span class="tex">T<sub>e</sub>X</span> document to populate and finalize the cache.</li>
-<li>Enable the <code>\markdownOptionFrozenCache</code> option.</li>
+<li>Enable the option.</li>
<li>Publish the source code of the plain <span class="tex">T<sub>e</sub>X</span> document and the <strong><code>cacheDir</code></strong> directory.</li>
</ol>
<p>For more information, see the examples for the <strong><code>finalizeCache</code></strong> option.</p>
-<h4 id="file-and-directory-names"><span class="header-section-number">2.2.2.2</span> File and Directory Names</h4>
+<h4 data-number="2.2.2.2" id="file-and-directory-names"><span class="header-section-number">2.2.2.2</span> File and Directory Names</h4>
<p>The plain <span class="tex">T<sub>e</sub>X</span> interface provides the following commands that you can use to specify the location of temporary files produced during the conversion from Markdown to <span class="tex">T<sub>e</sub>X</span>:</p>
<ul>
<li><code>\markdownOptionHelperScriptFileName</code>,</li>
@@ -3599,129 +3777,129 @@ multiple paragraphs</li>
<li><code>\markdownOptionFrozenCacheFileName</code>.</li>
</ul>
<p>Using a text editor, create a folder named <code>output-directory</code> and a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb302"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb302-1" data-line-number="1"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb302-2" data-line-number="2"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb302-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionHelperScriptFileName{helper-script.lua}</a>
-<a class="sourceLine" id="cb302-4" data-line-number="4"><span class="fu">\def</span>\markdownOptionInputTempFileName{temporary-input.md}</a>
-<a class="sourceLine" id="cb302-5" data-line-number="5"><span class="fu">\def</span>\markdownOptionOutputTempFileName{temporary-output.tex}</a>
-<a class="sourceLine" id="cb302-6" data-line-number="6"><span class="fu">\def</span>\markdownOptionErrorTempFileName{error-output.txt}</a>
-<a class="sourceLine" id="cb302-7" data-line-number="7"><span class="fu">\def</span>\markdownOptionOutputDir{output-directory}</a>
-<a class="sourceLine" id="cb302-8" data-line-number="8"><span class="fu">\def</span>\markdownOptionCacheDir{output-directory/cache-directory}</a>
-<a class="sourceLine" id="cb302-9" data-line-number="9"><span class="fu">\markdownOptionFinalizeCachetrue</span></a>
-<a class="sourceLine" id="cb302-10" data-line-number="10"><span class="fu">\def</span>\markdownOptionFrozenCacheFileName{output-directory/cache-directory/frozen-cache.tex}</a>
-<a class="sourceLine" id="cb302-11" data-line-number="11"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb302-12" data-line-number="12">Hello *world*!</a>
-<a class="sourceLine" id="cb302-13" data-line-number="13"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb302-14" data-line-number="14"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb303"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb303-1" data-line-number="1"><span class="ex">luatex</span> --output-directory output-directory document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb315"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb315-1"><a href="#cb315-1" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb315-2"><a href="#cb315-2" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb315-3"><a href="#cb315-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionHelperScriptFileName</span>{helper-script.lua}</span>
+<span id="cb315-4"><a href="#cb315-4" aria-hidden="true"></a><span class="fu">\def\markdownOptionInputTempFileName</span>{temporary-input.md}</span>
+<span id="cb315-5"><a href="#cb315-5" aria-hidden="true"></a><span class="fu">\def\markdownOptionOutputTempFileName</span>{temporary-output.tex}</span>
+<span id="cb315-6"><a href="#cb315-6" aria-hidden="true"></a><span class="fu">\def\markdownOptionErrorTempFileName</span>{error-output.txt}</span>
+<span id="cb315-7"><a href="#cb315-7" aria-hidden="true"></a><span class="fu">\def\markdownOptionOutputDir</span>{output-directory}</span>
+<span id="cb315-8"><a href="#cb315-8" aria-hidden="true"></a><span class="fu">\def\markdownOptionCacheDir</span>{output-directory/cache-directory}</span>
+<span id="cb315-9"><a href="#cb315-9" aria-hidden="true"></a><span class="fu">\markdownOptionFinalizeCachetrue</span></span>
+<span id="cb315-10"><a href="#cb315-10" aria-hidden="true"></a><span class="fu">\def\markdownOptionFrozenCacheFileName</span>{output-directory/cache-directory/frozen-cache.tex}</span>
+<span id="cb315-11"><a href="#cb315-11" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb315-12"><a href="#cb315-12" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb315-13"><a href="#cb315-13" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb315-14"><a href="#cb315-14" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb316"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb316-1"><a href="#cb316-1" aria-hidden="true"></a><span class="ex">luatex</span> --output-directory output-directory document.tex</span></code></pre></div>
<p>A text document named <code>temporary-input.md</code> should be produced in the folder named <code>output-directory</code> and contain the following text:</p>
<blockquote>
<p>Hello *world*!</p>
</blockquote>
<p>A folder named <code>output-directory/cache-directory</code> should also be produced and contain fragments of the converted markdown document. LuaTeX does not need other temporary files to perform the conversion from markdown to <span class="tex">T<sub>e</sub>X</span>. To produce the remaining temporary files, invoke pdfTeX from the terminal:</p>
-<div class="sourceCode" id="cb304"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb304-1" data-line-number="1"><span class="ex">pdftex</span> --output-directory output-directory --shell-escape document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb317"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb317-1"><a href="#cb317-1" aria-hidden="true"></a><span class="ex">pdftex</span> --output-directory output-directory --shell-escape document.tex</span></code></pre></div>
<p>Text documents named <code>helper-script.lua</code>, and <code>temporary-output.md</code> should be produced in the folder named <code>output-directory</code>. The document named <code>helper-script.lua</code> will contain Lua code that was executed to convert markdown to plain <span class="tex">T<sub>e</sub>X</span>. The document named <code>temporary-output.tex</code> will contain the input markdown document converted to <span class="tex">T<sub>e</sub>X</span>.</p>
<p>No document named <code>error-output.txt</code> should be produced in the folder named <code>output-directory</code>. This document would only be produced if an error had occured while executing the Lua code. If this happens, please <a href="https://github.com/witiko/markdown/issues">file a bug</a>.</p>
-<h4 id="package-documentation"><span class="header-section-number">2.2.2.3</span> Package Documentation</h4>
+<h4 data-number="2.2.2.3" id="package-documentation"><span class="header-section-number">2.2.2.3</span> Package Documentation</h4>
<p>The <code>\markdownOptionStripPercentSigns</code> macro controls whether a percent sign (<code>%</code>) at the beginning of a line will be discarded when reading Markdown input from a <span class="tex">T<sub>e</sub>X</span> document. This enables the use of markdown when writing <span class="tex">T<sub>e</sub>X</span> package documentation using the <a href="https://ctan.org/pkg/doc" title="doc – Format LaTeX documentation">Doc <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package</a> by Frank Mittelbach. The recognized values of the macro are <code>true</code> (discard) and <code>false</code> (retain). It defaults to <code>false</code>.</p>
<p>Using a text editor, create a text document named <code>document.dtx</code> with the following content:</p>
-<div class="sourceCode" id="cb305"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb305-1" data-line-number="1"><span class="co">% \iffalse</span></a>
-<a class="sourceLine" id="cb305-2" data-line-number="2"><span class="bu">\documentclass</span>{<span class="ex">ltxdoc</span>}</a>
-<a class="sourceLine" id="cb305-3" data-line-number="3"><span class="bu">\usepackage</span>[stripPercentSigns]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb305-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb305-5" data-line-number="5"><span class="fu">\DocInput</span>{document.dtx}</a>
-<a class="sourceLine" id="cb305-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb305-7" data-line-number="7"><span class="co">% \fi</span></a>
-<a class="sourceLine" id="cb305-8" data-line-number="8"><span class="co">%</span></a>
-<a class="sourceLine" id="cb305-9" data-line-number="9"><span class="co">% \begin{markdown}</span></a>
-<a class="sourceLine" id="cb305-10" data-line-number="10"><span class="co">% Hello *world*!</span></a>
-<a class="sourceLine" id="cb305-11" data-line-number="11"><span class="co">% \end{markdown}</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb306"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb306-1" data-line-number="1"><span class="ex">lualatex</span> document.dtx</a></code></pre></div>
+<div class="sourceCode" id="cb318"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb318-1"><a href="#cb318-1" aria-hidden="true"></a><span class="co">% \iffalse</span></span>
+<span id="cb318-2"><a href="#cb318-2" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">ltxdoc</span>}</span>
+<span id="cb318-3"><a href="#cb318-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[stripPercentSigns]{<span class="ex">markdown</span>}</span>
+<span id="cb318-4"><a href="#cb318-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb318-5"><a href="#cb318-5" aria-hidden="true"></a><span class="fu">\DocInput</span>{document.dtx}</span>
+<span id="cb318-6"><a href="#cb318-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span>
+<span id="cb318-7"><a href="#cb318-7" aria-hidden="true"></a><span class="co">% \fi</span></span>
+<span id="cb318-8"><a href="#cb318-8" aria-hidden="true"></a><span class="co">%</span></span>
+<span id="cb318-9"><a href="#cb318-9" aria-hidden="true"></a><span class="co">% \begin{markdown}</span></span>
+<span id="cb318-10"><a href="#cb318-10" aria-hidden="true"></a><span class="co">% Hello *world*!</span></span>
+<span id="cb318-11"><a href="#cb318-11" aria-hidden="true"></a><span class="co">% \end{markdown}</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb319"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb319-1"><a href="#cb319-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.dtx</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the text “Hello <em>world</em>!”</p>
-<h3 id="latex-1"><span class="header-section-number">2.2.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3>
+<h3 data-number="2.2.3" id="latex-1"><span class="header-section-number">2.2.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></h3>
<p><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> options allow us to disable the redefinition of the default renderer prototypes from plain <span class="tex">T<sub>e</sub>X</span>, load user-contributed themes, and invoke user-defined setup snippets.</p>
-<h4 id="no-default-token-renderer-prototypes"><span class="header-section-number">2.2.3.1</span> No default token renderer prototypes</h4>
+<h4 data-number="2.2.3.1" id="no-default-token-renderer-prototypes"><span class="header-section-number">2.2.3.1</span> No default token renderer prototypes</h4>
<p>Default token renderer prototypes require <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages that may clash with other packages used in a document. Additionally, if we redefine token renderers and renderer prototypes ourselves, the default definitions will bring no benefit to us. Using the <code>plain</code> package option, we can keep the default definitions from the plain <span class="tex">T<sub>e</sub>X</span> implementation (see Section ) and prevent the soft <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> prerequisites in Section from being loaded:</p>
-<div class="sourceCode" id="cb307"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb307-1" data-line-number="1"><span class="bu">\usepackage</span>[plain]{<span class="ex">markdown</span>}</a></code></pre></div>
-<h4 id="latex-themes"><span class="header-section-number">2.2.3.2</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes</h4>
+<div class="sourceCode" id="cb320"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb320-1"><a href="#cb320-1" aria-hidden="true"></a><span class="bu">\usepackage</span>[plain]{<span class="ex">markdown</span>}</span></code></pre></div>
+<h4 data-number="2.2.3.2" id="latex-themes"><span class="header-section-number">2.2.3.2</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes</h4>
<p>User-contributed <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes for the Markdown package provide a domain-specific interpretation of some Markdown tokens. Similarly to <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages, themes allow the authors to achieve a specific look and other high-level goals without low-level programming.</p>
<p>For example, to load themes named <code>witiko/beamer/MU</code> and <code>witiko/dot</code>, you would use the following code in the preamble of your document:</p>
-<div class="sourceCode" id="cb308"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb308-1" data-line-number="1"><span class="bu">\usepackage</span>[</a>
-<a class="sourceLine" id="cb308-2" data-line-number="2"> theme = witiko/beamer/MU,</a>
-<a class="sourceLine" id="cb308-3" data-line-number="3"> theme = witiko/dot,</a>
-<a class="sourceLine" id="cb308-4" data-line-number="4">]{<span class="ex">markdown</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb321"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb321-1"><a href="#cb321-1" aria-hidden="true"></a><span class="bu">\usepackage</span>[</span>
+<span id="cb321-2"><a href="#cb321-2" aria-hidden="true"></a> theme = witiko/beamer/MU,</span>
+<span id="cb321-3"><a href="#cb321-3" aria-hidden="true"></a> theme = witiko/dot,</span>
+<span id="cb321-4"><a href="#cb321-4" aria-hidden="true"></a>]{<span class="ex">markdown</span>}</span></code></pre></div>
<p>Due to limitations of <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>, themes may not be loaded after the beginning of a <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> document.</p>
<p>Example themes provided with the Markdown package include:</p>
<dl>
<dt><strong><code>witiko/dot</code></strong></dt>
-<dd><p>A theme that typesets fenced code blocks with the <code>dot …</code> infostring as images of directed graphs rendered by the Graphviz tools. The right tail of the infostring is used as the image title. The theme requires a Unix-like operating system with GNU Diffutils and Graphviz installed. The theme also requires shell access unless the <code>\markdownOptionFrozenCache</code> plain <span class="tex">T<sub>e</sub>X</span> option is enabled.</p>
+<dd><p>A theme that typesets fenced code blocks with the <code>dot …</code> infostring as images of directed graphs rendered by the Graphviz tools. The right tail of the infostring is used as the image title. The theme requires a Unix-like operating system with GNU Diffutils and Graphviz installed. The theme also requires shell access unless the plain <span class="tex">T<sub>e</sub>X</span> option is enabled.</p>
</dd>
</dl>
-<h5 id="latex-example-29" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb309"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb309-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb309-2" data-line-number="2"><span class="bu">\usepackage</span>[theme=witiko/dot]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb309-3" data-line-number="3"><span class="fu">\setkeys</span>{Gin}{</a>
-<a class="sourceLine" id="cb309-4" data-line-number="4"> width=<span class="fu">\columnwidth</span>,</a>
-<a class="sourceLine" id="cb309-5" data-line-number="5"> height=0.65<span class="fu">\paperheight</span>,</a>
-<a class="sourceLine" id="cb309-6" data-line-number="6"> keepaspectratio}</a>
-<a class="sourceLine" id="cb309-7" data-line-number="7"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb309-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb309-9" data-line-number="9">``` dot Various formats of mathemathical formulae</a>
-<a class="sourceLine" id="cb309-10" data-line-number="10">digraph tree {</a>
-<a class="sourceLine" id="cb309-11" data-line-number="11"> margin = 0;</a>
-<a class="sourceLine" id="cb309-12" data-line-number="12"> rankdir = &quot;LR&quot;;</a>
-<a class="sourceLine" id="cb309-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb309-14" data-line-number="14"> latex -&gt; pmml;</a>
-<a class="sourceLine" id="cb309-15" data-line-number="15"> latex -&gt; cmml;</a>
-<a class="sourceLine" id="cb309-16" data-line-number="16"> pmml -&gt; slt;</a>
-<a class="sourceLine" id="cb309-17" data-line-number="17"> cmml -&gt; opt;</a>
-<a class="sourceLine" id="cb309-18" data-line-number="18"> cmml -&gt; prefix;</a>
-<a class="sourceLine" id="cb309-19" data-line-number="19"> cmml -&gt; infix;</a>
-<a class="sourceLine" id="cb309-20" data-line-number="20"> pmml -&gt; mterms [style=dashed];</a>
-<a class="sourceLine" id="cb309-21" data-line-number="21"> cmml -&gt; mterms;</a>
-<a class="sourceLine" id="cb309-22" data-line-number="22"></a>
-<a class="sourceLine" id="cb309-23" data-line-number="23"> latex [label = &quot;LaTeX&quot;];</a>
-<a class="sourceLine" id="cb309-24" data-line-number="24"> pmml [label = &quot;Presentation MathML&quot;];</a>
-<a class="sourceLine" id="cb309-25" data-line-number="25"> cmml [label = &quot;Content MathML&quot;];</a>
-<a class="sourceLine" id="cb309-26" data-line-number="26"> slt [label = &quot;Symbol Layout Tree&quot;];</a>
-<a class="sourceLine" id="cb309-27" data-line-number="27"> opt [label = &quot;Operator Tree&quot;];</a>
-<a class="sourceLine" id="cb309-28" data-line-number="28"> prefix [label = &quot;Prefix&quot;];</a>
-<a class="sourceLine" id="cb309-29" data-line-number="29"> infix [label = &quot;Infix&quot;];</a>
-<a class="sourceLine" id="cb309-30" data-line-number="30"> mterms [label = &quot;M-Terms&quot;];</a>
-<a class="sourceLine" id="cb309-31" data-line-number="31">}</a>
-<a class="sourceLine" id="cb309-32" data-line-number="32">```</a>
-<a class="sourceLine" id="cb309-33" data-line-number="33"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb309-34" data-line-number="34"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb310"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb310-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-31"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb322"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb322-1"><a href="#cb322-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb322-2"><a href="#cb322-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[theme=witiko/dot]{<span class="ex">markdown</span>}</span>
+<span id="cb322-3"><a href="#cb322-3" aria-hidden="true"></a><span class="fu">\setkeys</span>{Gin}{</span>
+<span id="cb322-4"><a href="#cb322-4" aria-hidden="true"></a> width=<span class="fu">\columnwidth</span>,</span>
+<span id="cb322-5"><a href="#cb322-5" aria-hidden="true"></a> height=0.65<span class="fu">\paperheight</span>,</span>
+<span id="cb322-6"><a href="#cb322-6" aria-hidden="true"></a> keepaspectratio}</span>
+<span id="cb322-7"><a href="#cb322-7" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb322-8"><a href="#cb322-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb322-9"><a href="#cb322-9" aria-hidden="true"></a>``` dot Various formats of mathemathical formulae</span>
+<span id="cb322-10"><a href="#cb322-10" aria-hidden="true"></a>digraph tree {</span>
+<span id="cb322-11"><a href="#cb322-11" aria-hidden="true"></a> margin = 0;</span>
+<span id="cb322-12"><a href="#cb322-12" aria-hidden="true"></a> rankdir = &quot;LR&quot;;</span>
+<span id="cb322-13"><a href="#cb322-13" aria-hidden="true"></a></span>
+<span id="cb322-14"><a href="#cb322-14" aria-hidden="true"></a> latex -&gt; pmml;</span>
+<span id="cb322-15"><a href="#cb322-15" aria-hidden="true"></a> latex -&gt; cmml;</span>
+<span id="cb322-16"><a href="#cb322-16" aria-hidden="true"></a> pmml -&gt; slt;</span>
+<span id="cb322-17"><a href="#cb322-17" aria-hidden="true"></a> cmml -&gt; opt;</span>
+<span id="cb322-18"><a href="#cb322-18" aria-hidden="true"></a> cmml -&gt; prefix;</span>
+<span id="cb322-19"><a href="#cb322-19" aria-hidden="true"></a> cmml -&gt; infix;</span>
+<span id="cb322-20"><a href="#cb322-20" aria-hidden="true"></a> pmml -&gt; mterms [style=dashed];</span>
+<span id="cb322-21"><a href="#cb322-21" aria-hidden="true"></a> cmml -&gt; mterms;</span>
+<span id="cb322-22"><a href="#cb322-22" aria-hidden="true"></a></span>
+<span id="cb322-23"><a href="#cb322-23" aria-hidden="true"></a> latex [label = &quot;LaTeX&quot;];</span>
+<span id="cb322-24"><a href="#cb322-24" aria-hidden="true"></a> pmml [label = &quot;Presentation MathML&quot;];</span>
+<span id="cb322-25"><a href="#cb322-25" aria-hidden="true"></a> cmml [label = &quot;Content MathML&quot;];</span>
+<span id="cb322-26"><a href="#cb322-26" aria-hidden="true"></a> slt [label = &quot;Symbol Layout Tree&quot;];</span>
+<span id="cb322-27"><a href="#cb322-27" aria-hidden="true"></a> opt [label = &quot;Operator Tree&quot;];</span>
+<span id="cb322-28"><a href="#cb322-28" aria-hidden="true"></a> prefix [label = &quot;Prefix&quot;];</span>
+<span id="cb322-29"><a href="#cb322-29" aria-hidden="true"></a> infix [label = &quot;Infix&quot;];</span>
+<span id="cb322-30"><a href="#cb322-30" aria-hidden="true"></a> mterms [label = &quot;M-Terms&quot;];</span>
+<span id="cb322-31"><a href="#cb322-31" aria-hidden="true"></a>}</span>
+<span id="cb322-32"><a href="#cb322-32" aria-hidden="true"></a>```</span>
+<span id="cb322-33"><a href="#cb322-33" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb322-34"><a href="#cb322-34" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb323"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb323-1"><a href="#cb323-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain a drawing of a directed graph similar to Figure 1 from the following conference article:</p>
<blockquote>
<p>NOVOTNÝ, Vít, Petr SOJKA, Michal ŠTEFÁNIK and Dávid LUPTÁK. Three is Better than One: Ensembling Math Information Retrieval Systems. <em>CEUR Workshop Proceedings</em>. Thessaloniki, Greece: M. Jeusfeld c/o Redaktion Sun SITE, Informatik V, RWTH Aachen., 2020, vol. 2020, No 2696, p. 1-30. ISSN 1613-0073. <a href="http://ceur-ws.org/Vol-2696/paper_235.pdf" class="uri">http://ceur-ws.org/Vol-2696/paper_235.pdf</a></p>
</blockquote>
<dl>
<dt><strong><code>witiko/graphicx/http</code></strong></dt>
-<dd><p>A theme that adds support for downloading images whose URL has the http or https protocol. The theme requires the <strong><code>catchfile</code></strong> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package and a Unix-like operating system with GNU Coreutils <code>md5sum</code> and either GNU Wget or cURL installed. The theme also requires shell access unless the <code>\markdownOptionFrozenCache</code> plain <span class="tex">T<sub>e</sub>X</span> option is enabled.</p>
+<dd><p>A theme that adds support for downloading images whose URL has the http or https protocol. The theme requires the <strong><code>catchfile</code></strong> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> package and a Unix-like operating system with GNU Coreutils <code>md5sum</code> and either GNU Wget or cURL installed. The theme also requires shell access unless the plain <span class="tex">T<sub>e</sub>X</span> option is enabled.</p>
</dd>
</dl>
-<h5 id="latex-example-30" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb311"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb311-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb311-2" data-line-number="2"><span class="bu">\usepackage</span>[theme=witiko/graphicx/http]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb311-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb311-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb311-5" data-line-number="5">![img](https://github.com/witiko/markdown/raw/master/banner.png</a>
-<a class="sourceLine" id="cb311-6" data-line-number="6"> &quot;The banner of the Markdown package&quot;)</a>
-<a class="sourceLine" id="cb311-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb311-8" data-line-number="8"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb312"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb312-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-32"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb324"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb324-1"><a href="#cb324-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb324-2"><a href="#cb324-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[theme=witiko/graphicx/http]{<span class="ex">markdown</span>}</span>
+<span id="cb324-3"><a href="#cb324-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb324-4"><a href="#cb324-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb324-5"><a href="#cb324-5" aria-hidden="true"></a>![img](https://github.com/witiko/markdown/raw/main/markdown.png</span>
+<span id="cb324-6"><a href="#cb324-6" aria-hidden="true"></a> &quot;The banner of the Markdown package&quot;)</span>
+<span id="cb324-7"><a href="#cb324-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb324-8"><a href="#cb324-8" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb325"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb325-1"><a href="#cb325-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following image:</p>
<blockquote>
<figure>
-<img src="https://github.com/witiko/markdown/raw/master/banner.png" title="The banner of the Markdown package" alt="img" /><figcaption>img</figcaption>
+<img src="https://github.com/witiko/markdown/raw/main/markdown.png" title="The banner of the Markdown package" alt="" /><figcaption>img</figcaption>
</figure>
</blockquote>
<dl>
@@ -3729,293 +3907,341 @@ multiple paragraphs</li>
<dd><p>A theme that makes tilde (<code>~</code>) always typeset the non-breaking space even when the <strong><code>hybrid</code></strong> Lua option is <code>false</code>.</p>
</dd>
</dl>
-<h5 id="latex-example-31" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-33"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb313"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb313-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb313-2" data-line-number="2"><span class="bu">\usepackage</span>[theme=witiko/tilde]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb313-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb313-4" data-line-number="4"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb313-5" data-line-number="5">Bartel~Leendert van~der~Waerden</a>
-<a class="sourceLine" id="cb313-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb313-7" data-line-number="7"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb326"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb326-1"><a href="#cb326-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb326-2"><a href="#cb326-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[theme=witiko/tilde]{<span class="ex">markdown</span>}</span>
+<span id="cb326-3"><a href="#cb326-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb326-4"><a href="#cb326-4" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb326-5"><a href="#cb326-5" aria-hidden="true"></a>Bartel~Leendert van~der~Waerden</span>
+<span id="cb326-6"><a href="#cb326-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb326-7"><a href="#cb326-7" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb314"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb314-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb327"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb327-1"><a href="#cb327-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p>
<blockquote>
<p>Bartel·Leendert van·der·Waerden</p>
</blockquote>
-<h4 id="latex-setup-snippets"><span class="header-section-number">2.2.3.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> setup snippets</h4>
+<h4 data-number="2.2.3.3" id="latex-setup-snippets"><span class="header-section-number">2.2.3.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> setup snippets</h4>
<p>User-contributed <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes provide global control over high-level goals. However, it is often desirable to change only some local aspects of a document. <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> setup snippets provide syntactic sugar for defining and invoking various options locally.</p>
<p>Here is how we can use setup snippets to store options and invoke them later:</p>
-<div class="sourceCode" id="cb315"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb315-1" data-line-number="1"><span class="fu">\markdownSetupSnippet</span>{romanNumerals}{</a>
-<a class="sourceLine" id="cb315-2" data-line-number="2"> renderers = {</a>
-<a class="sourceLine" id="cb315-3" data-line-number="3"> olItemWithNumber = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb315-4" data-line-number="4"> <span class="fu">\item</span>[<span class="fu">\romannumeral</span>#1<span class="fu">\relax</span>.]<span class="co">%</span></a>
-<a class="sourceLine" id="cb315-5" data-line-number="5"> },</a>
-<a class="sourceLine" id="cb315-6" data-line-number="6"> },</a>
-<a class="sourceLine" id="cb315-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb315-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb315-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb315-10" data-line-number="10">The following ordered list will be preceded by arabic numerals:</a>
-<a class="sourceLine" id="cb315-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb315-12" data-line-number="12">1. wahid</a>
-<a class="sourceLine" id="cb315-13" data-line-number="13">2. aithnayn</a>
-<a class="sourceLine" id="cb315-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb315-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb315-16" data-line-number="16"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{snippet=romanNumerals}</a>
-<a class="sourceLine" id="cb315-17" data-line-number="17"></a>
-<a class="sourceLine" id="cb315-18" data-line-number="18">The following ordered list will be preceded by roman numerals:</a>
-<a class="sourceLine" id="cb315-19" data-line-number="19"></a>
-<a class="sourceLine" id="cb315-20" data-line-number="20">3. tres</a>
-<a class="sourceLine" id="cb315-21" data-line-number="21">4. quattuor</a>
-<a class="sourceLine" id="cb315-22" data-line-number="22"></a>
-<a class="sourceLine" id="cb315-23" data-line-number="23"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a></code></pre></div>
-<h2 id="markdown-tokens"><span class="header-section-number">2.3</span> Markdown Tokens</h2>
+<div class="sourceCode" id="cb328"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb328-1"><a href="#cb328-1" aria-hidden="true"></a><span class="fu">\markdownSetupSnippet</span>{romanNumerals}{</span>
+<span id="cb328-2"><a href="#cb328-2" aria-hidden="true"></a> renderers = {</span>
+<span id="cb328-3"><a href="#cb328-3" aria-hidden="true"></a> olItemWithNumber = {<span class="co">%</span></span>
+<span id="cb328-4"><a href="#cb328-4" aria-hidden="true"></a> <span class="fu">\item</span>[<span class="fu">\romannumeral</span>#1<span class="fu">\relax</span>.]<span class="co">%</span></span>
+<span id="cb328-5"><a href="#cb328-5" aria-hidden="true"></a> },</span>
+<span id="cb328-6"><a href="#cb328-6" aria-hidden="true"></a> },</span>
+<span id="cb328-7"><a href="#cb328-7" aria-hidden="true"></a>}</span>
+<span id="cb328-8"><a href="#cb328-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb328-9"><a href="#cb328-9" aria-hidden="true"></a></span>
+<span id="cb328-10"><a href="#cb328-10" aria-hidden="true"></a>The following ordered list will be preceded by arabic numerals:</span>
+<span id="cb328-11"><a href="#cb328-11" aria-hidden="true"></a></span>
+<span id="cb328-12"><a href="#cb328-12" aria-hidden="true"></a>1. wahid</span>
+<span id="cb328-13"><a href="#cb328-13" aria-hidden="true"></a>2. aithnayn</span>
+<span id="cb328-14"><a href="#cb328-14" aria-hidden="true"></a></span>
+<span id="cb328-15"><a href="#cb328-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb328-16"><a href="#cb328-16" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{snippet=romanNumerals}</span>
+<span id="cb328-17"><a href="#cb328-17" aria-hidden="true"></a></span>
+<span id="cb328-18"><a href="#cb328-18" aria-hidden="true"></a>The following ordered list will be preceded by roman numerals:</span>
+<span id="cb328-19"><a href="#cb328-19" aria-hidden="true"></a></span>
+<span id="cb328-20"><a href="#cb328-20" aria-hidden="true"></a>3. tres</span>
+<span id="cb328-21"><a href="#cb328-21" aria-hidden="true"></a>4. quattuor</span>
+<span id="cb328-22"><a href="#cb328-22" aria-hidden="true"></a></span>
+<span id="cb328-23"><a href="#cb328-23" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span></code></pre></div>
+<h2 data-number="2.3" id="markdown-tokens"><span class="header-section-number">2.3</span> Markdown Tokens</h2>
<p>A key feature of the Markdown package is the support for manipulating markdown tokens, such as headings, emphasized text, links, and lists, in <span class="tex">T<sub>e</sub>X</span>. Instead of reducing <span class="tex">T<sub>e</sub>X</span> to a PDF document producer, the Markdown package allows the user to specify how every markdown token should be processed and rendered.</p>
-<h3 id="token-renderers"><span class="header-section-number">2.3.1</span> Token Renderers</h3>
+<h3 data-number="2.3.1" id="token-renderers"><span class="header-section-number">2.3.1</span> Token Renderers</h3>
<p>Token renderers are user-defined <span class="tex">T<sub>e</sub>X</span> macros, which render markdown tokens. In this section, I will describe the individual token renderers.</p>
-<h4 id="interblock-separator-renderer"><span class="header-section-number">2.3.1.1</span> Interblock Separator Renderer</h4>
-<p>The <code>\markdownRendererInterblockSeparator</code> macro represents a separator between two markdown block elements. The macro receives no arguments.</p>
-<h5 id="plain-tex-example-16" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h4 data-number="2.3.1.1" id="tickbox-renderers"><span class="header-section-number">2.3.1.1</span> Tickbox Renderers</h4>
+<p>The macros named <code>\markdownRendererTickedBox</code>, <code>\markdownRendererHalfTickedBox</code>, and <code>\markdownRendererUntickedBox</code> represent ticked and unticked boxes, respectively. These macros will either be produced, when the <strong><code>taskLists</code></strong> option is enabled, or when the Ballot Box with X (☒, U+2612), Hourglass (⌛, U+231B) or Ballot Box (☐, U+2610) Unicode characters are encountered in the markdown input, respectively.</p>
+<h5 class="unnumbered" data-number="" id="latex-example-34"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb329"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb329-1"><a href="#cb329-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb329-2"><a href="#cb329-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[taskLists]{<span class="ex">markdown</span>}</span>
+<span id="cb329-3"><a href="#cb329-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb329-4"><a href="#cb329-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb329-5"><a href="#cb329-5" aria-hidden="true"></a> untickedBox = No,</span>
+<span id="cb329-6"><a href="#cb329-6" aria-hidden="true"></a> tickedBox = Yes,</span>
+<span id="cb329-7"><a href="#cb329-7" aria-hidden="true"></a> },</span>
+<span id="cb329-8"><a href="#cb329-8" aria-hidden="true"></a>}</span>
+<span id="cb329-9"><a href="#cb329-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb329-10"><a href="#cb329-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb329-11"><a href="#cb329-11" aria-hidden="true"></a>- [ ] you can&#39;t.</span>
+<span id="cb329-12"><a href="#cb329-12" aria-hidden="true"></a>- [x] I can!</span>
+<span id="cb329-13"><a href="#cb329-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb329-14"><a href="#cb329-14" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb330"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb330-1"><a href="#cb330-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<ul>
+<li>No you can’t.</li>
+<li>Yes I can!</li>
+</ul>
+</blockquote>
+<h5 class="unnumbered" data-number="" id="context-example-28">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb316"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb316-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb316-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb316-3" data-line-number="3"> \par</a>
-<a class="sourceLine" id="cb316-4" data-line-number="4"> {\it(The end of a block)}<span class="co">%</span></a>
-<a class="sourceLine" id="cb316-5" data-line-number="5"> \par</a>
-<a class="sourceLine" id="cb316-6" data-line-number="6">}</a>
-<a class="sourceLine" id="cb316-7" data-line-number="7"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb316-8" data-line-number="8">Hello *world*!</a>
-<a class="sourceLine" id="cb316-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb316-10" data-line-number="10">_Foo_ bar!</a>
-<a class="sourceLine" id="cb316-11" data-line-number="11"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb316-12" data-line-number="12"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb331"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb331-1"><a href="#cb331-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb331-2"><a href="#cb331-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTaskLists</span>{true}</span>
+<span id="cb331-3"><a href="#cb331-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererUntickedBox</span>{No}</span>
+<span id="cb331-4"><a href="#cb331-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererTickedBox</span>{Yes}</span>
+<span id="cb331-5"><a href="#cb331-5" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb331-6"><a href="#cb331-6" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb331-7"><a href="#cb331-7" aria-hidden="true"></a>- [ ] you can&#39;t.</span>
+<span id="cb331-8"><a href="#cb331-8" aria-hidden="true"></a>- [x] I can!</span>
+<span id="cb331-9"><a href="#cb331-9" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb331-10"><a href="#cb331-10" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb317"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb317-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb332"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb332-1"><a href="#cb332-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<ul>
+<li>No you can’t.</li>
+<li>Yes I can!</li>
+</ul>
+</blockquote>
+<h4 data-number="2.3.1.2" id="interblock-separator-renderer"><span class="header-section-number">2.3.1.2</span> Interblock Separator Renderer</h4>
+<p>The <code>\markdownRendererInterblockSeparator</code> macro represents a separator between two markdown block elements. The macro receives no arguments.</p>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-17">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb333"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb333-1"><a href="#cb333-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb333-2"><a href="#cb333-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb333-3"><a href="#cb333-3" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb333-4"><a href="#cb333-4" aria-hidden="true"></a> {<span class="fu">\it</span>(The end of a block)}<span class="co">%</span></span>
+<span id="cb333-5"><a href="#cb333-5" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb333-6"><a href="#cb333-6" aria-hidden="true"></a>}</span>
+<span id="cb333-7"><a href="#cb333-7" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb333-8"><a href="#cb333-8" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb333-9"><a href="#cb333-9" aria-hidden="true"></a></span>
+<span id="cb333-10"><a href="#cb333-10" aria-hidden="true"></a>_Foo_ bar!</span>
+<span id="cb333-11"><a href="#cb333-11" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb333-12"><a href="#cb333-12" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb334"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb334-1"><a href="#cb334-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Hello <em>world</em>!</p>
<p><em>(The end of a block)</em></p>
<p><em>Foo</em> bar!</p>
</blockquote>
-<h5 id="latex-example-32" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb318"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb318-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb318-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb318-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb318-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb318-5" data-line-number="5"> interblockSeparator = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb318-6" data-line-number="6"> <span class="fu">\par</span></a>
-<a class="sourceLine" id="cb318-7" data-line-number="7"> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></a>
-<a class="sourceLine" id="cb318-8" data-line-number="8"> <span class="fu">\par</span></a>
-<a class="sourceLine" id="cb318-9" data-line-number="9"> },</a>
-<a class="sourceLine" id="cb318-10" data-line-number="10"> },</a>
-<a class="sourceLine" id="cb318-11" data-line-number="11">}</a>
-<a class="sourceLine" id="cb318-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb318-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb318-14" data-line-number="14">Hello *world*!</a>
-<a class="sourceLine" id="cb318-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb318-16" data-line-number="16">_Foo_ bar!</a>
-<a class="sourceLine" id="cb318-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb318-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb319"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb319-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-35"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb335"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb335-1"><a href="#cb335-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb335-2"><a href="#cb335-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb335-3"><a href="#cb335-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb335-4"><a href="#cb335-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb335-5"><a href="#cb335-5" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span>
+<span id="cb335-6"><a href="#cb335-6" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb335-7"><a href="#cb335-7" aria-hidden="true"></a> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></span>
+<span id="cb335-8"><a href="#cb335-8" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb335-9"><a href="#cb335-9" aria-hidden="true"></a> },</span>
+<span id="cb335-10"><a href="#cb335-10" aria-hidden="true"></a> },</span>
+<span id="cb335-11"><a href="#cb335-11" aria-hidden="true"></a>}</span>
+<span id="cb335-12"><a href="#cb335-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb335-13"><a href="#cb335-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb335-14"><a href="#cb335-14" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb335-15"><a href="#cb335-15" aria-hidden="true"></a></span>
+<span id="cb335-16"><a href="#cb335-16" aria-hidden="true"></a>_Foo_ bar!</span>
+<span id="cb335-17"><a href="#cb335-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb335-18"><a href="#cb335-18" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb336"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb336-1"><a href="#cb336-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Hello <em>world</em>!</p>
<p><em>(The end of a block)</em></p>
<p><em>Foo</em> bar!</p>
</blockquote>
-<h5 id="context-example-26" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb320"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb320-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb320-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb320-3" data-line-number="3"> \par</a>
-<a class="sourceLine" id="cb320-4" data-line-number="4"> \emph{(The end of a block)}<span class="co">%</span></a>
-<a class="sourceLine" id="cb320-5" data-line-number="5"> \par</a>
-<a class="sourceLine" id="cb320-6" data-line-number="6">}</a>
-<a class="sourceLine" id="cb320-7" data-line-number="7"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb320-8" data-line-number="8"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb320-9" data-line-number="9">Hello *world*!</a>
-<a class="sourceLine" id="cb320-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb320-11" data-line-number="11">_Foo_ bar!</a>
-<a class="sourceLine" id="cb320-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb320-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb321"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb321-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-29">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb337"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb337-1"><a href="#cb337-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb337-2"><a href="#cb337-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb337-3"><a href="#cb337-3" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb337-4"><a href="#cb337-4" aria-hidden="true"></a> <span class="fu">\emph</span>{(The end of a block)}<span class="co">%</span></span>
+<span id="cb337-5"><a href="#cb337-5" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb337-6"><a href="#cb337-6" aria-hidden="true"></a>}</span>
+<span id="cb337-7"><a href="#cb337-7" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb337-8"><a href="#cb337-8" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb337-9"><a href="#cb337-9" aria-hidden="true"></a>Hello *world*!</span>
+<span id="cb337-10"><a href="#cb337-10" aria-hidden="true"></a></span>
+<span id="cb337-11"><a href="#cb337-11" aria-hidden="true"></a>_Foo_ bar!</span>
+<span id="cb337-12"><a href="#cb337-12" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb337-13"><a href="#cb337-13" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb338"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb338-1"><a href="#cb338-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Hello <em>world</em>!</p>
<p><em>(The end of a block)</em></p>
<p><em>Foo</em> bar!</p>
</blockquote>
-<h4 id="line-break-renderer"><span class="header-section-number">2.3.1.2</span> Line Break Renderer</h4>
+<h4 data-number="2.3.1.3" id="line-break-renderer"><span class="header-section-number">2.3.1.3</span> Line Break Renderer</h4>
<p>The <code>\markdownRendererLineBreak</code> macro represents a forced line break. The macro receives no arguments.</p>
-<h5 id="plain-tex-example-17" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb322"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb322-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb322-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLineBreak{<span class="co">%</span></a>
-<a class="sourceLine" id="cb322-3" data-line-number="3"> \par</a>
-<a class="sourceLine" id="cb322-4" data-line-number="4"> {\it(A forced linebreak)}<span class="co">%</span></a>
-<a class="sourceLine" id="cb322-5" data-line-number="5"> \par</a>
-<a class="sourceLine" id="cb322-6" data-line-number="6">}</a>
-<a class="sourceLine" id="cb322-7" data-line-number="7"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb322-8" data-line-number="8"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-18">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb339"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb339-1"><a href="#cb339-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb339-2"><a href="#cb339-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererLineBreak</span>{<span class="co">%</span></span>
+<span id="cb339-3"><a href="#cb339-3" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb339-4"><a href="#cb339-4" aria-hidden="true"></a> {<span class="fu">\it</span>(A forced linebreak)}<span class="co">%</span></span>
+<span id="cb339-5"><a href="#cb339-5" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb339-6"><a href="#cb339-6" aria-hidden="true"></a>}</span>
+<span id="cb339-7"><a href="#cb339-7" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb339-8"><a href="#cb339-8" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p>
<pre><code>Hello world! <br/>_Foo_ bar!</code></pre>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb323"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb323-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb340"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb340-1"><a href="#cb340-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Hello <em>world</em>!</p>
<p><em>(A forced linebreak)</em></p>
<p><em>Foo</em> bar!</p>
</blockquote>
-<h5 id="latex-example-33" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb324"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb324-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb324-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb324-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb324-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb324-5" data-line-number="5"> lineBreak = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb324-6" data-line-number="6"> <span class="fu">\par</span></a>
-<a class="sourceLine" id="cb324-7" data-line-number="7"> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></a>
-<a class="sourceLine" id="cb324-8" data-line-number="8"> <span class="fu">\par</span></a>
-<a class="sourceLine" id="cb324-9" data-line-number="9"> },</a>
-<a class="sourceLine" id="cb324-10" data-line-number="10"> },</a>
-<a class="sourceLine" id="cb324-11" data-line-number="11">}</a>
-<a class="sourceLine" id="cb324-12" data-line-number="12"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb324-13" data-line-number="13"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb324-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-36"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb341"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb341-1"><a href="#cb341-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb341-2"><a href="#cb341-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb341-3"><a href="#cb341-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb341-4"><a href="#cb341-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb341-5"><a href="#cb341-5" aria-hidden="true"></a> lineBreak = {<span class="co">%</span></span>
+<span id="cb341-6"><a href="#cb341-6" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb341-7"><a href="#cb341-7" aria-hidden="true"></a> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></span>
+<span id="cb341-8"><a href="#cb341-8" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb341-9"><a href="#cb341-9" aria-hidden="true"></a> },</span>
+<span id="cb341-10"><a href="#cb341-10" aria-hidden="true"></a> },</span>
+<span id="cb341-11"><a href="#cb341-11" aria-hidden="true"></a>}</span>
+<span id="cb341-12"><a href="#cb341-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb341-13"><a href="#cb341-13" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb341-14"><a href="#cb341-14" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p>
<pre><code>Hello world! <br/>_Foo_ bar!</code></pre>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb325"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb325-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb342"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb342-1"><a href="#cb342-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Hello <em>world</em>!</p>
<p><em>(A forced linebreak)</em></p>
<p><em>Foo</em> bar!</p>
</blockquote>
-<h5 id="context-example-27" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb326"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb326-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb326-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLineBreak{<span class="co">%</span></a>
-<a class="sourceLine" id="cb326-3" data-line-number="3"> \par</a>
-<a class="sourceLine" id="cb326-4" data-line-number="4"> \emph{(A forced linebreak)}<span class="co">%</span></a>
-<a class="sourceLine" id="cb326-5" data-line-number="5"> \par</a>
-<a class="sourceLine" id="cb326-6" data-line-number="6">}</a>
-<a class="sourceLine" id="cb326-7" data-line-number="7"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb326-8" data-line-number="8"><span class="fu">\markdownInput</span>{example.md}</a>
-<a class="sourceLine" id="cb326-9" data-line-number="9"><span class="fu">\stoptext</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-30">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb343"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb343-1"><a href="#cb343-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb343-2"><a href="#cb343-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererLineBreak</span>{<span class="co">%</span></span>
+<span id="cb343-3"><a href="#cb343-3" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb343-4"><a href="#cb343-4" aria-hidden="true"></a> <span class="fu">\emph</span>{(A forced linebreak)}<span class="co">%</span></span>
+<span id="cb343-5"><a href="#cb343-5" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb343-6"><a href="#cb343-6" aria-hidden="true"></a>}</span>
+<span id="cb343-7"><a href="#cb343-7" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb343-8"><a href="#cb343-8" aria-hidden="true"></a><span class="fu">\markdownInput</span>{example.md}</span>
+<span id="cb343-9"><a href="#cb343-9" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Using a text editor, create a text document named <code>example.md</code> with the following content. Note the two spaces at the end of the first line, which specify a hard linebreak. Due to the limitations of the <span class="tex">T<sub>e</sub>X</span> input processor, hard linebreaks would be ignored if we typed them directly into the <code>document.tex</code> document.</p>
<pre><code>Hello world! <br/>_Foo_ bar!</code></pre>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb327"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb327-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb344"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb344-1"><a href="#cb344-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Hello <em>world</em>!</p>
<p><em>(A forced linebreak)</em></p>
<p><em>Foo</em> bar!</p>
</blockquote>
-<h4 id="ellipsis-renderer"><span class="header-section-number">2.3.1.3</span> Ellipsis Renderer</h4>
+<h4 data-number="2.3.1.4" id="ellipsis-renderer"><span class="header-section-number">2.3.1.4</span> Ellipsis Renderer</h4>
<p>The <code>\markdownRendererEllipsis</code> macro replaces any occurance of ASCII ellipses in the input text. This macro will only be produced, when the <strong><code>smartEllipses</code></strong> option is enabled. The macro receives no arguments.</p>
-<h5 id="plain-tex-example-18" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-19">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb328"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb328-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb328-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a>
-<a class="sourceLine" id="cb328-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererEllipsis{{\it SHAZAM}!}</a>
-<a class="sourceLine" id="cb328-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb328-5" data-line-number="5">The secret word is ...</a>
-<a class="sourceLine" id="cb328-6" data-line-number="6"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb328-7" data-line-number="7"><span class="fu">\bye</span></a></code></pre></div>
+<div class="sourceCode" id="cb345"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb345-1"><a href="#cb345-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb345-2"><a href="#cb345-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span>
+<span id="cb345-3"><a href="#cb345-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{{<span class="fu">\it</span> SHAZAM}!}</span>
+<span id="cb345-4"><a href="#cb345-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb345-5"><a href="#cb345-5" aria-hidden="true"></a>The secret word is ...</span>
+<span id="cb345-6"><a href="#cb345-6" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb345-7"><a href="#cb345-7" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb329"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb329-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb346"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb346-1"><a href="#cb346-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>The secret word is <em>SHAZAM</em>!</p>
</blockquote>
-<h5 id="latex-example-34" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb330"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb330-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb330-2" data-line-number="2"><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb330-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb330-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb330-5" data-line-number="5"> ellipsis = <span class="fu">\emph</span>{SHAZAM}!,</a>
-<a class="sourceLine" id="cb330-6" data-line-number="6"> },</a>
-<a class="sourceLine" id="cb330-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb330-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb330-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb330-10" data-line-number="10">The secret word is ...</a>
-<a class="sourceLine" id="cb330-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb330-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb331"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb331-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-37"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb347"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb347-1"><a href="#cb347-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb347-2"><a href="#cb347-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</span>
+<span id="cb347-3"><a href="#cb347-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb347-4"><a href="#cb347-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb347-5"><a href="#cb347-5" aria-hidden="true"></a> ellipsis = <span class="fu">\emph</span>{SHAZAM}!,</span>
+<span id="cb347-6"><a href="#cb347-6" aria-hidden="true"></a> },</span>
+<span id="cb347-7"><a href="#cb347-7" aria-hidden="true"></a>}</span>
+<span id="cb347-8"><a href="#cb347-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb347-9"><a href="#cb347-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb347-10"><a href="#cb347-10" aria-hidden="true"></a>The secret word is ...</span>
+<span id="cb347-11"><a href="#cb347-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb347-12"><a href="#cb347-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb348"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb348-1"><a href="#cb348-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>The secret word is <em>SHAZAM</em>!</p>
</blockquote>
-<h5 id="context-example-28" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-31">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb332"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb332-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb332-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionSmartEllipses{true}</a>
-<a class="sourceLine" id="cb332-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererEllipsis{\emph{SHAZAM}!}</a>
-<a class="sourceLine" id="cb332-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb332-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb332-6" data-line-number="6">The secret word is ...</a>
-<a class="sourceLine" id="cb332-7" data-line-number="7"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb332-8" data-line-number="8"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb349"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb349-1"><a href="#cb349-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb349-2"><a href="#cb349-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionSmartEllipses</span>{true}</span>
+<span id="cb349-3"><a href="#cb349-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererEllipsis</span>{<span class="fu">\emph</span>{SHAZAM}!}</span>
+<span id="cb349-4"><a href="#cb349-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb349-5"><a href="#cb349-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb349-6"><a href="#cb349-6" aria-hidden="true"></a>The secret word is ...</span>
+<span id="cb349-7"><a href="#cb349-7" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb349-8"><a href="#cb349-8" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb333"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb333-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb350"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb350-1"><a href="#cb350-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Hello <em>world</em>!</p>
<p><em>(The end of a block)</em></p>
<p><em>Foo</em> bar!</p>
</blockquote>
-<h4 id="non-breaking-space-renderer"><span class="header-section-number">2.3.1.4</span> Non-Breaking Space Renderer</h4>
+<h4 data-number="2.3.1.5" id="non-breaking-space-renderer"><span class="header-section-number">2.3.1.5</span> Non-Breaking Space Renderer</h4>
<p>The <code>\markdownRendererNbsp</code> macro represents a non-breaking space.</p>
-<h5 id="latex-example-35" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-38"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.bib</code> with the following content:</p>
-<div class="sourceCode" id="cb334"><pre class="sourceCode bib"><code class="sourceCode bibtex"><a class="sourceLine" id="cb334-1" data-line-number="1"><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</a>
-<a class="sourceLine" id="cb334-2" data-line-number="2"> <span class="dt">author</span> = &quot;<span class="st">Knuth, Donald Ervin</span>&quot;,</a>
-<a class="sourceLine" id="cb334-3" data-line-number="3"> <span class="dt">title</span> = &quot;<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>&quot;,</a>
-<a class="sourceLine" id="cb334-4" data-line-number="4"> <span class="dt">publisher</span> = &quot;<span class="st">Addison-Wesley</span>&quot;,</a>
-<a class="sourceLine" id="cb334-5" data-line-number="5"> <span class="dt">year</span> = &quot;<span class="st">1984</span>&quot;</a>
-<a class="sourceLine" id="cb334-6" data-line-number="6">}</a></code></pre></div>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb335"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb335-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb335-2" data-line-number="2"><span class="bu">\usepackage</span>[</a>
-<a class="sourceLine" id="cb335-3" data-line-number="3"> citations,</a>
-<a class="sourceLine" id="cb335-4" data-line-number="4"> citationNbsps,</a>
-<a class="sourceLine" id="cb335-5" data-line-number="5">]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb335-6" data-line-number="6"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb335-7" data-line-number="7"> renderers = {</a>
-<a class="sourceLine" id="cb335-8" data-line-number="8"> nbsp = {<span class="ss">$</span><span class="sc">\cdot</span><span class="ss">$</span>},</a>
-<a class="sourceLine" id="cb335-9" data-line-number="9"> },</a>
-<a class="sourceLine" id="cb335-10" data-line-number="10">}</a>
-<a class="sourceLine" id="cb335-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb335-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb335-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb335-14" data-line-number="14">The TeXbook [@knuth:tex, p. 123 and 130] is good.</a>
-<a class="sourceLine" id="cb335-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb335-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb335-17" data-line-number="17"><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</a>
-<a class="sourceLine" id="cb335-18" data-line-number="18"><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</a>
-<a class="sourceLine" id="cb335-19" data-line-number="19"></a>
-<a class="sourceLine" id="cb335-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
+<div class="sourceCode" id="cb351"><pre class="sourceCode bib"><code class="sourceCode bibtex"><span id="cb351-1"><a href="#cb351-1" aria-hidden="true"></a><span class="va">@book</span>{<span class="ot">knuth:tex</span>,</span>
+<span id="cb351-2"><a href="#cb351-2" aria-hidden="true"></a> <span class="dt">author</span> = &quot;<span class="st">Knuth, Donald Ervin</span>&quot;,</span>
+<span id="cb351-3"><a href="#cb351-3" aria-hidden="true"></a> <span class="dt">title</span> = &quot;<span class="st">The </span><span class="ch">\TeX</span><span class="st"> book, volume A of Computers and typesetting</span>&quot;,</span>
+<span id="cb351-4"><a href="#cb351-4" aria-hidden="true"></a> <span class="dt">publisher</span> = &quot;<span class="st">Addison-Wesley</span>&quot;,</span>
+<span id="cb351-5"><a href="#cb351-5" aria-hidden="true"></a> <span class="dt">year</span> = &quot;<span class="st">1984</span>&quot;</span>
+<span id="cb351-6"><a href="#cb351-6" aria-hidden="true"></a>}</span></code></pre></div>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb352"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb352-1"><a href="#cb352-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb352-2"><a href="#cb352-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[</span>
+<span id="cb352-3"><a href="#cb352-3" aria-hidden="true"></a> citations,</span>
+<span id="cb352-4"><a href="#cb352-4" aria-hidden="true"></a> citationNbsps,</span>
+<span id="cb352-5"><a href="#cb352-5" aria-hidden="true"></a>]{<span class="ex">markdown</span>}</span>
+<span id="cb352-6"><a href="#cb352-6" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb352-7"><a href="#cb352-7" aria-hidden="true"></a> renderers = {</span>
+<span id="cb352-8"><a href="#cb352-8" aria-hidden="true"></a> nbsp = {<span class="ss">$</span><span class="sc">\cdot</span><span class="ss">$</span>},</span>
+<span id="cb352-9"><a href="#cb352-9" aria-hidden="true"></a> },</span>
+<span id="cb352-10"><a href="#cb352-10" aria-hidden="true"></a>}</span>
+<span id="cb352-11"><a href="#cb352-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb352-12"><a href="#cb352-12" aria-hidden="true"></a></span>
+<span id="cb352-13"><a href="#cb352-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb352-14"><a href="#cb352-14" aria-hidden="true"></a>The TeXbook [@knuth:tex, p. 123 and 130] is good.</span>
+<span id="cb352-15"><a href="#cb352-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb352-16"><a href="#cb352-16" aria-hidden="true"></a></span>
+<span id="cb352-17"><a href="#cb352-17" aria-hidden="true"></a><span class="bu">\bibliographystyle</span>{<span class="ex">plain</span>}</span>
+<span id="cb352-18"><a href="#cb352-18" aria-hidden="true"></a><span class="bu">\bibliography</span>{<span class="ex">document.bib</span>}</span>
+<span id="cb352-19"><a href="#cb352-19" aria-hidden="true"></a></span>
+<span id="cb352-20"><a href="#cb352-20" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
<p>Next, invoke LuaTeX and BibTeX from the terminal:</p>
-<div class="sourceCode" id="cb336"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb336-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a>
-<a class="sourceLine" id="cb336-2" data-line-number="2"><span class="ex">bibtex</span> document.aux</a>
-<a class="sourceLine" id="cb336-3" data-line-number="3"><span class="ex">lualatex</span> document.tex</a>
-<a class="sourceLine" id="cb336-4" data-line-number="4"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb353"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb353-1"><a href="#cb353-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span>
+<span id="cb353-2"><a href="#cb353-2" aria-hidden="true"></a><span class="ex">bibtex</span> document.aux</span>
+<span id="cb353-3"><a href="#cb353-3" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span>
+<span id="cb353-4"><a href="#cb353-4" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>The TeXbook [1, p.·123·and·130] is good.</p>
<h3 id="references-2">References</h3>
<p>[1] Donald Ervin Knuth. <em>The TeXbook, volume A of Computers and typesetting.</em> Addison-Wesley, 1984.</p>
</blockquote>
-<h4 id="special-character-renderers"><span class="header-section-number">2.3.1.5</span> Special Character Renderers</h4>
+<h4 data-number="2.3.1.6" id="special-character-renderers"><span class="header-section-number">2.3.1.6</span> Special Character Renderers</h4>
<p>The following macros replace any special plain <span class="tex">T<sub>e</sub>X</span> characters, including the active pipe character (<code>|</code>) of Con<span class="tex">T<sub>e</sub>X</span>t, in the input text:</p>
<ul>
<li><code>\markdownRendererAmpersand</code> replaces the ampersand (<code>&amp;</code>).</li>
@@ -4030,405 +4256,405 @@ multiple paragraphs</li>
<li><code>\markdownRendererTilde</code> replaces the tilde (<code>~</code>).</li>
<li><code>\markdownRendererUnderscore</code> replaces the underscore (<code>_</code>).</li>
</ul>
-<h5 id="plain-tex-example-19" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-20">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content. We will make the tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p>
-<div class="sourceCode" id="cb337"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb337-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb337-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTilde{~}</a>
-<a class="sourceLine" id="cb337-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb337-4" data-line-number="4">Bartel~Leendert van~der~Waerden</a>
-<a class="sourceLine" id="cb337-5" data-line-number="5"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb337-6" data-line-number="6"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb338"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb338-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb354"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb354-1"><a href="#cb354-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb354-2"><a href="#cb354-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererTilde</span>{~}</span>
+<span id="cb354-3"><a href="#cb354-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb354-4"><a href="#cb354-4" aria-hidden="true"></a>Bartel~Leendert van~der~Waerden</span>
+<span id="cb354-5"><a href="#cb354-5" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb354-6"><a href="#cb354-6" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb355"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb355-1"><a href="#cb355-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p>
<blockquote>
<p>Bartel·Leendert van·der·Waerden</p>
</blockquote>
-<h5 id="latex-example-36" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<h5 class="unnumbered" data-number="" id="latex-example-39"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content. We will make the tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p>
-<div class="sourceCode" id="cb339"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb339-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb339-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb339-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb339-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb339-5" data-line-number="5"> tilde = ~,</a>
-<a class="sourceLine" id="cb339-6" data-line-number="6"> },</a>
-<a class="sourceLine" id="cb339-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb339-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb339-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb339-10" data-line-number="10">Bartel~Leendert van~der~Waerden</a>
-<a class="sourceLine" id="cb339-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb339-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb340"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb340-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb356"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb356-1"><a href="#cb356-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb356-2"><a href="#cb356-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb356-3"><a href="#cb356-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb356-4"><a href="#cb356-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb356-5"><a href="#cb356-5" aria-hidden="true"></a> tilde = ~,</span>
+<span id="cb356-6"><a href="#cb356-6" aria-hidden="true"></a> },</span>
+<span id="cb356-7"><a href="#cb356-7" aria-hidden="true"></a>}</span>
+<span id="cb356-8"><a href="#cb356-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb356-9"><a href="#cb356-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb356-10"><a href="#cb356-10" aria-hidden="true"></a>Bartel~Leendert van~der~Waerden</span>
+<span id="cb356-11"><a href="#cb356-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb356-12"><a href="#cb356-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb357"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb357-1"><a href="#cb357-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p>
<blockquote>
<p>Bartel·Leendert van·der·Waerden</p>
</blockquote>
-<h5 id="context-example-29" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-32">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content. We will make the tilde behave as if it were written in <span class="tex">T<sub>e</sub>X</span>, where it represents a non-breaking space.</p>
-<div class="sourceCode" id="cb341"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb341-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb341-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTilde{~}</a>
-<a class="sourceLine" id="cb341-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb341-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb341-5" data-line-number="5">Bartel~Leendert van~der~Waerden</a>
-<a class="sourceLine" id="cb341-6" data-line-number="6"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb341-7" data-line-number="7"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb342"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb342-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb358"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb358-1"><a href="#cb358-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb358-2"><a href="#cb358-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererTilde</span>{~}</span>
+<span id="cb358-3"><a href="#cb358-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb358-4"><a href="#cb358-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb358-5"><a href="#cb358-5" aria-hidden="true"></a>Bartel~Leendert van~der~Waerden</span>
+<span id="cb358-6"><a href="#cb358-6" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb358-7"><a href="#cb358-7" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb359"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb359-1"><a href="#cb359-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text, where the middot (<code>·</code>) denotes a non-breaking space:</p>
<blockquote>
<p>Bartel·Leendert van·der·Waerden</p>
</blockquote>
-<h4 id="code-span-renderer"><span class="header-section-number">2.3.1.6</span> Code Span Renderer</h4>
+<h4 data-number="2.3.1.7" id="code-span-renderer"><span class="header-section-number">2.3.1.7</span> Code Span Renderer</h4>
<p>The <code>\markdownRendererCodeSpan</code> macro represents inlined code span in the input text. It receives a single argument that corresponds to the inlined code span.</p>
-<h5 id="plain-tex-example-20" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb343"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb343-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb343-2" data-line-number="2"><span class="fu">\input</span> lmfonts</a>
-<a class="sourceLine" id="cb343-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb343-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererCodeSpan#1{#1}</a>
-<a class="sourceLine" id="cb343-5" data-line-number="5"></a>
-<a class="sourceLine" id="cb343-6" data-line-number="6"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb343-7" data-line-number="7">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a>
-<a class="sourceLine" id="cb343-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb343-9" data-line-number="9"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a>
-<a class="sourceLine" id="cb343-10" data-line-number="10"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb343-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb343-12" data-line-number="12"><span class="fu">\def</span>\markdownOptionHybrid{true}</a>
-<a class="sourceLine" id="cb343-13" data-line-number="13"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb343-14" data-line-number="14"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a>
-<a class="sourceLine" id="cb343-15" data-line-number="15"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb343-16" data-line-number="16"></a>
-<a class="sourceLine" id="cb343-17" data-line-number="17"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb344"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb344-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-21">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb360"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb360-1"><a href="#cb360-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb360-2"><a href="#cb360-2" aria-hidden="true"></a><span class="fu">\input</span> lmfonts</span>
+<span id="cb360-3"><a href="#cb360-3" aria-hidden="true"></a></span>
+<span id="cb360-4"><a href="#cb360-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererCodeSpan</span>#1{#1}</span>
+<span id="cb360-5"><a href="#cb360-5" aria-hidden="true"></a></span>
+<span id="cb360-6"><a href="#cb360-6" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb360-7"><a href="#cb360-7" aria-hidden="true"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span>
+<span id="cb360-8"><a href="#cb360-8" aria-hidden="true"></a></span>
+<span id="cb360-9"><a href="#cb360-9" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span>
+<span id="cb360-10"><a href="#cb360-10" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb360-11"><a href="#cb360-11" aria-hidden="true"></a></span>
+<span id="cb360-12"><a href="#cb360-12" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span>
+<span id="cb360-13"><a href="#cb360-13" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb360-14"><a href="#cb360-14" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span>
+<span id="cb360-15"><a href="#cb360-15" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb360-16"><a href="#cb360-16" aria-hidden="true"></a></span>
+<span id="cb360-17"><a href="#cb360-17" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb361"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb361-1"><a href="#cb361-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt{-1}$ *equals* $i$.</p>
<p>$\sqrt{-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
-<h5 id="latex-example-37" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb345"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb345-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb345-2" data-line-number="2"><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb345-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb345-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb345-5" data-line-number="5"> codeSpan = {#1},</a>
-<a class="sourceLine" id="cb345-6" data-line-number="6"> },</a>
-<a class="sourceLine" id="cb345-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb345-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb345-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb345-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb345-11" data-line-number="11">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a>
-<a class="sourceLine" id="cb345-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb345-13" data-line-number="13"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a>
-<a class="sourceLine" id="cb345-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb345-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb345-16" data-line-number="16"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</a>
-<a class="sourceLine" id="cb345-17" data-line-number="17"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a>
-<a class="sourceLine" id="cb345-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb345-19" data-line-number="19"></a>
-<a class="sourceLine" id="cb345-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb346"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb346-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-40"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb362"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb362-1"><a href="#cb362-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb362-2"><a href="#cb362-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[smartEllipses]{<span class="ex">markdown</span>}</span>
+<span id="cb362-3"><a href="#cb362-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb362-4"><a href="#cb362-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb362-5"><a href="#cb362-5" aria-hidden="true"></a> codeSpan = {#1},</span>
+<span id="cb362-6"><a href="#cb362-6" aria-hidden="true"></a> },</span>
+<span id="cb362-7"><a href="#cb362-7" aria-hidden="true"></a>}</span>
+<span id="cb362-8"><a href="#cb362-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb362-9"><a href="#cb362-9" aria-hidden="true"></a></span>
+<span id="cb362-10"><a href="#cb362-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb362-11"><a href="#cb362-11" aria-hidden="true"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span>
+<span id="cb362-12"><a href="#cb362-12" aria-hidden="true"></a></span>
+<span id="cb362-13"><a href="#cb362-13" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span>
+<span id="cb362-14"><a href="#cb362-14" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb362-15"><a href="#cb362-15" aria-hidden="true"></a></span>
+<span id="cb362-16"><a href="#cb362-16" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{hybrid}</span>
+<span id="cb362-17"><a href="#cb362-17" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span>
+<span id="cb362-18"><a href="#cb362-18" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb362-19"><a href="#cb362-19" aria-hidden="true"></a></span>
+<span id="cb362-20"><a href="#cb362-20" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb363"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb363-1"><a href="#cb363-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt{-1}$ *equals* $i$.</p>
<p>$\sqrt{-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
-<h5 id="context-example-30" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb347"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb347-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb347-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererCodeSpan#1{#1}</a>
-<a class="sourceLine" id="cb347-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb347-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb347-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb347-6" data-line-number="6">`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</a>
-<a class="sourceLine" id="cb347-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb347-8" data-line-number="8"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a>
-<a class="sourceLine" id="cb347-9" data-line-number="9"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb347-10" data-line-number="10"></a>
-<a class="sourceLine" id="cb347-11" data-line-number="11"><span class="fu">\def</span>\markdownOptionHybrid{true}</a>
-<a class="sourceLine" id="cb347-12" data-line-number="12"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb347-13" data-line-number="13"><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></a>
-<a class="sourceLine" id="cb347-14" data-line-number="14"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb347-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb347-16" data-line-number="16"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb348"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb348-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-33">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb364"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb364-1"><a href="#cb364-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb364-2"><a href="#cb364-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererCodeSpan</span>#1{#1}</span>
+<span id="cb364-3"><a href="#cb364-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb364-4"><a href="#cb364-4" aria-hidden="true"></a></span>
+<span id="cb364-5"><a href="#cb364-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb364-6"><a href="#cb364-6" aria-hidden="true"></a>`<span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span>`</span>
+<span id="cb364-7"><a href="#cb364-7" aria-hidden="true"></a></span>
+<span id="cb364-8"><a href="#cb364-8" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span>
+<span id="cb364-9"><a href="#cb364-9" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb364-10"><a href="#cb364-10" aria-hidden="true"></a></span>
+<span id="cb364-11"><a href="#cb364-11" aria-hidden="true"></a><span class="fu">\def\markdownOptionHybrid</span>{true}</span>
+<span id="cb364-12"><a href="#cb364-12" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb364-13"><a href="#cb364-13" aria-hidden="true"></a><span class="ss">$</span><span class="sc">\sqrt</span><span class="ss">{-1}$</span> *equals* <span class="ss">$i$</span></span>
+<span id="cb364-14"><a href="#cb364-14" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb364-15"><a href="#cb364-15" aria-hidden="true"></a></span>
+<span id="cb364-16"><a href="#cb364-16" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb365"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb365-1"><a href="#cb365-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>$\sqrt{-1}$ *equals* $i$.</p>
<p>$\sqrt{-1}$ <em>equals</em> $i$.</p>
<p>√-̅1̅ <em>equals</em> <span class="math inline"><em>i</em></span>.</p>
</blockquote>
-<h4 id="link-renderer"><span class="header-section-number">2.3.1.7</span> Link Renderer</h4>
+<h4 data-number="2.3.1.8" id="link-renderer"><span class="header-section-number">2.3.1.8</span> Link Renderer</h4>
<p>The <code>\markdownRendererLink</code> macro represents a hyperlink. It receives four arguments: the label, the fully escaped <abbr>uri</abbr> that can be directly typeset, the raw <abbr>uri</abbr> that can be used outside typesetting, and the title of the link.</p>
-<h5 id="plain-tex-example-21" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb349"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb349-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb349-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLink#1#2#3#4{<span class="co">%</span></a>
-<a class="sourceLine" id="cb349-3" data-line-number="3"> #1 {\tt#2} titled {\it#4}<span class="co">%</span></a>
-<a class="sourceLine" id="cb349-4" data-line-number="4">}</a>
-<a class="sourceLine" id="cb349-5" data-line-number="5"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb349-6" data-line-number="6">Please visit [the link][ctan].</a>
-<a class="sourceLine" id="cb349-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb349-8" data-line-number="8"> [ctan]: https://ctan.org/</a>
-<a class="sourceLine" id="cb349-9" data-line-number="9"> (the Comprehensive TeX Archive Network)</a>
-<a class="sourceLine" id="cb349-10" data-line-number="10"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb349-11" data-line-number="11"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb350"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb350-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-22">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb366"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb366-1"><a href="#cb366-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb366-2"><a href="#cb366-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererLink</span>#1#2#3#4{<span class="co">%</span></span>
+<span id="cb366-3"><a href="#cb366-3" aria-hidden="true"></a> #1 {<span class="fu">\tt</span>#2} titled {<span class="fu">\it</span>#4}<span class="co">%</span></span>
+<span id="cb366-4"><a href="#cb366-4" aria-hidden="true"></a>}</span>
+<span id="cb366-5"><a href="#cb366-5" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb366-6"><a href="#cb366-6" aria-hidden="true"></a>Please visit [the link][ctan].</span>
+<span id="cb366-7"><a href="#cb366-7" aria-hidden="true"></a></span>
+<span id="cb366-8"><a href="#cb366-8" aria-hidden="true"></a> [ctan]: https://ctan.org/</span>
+<span id="cb366-9"><a href="#cb366-9" aria-hidden="true"></a> (the Comprehensive TeX Archive Network)</span>
+<span id="cb366-10"><a href="#cb366-10" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb366-11"><a href="#cb366-11" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb367"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb367-1"><a href="#cb367-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p>
</blockquote>
-<h5 id="latex-example-38" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb351"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb351-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb351-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb351-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb351-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb351-5" data-line-number="5"> link = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb351-6" data-line-number="6"> #1 <span class="fu">\texttt</span>{#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></a>
-<a class="sourceLine" id="cb351-7" data-line-number="7"> },</a>
-<a class="sourceLine" id="cb351-8" data-line-number="8"> },</a>
-<a class="sourceLine" id="cb351-9" data-line-number="9">}</a>
-<a class="sourceLine" id="cb351-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb351-11" data-line-number="11"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb351-12" data-line-number="12">Please visit [the link][ctan].</a>
-<a class="sourceLine" id="cb351-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb351-14" data-line-number="14"> [ctan]: https://ctan.org/</a>
-<a class="sourceLine" id="cb351-15" data-line-number="15"> (the Comprehensive TeX Archive Network)</a>
-<a class="sourceLine" id="cb351-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb351-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb352"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb352-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-41"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb368"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb368-1"><a href="#cb368-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb368-2"><a href="#cb368-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb368-3"><a href="#cb368-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb368-4"><a href="#cb368-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb368-5"><a href="#cb368-5" aria-hidden="true"></a> link = {<span class="co">%</span></span>
+<span id="cb368-6"><a href="#cb368-6" aria-hidden="true"></a> #1 <span class="fu">\texttt</span>{#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></span>
+<span id="cb368-7"><a href="#cb368-7" aria-hidden="true"></a> },</span>
+<span id="cb368-8"><a href="#cb368-8" aria-hidden="true"></a> },</span>
+<span id="cb368-9"><a href="#cb368-9" aria-hidden="true"></a>}</span>
+<span id="cb368-10"><a href="#cb368-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb368-11"><a href="#cb368-11" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb368-12"><a href="#cb368-12" aria-hidden="true"></a>Please visit [the link][ctan].</span>
+<span id="cb368-13"><a href="#cb368-13" aria-hidden="true"></a></span>
+<span id="cb368-14"><a href="#cb368-14" aria-hidden="true"></a> [ctan]: https://ctan.org/</span>
+<span id="cb368-15"><a href="#cb368-15" aria-hidden="true"></a> (the Comprehensive TeX Archive Network)</span>
+<span id="cb368-16"><a href="#cb368-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb368-17"><a href="#cb368-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb369"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb369-1"><a href="#cb369-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p>
</blockquote>
-<h5 id="context-example-31" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb353"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb353-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb353-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererLink#1#2#3#4{<span class="co">%</span></a>
-<a class="sourceLine" id="cb353-3" data-line-number="3"> #1 {\tt#2} titled \emph{#4}<span class="co">%</span></a>
-<a class="sourceLine" id="cb353-4" data-line-number="4">}</a>
-<a class="sourceLine" id="cb353-5" data-line-number="5"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb353-6" data-line-number="6"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb353-7" data-line-number="7">Please visit [the link][ctan].</a>
-<a class="sourceLine" id="cb353-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb353-9" data-line-number="9"> [ctan]: https://ctan.org/</a>
-<a class="sourceLine" id="cb353-10" data-line-number="10"> (the Comprehensive TeX Archive Network)</a>
-<a class="sourceLine" id="cb353-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb353-12" data-line-number="12"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb354"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb354-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-34">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb370"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb370-1"><a href="#cb370-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb370-2"><a href="#cb370-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererLink</span>#1#2#3#4{<span class="co">%</span></span>
+<span id="cb370-3"><a href="#cb370-3" aria-hidden="true"></a> #1 {<span class="fu">\tt</span>#2} titled <span class="fu">\emph</span>{#4}<span class="co">%</span></span>
+<span id="cb370-4"><a href="#cb370-4" aria-hidden="true"></a>}</span>
+<span id="cb370-5"><a href="#cb370-5" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb370-6"><a href="#cb370-6" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb370-7"><a href="#cb370-7" aria-hidden="true"></a>Please visit [the link][ctan].</span>
+<span id="cb370-8"><a href="#cb370-8" aria-hidden="true"></a></span>
+<span id="cb370-9"><a href="#cb370-9" aria-hidden="true"></a> [ctan]: https://ctan.org/</span>
+<span id="cb370-10"><a href="#cb370-10" aria-hidden="true"></a> (the Comprehensive TeX Archive Network)</span>
+<span id="cb370-11"><a href="#cb370-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb370-12"><a href="#cb370-12" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb371"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb371-1"><a href="#cb371-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Please visit the link <a href="https://ctan.org/" class="uri">https://ctan.org/</a> titled <em>the Comprehensive TeX Archive Network</em>.</p>
</blockquote>
-<h4 id="image-renderer"><span class="header-section-number">2.3.1.8</span> Image Renderer</h4>
+<h4 data-number="2.3.1.9" id="image-renderer"><span class="header-section-number">2.3.1.9</span> Image Renderer</h4>
<p>The <code>\markdownRendererImage</code> macro represents an image. It receives four arguments: the label, the fully escaped <abbr>uri</abbr> that can be directly typeset, the raw <abbr>uri</abbr> that can be used outside typesetting, and the title of the link.</p>
-<h5 id="latex-example-39" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb355"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb355-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb355-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb355-3" data-line-number="3"><span class="fu">\begingroup</span></a>
-<a class="sourceLine" id="cb355-4" data-line-number="4"><span class="fu">\catcode</span>`<span class="fu">\@</span>=11</a>
-<a class="sourceLine" id="cb355-5" data-line-number="5"><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</a>
-<a class="sourceLine" id="cb355-6" data-line-number="6"><span class="fu">\catcode</span>`<span class="fu">\^</span>^A=14</a>
-<a class="sourceLine" id="cb355-7" data-line-number="7"><span class="fu">\global\def</span>\markdownRendererImage#1#2#3#4{^^A</a>
-<a class="sourceLine" id="cb355-8" data-line-number="8"> \immediate\write18{^^A</a></code></pre></div>
-<div class="sourceCode" id="cb356"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb356-1" data-line-number="1"> <span class="kw">if</span> <span class="bu">printf</span> <span class="st">&#39;%s&#39;</span> <span class="st">&quot;#3&quot;</span> <span class="kw">|</span> <span class="fu">grep</span> -q ^http<span class="kw">;</span> <span class="kw">then</span></a>
-<a class="sourceLine" id="cb356-2" data-line-number="2"> <span class="va">OUTPUT=</span><span class="st">&quot;</span><span class="va">$(</span><span class="bu">printf</span> <span class="st">&#39;%s&#39;</span> <span class="st">&quot;#3&quot;</span> <span class="kw">|</span> <span class="ex">md5sum</span> <span class="kw">|</span> <span class="fu">cut</span> -d<span class="st">&#39; &#39;</span> -f1<span class="va">)</span><span class="st">.^^A</span></a>
-<a class="sourceLine" id="cb356-3" data-line-number="3"><span class="st"> </span><span class="va">$(</span><span class="bu">printf</span> <span class="st">&#39;%s&#39;</span> <span class="st">&quot;#3&quot;</span> <span class="kw">|</span> <span class="fu">sed</span> <span class="st">&#39;s/.*[.]//&#39;</span><span class="va">)</span><span class="st">&quot;</span>;</a>
-<a class="sourceLine" id="cb356-4" data-line-number="4"> <span class="kw">if</span> !<span class="bu"> [</span> <span class="ot">-e</span> <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span><span class="bu"> ]</span>; <span class="kw">then</span></a>
-<a class="sourceLine" id="cb356-5" data-line-number="5"> <span class="fu">wget</span> -O <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span> <span class="st">&#39;#3&#39;</span> <span class="kw">||</span> <span class="fu">rm</span> <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span><span class="kw">;</span></a>
-<a class="sourceLine" id="cb356-6" data-line-number="6"> <span class="ex">convert</span> <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span> png:<span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span><span class="kw">;</span></a>
-<a class="sourceLine" id="cb356-7" data-line-number="7"> <span class="kw">fi</span>;</a>
-<a class="sourceLine" id="cb356-8" data-line-number="8"> <span class="bu">printf</span> <span class="st">&#39;%s%%&#39;</span> <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span> <span class="op">&gt;</span> \jobname.fetched<span class="kw">;</span></a>
-<a class="sourceLine" id="cb356-9" data-line-number="9"> <span class="kw">else</span></a>
-<a class="sourceLine" id="cb356-10" data-line-number="10"> <span class="bu">printf</span> <span class="st">&#39;%s%%&#39;</span> <span class="st">&quot;#3&quot;</span> <span class="op">&gt;</span> \jobname.fetched<span class="kw">;</span></a>
-<a class="sourceLine" id="cb356-11" data-line-number="11"> <span class="kw">fi</span>^^<span class="ex">A</span></a></code></pre></div>
-<div class="sourceCode" id="cb357"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb357-1" data-line-number="1"> }^^A</a>
-<a class="sourceLine" id="cb357-2" data-line-number="2"> {^^A</a>
-<a class="sourceLine" id="cb357-3" data-line-number="3"> <span class="fu">\everyeof</span>={<span class="fu">\noexpand</span>}^^A</a>
-<a class="sourceLine" id="cb357-4" data-line-number="4"> <span class="fu">\edef</span>\filename{\@@input&quot;\jobname.fetched&quot; }^^A</a>
-<a class="sourceLine" id="cb357-5" data-line-number="5"> <span class="bu">\includegraphics</span>[width=<span class="fu">\textwidth</span>]{<span class="fu">\filename</span>}^^A</a>
-<a class="sourceLine" id="cb357-6" data-line-number="6"> }^^A</a>
-<a class="sourceLine" id="cb357-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb357-8" data-line-number="8"><span class="fu">\endgroup</span></a>
-<a class="sourceLine" id="cb357-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb357-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb357-11" data-line-number="11">![TUGboat](https://tug.org/tugboat/noword.jpg)</a>
-<a class="sourceLine" id="cb357-12" data-line-number="12"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb357-13" data-line-number="13"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb358"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb358-1" data-line-number="1"><span class="ex">lualatex</span> --shell-escape document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-42"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb372"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb372-1"><a href="#cb372-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb372-2"><a href="#cb372-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb372-3"><a href="#cb372-3" aria-hidden="true"></a><span class="fu">\begingroup</span></span>
+<span id="cb372-4"><a href="#cb372-4" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\@</span>=11</span>
+<span id="cb372-5"><a href="#cb372-5" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\%</span>=12</span>
+<span id="cb372-6"><a href="#cb372-6" aria-hidden="true"></a><span class="fu">\catcode</span>`<span class="fu">\^</span>^A=14</span>
+<span id="cb372-7"><a href="#cb372-7" aria-hidden="true"></a><span class="fu">\global\def\markdownRendererImage</span>#1#2#3#4{^^A</span>
+<span id="cb372-8"><a href="#cb372-8" aria-hidden="true"></a> <span class="fu">\immediate\write</span>18{^^A</span></code></pre></div>
+<div class="sourceCode" id="cb373"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb373-1"><a href="#cb373-1" aria-hidden="true"></a> <span class="kw">if</span> <span class="bu">printf</span> <span class="st">&#39;%s&#39;</span> <span class="st">&quot;#3&quot;</span> <span class="kw">|</span> <span class="fu">grep</span> -q ^http<span class="kw">;</span> <span class="kw">then</span></span>
+<span id="cb373-2"><a href="#cb373-2" aria-hidden="true"></a> <span class="va">OUTPUT=</span><span class="st">&quot;</span><span class="va">$(</span><span class="bu">printf</span> <span class="st">&#39;%s&#39;</span> <span class="st">&quot;#3&quot;</span> <span class="kw">|</span> <span class="ex">md5sum</span> <span class="kw">|</span> <span class="fu">cut</span> -d<span class="st">&#39; &#39;</span> -f1<span class="va">)</span><span class="st">.^^A</span></span>
+<span id="cb373-3"><a href="#cb373-3" aria-hidden="true"></a><span class="st"> </span><span class="va">$(</span><span class="bu">printf</span> <span class="st">&#39;%s&#39;</span> <span class="st">&quot;#3&quot;</span> <span class="kw">|</span> <span class="fu">sed</span> <span class="st">&#39;s/.*[.]//&#39;</span><span class="va">)</span><span class="st">&quot;</span>;</span>
+<span id="cb373-4"><a href="#cb373-4" aria-hidden="true"></a> <span class="kw">if</span> !<span class="bu"> [</span> <span class="ot">-e</span> <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span><span class="bu"> ]</span>; <span class="kw">then</span></span>
+<span id="cb373-5"><a href="#cb373-5" aria-hidden="true"></a> <span class="fu">wget</span> -O <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span> <span class="st">&#39;#3&#39;</span> <span class="kw">||</span> <span class="fu">rm</span> <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span><span class="kw">;</span></span>
+<span id="cb373-6"><a href="#cb373-6" aria-hidden="true"></a> <span class="ex">convert</span> <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span> png:<span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span><span class="kw">;</span></span>
+<span id="cb373-7"><a href="#cb373-7" aria-hidden="true"></a> <span class="kw">fi</span>;</span>
+<span id="cb373-8"><a href="#cb373-8" aria-hidden="true"></a> <span class="bu">printf</span> <span class="st">&#39;%s%%&#39;</span> <span class="st">&quot;</span><span class="va">$OUTPUT</span><span class="st">&quot;</span> <span class="op">&gt;</span> \jobname.fetched<span class="kw">;</span></span>
+<span id="cb373-9"><a href="#cb373-9" aria-hidden="true"></a> <span class="kw">else</span></span>
+<span id="cb373-10"><a href="#cb373-10" aria-hidden="true"></a> <span class="bu">printf</span> <span class="st">&#39;%s%%&#39;</span> <span class="st">&quot;#3&quot;</span> <span class="op">&gt;</span> \jobname.fetched<span class="kw">;</span></span>
+<span id="cb373-11"><a href="#cb373-11" aria-hidden="true"></a> <span class="kw">fi</span>^^<span class="ex">A</span></span></code></pre></div>
+<div class="sourceCode" id="cb374"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb374-1"><a href="#cb374-1" aria-hidden="true"></a> }^^A</span>
+<span id="cb374-2"><a href="#cb374-2" aria-hidden="true"></a> {^^A</span>
+<span id="cb374-3"><a href="#cb374-3" aria-hidden="true"></a> <span class="fu">\everyeof</span>={<span class="fu">\noexpand</span>}^^A</span>
+<span id="cb374-4"><a href="#cb374-4" aria-hidden="true"></a> <span class="fu">\edef\filename</span>{<span class="fu">\_</span>_markdowninput&quot;<span class="fu">\jobname</span>.fetched&quot; }^^A</span>
+<span id="cb374-5"><a href="#cb374-5" aria-hidden="true"></a> <span class="bu">\includegraphics</span>[width=<span class="fu">\textwidth</span>]{<span class="fu">\filename</span>}^^A</span>
+<span id="cb374-6"><a href="#cb374-6" aria-hidden="true"></a> }^^A</span>
+<span id="cb374-7"><a href="#cb374-7" aria-hidden="true"></a>}</span>
+<span id="cb374-8"><a href="#cb374-8" aria-hidden="true"></a><span class="fu">\endgroup</span></span>
+<span id="cb374-9"><a href="#cb374-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb374-10"><a href="#cb374-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb374-11"><a href="#cb374-11" aria-hidden="true"></a>![TUGboat](https://tug.org/tugboat/noword.jpg)</span>
+<span id="cb374-12"><a href="#cb374-12" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb374-13"><a href="#cb374-13" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb375"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb375-1"><a href="#cb375-1" aria-hidden="true"></a><span class="ex">lualatex</span> --shell-escape document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following content. This assumes that you use a Unix-like operating system with Bourne or Bourne again shell as the default shell of the current user. It also assumes that the <code>md5sum</code>, <code>wget</code>, and <code>convert</code> binaries are installed and that the <span class="tex">T<sub>e</sub>X</span> engine has shell access.</p>
<blockquote>
<p><img src="https://tug.org/tugboat/noword.jpg" title="The Communications of the TeX Users Group" /></p>
</blockquote>
-<h4 id="content-block-renderers"><span class="header-section-number">2.3.1.9</span> Content Block Renderers</h4>
+<h4 data-number="2.3.1.10" id="content-block-renderers"><span class="header-section-number">2.3.1.10</span> Content Block Renderers</h4>
<p> The <code>\markdownRendererContentBlock</code> macro represents an iA Writer content block. It receives four arguments: the local file or online image filename extension cast to the lower case, the fully escaped <abbr>uri</abbr> that can be directly typeset, the raw <abbr>uri</abbr> that can be used outside typesetting, and the title of the content block.</p>
-<p>The <code>\markdownRendererContentBlockOnlineImage</code> macro represents an iA Writer online image content block. The macro receives the same arguments as <code>\markdownRendererContentBlock</code>.</p>
+<p>The <code>\markdownRendererContentBlockOnlineImage</code> macro represents an iA Writer online image content block. The macro receives the same arguments as .</p>
<p>The <code>\markdownRendererContentBlockCode</code> macro represents an iA Writer content block that was recognized as a file in a known programming language by its filename extension <span class="math inline"><em>s</em></span>. If any <code>markdown-languages.json</code> file found by <strong><code>kpathsea</code></strong> contains a record <span class="math inline">(<em>k</em>, <em>v</em>)</span>, then a non-online-image content block with the filename extension <span class="math inline"><em>s</em>, <em>s</em></span><code>:lower()</code><span class="math inline"> = <em>k</em></span> is considered to be in a known programming language <span class="math inline"><em>v</em></span>. The macro receives five arguments: the local file name extension <span class="math inline"><em>s</em></span> cast to the lower case, the language <span class="math inline"><em>v</em></span>, the fully escaped <abbr>uri</abbr> that can be directly typeset, the raw <abbr>uri</abbr> that can be used outside typesetting, and the title of the content block.</p>
<p>Note that you will need to place place a <code>markdown-languages.json</code> file inside your working directory or inside your local <span class="tex">T<sub>e</sub>X</span> directory structure. In this file, you will define a mapping between filename extensions and the language names recognized by your favorite syntax highlighter; there may exist other creative uses beside syntax highlighting. <a href="https://github.com/iainc/Markdown-Content-Blocks" title="File transclusion syntax for Markdown">The <code>Languages.json</code> file provided by Anton Sotkov</a> is a good starting point.</p>
-<h5 id="plain-tex-example-22" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb359"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb359-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb359-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionContentBlocks{true}</a>
-<a class="sourceLine" id="cb359-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererContentBlock#1#2#3#4{<span class="co">%</span></a>
-<a class="sourceLine" id="cb359-4" data-line-number="4"> This is {\tt #2}, #4.</a>
-<a class="sourceLine" id="cb359-5" data-line-number="5">}</a>
-<a class="sourceLine" id="cb359-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererContentBlockOnlineImage#1#2#3#4{<span class="co">%</span></a>
-<a class="sourceLine" id="cb359-7" data-line-number="7"> This is the image {\tt #2}, #4.</a>
-<a class="sourceLine" id="cb359-8" data-line-number="8">}</a>
-<a class="sourceLine" id="cb359-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererContentBlockCode#1#2#3#4#5{<span class="co">%</span></a>
-<a class="sourceLine" id="cb359-10" data-line-number="10"> This is the #2 (\uppercase{#1}) document {\tt #3}, #5.</a>
-<a class="sourceLine" id="cb359-11" data-line-number="11">}</a>
-<a class="sourceLine" id="cb359-12" data-line-number="12"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb359-13" data-line-number="13">/document.tex (the document that we are currently typesetting)</a>
-<a class="sourceLine" id="cb359-14" data-line-number="14">/markdown-languages.json (the mapping between filename extensions</a>
-<a class="sourceLine" id="cb359-15" data-line-number="15"> and programming language names)</a>
-<a class="sourceLine" id="cb359-16" data-line-number="16">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a>
-<a class="sourceLine" id="cb359-17" data-line-number="17"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb359-18" data-line-number="18"><span class="fu">\bye</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-23">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb376"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb376-1"><a href="#cb376-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb376-2"><a href="#cb376-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionContentBlocks</span>{true}</span>
+<span id="cb376-3"><a href="#cb376-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlock</span>#1#2#3#4{<span class="co">%</span></span>
+<span id="cb376-4"><a href="#cb376-4" aria-hidden="true"></a> This is {<span class="fu">\tt</span> #2}, #4.</span>
+<span id="cb376-5"><a href="#cb376-5" aria-hidden="true"></a>}</span>
+<span id="cb376-6"><a href="#cb376-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlockOnlineImage</span>#1#2#3#4{<span class="co">%</span></span>
+<span id="cb376-7"><a href="#cb376-7" aria-hidden="true"></a> This is the image {<span class="fu">\tt</span> #2}, #4.</span>
+<span id="cb376-8"><a href="#cb376-8" aria-hidden="true"></a>}</span>
+<span id="cb376-9"><a href="#cb376-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlockCode</span>#1#2#3#4#5{<span class="co">%</span></span>
+<span id="cb376-10"><a href="#cb376-10" aria-hidden="true"></a> This is the #2 (<span class="fu">\uppercase</span>{#1}) document {<span class="fu">\tt</span> #3}, #5.</span>
+<span id="cb376-11"><a href="#cb376-11" aria-hidden="true"></a>}</span>
+<span id="cb376-12"><a href="#cb376-12" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb376-13"><a href="#cb376-13" aria-hidden="true"></a>/document.tex (the document that we are currently typesetting)</span>
+<span id="cb376-14"><a href="#cb376-14" aria-hidden="true"></a>/markdown-languages.json (the mapping between filename extensions</span>
+<span id="cb376-15"><a href="#cb376-15" aria-hidden="true"></a> and programming language names)</span>
+<span id="cb376-16"><a href="#cb376-16" aria-hidden="true"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span>
+<span id="cb376-17"><a href="#cb376-17" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb376-18"><a href="#cb376-18" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
<p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p>
-<div class="sourceCode" id="cb360"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb360-1" data-line-number="1"><span class="op">{</span></a>
-<a class="sourceLine" id="cb360-2" data-line-number="2"> <span class="st">&quot;json&quot;</span><span class="op">:</span> <span class="st">&quot;JavaScript Object Notation&quot;</span><span class="op">,</span></a>
-<a class="sourceLine" id="cb360-3" data-line-number="3"><span class="op">}</span></a></code></pre></div>
+<div class="sourceCode" id="cb377"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb377-1"><a href="#cb377-1" aria-hidden="true"></a>{</span>
+<span id="cb377-2"><a href="#cb377-2" aria-hidden="true"></a> <span class="st">&quot;json&quot;</span><span class="op">:</span> <span class="st">&quot;JavaScript Object Notation&quot;</span><span class="op">,</span></span>
+<span id="cb377-3"><a href="#cb377-3" aria-hidden="true"></a>}</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb361"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb361-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb378"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb378-1"><a href="#cb378-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <code>document.tex</code>, the document that we are currently typesetting.</p>
<p>This is the JavaScript Object Notation (JSON) document <code>markdown-languages.json</code>, the mapping between filename extensions and programming language names.</p>
<p>This is the image <code>https://tug.org/tugboat/noword.jpg</code>, the logotype of TUGboat.</p>
</blockquote>
-<h5 id="latex-example-40" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb362"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb362-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb362-2" data-line-number="2"><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{markdown-languages.json}</a>
-<a class="sourceLine" id="cb362-3" data-line-number="3">{</a>
-<a class="sourceLine" id="cb362-4" data-line-number="4"> &quot;json&quot;: &quot;JavaScript Object Notation&quot;,</a>
-<a class="sourceLine" id="cb362-5" data-line-number="5">}</a>
-<a class="sourceLine" id="cb362-6" data-line-number="6"><span class="kw">\end</span>{<span class="ex">filecontents</span>}</a>
-<a class="sourceLine" id="cb362-7" data-line-number="7"><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb362-8" data-line-number="8"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb362-9" data-line-number="9"> renderers = {</a>
-<a class="sourceLine" id="cb362-10" data-line-number="10"> contentBlock = {This is <span class="fu">\texttt</span>{#2}, #4.},</a>
-<a class="sourceLine" id="cb362-11" data-line-number="11"> contentBlockOnlineImage = {This is the image <span class="fu">\texttt</span>{#2}, #4.},</a>
-<a class="sourceLine" id="cb362-12" data-line-number="12"> contentBlockCode = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb362-13" data-line-number="13"> This is the #2 (<span class="fu">\MakeUppercase</span>{#1}) document <span class="fu">\texttt</span>{#3}, #5.</a>
-<a class="sourceLine" id="cb362-14" data-line-number="14"> },</a>
-<a class="sourceLine" id="cb362-15" data-line-number="15"> },</a>
-<a class="sourceLine" id="cb362-16" data-line-number="16">}</a>
-<a class="sourceLine" id="cb362-17" data-line-number="17"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb362-18" data-line-number="18"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb362-19" data-line-number="19">/document.tex (the document that we are currently typesetting)</a>
-<a class="sourceLine" id="cb362-20" data-line-number="20">/markdown-languages.json (the mapping between filename extensions</a>
-<a class="sourceLine" id="cb362-21" data-line-number="21"> and programming language names)</a>
-<a class="sourceLine" id="cb362-22" data-line-number="22">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a>
-<a class="sourceLine" id="cb362-23" data-line-number="23"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb362-24" data-line-number="24"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb363"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb363-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-43"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb379"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb379-1"><a href="#cb379-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb379-2"><a href="#cb379-2" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">filecontents</span>}[overwrite,nosearch,noheader]{markdown-languages.json}</span>
+<span id="cb379-3"><a href="#cb379-3" aria-hidden="true"></a>{</span>
+<span id="cb379-4"><a href="#cb379-4" aria-hidden="true"></a> &quot;json&quot;: &quot;JavaScript Object Notation&quot;,</span>
+<span id="cb379-5"><a href="#cb379-5" aria-hidden="true"></a>}</span>
+<span id="cb379-6"><a href="#cb379-6" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">filecontents</span>}</span>
+<span id="cb379-7"><a href="#cb379-7" aria-hidden="true"></a><span class="bu">\usepackage</span>[contentBlocks]{<span class="ex">markdown</span>}</span>
+<span id="cb379-8"><a href="#cb379-8" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb379-9"><a href="#cb379-9" aria-hidden="true"></a> renderers = {</span>
+<span id="cb379-10"><a href="#cb379-10" aria-hidden="true"></a> contentBlock = {This is <span class="fu">\texttt</span>{#2}, #4.},</span>
+<span id="cb379-11"><a href="#cb379-11" aria-hidden="true"></a> contentBlockOnlineImage = {This is the image <span class="fu">\texttt</span>{#2}, #4.},</span>
+<span id="cb379-12"><a href="#cb379-12" aria-hidden="true"></a> contentBlockCode = {<span class="co">%</span></span>
+<span id="cb379-13"><a href="#cb379-13" aria-hidden="true"></a> This is the #2 (<span class="fu">\MakeUppercase</span>{#1}) document <span class="fu">\texttt</span>{#3}, #5.</span>
+<span id="cb379-14"><a href="#cb379-14" aria-hidden="true"></a> },</span>
+<span id="cb379-15"><a href="#cb379-15" aria-hidden="true"></a> },</span>
+<span id="cb379-16"><a href="#cb379-16" aria-hidden="true"></a>}</span>
+<span id="cb379-17"><a href="#cb379-17" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb379-18"><a href="#cb379-18" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb379-19"><a href="#cb379-19" aria-hidden="true"></a>/document.tex (the document that we are currently typesetting)</span>
+<span id="cb379-20"><a href="#cb379-20" aria-hidden="true"></a>/markdown-languages.json (the mapping between filename extensions</span>
+<span id="cb379-21"><a href="#cb379-21" aria-hidden="true"></a> and programming language names)</span>
+<span id="cb379-22"><a href="#cb379-22" aria-hidden="true"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span>
+<span id="cb379-23"><a href="#cb379-23" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb379-24"><a href="#cb379-24" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb380"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb380-1"><a href="#cb380-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <code>document.tex</code>, the document that we are currently typesetting.</p>
<p>This is the JavaScript Object Notation (JSON) document <code>markdown-languages.json</code>, the mapping between filename extensions and programming language names.</p>
<p>This is the image <code>https://tug.org/tugboat/noword.jpg</code>, the logotype of TUGboat.</p>
</blockquote>
-<h5 id="context-example-32" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb364"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb364-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb364-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionContentBlocks{true}</a>
-<a class="sourceLine" id="cb364-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererContentBlock#1#2#3#4{<span class="co">%</span></a>
-<a class="sourceLine" id="cb364-4" data-line-number="4"> This is {\tt #2}, #4.</a>
-<a class="sourceLine" id="cb364-5" data-line-number="5">}</a>
-<a class="sourceLine" id="cb364-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererContentBlockOnlineImage#1#2#3#4{<span class="co">%</span></a>
-<a class="sourceLine" id="cb364-7" data-line-number="7"> This is the image {\tt #2}, #4.</a>
-<a class="sourceLine" id="cb364-8" data-line-number="8">}</a>
-<a class="sourceLine" id="cb364-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererContentBlockCode#1#2#3#4#5{<span class="co">%</span></a>
-<a class="sourceLine" id="cb364-10" data-line-number="10"> This is the #2 (\uppercase{#1}) document {\tt #3}, #5.</a>
-<a class="sourceLine" id="cb364-11" data-line-number="11">}</a>
-<a class="sourceLine" id="cb364-12" data-line-number="12"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb364-13" data-line-number="13"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb364-14" data-line-number="14">/document.tex (the document that we are currently typesetting)</a>
-<a class="sourceLine" id="cb364-15" data-line-number="15">/markdown-languages.json (the mapping between filename extensions</a>
-<a class="sourceLine" id="cb364-16" data-line-number="16"> and programming language names)</a>
-<a class="sourceLine" id="cb364-17" data-line-number="17">https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</a>
-<a class="sourceLine" id="cb364-18" data-line-number="18"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb364-19" data-line-number="19"><span class="fu">\stoptext</span></a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-35">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb381"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb381-1"><a href="#cb381-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb381-2"><a href="#cb381-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionContentBlocks</span>{true}</span>
+<span id="cb381-3"><a href="#cb381-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlock</span>#1#2#3#4{<span class="co">%</span></span>
+<span id="cb381-4"><a href="#cb381-4" aria-hidden="true"></a> This is {<span class="fu">\tt</span> #2}, #4.</span>
+<span id="cb381-5"><a href="#cb381-5" aria-hidden="true"></a>}</span>
+<span id="cb381-6"><a href="#cb381-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlockOnlineImage</span>#1#2#3#4{<span class="co">%</span></span>
+<span id="cb381-7"><a href="#cb381-7" aria-hidden="true"></a> This is the image {<span class="fu">\tt</span> #2}, #4.</span>
+<span id="cb381-8"><a href="#cb381-8" aria-hidden="true"></a>}</span>
+<span id="cb381-9"><a href="#cb381-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererContentBlockCode</span>#1#2#3#4#5{<span class="co">%</span></span>
+<span id="cb381-10"><a href="#cb381-10" aria-hidden="true"></a> This is the #2 (<span class="fu">\uppercase</span>{#1}) document {<span class="fu">\tt</span> #3}, #5.</span>
+<span id="cb381-11"><a href="#cb381-11" aria-hidden="true"></a>}</span>
+<span id="cb381-12"><a href="#cb381-12" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb381-13"><a href="#cb381-13" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb381-14"><a href="#cb381-14" aria-hidden="true"></a>/document.tex (the document that we are currently typesetting)</span>
+<span id="cb381-15"><a href="#cb381-15" aria-hidden="true"></a>/markdown-languages.json (the mapping between filename extensions</span>
+<span id="cb381-16"><a href="#cb381-16" aria-hidden="true"></a> and programming language names)</span>
+<span id="cb381-17"><a href="#cb381-17" aria-hidden="true"></a>https://tug.org/tugboat/noword.jpg (the logotype of TUGboat)</span>
+<span id="cb381-18"><a href="#cb381-18" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb381-19"><a href="#cb381-19" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Create also a text document named <code>markdown-languages.json</code> with the following content:</p>
-<div class="sourceCode" id="cb365"><pre class="sourceCode js"><code class="sourceCode javascript"><a class="sourceLine" id="cb365-1" data-line-number="1"><span class="op">{</span></a>
-<a class="sourceLine" id="cb365-2" data-line-number="2"> <span class="st">&quot;json&quot;</span><span class="op">:</span> <span class="st">&quot;JavaScript Object Notation&quot;</span><span class="op">,</span></a>
-<a class="sourceLine" id="cb365-3" data-line-number="3"><span class="op">}</span></a></code></pre></div>
+<div class="sourceCode" id="cb382"><pre class="sourceCode js"><code class="sourceCode javascript"><span id="cb382-1"><a href="#cb382-1" aria-hidden="true"></a>{</span>
+<span id="cb382-2"><a href="#cb382-2" aria-hidden="true"></a> <span class="st">&quot;json&quot;</span><span class="op">:</span> <span class="st">&quot;JavaScript Object Notation&quot;</span><span class="op">,</span></span>
+<span id="cb382-3"><a href="#cb382-3" aria-hidden="true"></a>}</span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb366"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb366-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb383"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb383-1"><a href="#cb383-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <code>document.tex</code>, the document that we are currently typesetting.</p>
<p>This is the JavaScript Object Notation (JSON) document <code>markdown-languages.json</code>, the mapping between filename extensions and programming language names.</p>
<p>This is the image <code>https://tug.org/tugboat/noword.jpg</code>, the logotype of TUGboat.</p>
</blockquote>
-<h4 id="bullet-list-renderers"><span class="header-section-number">2.3.1.10</span> Bullet List Renderers</h4>
+<h4 data-number="2.3.1.11" id="bullet-list-renderers"><span class="header-section-number">2.3.1.11</span> Bullet List Renderers</h4>
<p>The <code>\markdownRendererUlBegin</code> macro represents the beginning of a bulleted list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p>
<p>The <code>\markdownRendererUlBeginTight</code> macro represents the beginning of a bulleted list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p>
<p>The <code>\markdownRendererUlItem</code> macro represents an item in a bulleted list. The macro receives no arguments.</p>
<p>The <code>\markdownRendererUlItemEnd</code> macro represents the end of an item in a bulleted list. The macro receives no arguments.</p>
<p>The <code>\markdownRendererUlEnd</code> macro represents the end of a bulleted list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p>
<p>The <code>\markdownRendererUlEndTight</code> macro represents the end of a bulleted list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p>
-<h5 id="plain-tex-example-23" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb367"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb367-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb367-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a>
-<a class="sourceLine" id="cb367-3" data-line-number="3"></a>
-<a class="sourceLine" id="cb367-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a>
-<a class="sourceLine" id="cb367-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererUlBeginTight{ (}</a>
-<a class="sourceLine" id="cb367-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a>
-<a class="sourceLine" id="cb367-7" data-line-number="7"> \def\markdownRendererUlItem{<span class="co">%</span></a>
-<a class="sourceLine" id="cb367-8" data-line-number="8"> ,</a>
-<a class="sourceLine" id="cb367-9" data-line-number="9"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a>
-<a class="sourceLine" id="cb367-10" data-line-number="10"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb367-11" data-line-number="11">}</a>
-<a class="sourceLine" id="cb367-12" data-line-number="12"><span class="fu">\def</span>\markdownRendererUlItemEnd{}</a>
-<a class="sourceLine" id="cb367-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererUlEndTight{).}</a>
-<a class="sourceLine" id="cb367-14" data-line-number="14"></a>
-<a class="sourceLine" id="cb367-15" data-line-number="15"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb367-16" data-line-number="16">This is a tight list</a>
-<a class="sourceLine" id="cb367-17" data-line-number="17"></a>
-<a class="sourceLine" id="cb367-18" data-line-number="18">- the first item</a>
-<a class="sourceLine" id="cb367-19" data-line-number="19">- the second item</a>
-<a class="sourceLine" id="cb367-20" data-line-number="20">- the third item</a>
-<a class="sourceLine" id="cb367-21" data-line-number="21"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb367-22" data-line-number="22"></a>
-<a class="sourceLine" id="cb367-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb367-24" data-line-number="24"> :\par</a>
-<a class="sourceLine" id="cb367-25" data-line-number="25"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb367-26" data-line-number="26">}</a>
-<a class="sourceLine" id="cb367-27" data-line-number="27"><span class="fu">\def</span>\markdownRendererUlBegin{}</a>
-<a class="sourceLine" id="cb367-28" data-line-number="28"><span class="fu">\def</span>\markdownRendererUlItem{--\kern 0.5em}</a>
-<a class="sourceLine" id="cb367-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererUlItemEnd{.\par}</a>
-<a class="sourceLine" id="cb367-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererUlEnd{}</a>
-<a class="sourceLine" id="cb367-31" data-line-number="31"></a>
-<a class="sourceLine" id="cb367-32" data-line-number="32"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb367-33" data-line-number="33">This is a loose list</a>
-<a class="sourceLine" id="cb367-34" data-line-number="34"></a>
-<a class="sourceLine" id="cb367-35" data-line-number="35">- This is the first item</a>
-<a class="sourceLine" id="cb367-36" data-line-number="36"></a>
-<a class="sourceLine" id="cb367-37" data-line-number="37">- This is the second item</a>
-<a class="sourceLine" id="cb367-38" data-line-number="38"></a>
-<a class="sourceLine" id="cb367-39" data-line-number="39">- This is the third item</a>
-<a class="sourceLine" id="cb367-40" data-line-number="40"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb367-41" data-line-number="41"></a>
-<a class="sourceLine" id="cb367-42" data-line-number="42"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb368"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb368-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-24">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb384"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb384-1"><a href="#cb384-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb384-2"><a href="#cb384-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span>
+<span id="cb384-3"><a href="#cb384-3" aria-hidden="true"></a></span>
+<span id="cb384-4"><a href="#cb384-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span>
+<span id="cb384-5"><a href="#cb384-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlBeginTight</span>{ (}</span>
+<span id="cb384-6"><a href="#cb384-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span>
+<span id="cb384-7"><a href="#cb384-7" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span>
+<span id="cb384-8"><a href="#cb384-8" aria-hidden="true"></a> ,</span>
+<span id="cb384-9"><a href="#cb384-9" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span>
+<span id="cb384-10"><a href="#cb384-10" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb384-11"><a href="#cb384-11" aria-hidden="true"></a>}</span>
+<span id="cb384-12"><a href="#cb384-12" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{}</span>
+<span id="cb384-13"><a href="#cb384-13" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlEndTight</span>{).}</span>
+<span id="cb384-14"><a href="#cb384-14" aria-hidden="true"></a></span>
+<span id="cb384-15"><a href="#cb384-15" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb384-16"><a href="#cb384-16" aria-hidden="true"></a>This is a tight list</span>
+<span id="cb384-17"><a href="#cb384-17" aria-hidden="true"></a></span>
+<span id="cb384-18"><a href="#cb384-18" aria-hidden="true"></a>- the first item</span>
+<span id="cb384-19"><a href="#cb384-19" aria-hidden="true"></a>- the second item</span>
+<span id="cb384-20"><a href="#cb384-20" aria-hidden="true"></a>- the third item</span>
+<span id="cb384-21"><a href="#cb384-21" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb384-22"><a href="#cb384-22" aria-hidden="true"></a></span>
+<span id="cb384-23"><a href="#cb384-23" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb384-24"><a href="#cb384-24" aria-hidden="true"></a> :<span class="fu">\par</span></span>
+<span id="cb384-25"><a href="#cb384-25" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb384-26"><a href="#cb384-26" aria-hidden="true"></a>}</span>
+<span id="cb384-27"><a href="#cb384-27" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlBegin</span>{}</span>
+<span id="cb384-28"><a href="#cb384-28" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItem</span>{--<span class="fu">\kern</span> 0.5em}</span>
+<span id="cb384-29"><a href="#cb384-29" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{.<span class="fu">\par</span>}</span>
+<span id="cb384-30"><a href="#cb384-30" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlEnd</span>{}</span>
+<span id="cb384-31"><a href="#cb384-31" aria-hidden="true"></a></span>
+<span id="cb384-32"><a href="#cb384-32" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb384-33"><a href="#cb384-33" aria-hidden="true"></a>This is a loose list</span>
+<span id="cb384-34"><a href="#cb384-34" aria-hidden="true"></a></span>
+<span id="cb384-35"><a href="#cb384-35" aria-hidden="true"></a>- This is the first item</span>
+<span id="cb384-36"><a href="#cb384-36" aria-hidden="true"></a></span>
+<span id="cb384-37"><a href="#cb384-37" aria-hidden="true"></a>- This is the second item</span>
+<span id="cb384-38"><a href="#cb384-38" aria-hidden="true"></a></span>
+<span id="cb384-39"><a href="#cb384-39" aria-hidden="true"></a>- This is the third item</span>
+<span id="cb384-40"><a href="#cb384-40" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb384-41"><a href="#cb384-41" aria-hidden="true"></a></span>
+<span id="cb384-42"><a href="#cb384-42" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb385"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb385-1"><a href="#cb385-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight list (the first item, the second item, and the third item).</p>
@@ -4439,57 +4665,57 @@ multiple paragraphs</li>
<li><p>This is the third item.</p></li>
</ul>
</blockquote>
-<h5 id="latex-example-41" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb369"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb369-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb369-2" data-line-number="2"><span class="bu">\usepackage</span>[tightLists]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb369-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb369-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb369-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a>
-<a class="sourceLine" id="cb369-6" data-line-number="6"> renderers = {</a>
-<a class="sourceLine" id="cb369-7" data-line-number="7"> interblockSeparator = {},</a>
-<a class="sourceLine" id="cb369-8" data-line-number="8"> ulBeginTight = { (},</a>
-<a class="sourceLine" id="cb369-9" data-line-number="9"> ulItem = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb369-10" data-line-number="10"> <span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a>
-<a class="sourceLine" id="cb369-11" data-line-number="11"> ,</a>
-<a class="sourceLine" id="cb369-12" data-line-number="12"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a>
-<a class="sourceLine" id="cb369-13" data-line-number="13"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb369-14" data-line-number="14"> },</a>
-<a class="sourceLine" id="cb369-15" data-line-number="15"> ulItemEnd = {},</a>
-<a class="sourceLine" id="cb369-16" data-line-number="16"> ulEndTight = {).},</a>
-<a class="sourceLine" id="cb369-17" data-line-number="17"> },</a>
-<a class="sourceLine" id="cb369-18" data-line-number="18">}</a>
-<a class="sourceLine" id="cb369-19" data-line-number="19">This is a tight list</a>
-<a class="sourceLine" id="cb369-20" data-line-number="20"></a>
-<a class="sourceLine" id="cb369-21" data-line-number="21">- the first item</a>
-<a class="sourceLine" id="cb369-22" data-line-number="22">- the second item</a>
-<a class="sourceLine" id="cb369-23" data-line-number="23">- the third item</a>
-<a class="sourceLine" id="cb369-24" data-line-number="24"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb369-25" data-line-number="25"></a>
-<a class="sourceLine" id="cb369-26" data-line-number="26"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a>
-<a class="sourceLine" id="cb369-27" data-line-number="27"> renderers = {</a>
-<a class="sourceLine" id="cb369-28" data-line-number="28"> interblockSeparator = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb369-29" data-line-number="29"> :<span class="fu">\par</span></a>
-<a class="sourceLine" id="cb369-30" data-line-number="30"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb369-31" data-line-number="31"> },</a>
-<a class="sourceLine" id="cb369-32" data-line-number="32"> ulBeginTight = {<span class="kw">\begin</span>{<span class="ex">itemize</span>}},</a>
-<a class="sourceLine" id="cb369-33" data-line-number="33"> ulItem = {<span class="fu">\item</span>},</a>
-<a class="sourceLine" id="cb369-34" data-line-number="34"> ulItemEnd = {.},</a>
-<a class="sourceLine" id="cb369-35" data-line-number="35"> ulEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</a>
-<a class="sourceLine" id="cb369-36" data-line-number="36"> },</a>
-<a class="sourceLine" id="cb369-37" data-line-number="37">}</a>
-<a class="sourceLine" id="cb369-38" data-line-number="38">This is a loose list</a>
-<a class="sourceLine" id="cb369-39" data-line-number="39"></a>
-<a class="sourceLine" id="cb369-40" data-line-number="40">- This is the first item</a>
-<a class="sourceLine" id="cb369-41" data-line-number="41"></a>
-<a class="sourceLine" id="cb369-42" data-line-number="42">- This is the second item</a>
-<a class="sourceLine" id="cb369-43" data-line-number="43"></a>
-<a class="sourceLine" id="cb369-44" data-line-number="44">- This is the third item</a>
-<a class="sourceLine" id="cb369-45" data-line-number="45"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb369-46" data-line-number="46"></a>
-<a class="sourceLine" id="cb369-47" data-line-number="47"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb370"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb370-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-44"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb386"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb386-1"><a href="#cb386-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb386-2"><a href="#cb386-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[tightLists]{<span class="ex">markdown</span>}</span>
+<span id="cb386-3"><a href="#cb386-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb386-4"><a href="#cb386-4" aria-hidden="true"></a></span>
+<span id="cb386-5"><a href="#cb386-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span>
+<span id="cb386-6"><a href="#cb386-6" aria-hidden="true"></a> renderers = {</span>
+<span id="cb386-7"><a href="#cb386-7" aria-hidden="true"></a> interblockSeparator = {},</span>
+<span id="cb386-8"><a href="#cb386-8" aria-hidden="true"></a> ulBeginTight = { (},</span>
+<span id="cb386-9"><a href="#cb386-9" aria-hidden="true"></a> ulItem = {<span class="co">%</span></span>
+<span id="cb386-10"><a href="#cb386-10" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span>
+<span id="cb386-11"><a href="#cb386-11" aria-hidden="true"></a> ,</span>
+<span id="cb386-12"><a href="#cb386-12" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span>
+<span id="cb386-13"><a href="#cb386-13" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb386-14"><a href="#cb386-14" aria-hidden="true"></a> },</span>
+<span id="cb386-15"><a href="#cb386-15" aria-hidden="true"></a> ulItemEnd = {},</span>
+<span id="cb386-16"><a href="#cb386-16" aria-hidden="true"></a> ulEndTight = {).},</span>
+<span id="cb386-17"><a href="#cb386-17" aria-hidden="true"></a> },</span>
+<span id="cb386-18"><a href="#cb386-18" aria-hidden="true"></a>}</span>
+<span id="cb386-19"><a href="#cb386-19" aria-hidden="true"></a>This is a tight list</span>
+<span id="cb386-20"><a href="#cb386-20" aria-hidden="true"></a></span>
+<span id="cb386-21"><a href="#cb386-21" aria-hidden="true"></a>- the first item</span>
+<span id="cb386-22"><a href="#cb386-22" aria-hidden="true"></a>- the second item</span>
+<span id="cb386-23"><a href="#cb386-23" aria-hidden="true"></a>- the third item</span>
+<span id="cb386-24"><a href="#cb386-24" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb386-25"><a href="#cb386-25" aria-hidden="true"></a></span>
+<span id="cb386-26"><a href="#cb386-26" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span>
+<span id="cb386-27"><a href="#cb386-27" aria-hidden="true"></a> renderers = {</span>
+<span id="cb386-28"><a href="#cb386-28" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span>
+<span id="cb386-29"><a href="#cb386-29" aria-hidden="true"></a> :<span class="fu">\par</span></span>
+<span id="cb386-30"><a href="#cb386-30" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb386-31"><a href="#cb386-31" aria-hidden="true"></a> },</span>
+<span id="cb386-32"><a href="#cb386-32" aria-hidden="true"></a> ulBeginTight = {<span class="kw">\begin</span>{<span class="ex">itemize</span>}},</span>
+<span id="cb386-33"><a href="#cb386-33" aria-hidden="true"></a> ulItem = {<span class="fu">\item</span>},</span>
+<span id="cb386-34"><a href="#cb386-34" aria-hidden="true"></a> ulItemEnd = {.},</span>
+<span id="cb386-35"><a href="#cb386-35" aria-hidden="true"></a> ulEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</span>
+<span id="cb386-36"><a href="#cb386-36" aria-hidden="true"></a> },</span>
+<span id="cb386-37"><a href="#cb386-37" aria-hidden="true"></a>}</span>
+<span id="cb386-38"><a href="#cb386-38" aria-hidden="true"></a>This is a loose list</span>
+<span id="cb386-39"><a href="#cb386-39" aria-hidden="true"></a></span>
+<span id="cb386-40"><a href="#cb386-40" aria-hidden="true"></a>- This is the first item</span>
+<span id="cb386-41"><a href="#cb386-41" aria-hidden="true"></a></span>
+<span id="cb386-42"><a href="#cb386-42" aria-hidden="true"></a>- This is the second item</span>
+<span id="cb386-43"><a href="#cb386-43" aria-hidden="true"></a></span>
+<span id="cb386-44"><a href="#cb386-44" aria-hidden="true"></a>- This is the third item</span>
+<span id="cb386-45"><a href="#cb386-45" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb386-46"><a href="#cb386-46" aria-hidden="true"></a></span>
+<span id="cb386-47"><a href="#cb386-47" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb387"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb387-1"><a href="#cb387-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight list (the first item, the second item, and the third item).</p>
@@ -4500,53 +4726,53 @@ multiple paragraphs</li>
<li><p>This is the third item.</p></li>
</ul>
</blockquote>
-<h5 id="context-example-33" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb371"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb371-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb371-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a>
-<a class="sourceLine" id="cb371-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb371-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb371-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a>
-<a class="sourceLine" id="cb371-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererUlBeginTight{ (}</a>
-<a class="sourceLine" id="cb371-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererUlItem{<span class="co">%</span></a>
-<a class="sourceLine" id="cb371-8" data-line-number="8"> \def\markdownRendererUlItem{<span class="co">%</span></a>
-<a class="sourceLine" id="cb371-9" data-line-number="9"> ,</a>
-<a class="sourceLine" id="cb371-10" data-line-number="10"> \def\markdownRendererUlItem{, and }<span class="co">%</span></a>
-<a class="sourceLine" id="cb371-11" data-line-number="11"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb371-12" data-line-number="12">}</a>
-<a class="sourceLine" id="cb371-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererUlItemEnd{}</a>
-<a class="sourceLine" id="cb371-14" data-line-number="14"><span class="fu">\def</span>\markdownRendererUlEndTight{).}</a>
-<a class="sourceLine" id="cb371-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb371-16" data-line-number="16"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb371-17" data-line-number="17">This is a tight list</a>
-<a class="sourceLine" id="cb371-18" data-line-number="18"></a>
-<a class="sourceLine" id="cb371-19" data-line-number="19">- the first item</a>
-<a class="sourceLine" id="cb371-20" data-line-number="20">- the second item</a>
-<a class="sourceLine" id="cb371-21" data-line-number="21">- the third item</a>
-<a class="sourceLine" id="cb371-22" data-line-number="22"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb371-23" data-line-number="23"></a>
-<a class="sourceLine" id="cb371-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb371-25" data-line-number="25"> :\par</a>
-<a class="sourceLine" id="cb371-26" data-line-number="26"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb371-27" data-line-number="27">}</a>
-<a class="sourceLine" id="cb371-28" data-line-number="28"><span class="fu">\def</span>\markdownRendererUlBegin{\startitemize}</a>
-<a class="sourceLine" id="cb371-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererUlItem{\item}</a>
-<a class="sourceLine" id="cb371-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererUlItemEnd{.}</a>
-<a class="sourceLine" id="cb371-31" data-line-number="31"><span class="fu">\def</span>\markdownRendererUlEnd{\stopitemize}</a>
-<a class="sourceLine" id="cb371-32" data-line-number="32"></a>
-<a class="sourceLine" id="cb371-33" data-line-number="33"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb371-34" data-line-number="34">This is a loose list</a>
-<a class="sourceLine" id="cb371-35" data-line-number="35"></a>
-<a class="sourceLine" id="cb371-36" data-line-number="36">- This is the first item</a>
-<a class="sourceLine" id="cb371-37" data-line-number="37"></a>
-<a class="sourceLine" id="cb371-38" data-line-number="38">- This is the second item</a>
-<a class="sourceLine" id="cb371-39" data-line-number="39"></a>
-<a class="sourceLine" id="cb371-40" data-line-number="40">- This is the third item</a>
-<a class="sourceLine" id="cb371-41" data-line-number="41"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb371-42" data-line-number="42"></a>
-<a class="sourceLine" id="cb371-43" data-line-number="43"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb372"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb372-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-36">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb388"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb388-1"><a href="#cb388-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb388-2"><a href="#cb388-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span>
+<span id="cb388-3"><a href="#cb388-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb388-4"><a href="#cb388-4" aria-hidden="true"></a></span>
+<span id="cb388-5"><a href="#cb388-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span>
+<span id="cb388-6"><a href="#cb388-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlBeginTight</span>{ (}</span>
+<span id="cb388-7"><a href="#cb388-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span>
+<span id="cb388-8"><a href="#cb388-8" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{<span class="co">%</span></span>
+<span id="cb388-9"><a href="#cb388-9" aria-hidden="true"></a> ,</span>
+<span id="cb388-10"><a href="#cb388-10" aria-hidden="true"></a> <span class="fu">\def\markdownRendererUlItem</span>{, and }<span class="co">%</span></span>
+<span id="cb388-11"><a href="#cb388-11" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb388-12"><a href="#cb388-12" aria-hidden="true"></a>}</span>
+<span id="cb388-13"><a href="#cb388-13" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{}</span>
+<span id="cb388-14"><a href="#cb388-14" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlEndTight</span>{).}</span>
+<span id="cb388-15"><a href="#cb388-15" aria-hidden="true"></a></span>
+<span id="cb388-16"><a href="#cb388-16" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb388-17"><a href="#cb388-17" aria-hidden="true"></a>This is a tight list</span>
+<span id="cb388-18"><a href="#cb388-18" aria-hidden="true"></a></span>
+<span id="cb388-19"><a href="#cb388-19" aria-hidden="true"></a>- the first item</span>
+<span id="cb388-20"><a href="#cb388-20" aria-hidden="true"></a>- the second item</span>
+<span id="cb388-21"><a href="#cb388-21" aria-hidden="true"></a>- the third item</span>
+<span id="cb388-22"><a href="#cb388-22" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb388-23"><a href="#cb388-23" aria-hidden="true"></a></span>
+<span id="cb388-24"><a href="#cb388-24" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb388-25"><a href="#cb388-25" aria-hidden="true"></a> :<span class="fu">\par</span></span>
+<span id="cb388-26"><a href="#cb388-26" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb388-27"><a href="#cb388-27" aria-hidden="true"></a>}</span>
+<span id="cb388-28"><a href="#cb388-28" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlBegin</span>{<span class="fu">\startitemize</span>}</span>
+<span id="cb388-29"><a href="#cb388-29" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItem</span>{<span class="fu">\item</span>}</span>
+<span id="cb388-30"><a href="#cb388-30" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlItemEnd</span>{.}</span>
+<span id="cb388-31"><a href="#cb388-31" aria-hidden="true"></a><span class="fu">\def\markdownRendererUlEnd</span>{<span class="fu">\stopitemize</span>}</span>
+<span id="cb388-32"><a href="#cb388-32" aria-hidden="true"></a></span>
+<span id="cb388-33"><a href="#cb388-33" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb388-34"><a href="#cb388-34" aria-hidden="true"></a>This is a loose list</span>
+<span id="cb388-35"><a href="#cb388-35" aria-hidden="true"></a></span>
+<span id="cb388-36"><a href="#cb388-36" aria-hidden="true"></a>- This is the first item</span>
+<span id="cb388-37"><a href="#cb388-37" aria-hidden="true"></a></span>
+<span id="cb388-38"><a href="#cb388-38" aria-hidden="true"></a>- This is the second item</span>
+<span id="cb388-39"><a href="#cb388-39" aria-hidden="true"></a></span>
+<span id="cb388-40"><a href="#cb388-40" aria-hidden="true"></a>- This is the third item</span>
+<span id="cb388-41"><a href="#cb388-41" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb388-42"><a href="#cb388-42" aria-hidden="true"></a></span>
+<span id="cb388-43"><a href="#cb388-43" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb389"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb389-1"><a href="#cb389-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight list (the first item, the second item, and the third item).</p>
@@ -4557,7 +4783,7 @@ multiple paragraphs</li>
<li><p>This is the third item.</p></li>
</ul>
</blockquote>
-<h4 id="ordered-list-renderers"><span class="header-section-number">2.3.1.11</span> Ordered List Renderers</h4>
+<h4 data-number="2.3.1.12" id="ordered-list-renderers"><span class="header-section-number">2.3.1.12</span> Ordered List Renderers</h4>
<p>The <code>\markdownRendererOlBegin</code> macro represents the beginning of an ordered list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p>
<p>The <code>\markdownRendererOlBeginTight</code> macro represents the beginning of an ordered list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p>
<p>The <code>\markdownRendererOlItem</code> macro represents an item in an ordered list. This macro will only be produced, when the <strong><code>startNumber</code></strong> option is <code>false</code>. The macro receives no arguments.</p>
@@ -4565,70 +4791,70 @@ multiple paragraphs</li>
<p>The <code>\markdownRendererOlItemWithNumber</code> macro represents an item in an ordered list. This macro will only be produced, when the <strong><code>startNumber</code></strong> option is enabled. The macro receives a single numeric argument that corresponds to the item number.</p>
<p>The <code>\markdownRendererOlEnd</code> macro represents the end of an ordered list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p>
<p>The <code>\markdownRendererOlEndTight</code> macro represents the end of an ordered list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p>
-<h5 id="plain-tex-example-24" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb373"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb373-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb373-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a>
-<a class="sourceLine" id="cb373-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionStartNumber{true}</a>
-<a class="sourceLine" id="cb373-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb373-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a>
-<a class="sourceLine" id="cb373-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererOlBeginTight{ (}</a>
-<a class="sourceLine" id="cb373-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb373-8" data-line-number="8"> \ifnum #1=1\relax</a>
-<a class="sourceLine" id="cb373-9" data-line-number="9"> the first</a>
-<a class="sourceLine" id="cb373-10" data-line-number="10"> \else</a>
-<a class="sourceLine" id="cb373-11" data-line-number="11"> \ifnum #1=2\relax</a>
-<a class="sourceLine" id="cb373-12" data-line-number="12"> , the second</a>
-<a class="sourceLine" id="cb373-13" data-line-number="13"> \else</a>
-<a class="sourceLine" id="cb373-14" data-line-number="14"> , and the third</a>
-<a class="sourceLine" id="cb373-15" data-line-number="15"> \fi</a>
-<a class="sourceLine" id="cb373-16" data-line-number="16"> \fi</a>
-<a class="sourceLine" id="cb373-17" data-line-number="17">}</a>
-<a class="sourceLine" id="cb373-18" data-line-number="18"><span class="fu">\def</span>\markdownRendererOlItemEnd{}</a>
-<a class="sourceLine" id="cb373-19" data-line-number="19"><span class="fu">\def</span>\markdownRendererOlEndTight{).}</a>
-<a class="sourceLine" id="cb373-20" data-line-number="20"></a>
-<a class="sourceLine" id="cb373-21" data-line-number="21"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb373-22" data-line-number="22">This is a tight list</a>
-<a class="sourceLine" id="cb373-23" data-line-number="23"></a>
-<a class="sourceLine" id="cb373-24" data-line-number="24">1. item</a>
-<a class="sourceLine" id="cb373-25" data-line-number="25">2. item</a>
-<a class="sourceLine" id="cb373-26" data-line-number="26">3. item</a>
-<a class="sourceLine" id="cb373-27" data-line-number="27"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb373-28" data-line-number="28"></a>
-<a class="sourceLine" id="cb373-29" data-line-number="29"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb373-30" data-line-number="30"> :\par</a>
-<a class="sourceLine" id="cb373-31" data-line-number="31"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb373-32" data-line-number="32">}</a>
-<a class="sourceLine" id="cb373-33" data-line-number="33"><span class="fu">\def</span>\markdownRendererOlBegin{}</a>
-<a class="sourceLine" id="cb373-34" data-line-number="34"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb373-35" data-line-number="35"> #1.\kern 0.5em<span class="co">%</span></a>
-<a class="sourceLine" id="cb373-36" data-line-number="36"> This is the</a>
-<a class="sourceLine" id="cb373-37" data-line-number="37"> \ifnum #1=1\relax</a>
-<a class="sourceLine" id="cb373-38" data-line-number="38"> first</a>
-<a class="sourceLine" id="cb373-39" data-line-number="39"> \else</a>
-<a class="sourceLine" id="cb373-40" data-line-number="40"> \ifnum #1=2\relax</a>
-<a class="sourceLine" id="cb373-41" data-line-number="41"> second</a>
-<a class="sourceLine" id="cb373-42" data-line-number="42"> \else</a>
-<a class="sourceLine" id="cb373-43" data-line-number="43"> third</a>
-<a class="sourceLine" id="cb373-44" data-line-number="44"> \fi</a>
-<a class="sourceLine" id="cb373-45" data-line-number="45"> \fi</a>
-<a class="sourceLine" id="cb373-46" data-line-number="46">}</a>
-<a class="sourceLine" id="cb373-47" data-line-number="47"><span class="fu">\def</span>\markdownRendererOlItemEnd{.\par}</a>
-<a class="sourceLine" id="cb373-48" data-line-number="48"><span class="fu">\def</span>\markdownRendererOlEnd{}</a>
-<a class="sourceLine" id="cb373-49" data-line-number="49"></a>
-<a class="sourceLine" id="cb373-50" data-line-number="50"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb373-51" data-line-number="51">This is a loose list</a>
-<a class="sourceLine" id="cb373-52" data-line-number="52"></a>
-<a class="sourceLine" id="cb373-53" data-line-number="53">1. item</a>
-<a class="sourceLine" id="cb373-54" data-line-number="54"></a>
-<a class="sourceLine" id="cb373-55" data-line-number="55">2. item</a>
-<a class="sourceLine" id="cb373-56" data-line-number="56"></a>
-<a class="sourceLine" id="cb373-57" data-line-number="57">3. item</a>
-<a class="sourceLine" id="cb373-58" data-line-number="58"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb373-59" data-line-number="59"></a>
-<a class="sourceLine" id="cb373-60" data-line-number="60"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb374"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb374-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-25">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb390"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb390-1"><a href="#cb390-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb390-2"><a href="#cb390-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span>
+<span id="cb390-3"><a href="#cb390-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionStartNumber</span>{true}</span>
+<span id="cb390-4"><a href="#cb390-4" aria-hidden="true"></a></span>
+<span id="cb390-5"><a href="#cb390-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span>
+<span id="cb390-6"><a href="#cb390-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlBeginTight</span>{ (}</span>
+<span id="cb390-7"><a href="#cb390-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span>
+<span id="cb390-8"><a href="#cb390-8" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span>
+<span id="cb390-9"><a href="#cb390-9" aria-hidden="true"></a> the first</span>
+<span id="cb390-10"><a href="#cb390-10" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb390-11"><a href="#cb390-11" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span>
+<span id="cb390-12"><a href="#cb390-12" aria-hidden="true"></a> , the second</span>
+<span id="cb390-13"><a href="#cb390-13" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb390-14"><a href="#cb390-14" aria-hidden="true"></a> , and the third</span>
+<span id="cb390-15"><a href="#cb390-15" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb390-16"><a href="#cb390-16" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb390-17"><a href="#cb390-17" aria-hidden="true"></a>}</span>
+<span id="cb390-18"><a href="#cb390-18" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{}</span>
+<span id="cb390-19"><a href="#cb390-19" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlEndTight</span>{).}</span>
+<span id="cb390-20"><a href="#cb390-20" aria-hidden="true"></a></span>
+<span id="cb390-21"><a href="#cb390-21" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb390-22"><a href="#cb390-22" aria-hidden="true"></a>This is a tight list</span>
+<span id="cb390-23"><a href="#cb390-23" aria-hidden="true"></a></span>
+<span id="cb390-24"><a href="#cb390-24" aria-hidden="true"></a>1. item</span>
+<span id="cb390-25"><a href="#cb390-25" aria-hidden="true"></a>2. item</span>
+<span id="cb390-26"><a href="#cb390-26" aria-hidden="true"></a>3. item</span>
+<span id="cb390-27"><a href="#cb390-27" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb390-28"><a href="#cb390-28" aria-hidden="true"></a></span>
+<span id="cb390-29"><a href="#cb390-29" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb390-30"><a href="#cb390-30" aria-hidden="true"></a> :<span class="fu">\par</span></span>
+<span id="cb390-31"><a href="#cb390-31" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb390-32"><a href="#cb390-32" aria-hidden="true"></a>}</span>
+<span id="cb390-33"><a href="#cb390-33" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlBegin</span>{}</span>
+<span id="cb390-34"><a href="#cb390-34" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span>
+<span id="cb390-35"><a href="#cb390-35" aria-hidden="true"></a> #1.<span class="fu">\kern</span> 0.5em<span class="co">%</span></span>
+<span id="cb390-36"><a href="#cb390-36" aria-hidden="true"></a> This is the</span>
+<span id="cb390-37"><a href="#cb390-37" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span>
+<span id="cb390-38"><a href="#cb390-38" aria-hidden="true"></a> first</span>
+<span id="cb390-39"><a href="#cb390-39" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb390-40"><a href="#cb390-40" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span>
+<span id="cb390-41"><a href="#cb390-41" aria-hidden="true"></a> second</span>
+<span id="cb390-42"><a href="#cb390-42" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb390-43"><a href="#cb390-43" aria-hidden="true"></a> third</span>
+<span id="cb390-44"><a href="#cb390-44" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb390-45"><a href="#cb390-45" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb390-46"><a href="#cb390-46" aria-hidden="true"></a>}</span>
+<span id="cb390-47"><a href="#cb390-47" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{.<span class="fu">\par</span>}</span>
+<span id="cb390-48"><a href="#cb390-48" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlEnd</span>{}</span>
+<span id="cb390-49"><a href="#cb390-49" aria-hidden="true"></a></span>
+<span id="cb390-50"><a href="#cb390-50" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb390-51"><a href="#cb390-51" aria-hidden="true"></a>This is a loose list</span>
+<span id="cb390-52"><a href="#cb390-52" aria-hidden="true"></a></span>
+<span id="cb390-53"><a href="#cb390-53" aria-hidden="true"></a>1. item</span>
+<span id="cb390-54"><a href="#cb390-54" aria-hidden="true"></a></span>
+<span id="cb390-55"><a href="#cb390-55" aria-hidden="true"></a>2. item</span>
+<span id="cb390-56"><a href="#cb390-56" aria-hidden="true"></a></span>
+<span id="cb390-57"><a href="#cb390-57" aria-hidden="true"></a>3. item</span>
+<span id="cb390-58"><a href="#cb390-58" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb390-59"><a href="#cb390-59" aria-hidden="true"></a></span>
+<span id="cb390-60"><a href="#cb390-60" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb391"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb391-1"><a href="#cb391-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight list (the first item, the second item, and the third item).</p>
@@ -4639,73 +4865,73 @@ multiple paragraphs</li>
<li><p>This is the third item.</p></li>
</ol>
</blockquote>
-<h5 id="latex-example-42" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb375"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb375-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb375-2" data-line-number="2"><span class="bu">\usepackage</span>[tightLists, startNumber]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb375-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb375-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb375-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a>
-<a class="sourceLine" id="cb375-6" data-line-number="6"> renderers = {</a>
-<a class="sourceLine" id="cb375-7" data-line-number="7"> interblockSeparator = {},</a>
-<a class="sourceLine" id="cb375-8" data-line-number="8"> olBeginTight = { (},</a>
-<a class="sourceLine" id="cb375-9" data-line-number="9"> olItemWithNumber = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb375-10" data-line-number="10"> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></a>
-<a class="sourceLine" id="cb375-11" data-line-number="11"> the first</a>
-<a class="sourceLine" id="cb375-12" data-line-number="12"> <span class="fu">\else</span></a>
-<a class="sourceLine" id="cb375-13" data-line-number="13"> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></a>
-<a class="sourceLine" id="cb375-14" data-line-number="14"> , the second</a>
-<a class="sourceLine" id="cb375-15" data-line-number="15"> <span class="fu">\else</span></a>
-<a class="sourceLine" id="cb375-16" data-line-number="16"> , and the third</a>
-<a class="sourceLine" id="cb375-17" data-line-number="17"> <span class="fu">\fi</span></a>
-<a class="sourceLine" id="cb375-18" data-line-number="18"> <span class="fu">\fi</span></a>
-<a class="sourceLine" id="cb375-19" data-line-number="19"> },</a>
-<a class="sourceLine" id="cb375-20" data-line-number="20"> olItemEnd = {},</a>
-<a class="sourceLine" id="cb375-21" data-line-number="21"> olEndTight = {).},</a>
-<a class="sourceLine" id="cb375-22" data-line-number="22"> },</a>
-<a class="sourceLine" id="cb375-23" data-line-number="23">}</a>
-<a class="sourceLine" id="cb375-24" data-line-number="24">This is a tight list</a>
-<a class="sourceLine" id="cb375-25" data-line-number="25"></a>
-<a class="sourceLine" id="cb375-26" data-line-number="26">1. item</a>
-<a class="sourceLine" id="cb375-27" data-line-number="27">2. item</a>
-<a class="sourceLine" id="cb375-28" data-line-number="28">3. item</a>
-<a class="sourceLine" id="cb375-29" data-line-number="29"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb375-30" data-line-number="30"></a>
-<a class="sourceLine" id="cb375-31" data-line-number="31"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a>
-<a class="sourceLine" id="cb375-32" data-line-number="32"> renderers = {</a>
-<a class="sourceLine" id="cb375-33" data-line-number="33"> interblockSeparator = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb375-34" data-line-number="34"> :<span class="fu">\par</span></a>
-<a class="sourceLine" id="cb375-35" data-line-number="35"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb375-36" data-line-number="36"> },</a>
-<a class="sourceLine" id="cb375-37" data-line-number="37"> olBeginTight = {<span class="kw">\begin</span>{<span class="ex">enumerate</span>}},</a>
-<a class="sourceLine" id="cb375-38" data-line-number="38"> olItemWithNumber = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb375-39" data-line-number="39"> <span class="fu">\item</span> This is the</a>
-<a class="sourceLine" id="cb375-40" data-line-number="40"> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></a>
-<a class="sourceLine" id="cb375-41" data-line-number="41"> first</a>
-<a class="sourceLine" id="cb375-42" data-line-number="42"> <span class="fu">\else</span></a>
-<a class="sourceLine" id="cb375-43" data-line-number="43"> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></a>
-<a class="sourceLine" id="cb375-44" data-line-number="44"> second</a>
-<a class="sourceLine" id="cb375-45" data-line-number="45"> <span class="fu">\else</span></a>
-<a class="sourceLine" id="cb375-46" data-line-number="46"> third</a>
-<a class="sourceLine" id="cb375-47" data-line-number="47"> <span class="fu">\fi</span></a>
-<a class="sourceLine" id="cb375-48" data-line-number="48"> <span class="fu">\fi</span></a>
-<a class="sourceLine" id="cb375-49" data-line-number="49"> },</a>
-<a class="sourceLine" id="cb375-50" data-line-number="50"> olItemEnd = {.},</a>
-<a class="sourceLine" id="cb375-51" data-line-number="51"> olEnd = {<span class="kw">\end</span>{<span class="ex">enumerate</span>}},</a>
-<a class="sourceLine" id="cb375-52" data-line-number="52"> },</a>
-<a class="sourceLine" id="cb375-53" data-line-number="53">}</a>
-<a class="sourceLine" id="cb375-54" data-line-number="54">This is a loose list</a>
-<a class="sourceLine" id="cb375-55" data-line-number="55"></a>
-<a class="sourceLine" id="cb375-56" data-line-number="56">1. item</a>
-<a class="sourceLine" id="cb375-57" data-line-number="57"></a>
-<a class="sourceLine" id="cb375-58" data-line-number="58">2. item</a>
-<a class="sourceLine" id="cb375-59" data-line-number="59"></a>
-<a class="sourceLine" id="cb375-60" data-line-number="60">3. item</a>
-<a class="sourceLine" id="cb375-61" data-line-number="61"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb375-62" data-line-number="62"></a>
-<a class="sourceLine" id="cb375-63" data-line-number="63"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb376"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb376-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-45"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb392"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb392-1"><a href="#cb392-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb392-2"><a href="#cb392-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[tightLists, startNumber]{<span class="ex">markdown</span>}</span>
+<span id="cb392-3"><a href="#cb392-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb392-4"><a href="#cb392-4" aria-hidden="true"></a></span>
+<span id="cb392-5"><a href="#cb392-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span>
+<span id="cb392-6"><a href="#cb392-6" aria-hidden="true"></a> renderers = {</span>
+<span id="cb392-7"><a href="#cb392-7" aria-hidden="true"></a> interblockSeparator = {},</span>
+<span id="cb392-8"><a href="#cb392-8" aria-hidden="true"></a> olBeginTight = { (},</span>
+<span id="cb392-9"><a href="#cb392-9" aria-hidden="true"></a> olItemWithNumber = {<span class="co">%</span></span>
+<span id="cb392-10"><a href="#cb392-10" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span>
+<span id="cb392-11"><a href="#cb392-11" aria-hidden="true"></a> the first</span>
+<span id="cb392-12"><a href="#cb392-12" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb392-13"><a href="#cb392-13" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span>
+<span id="cb392-14"><a href="#cb392-14" aria-hidden="true"></a> , the second</span>
+<span id="cb392-15"><a href="#cb392-15" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb392-16"><a href="#cb392-16" aria-hidden="true"></a> , and the third</span>
+<span id="cb392-17"><a href="#cb392-17" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb392-18"><a href="#cb392-18" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb392-19"><a href="#cb392-19" aria-hidden="true"></a> },</span>
+<span id="cb392-20"><a href="#cb392-20" aria-hidden="true"></a> olItemEnd = {},</span>
+<span id="cb392-21"><a href="#cb392-21" aria-hidden="true"></a> olEndTight = {).},</span>
+<span id="cb392-22"><a href="#cb392-22" aria-hidden="true"></a> },</span>
+<span id="cb392-23"><a href="#cb392-23" aria-hidden="true"></a>}</span>
+<span id="cb392-24"><a href="#cb392-24" aria-hidden="true"></a>This is a tight list</span>
+<span id="cb392-25"><a href="#cb392-25" aria-hidden="true"></a></span>
+<span id="cb392-26"><a href="#cb392-26" aria-hidden="true"></a>1. item</span>
+<span id="cb392-27"><a href="#cb392-27" aria-hidden="true"></a>2. item</span>
+<span id="cb392-28"><a href="#cb392-28" aria-hidden="true"></a>3. item</span>
+<span id="cb392-29"><a href="#cb392-29" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb392-30"><a href="#cb392-30" aria-hidden="true"></a></span>
+<span id="cb392-31"><a href="#cb392-31" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span>
+<span id="cb392-32"><a href="#cb392-32" aria-hidden="true"></a> renderers = {</span>
+<span id="cb392-33"><a href="#cb392-33" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span>
+<span id="cb392-34"><a href="#cb392-34" aria-hidden="true"></a> :<span class="fu">\par</span></span>
+<span id="cb392-35"><a href="#cb392-35" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb392-36"><a href="#cb392-36" aria-hidden="true"></a> },</span>
+<span id="cb392-37"><a href="#cb392-37" aria-hidden="true"></a> olBeginTight = {<span class="kw">\begin</span>{<span class="ex">enumerate</span>}},</span>
+<span id="cb392-38"><a href="#cb392-38" aria-hidden="true"></a> olItemWithNumber = {<span class="co">%</span></span>
+<span id="cb392-39"><a href="#cb392-39" aria-hidden="true"></a> <span class="fu">\item</span> This is the</span>
+<span id="cb392-40"><a href="#cb392-40" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span>
+<span id="cb392-41"><a href="#cb392-41" aria-hidden="true"></a> first</span>
+<span id="cb392-42"><a href="#cb392-42" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb392-43"><a href="#cb392-43" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span>
+<span id="cb392-44"><a href="#cb392-44" aria-hidden="true"></a> second</span>
+<span id="cb392-45"><a href="#cb392-45" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb392-46"><a href="#cb392-46" aria-hidden="true"></a> third</span>
+<span id="cb392-47"><a href="#cb392-47" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb392-48"><a href="#cb392-48" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb392-49"><a href="#cb392-49" aria-hidden="true"></a> },</span>
+<span id="cb392-50"><a href="#cb392-50" aria-hidden="true"></a> olItemEnd = {.},</span>
+<span id="cb392-51"><a href="#cb392-51" aria-hidden="true"></a> olEnd = {<span class="kw">\end</span>{<span class="ex">enumerate</span>}},</span>
+<span id="cb392-52"><a href="#cb392-52" aria-hidden="true"></a> },</span>
+<span id="cb392-53"><a href="#cb392-53" aria-hidden="true"></a>}</span>
+<span id="cb392-54"><a href="#cb392-54" aria-hidden="true"></a>This is a loose list</span>
+<span id="cb392-55"><a href="#cb392-55" aria-hidden="true"></a></span>
+<span id="cb392-56"><a href="#cb392-56" aria-hidden="true"></a>1. item</span>
+<span id="cb392-57"><a href="#cb392-57" aria-hidden="true"></a></span>
+<span id="cb392-58"><a href="#cb392-58" aria-hidden="true"></a>2. item</span>
+<span id="cb392-59"><a href="#cb392-59" aria-hidden="true"></a></span>
+<span id="cb392-60"><a href="#cb392-60" aria-hidden="true"></a>3. item</span>
+<span id="cb392-61"><a href="#cb392-61" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb392-62"><a href="#cb392-62" aria-hidden="true"></a></span>
+<span id="cb392-63"><a href="#cb392-63" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb393"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb393-1"><a href="#cb393-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight list (the first item, the second item, and the third item).</p>
@@ -4716,71 +4942,71 @@ multiple paragraphs</li>
<li><p>This is the third item.</p></li>
</ol>
</blockquote>
-<h5 id="context-example-34" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb377"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb377-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb377-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionTightLists{true}</a>
-<a class="sourceLine" id="cb377-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionStartNumber{true}</a>
-<a class="sourceLine" id="cb377-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb377-5" data-line-number="5"></a>
-<a class="sourceLine" id="cb377-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a>
-<a class="sourceLine" id="cb377-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererOlBeginTight{ (}</a>
-<a class="sourceLine" id="cb377-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb377-9" data-line-number="9"> \ifnum #1=1\relax</a>
-<a class="sourceLine" id="cb377-10" data-line-number="10"> the first</a>
-<a class="sourceLine" id="cb377-11" data-line-number="11"> \else</a>
-<a class="sourceLine" id="cb377-12" data-line-number="12"> \ifnum #1=2\relax</a>
-<a class="sourceLine" id="cb377-13" data-line-number="13"> , the second</a>
-<a class="sourceLine" id="cb377-14" data-line-number="14"> \else</a>
-<a class="sourceLine" id="cb377-15" data-line-number="15"> , and the third</a>
-<a class="sourceLine" id="cb377-16" data-line-number="16"> \fi</a>
-<a class="sourceLine" id="cb377-17" data-line-number="17"> \fi</a>
-<a class="sourceLine" id="cb377-18" data-line-number="18">}</a>
-<a class="sourceLine" id="cb377-19" data-line-number="19"><span class="fu">\def</span>\markdownRendererOlItemEnd{}</a>
-<a class="sourceLine" id="cb377-20" data-line-number="20"><span class="fu">\def</span>\markdownRendererOlEndTight{).}</a>
-<a class="sourceLine" id="cb377-21" data-line-number="21"></a>
-<a class="sourceLine" id="cb377-22" data-line-number="22"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb377-23" data-line-number="23">This is a tight list</a>
-<a class="sourceLine" id="cb377-24" data-line-number="24"></a>
-<a class="sourceLine" id="cb377-25" data-line-number="25">1. item</a>
-<a class="sourceLine" id="cb377-26" data-line-number="26">2. item</a>
-<a class="sourceLine" id="cb377-27" data-line-number="27">3. item</a>
-<a class="sourceLine" id="cb377-28" data-line-number="28"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb377-29" data-line-number="29"></a>
-<a class="sourceLine" id="cb377-30" data-line-number="30"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb377-31" data-line-number="31"> :\par</a>
-<a class="sourceLine" id="cb377-32" data-line-number="32"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb377-33" data-line-number="33">}</a>
-<a class="sourceLine" id="cb377-34" data-line-number="34"><span class="fu">\def</span>\markdownRendererOlBegin{\startitemize}</a>
-<a class="sourceLine" id="cb377-35" data-line-number="35"><span class="fu">\def</span>\markdownRendererOlItemWithNumber#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb377-36" data-line-number="36"> \sym{#1.}</a>
-<a class="sourceLine" id="cb377-37" data-line-number="37"> This is the</a>
-<a class="sourceLine" id="cb377-38" data-line-number="38"> \ifnum #1=1\relax</a>
-<a class="sourceLine" id="cb377-39" data-line-number="39"> first</a>
-<a class="sourceLine" id="cb377-40" data-line-number="40"> \else</a>
-<a class="sourceLine" id="cb377-41" data-line-number="41"> \ifnum #1=2\relax</a>
-<a class="sourceLine" id="cb377-42" data-line-number="42"> second</a>
-<a class="sourceLine" id="cb377-43" data-line-number="43"> \else</a>
-<a class="sourceLine" id="cb377-44" data-line-number="44"> third</a>
-<a class="sourceLine" id="cb377-45" data-line-number="45"> \fi</a>
-<a class="sourceLine" id="cb377-46" data-line-number="46"> \fi</a>
-<a class="sourceLine" id="cb377-47" data-line-number="47">}</a>
-<a class="sourceLine" id="cb377-48" data-line-number="48"><span class="fu">\def</span>\markdownRendererOlItemEnd{.\par}</a>
-<a class="sourceLine" id="cb377-49" data-line-number="49"><span class="fu">\def</span>\markdownRendererOlEnd{\stopitemize}</a>
-<a class="sourceLine" id="cb377-50" data-line-number="50"></a>
-<a class="sourceLine" id="cb377-51" data-line-number="51"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb377-52" data-line-number="52">This is a loose list</a>
-<a class="sourceLine" id="cb377-53" data-line-number="53"></a>
-<a class="sourceLine" id="cb377-54" data-line-number="54">1. item</a>
-<a class="sourceLine" id="cb377-55" data-line-number="55"></a>
-<a class="sourceLine" id="cb377-56" data-line-number="56">2. item</a>
-<a class="sourceLine" id="cb377-57" data-line-number="57"></a>
-<a class="sourceLine" id="cb377-58" data-line-number="58">3. item</a>
-<a class="sourceLine" id="cb377-59" data-line-number="59"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb377-60" data-line-number="60"></a>
-<a class="sourceLine" id="cb377-61" data-line-number="61"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb378"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb378-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-37">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb394"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb394-1"><a href="#cb394-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb394-2"><a href="#cb394-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span>
+<span id="cb394-3"><a href="#cb394-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionStartNumber</span>{true}</span>
+<span id="cb394-4"><a href="#cb394-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb394-5"><a href="#cb394-5" aria-hidden="true"></a></span>
+<span id="cb394-6"><a href="#cb394-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span>
+<span id="cb394-7"><a href="#cb394-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlBeginTight</span>{ (}</span>
+<span id="cb394-8"><a href="#cb394-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span>
+<span id="cb394-9"><a href="#cb394-9" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span>
+<span id="cb394-10"><a href="#cb394-10" aria-hidden="true"></a> the first</span>
+<span id="cb394-11"><a href="#cb394-11" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb394-12"><a href="#cb394-12" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span>
+<span id="cb394-13"><a href="#cb394-13" aria-hidden="true"></a> , the second</span>
+<span id="cb394-14"><a href="#cb394-14" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb394-15"><a href="#cb394-15" aria-hidden="true"></a> , and the third</span>
+<span id="cb394-16"><a href="#cb394-16" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb394-17"><a href="#cb394-17" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb394-18"><a href="#cb394-18" aria-hidden="true"></a>}</span>
+<span id="cb394-19"><a href="#cb394-19" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{}</span>
+<span id="cb394-20"><a href="#cb394-20" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlEndTight</span>{).}</span>
+<span id="cb394-21"><a href="#cb394-21" aria-hidden="true"></a></span>
+<span id="cb394-22"><a href="#cb394-22" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb394-23"><a href="#cb394-23" aria-hidden="true"></a>This is a tight list</span>
+<span id="cb394-24"><a href="#cb394-24" aria-hidden="true"></a></span>
+<span id="cb394-25"><a href="#cb394-25" aria-hidden="true"></a>1. item</span>
+<span id="cb394-26"><a href="#cb394-26" aria-hidden="true"></a>2. item</span>
+<span id="cb394-27"><a href="#cb394-27" aria-hidden="true"></a>3. item</span>
+<span id="cb394-28"><a href="#cb394-28" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb394-29"><a href="#cb394-29" aria-hidden="true"></a></span>
+<span id="cb394-30"><a href="#cb394-30" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb394-31"><a href="#cb394-31" aria-hidden="true"></a> :<span class="fu">\par</span></span>
+<span id="cb394-32"><a href="#cb394-32" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb394-33"><a href="#cb394-33" aria-hidden="true"></a>}</span>
+<span id="cb394-34"><a href="#cb394-34" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlBegin</span>{<span class="fu">\startitemize</span>}</span>
+<span id="cb394-35"><a href="#cb394-35" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemWithNumber</span>#1{<span class="co">%</span></span>
+<span id="cb394-36"><a href="#cb394-36" aria-hidden="true"></a> <span class="fu">\sym</span>{#1.}</span>
+<span id="cb394-37"><a href="#cb394-37" aria-hidden="true"></a> This is the</span>
+<span id="cb394-38"><a href="#cb394-38" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=1<span class="fu">\relax</span></span>
+<span id="cb394-39"><a href="#cb394-39" aria-hidden="true"></a> first</span>
+<span id="cb394-40"><a href="#cb394-40" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb394-41"><a href="#cb394-41" aria-hidden="true"></a> <span class="fu">\ifnum</span> #1=2<span class="fu">\relax</span></span>
+<span id="cb394-42"><a href="#cb394-42" aria-hidden="true"></a> second</span>
+<span id="cb394-43"><a href="#cb394-43" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb394-44"><a href="#cb394-44" aria-hidden="true"></a> third</span>
+<span id="cb394-45"><a href="#cb394-45" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb394-46"><a href="#cb394-46" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb394-47"><a href="#cb394-47" aria-hidden="true"></a>}</span>
+<span id="cb394-48"><a href="#cb394-48" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlItemEnd</span>{.<span class="fu">\par</span>}</span>
+<span id="cb394-49"><a href="#cb394-49" aria-hidden="true"></a><span class="fu">\def\markdownRendererOlEnd</span>{<span class="fu">\stopitemize</span>}</span>
+<span id="cb394-50"><a href="#cb394-50" aria-hidden="true"></a></span>
+<span id="cb394-51"><a href="#cb394-51" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb394-52"><a href="#cb394-52" aria-hidden="true"></a>This is a loose list</span>
+<span id="cb394-53"><a href="#cb394-53" aria-hidden="true"></a></span>
+<span id="cb394-54"><a href="#cb394-54" aria-hidden="true"></a>1. item</span>
+<span id="cb394-55"><a href="#cb394-55" aria-hidden="true"></a></span>
+<span id="cb394-56"><a href="#cb394-56" aria-hidden="true"></a>2. item</span>
+<span id="cb394-57"><a href="#cb394-57" aria-hidden="true"></a></span>
+<span id="cb394-58"><a href="#cb394-58" aria-hidden="true"></a>3. item</span>
+<span id="cb394-59"><a href="#cb394-59" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb394-60"><a href="#cb394-60" aria-hidden="true"></a></span>
+<span id="cb394-61"><a href="#cb394-61" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb395"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb395-1"><a href="#cb395-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight list (the first item, the second item, and the third item).</p>
@@ -4791,7 +5017,7 @@ multiple paragraphs</li>
<li><p>This is the third item.</p></li>
</ol>
</blockquote>
-<h4 id="definition-list-renderers"><span class="header-section-number">2.3.1.12</span> Definition List Renderers</h4>
+<h4 data-number="2.3.1.13" id="definition-list-renderers"><span class="header-section-number">2.3.1.13</span> Definition List Renderers</h4>
<p>The following macros are only produced, when the <strong><code>definitionLists</code></strong> option is enabled.</p>
<p>The <code>\markdownRendererDlBegin</code> macro represents the beginning of a definition list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p>
<p>The <code>\markdownRendererDlBeginTight</code> macro represents the beginning of a definition list that contains an item with several paragraphs of text (the list is not tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p>
@@ -4801,88 +5027,88 @@ multiple paragraphs</li>
<p>The <code>\markdownRendererDlDefinitionEnd</code> macro represents the end of a definition in a definition list. There can be several definitions for a single term.</p>
<p>The <code>\markdownRendererDlEnd</code> macro represents the end of a definition list that contains an item with several paragraphs of text (the list is not tight). The macro receives no arguments.</p>
<p>The <code>\markdownRendererDlEndTight</code> macro represents the end of a definition list that contains no item with several paragraphs of text (the list is tight). This macro will only be produced, when the <strong><code>tightLists</code></strong> option is <code>false</code>. The macro receives no arguments.</p>
-<h5 id="plain-tex-example-25" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb379"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb379-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb379-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionDefinitionLists{true}</a>
-<a class="sourceLine" id="cb379-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionTightLists{true}</a>
-<a class="sourceLine" id="cb379-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb379-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-6" data-line-number="6"> :<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-7" data-line-number="7"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-8" data-line-number="8">}</a>
-<a class="sourceLine" id="cb379-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererDlBeginTight{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-10" data-line-number="10"> \begingroup</a>
-<a class="sourceLine" id="cb379-11" data-line-number="11"> \parindent=0pt</a>
-<a class="sourceLine" id="cb379-12" data-line-number="12">}</a>
-<a class="sourceLine" id="cb379-13" data-line-number="13"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-14" data-line-number="14"> \par{\bf#1}<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-15" data-line-number="15"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-16" data-line-number="16"> ,</a>
-<a class="sourceLine" id="cb379-17" data-line-number="17"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-18" data-line-number="18"> , and</a>
-<a class="sourceLine" id="cb379-19" data-line-number="19"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-20" data-line-number="20"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-21" data-line-number="21"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-22" data-line-number="22">}</a>
-<a class="sourceLine" id="cb379-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a>
-<a class="sourceLine" id="cb379-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererDlDefinitionBegin{\par--\kern 0.5em}</a>
-<a class="sourceLine" id="cb379-25" data-line-number="25"><span class="fu">\def</span>\markdownRendererDlEndTight{\endgroup}</a>
-<a class="sourceLine" id="cb379-26" data-line-number="26"></a>
-<a class="sourceLine" id="cb379-27" data-line-number="27"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb379-28" data-line-number="28">This is a tight definition list</a>
-<a class="sourceLine" id="cb379-29" data-line-number="29"></a>
-<a class="sourceLine" id="cb379-30" data-line-number="30">Coffee</a>
-<a class="sourceLine" id="cb379-31" data-line-number="31">: black hot drink</a>
-<a class="sourceLine" id="cb379-32" data-line-number="32">: prepared from roasted coffee beans</a>
-<a class="sourceLine" id="cb379-33" data-line-number="33">: one of the most traded agricultural commodities in the world</a>
-<a class="sourceLine" id="cb379-34" data-line-number="34"></a>
-<a class="sourceLine" id="cb379-35" data-line-number="35">Milk</a>
-<a class="sourceLine" id="cb379-36" data-line-number="36">: white cold drink</a>
-<a class="sourceLine" id="cb379-37" data-line-number="37">: nutrient-rich</a>
-<a class="sourceLine" id="cb379-38" data-line-number="38">: produced on an industrial scale</a>
-<a class="sourceLine" id="cb379-39" data-line-number="39"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb379-40" data-line-number="40"></a>
-<a class="sourceLine" id="cb379-41" data-line-number="41"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-42" data-line-number="42"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-43" data-line-number="43">}</a>
-<a class="sourceLine" id="cb379-44" data-line-number="44"><span class="fu">\def</span>\markdownRendererDlBegin{}</a>
-<a class="sourceLine" id="cb379-45" data-line-number="45"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-46" data-line-number="46"> . #1 is a</a>
-<a class="sourceLine" id="cb379-47" data-line-number="47"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-48" data-line-number="48"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-49" data-line-number="49"> ,</a>
-<a class="sourceLine" id="cb379-50" data-line-number="50"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-51" data-line-number="51"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-52" data-line-number="52"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb379-53" data-line-number="53">}</a>
-<a class="sourceLine" id="cb379-54" data-line-number="54"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a>
-<a class="sourceLine" id="cb379-55" data-line-number="55"><span class="fu">\def</span>\markdownRendererDlDefinitionEnd{}</a>
-<a class="sourceLine" id="cb379-56" data-line-number="56"><span class="fu">\def</span>\markdownRendererDlEnd{.}</a>
-<a class="sourceLine" id="cb379-57" data-line-number="57"></a>
-<a class="sourceLine" id="cb379-58" data-line-number="58"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb379-59" data-line-number="59">This is a loose definition list</a>
-<a class="sourceLine" id="cb379-60" data-line-number="60"></a>
-<a class="sourceLine" id="cb379-61" data-line-number="61">Coffee</a>
-<a class="sourceLine" id="cb379-62" data-line-number="62"></a>
-<a class="sourceLine" id="cb379-63" data-line-number="63">: black hot drink</a>
-<a class="sourceLine" id="cb379-64" data-line-number="64"></a>
-<a class="sourceLine" id="cb379-65" data-line-number="65">: prepared from roasted coffee beans</a>
-<a class="sourceLine" id="cb379-66" data-line-number="66"></a>
-<a class="sourceLine" id="cb379-67" data-line-number="67">: one of the most traded agricultural commodities in the world</a>
-<a class="sourceLine" id="cb379-68" data-line-number="68"></a>
-<a class="sourceLine" id="cb379-69" data-line-number="69">Milk</a>
-<a class="sourceLine" id="cb379-70" data-line-number="70"></a>
-<a class="sourceLine" id="cb379-71" data-line-number="71">: white cold drink</a>
-<a class="sourceLine" id="cb379-72" data-line-number="72"></a>
-<a class="sourceLine" id="cb379-73" data-line-number="73">: nutrient-rich</a>
-<a class="sourceLine" id="cb379-74" data-line-number="74"></a>
-<a class="sourceLine" id="cb379-75" data-line-number="75">: produced on an industrial scale</a>
-<a class="sourceLine" id="cb379-76" data-line-number="76"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb379-77" data-line-number="77"></a>
-<a class="sourceLine" id="cb379-78" data-line-number="78"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb380"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb380-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-26">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb396"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb396-1"><a href="#cb396-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb396-2"><a href="#cb396-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionDefinitionLists</span>{true}</span>
+<span id="cb396-3"><a href="#cb396-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span>
+<span id="cb396-4"><a href="#cb396-4" aria-hidden="true"></a></span>
+<span id="cb396-5"><a href="#cb396-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb396-6"><a href="#cb396-6" aria-hidden="true"></a> :<span class="co">%</span></span>
+<span id="cb396-7"><a href="#cb396-7" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb396-8"><a href="#cb396-8" aria-hidden="true"></a>}</span>
+<span id="cb396-9"><a href="#cb396-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlBeginTight</span>{<span class="co">%</span></span>
+<span id="cb396-10"><a href="#cb396-10" aria-hidden="true"></a> <span class="fu">\begingroup</span></span>
+<span id="cb396-11"><a href="#cb396-11" aria-hidden="true"></a> <span class="fu">\parindent</span>=0pt</span>
+<span id="cb396-12"><a href="#cb396-12" aria-hidden="true"></a>}</span>
+<span id="cb396-13"><a href="#cb396-13" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span>
+<span id="cb396-14"><a href="#cb396-14" aria-hidden="true"></a> <span class="fu">\par</span>{<span class="fu">\bf</span>#1}<span class="co">%</span></span>
+<span id="cb396-15"><a href="#cb396-15" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span>
+<span id="cb396-16"><a href="#cb396-16" aria-hidden="true"></a> ,</span>
+<span id="cb396-17"><a href="#cb396-17" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span>
+<span id="cb396-18"><a href="#cb396-18" aria-hidden="true"></a> , and</span>
+<span id="cb396-19"><a href="#cb396-19" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span>
+<span id="cb396-20"><a href="#cb396-20" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb396-21"><a href="#cb396-21" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb396-22"><a href="#cb396-22" aria-hidden="true"></a>}</span>
+<span id="cb396-23"><a href="#cb396-23" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span>
+<span id="cb396-24"><a href="#cb396-24" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="fu">\par</span>--<span class="fu">\kern</span> 0.5em}</span>
+<span id="cb396-25"><a href="#cb396-25" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlEndTight</span>{<span class="fu">\endgroup</span>}</span>
+<span id="cb396-26"><a href="#cb396-26" aria-hidden="true"></a></span>
+<span id="cb396-27"><a href="#cb396-27" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb396-28"><a href="#cb396-28" aria-hidden="true"></a>This is a tight definition list</span>
+<span id="cb396-29"><a href="#cb396-29" aria-hidden="true"></a></span>
+<span id="cb396-30"><a href="#cb396-30" aria-hidden="true"></a>Coffee</span>
+<span id="cb396-31"><a href="#cb396-31" aria-hidden="true"></a>: black hot drink</span>
+<span id="cb396-32"><a href="#cb396-32" aria-hidden="true"></a>: prepared from roasted coffee beans</span>
+<span id="cb396-33"><a href="#cb396-33" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span>
+<span id="cb396-34"><a href="#cb396-34" aria-hidden="true"></a></span>
+<span id="cb396-35"><a href="#cb396-35" aria-hidden="true"></a>Milk</span>
+<span id="cb396-36"><a href="#cb396-36" aria-hidden="true"></a>: white cold drink</span>
+<span id="cb396-37"><a href="#cb396-37" aria-hidden="true"></a>: nutrient-rich</span>
+<span id="cb396-38"><a href="#cb396-38" aria-hidden="true"></a>: produced on an industrial scale</span>
+<span id="cb396-39"><a href="#cb396-39" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb396-40"><a href="#cb396-40" aria-hidden="true"></a></span>
+<span id="cb396-41"><a href="#cb396-41" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb396-42"><a href="#cb396-42" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb396-43"><a href="#cb396-43" aria-hidden="true"></a>}</span>
+<span id="cb396-44"><a href="#cb396-44" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlBegin</span>{}</span>
+<span id="cb396-45"><a href="#cb396-45" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span>
+<span id="cb396-46"><a href="#cb396-46" aria-hidden="true"></a> . #1 is a</span>
+<span id="cb396-47"><a href="#cb396-47" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span>
+<span id="cb396-48"><a href="#cb396-48" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span>
+<span id="cb396-49"><a href="#cb396-49" aria-hidden="true"></a> ,</span>
+<span id="cb396-50"><a href="#cb396-50" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span>
+<span id="cb396-51"><a href="#cb396-51" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb396-52"><a href="#cb396-52" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb396-53"><a href="#cb396-53" aria-hidden="true"></a>}</span>
+<span id="cb396-54"><a href="#cb396-54" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span>
+<span id="cb396-55"><a href="#cb396-55" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlDefinitionEnd</span>{}</span>
+<span id="cb396-56"><a href="#cb396-56" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlEnd</span>{.}</span>
+<span id="cb396-57"><a href="#cb396-57" aria-hidden="true"></a></span>
+<span id="cb396-58"><a href="#cb396-58" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb396-59"><a href="#cb396-59" aria-hidden="true"></a>This is a loose definition list</span>
+<span id="cb396-60"><a href="#cb396-60" aria-hidden="true"></a></span>
+<span id="cb396-61"><a href="#cb396-61" aria-hidden="true"></a>Coffee</span>
+<span id="cb396-62"><a href="#cb396-62" aria-hidden="true"></a></span>
+<span id="cb396-63"><a href="#cb396-63" aria-hidden="true"></a>: black hot drink</span>
+<span id="cb396-64"><a href="#cb396-64" aria-hidden="true"></a></span>
+<span id="cb396-65"><a href="#cb396-65" aria-hidden="true"></a>: prepared from roasted coffee beans</span>
+<span id="cb396-66"><a href="#cb396-66" aria-hidden="true"></a></span>
+<span id="cb396-67"><a href="#cb396-67" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span>
+<span id="cb396-68"><a href="#cb396-68" aria-hidden="true"></a></span>
+<span id="cb396-69"><a href="#cb396-69" aria-hidden="true"></a>Milk</span>
+<span id="cb396-70"><a href="#cb396-70" aria-hidden="true"></a></span>
+<span id="cb396-71"><a href="#cb396-71" aria-hidden="true"></a>: white cold drink</span>
+<span id="cb396-72"><a href="#cb396-72" aria-hidden="true"></a></span>
+<span id="cb396-73"><a href="#cb396-73" aria-hidden="true"></a>: nutrient-rich</span>
+<span id="cb396-74"><a href="#cb396-74" aria-hidden="true"></a></span>
+<span id="cb396-75"><a href="#cb396-75" aria-hidden="true"></a>: produced on an industrial scale</span>
+<span id="cb396-76"><a href="#cb396-76" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb396-77"><a href="#cb396-77" aria-hidden="true"></a></span>
+<span id="cb396-78"><a href="#cb396-78" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb397"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb397-1"><a href="#cb397-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight definition list:</p>
@@ -4900,90 +5126,90 @@ multiple paragraphs</li>
</ul>
<p>This is a loose definition list. Coffee is a black hot drink, prepared from roasted coffee beans, and one of the most traded agricultural commodities in the world. Milk is a white cold drink, nutrient-rich, and produced on an industrial scale.</p>
</blockquote>
-<h5 id="latex-example-43" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb381"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb381-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb381-2" data-line-number="2"><span class="bu">\usepackage</span>[definitionLists, tightLists]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb381-3" data-line-number="3"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb381-4" data-line-number="4"></a>
-<a class="sourceLine" id="cb381-5" data-line-number="5"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a>
-<a class="sourceLine" id="cb381-6" data-line-number="6"> renderers = {</a>
-<a class="sourceLine" id="cb381-7" data-line-number="7"> interblockSeparator = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-8" data-line-number="8"> :<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-9" data-line-number="9"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-10" data-line-number="10"> },</a>
-<a class="sourceLine" id="cb381-11" data-line-number="11"> dlBeginTight = {<span class="kw">\begin</span>{<span class="ex">description</span>}},</a>
-<a class="sourceLine" id="cb381-12" data-line-number="12"> dlItem = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-13" data-line-number="13"> <span class="fu">\item</span>[#1]</a>
-<a class="sourceLine" id="cb381-14" data-line-number="14"> <span class="kw">\begin</span>{<span class="ex">itemize</span>}</a>
-<a class="sourceLine" id="cb381-15" data-line-number="15"> <span class="fu">\def</span>\markdownRendererDlDefinitionEnd{<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-16" data-line-number="16"> ,</a>
-<a class="sourceLine" id="cb381-17" data-line-number="17"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-18" data-line-number="18"> , and</a>
-<a class="sourceLine" id="cb381-19" data-line-number="19"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-20" data-line-number="20"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-21" data-line-number="21"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-22" data-line-number="22"> },</a>
-<a class="sourceLine" id="cb381-23" data-line-number="23"> dlItemEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</a>
-<a class="sourceLine" id="cb381-24" data-line-number="24"> dlDefinitionBegin = <span class="fu">\item</span>,</a>
-<a class="sourceLine" id="cb381-25" data-line-number="25"> dlEndTight = {<span class="kw">\end</span>{<span class="ex">description</span>}},</a>
-<a class="sourceLine" id="cb381-26" data-line-number="26"> },</a>
-<a class="sourceLine" id="cb381-27" data-line-number="27">}</a>
-<a class="sourceLine" id="cb381-28" data-line-number="28">This is a tight definition list</a>
-<a class="sourceLine" id="cb381-29" data-line-number="29"></a>
-<a class="sourceLine" id="cb381-30" data-line-number="30">Coffee</a>
-<a class="sourceLine" id="cb381-31" data-line-number="31">: black hot drink</a>
-<a class="sourceLine" id="cb381-32" data-line-number="32">: prepared from roasted coffee beans</a>
-<a class="sourceLine" id="cb381-33" data-line-number="33">: one of the most traded agricultural commodities in the world</a>
-<a class="sourceLine" id="cb381-34" data-line-number="34"></a>
-<a class="sourceLine" id="cb381-35" data-line-number="35">Milk</a>
-<a class="sourceLine" id="cb381-36" data-line-number="36">: white cold drink</a>
-<a class="sourceLine" id="cb381-37" data-line-number="37">: nutrient-rich</a>
-<a class="sourceLine" id="cb381-38" data-line-number="38">: produced on an industrial scale</a>
-<a class="sourceLine" id="cb381-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb381-40" data-line-number="40"></a>
-<a class="sourceLine" id="cb381-41" data-line-number="41"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a>
-<a class="sourceLine" id="cb381-42" data-line-number="42"> renderers = {</a>
-<a class="sourceLine" id="cb381-43" data-line-number="43"> interblockSeparator = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-44" data-line-number="44"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-45" data-line-number="45"> },</a>
-<a class="sourceLine" id="cb381-46" data-line-number="46"> dlBegin = {},</a>
-<a class="sourceLine" id="cb381-47" data-line-number="47"> dlItem = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-48" data-line-number="48"> . #1 is a</a>
-<a class="sourceLine" id="cb381-49" data-line-number="49"> <span class="fu">\def</span>\markdownRendererDlDefinitionBegin{<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-50" data-line-number="50"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-51" data-line-number="51"> ,</a>
-<a class="sourceLine" id="cb381-52" data-line-number="52"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-53" data-line-number="53"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-54" data-line-number="54"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb381-55" data-line-number="55"> },</a>
-<a class="sourceLine" id="cb381-56" data-line-number="56"> dlItemEnd = {},</a>
-<a class="sourceLine" id="cb381-57" data-line-number="57"> dlDefinitionEnd = {},</a>
-<a class="sourceLine" id="cb381-58" data-line-number="58"> dlEnd = {.},</a>
-<a class="sourceLine" id="cb381-59" data-line-number="59"> },</a>
-<a class="sourceLine" id="cb381-60" data-line-number="60">}</a>
-<a class="sourceLine" id="cb381-61" data-line-number="61">This is a loose definition list</a>
-<a class="sourceLine" id="cb381-62" data-line-number="62"></a>
-<a class="sourceLine" id="cb381-63" data-line-number="63">Coffee</a>
-<a class="sourceLine" id="cb381-64" data-line-number="64"></a>
-<a class="sourceLine" id="cb381-65" data-line-number="65">: black hot drink</a>
-<a class="sourceLine" id="cb381-66" data-line-number="66"></a>
-<a class="sourceLine" id="cb381-67" data-line-number="67">: prepared from roasted coffee beans</a>
-<a class="sourceLine" id="cb381-68" data-line-number="68"></a>
-<a class="sourceLine" id="cb381-69" data-line-number="69">: one of the most traded agricultural commodities in the world</a>
-<a class="sourceLine" id="cb381-70" data-line-number="70"></a>
-<a class="sourceLine" id="cb381-71" data-line-number="71">Milk</a>
-<a class="sourceLine" id="cb381-72" data-line-number="72"></a>
-<a class="sourceLine" id="cb381-73" data-line-number="73">: white cold drink</a>
-<a class="sourceLine" id="cb381-74" data-line-number="74"></a>
-<a class="sourceLine" id="cb381-75" data-line-number="75">: nutrient-rich</a>
-<a class="sourceLine" id="cb381-76" data-line-number="76"></a>
-<a class="sourceLine" id="cb381-77" data-line-number="77">: produced on an industrial scale</a>
-<a class="sourceLine" id="cb381-78" data-line-number="78"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb381-79" data-line-number="79"></a>
-<a class="sourceLine" id="cb381-80" data-line-number="80"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb382"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb382-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-46"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb398"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb398-1"><a href="#cb398-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb398-2"><a href="#cb398-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[definitionLists, tightLists]{<span class="ex">markdown</span>}</span>
+<span id="cb398-3"><a href="#cb398-3" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb398-4"><a href="#cb398-4" aria-hidden="true"></a></span>
+<span id="cb398-5"><a href="#cb398-5" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span>
+<span id="cb398-6"><a href="#cb398-6" aria-hidden="true"></a> renderers = {</span>
+<span id="cb398-7"><a href="#cb398-7" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span>
+<span id="cb398-8"><a href="#cb398-8" aria-hidden="true"></a> :<span class="co">%</span></span>
+<span id="cb398-9"><a href="#cb398-9" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb398-10"><a href="#cb398-10" aria-hidden="true"></a> },</span>
+<span id="cb398-11"><a href="#cb398-11" aria-hidden="true"></a> dlBeginTight = {<span class="kw">\begin</span>{<span class="ex">description</span>}},</span>
+<span id="cb398-12"><a href="#cb398-12" aria-hidden="true"></a> dlItem = {<span class="co">%</span></span>
+<span id="cb398-13"><a href="#cb398-13" aria-hidden="true"></a> <span class="fu">\item</span>[#1]</span>
+<span id="cb398-14"><a href="#cb398-14" aria-hidden="true"></a> <span class="kw">\begin</span>{<span class="ex">itemize</span>}</span>
+<span id="cb398-15"><a href="#cb398-15" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span>
+<span id="cb398-16"><a href="#cb398-16" aria-hidden="true"></a> ,</span>
+<span id="cb398-17"><a href="#cb398-17" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span>
+<span id="cb398-18"><a href="#cb398-18" aria-hidden="true"></a> , and</span>
+<span id="cb398-19"><a href="#cb398-19" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span>
+<span id="cb398-20"><a href="#cb398-20" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb398-21"><a href="#cb398-21" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb398-22"><a href="#cb398-22" aria-hidden="true"></a> },</span>
+<span id="cb398-23"><a href="#cb398-23" aria-hidden="true"></a> dlItemEnd = {<span class="kw">\end</span>{<span class="ex">itemize</span>}},</span>
+<span id="cb398-24"><a href="#cb398-24" aria-hidden="true"></a> dlDefinitionBegin = <span class="fu">\item</span>,</span>
+<span id="cb398-25"><a href="#cb398-25" aria-hidden="true"></a> dlEndTight = {<span class="kw">\end</span>{<span class="ex">description</span>}},</span>
+<span id="cb398-26"><a href="#cb398-26" aria-hidden="true"></a> },</span>
+<span id="cb398-27"><a href="#cb398-27" aria-hidden="true"></a>}</span>
+<span id="cb398-28"><a href="#cb398-28" aria-hidden="true"></a>This is a tight definition list</span>
+<span id="cb398-29"><a href="#cb398-29" aria-hidden="true"></a></span>
+<span id="cb398-30"><a href="#cb398-30" aria-hidden="true"></a>Coffee</span>
+<span id="cb398-31"><a href="#cb398-31" aria-hidden="true"></a>: black hot drink</span>
+<span id="cb398-32"><a href="#cb398-32" aria-hidden="true"></a>: prepared from roasted coffee beans</span>
+<span id="cb398-33"><a href="#cb398-33" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span>
+<span id="cb398-34"><a href="#cb398-34" aria-hidden="true"></a></span>
+<span id="cb398-35"><a href="#cb398-35" aria-hidden="true"></a>Milk</span>
+<span id="cb398-36"><a href="#cb398-36" aria-hidden="true"></a>: white cold drink</span>
+<span id="cb398-37"><a href="#cb398-37" aria-hidden="true"></a>: nutrient-rich</span>
+<span id="cb398-38"><a href="#cb398-38" aria-hidden="true"></a>: produced on an industrial scale</span>
+<span id="cb398-39"><a href="#cb398-39" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb398-40"><a href="#cb398-40" aria-hidden="true"></a></span>
+<span id="cb398-41"><a href="#cb398-41" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span>
+<span id="cb398-42"><a href="#cb398-42" aria-hidden="true"></a> renderers = {</span>
+<span id="cb398-43"><a href="#cb398-43" aria-hidden="true"></a> interblockSeparator = {<span class="co">%</span></span>
+<span id="cb398-44"><a href="#cb398-44" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb398-45"><a href="#cb398-45" aria-hidden="true"></a> },</span>
+<span id="cb398-46"><a href="#cb398-46" aria-hidden="true"></a> dlBegin = {},</span>
+<span id="cb398-47"><a href="#cb398-47" aria-hidden="true"></a> dlItem = {<span class="co">%</span></span>
+<span id="cb398-48"><a href="#cb398-48" aria-hidden="true"></a> . #1 is a</span>
+<span id="cb398-49"><a href="#cb398-49" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span>
+<span id="cb398-50"><a href="#cb398-50" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span>
+<span id="cb398-51"><a href="#cb398-51" aria-hidden="true"></a> ,</span>
+<span id="cb398-52"><a href="#cb398-52" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span>
+<span id="cb398-53"><a href="#cb398-53" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb398-54"><a href="#cb398-54" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb398-55"><a href="#cb398-55" aria-hidden="true"></a> },</span>
+<span id="cb398-56"><a href="#cb398-56" aria-hidden="true"></a> dlItemEnd = {},</span>
+<span id="cb398-57"><a href="#cb398-57" aria-hidden="true"></a> dlDefinitionEnd = {},</span>
+<span id="cb398-58"><a href="#cb398-58" aria-hidden="true"></a> dlEnd = {.},</span>
+<span id="cb398-59"><a href="#cb398-59" aria-hidden="true"></a> },</span>
+<span id="cb398-60"><a href="#cb398-60" aria-hidden="true"></a>}</span>
+<span id="cb398-61"><a href="#cb398-61" aria-hidden="true"></a>This is a loose definition list</span>
+<span id="cb398-62"><a href="#cb398-62" aria-hidden="true"></a></span>
+<span id="cb398-63"><a href="#cb398-63" aria-hidden="true"></a>Coffee</span>
+<span id="cb398-64"><a href="#cb398-64" aria-hidden="true"></a></span>
+<span id="cb398-65"><a href="#cb398-65" aria-hidden="true"></a>: black hot drink</span>
+<span id="cb398-66"><a href="#cb398-66" aria-hidden="true"></a></span>
+<span id="cb398-67"><a href="#cb398-67" aria-hidden="true"></a>: prepared from roasted coffee beans</span>
+<span id="cb398-68"><a href="#cb398-68" aria-hidden="true"></a></span>
+<span id="cb398-69"><a href="#cb398-69" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span>
+<span id="cb398-70"><a href="#cb398-70" aria-hidden="true"></a></span>
+<span id="cb398-71"><a href="#cb398-71" aria-hidden="true"></a>Milk</span>
+<span id="cb398-72"><a href="#cb398-72" aria-hidden="true"></a></span>
+<span id="cb398-73"><a href="#cb398-73" aria-hidden="true"></a>: white cold drink</span>
+<span id="cb398-74"><a href="#cb398-74" aria-hidden="true"></a></span>
+<span id="cb398-75"><a href="#cb398-75" aria-hidden="true"></a>: nutrient-rich</span>
+<span id="cb398-76"><a href="#cb398-76" aria-hidden="true"></a></span>
+<span id="cb398-77"><a href="#cb398-77" aria-hidden="true"></a>: produced on an industrial scale</span>
+<span id="cb398-78"><a href="#cb398-78" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb398-79"><a href="#cb398-79" aria-hidden="true"></a></span>
+<span id="cb398-80"><a href="#cb398-80" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb399"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb399-1"><a href="#cb399-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight definition list:</p>
@@ -5001,87 +5227,87 @@ multiple paragraphs</li>
</ul>
<p>This is a loose definition list. Coffee is a black hot drink, prepared from roasted coffee beans, and one of the most traded agricultural commodities in the world. Milk is a white cold drink, nutrient-rich, and produced on an industrial scale.</p>
</blockquote>
-<h5 id="context-example-35" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb383"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb383-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb383-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionDefinitionLists{true}</a>
-<a class="sourceLine" id="cb383-3" data-line-number="3"><span class="fu">\def</span>\markdownOptionTightLists{true}</a>
-<a class="sourceLine" id="cb383-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb383-5" data-line-number="5"></a>
-<a class="sourceLine" id="cb383-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-7" data-line-number="7"> :<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-8" data-line-number="8"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-9" data-line-number="9">}</a>
-<a class="sourceLine" id="cb383-10" data-line-number="10"><span class="fu">\def</span>\markdownRendererDlBeginTight{}</a>
-<a class="sourceLine" id="cb383-11" data-line-number="11"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-12" data-line-number="12"> \par{\bf#1}<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-13" data-line-number="13"> \startitemize</a>
-<a class="sourceLine" id="cb383-14" data-line-number="14"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-15" data-line-number="15"> ,</a>
-<a class="sourceLine" id="cb383-16" data-line-number="16"> \def\markdownRendererDlDefinitionEnd{<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-17" data-line-number="17"> , and</a>
-<a class="sourceLine" id="cb383-18" data-line-number="18"> \def\markdownRendererDlDefinitionEnd{.}<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-19" data-line-number="19"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-20" data-line-number="20"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-21" data-line-number="21">}</a>
-<a class="sourceLine" id="cb383-22" data-line-number="22"><span class="fu">\def</span>\markdownRendererDlItemEnd{\stopitemize}</a>
-<a class="sourceLine" id="cb383-23" data-line-number="23"><span class="fu">\def</span>\markdownRendererDlDefinitionBegin{\item}</a>
-<a class="sourceLine" id="cb383-24" data-line-number="24"><span class="fu">\def</span>\markdownRendererDlEndTight{}</a>
-<a class="sourceLine" id="cb383-25" data-line-number="25"></a>
-<a class="sourceLine" id="cb383-26" data-line-number="26"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb383-27" data-line-number="27">This is a tight definition list</a>
-<a class="sourceLine" id="cb383-28" data-line-number="28"></a>
-<a class="sourceLine" id="cb383-29" data-line-number="29">Coffee</a>
-<a class="sourceLine" id="cb383-30" data-line-number="30">: black hot drink</a>
-<a class="sourceLine" id="cb383-31" data-line-number="31">: prepared from roasted coffee beans</a>
-<a class="sourceLine" id="cb383-32" data-line-number="32">: one of the most traded agricultural commodities in the world</a>
-<a class="sourceLine" id="cb383-33" data-line-number="33"></a>
-<a class="sourceLine" id="cb383-34" data-line-number="34">Milk</a>
-<a class="sourceLine" id="cb383-35" data-line-number="35">: white cold drink</a>
-<a class="sourceLine" id="cb383-36" data-line-number="36">: nutrient-rich</a>
-<a class="sourceLine" id="cb383-37" data-line-number="37">: produced on an industrial scale</a>
-<a class="sourceLine" id="cb383-38" data-line-number="38"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb383-39" data-line-number="39"></a>
-<a class="sourceLine" id="cb383-40" data-line-number="40"><span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-41" data-line-number="41"> \def\markdownRendererInterblockSeparator{\par}<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-42" data-line-number="42">}</a>
-<a class="sourceLine" id="cb383-43" data-line-number="43"><span class="fu">\def</span>\markdownRendererDlBegin{}</a>
-<a class="sourceLine" id="cb383-44" data-line-number="44"><span class="fu">\def</span>\markdownRendererDlItem#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-45" data-line-number="45"> . #1 is a</a>
-<a class="sourceLine" id="cb383-46" data-line-number="46"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-47" data-line-number="47"> \def\markdownRendererDlDefinitionBegin{<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-48" data-line-number="48"> ,</a>
-<a class="sourceLine" id="cb383-49" data-line-number="49"> \def\markdownRendererDlDefinitionBegin{, and }<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-50" data-line-number="50"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-51" data-line-number="51"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb383-52" data-line-number="52">}</a>
-<a class="sourceLine" id="cb383-53" data-line-number="53"><span class="fu">\def</span>\markdownRendererDlItemEnd{}</a>
-<a class="sourceLine" id="cb383-54" data-line-number="54"><span class="fu">\def</span>\markdownRendererDlDefinitionEnd{}</a>
-<a class="sourceLine" id="cb383-55" data-line-number="55"><span class="fu">\def</span>\markdownRendererDlEnd{.}</a>
-<a class="sourceLine" id="cb383-56" data-line-number="56"></a>
-<a class="sourceLine" id="cb383-57" data-line-number="57"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb383-58" data-line-number="58">This is a loose definition list</a>
-<a class="sourceLine" id="cb383-59" data-line-number="59"></a>
-<a class="sourceLine" id="cb383-60" data-line-number="60">Coffee</a>
-<a class="sourceLine" id="cb383-61" data-line-number="61"></a>
-<a class="sourceLine" id="cb383-62" data-line-number="62">: black hot drink</a>
-<a class="sourceLine" id="cb383-63" data-line-number="63"></a>
-<a class="sourceLine" id="cb383-64" data-line-number="64">: prepared from roasted coffee beans</a>
-<a class="sourceLine" id="cb383-65" data-line-number="65"></a>
-<a class="sourceLine" id="cb383-66" data-line-number="66">: one of the most traded agricultural commodities in the world</a>
-<a class="sourceLine" id="cb383-67" data-line-number="67"></a>
-<a class="sourceLine" id="cb383-68" data-line-number="68">Milk</a>
-<a class="sourceLine" id="cb383-69" data-line-number="69"></a>
-<a class="sourceLine" id="cb383-70" data-line-number="70">: white cold drink</a>
-<a class="sourceLine" id="cb383-71" data-line-number="71"></a>
-<a class="sourceLine" id="cb383-72" data-line-number="72">: nutrient-rich</a>
-<a class="sourceLine" id="cb383-73" data-line-number="73"></a>
-<a class="sourceLine" id="cb383-74" data-line-number="74">: produced on an industrial scale</a>
-<a class="sourceLine" id="cb383-75" data-line-number="75"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb383-76" data-line-number="76"></a>
-<a class="sourceLine" id="cb383-77" data-line-number="77"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb384"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb384-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-38">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb400"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb400-1"><a href="#cb400-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb400-2"><a href="#cb400-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionDefinitionLists</span>{true}</span>
+<span id="cb400-3"><a href="#cb400-3" aria-hidden="true"></a><span class="fu">\def\markdownOptionTightLists</span>{true}</span>
+<span id="cb400-4"><a href="#cb400-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb400-5"><a href="#cb400-5" aria-hidden="true"></a></span>
+<span id="cb400-6"><a href="#cb400-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb400-7"><a href="#cb400-7" aria-hidden="true"></a> :<span class="co">%</span></span>
+<span id="cb400-8"><a href="#cb400-8" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb400-9"><a href="#cb400-9" aria-hidden="true"></a>}</span>
+<span id="cb400-10"><a href="#cb400-10" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlBeginTight</span>{}</span>
+<span id="cb400-11"><a href="#cb400-11" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span>
+<span id="cb400-12"><a href="#cb400-12" aria-hidden="true"></a> <span class="fu">\par</span>{<span class="fu">\bf</span>#1}<span class="co">%</span></span>
+<span id="cb400-13"><a href="#cb400-13" aria-hidden="true"></a> <span class="fu">\startitemize</span></span>
+<span id="cb400-14"><a href="#cb400-14" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span>
+<span id="cb400-15"><a href="#cb400-15" aria-hidden="true"></a> ,</span>
+<span id="cb400-16"><a href="#cb400-16" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{<span class="co">%</span></span>
+<span id="cb400-17"><a href="#cb400-17" aria-hidden="true"></a> , and</span>
+<span id="cb400-18"><a href="#cb400-18" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionEnd</span>{.}<span class="co">%</span></span>
+<span id="cb400-19"><a href="#cb400-19" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb400-20"><a href="#cb400-20" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb400-21"><a href="#cb400-21" aria-hidden="true"></a>}</span>
+<span id="cb400-22"><a href="#cb400-22" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{<span class="fu">\stopitemize</span>}</span>
+<span id="cb400-23"><a href="#cb400-23" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="fu">\item</span>}</span>
+<span id="cb400-24"><a href="#cb400-24" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlEndTight</span>{}</span>
+<span id="cb400-25"><a href="#cb400-25" aria-hidden="true"></a></span>
+<span id="cb400-26"><a href="#cb400-26" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb400-27"><a href="#cb400-27" aria-hidden="true"></a>This is a tight definition list</span>
+<span id="cb400-28"><a href="#cb400-28" aria-hidden="true"></a></span>
+<span id="cb400-29"><a href="#cb400-29" aria-hidden="true"></a>Coffee</span>
+<span id="cb400-30"><a href="#cb400-30" aria-hidden="true"></a>: black hot drink</span>
+<span id="cb400-31"><a href="#cb400-31" aria-hidden="true"></a>: prepared from roasted coffee beans</span>
+<span id="cb400-32"><a href="#cb400-32" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span>
+<span id="cb400-33"><a href="#cb400-33" aria-hidden="true"></a></span>
+<span id="cb400-34"><a href="#cb400-34" aria-hidden="true"></a>Milk</span>
+<span id="cb400-35"><a href="#cb400-35" aria-hidden="true"></a>: white cold drink</span>
+<span id="cb400-36"><a href="#cb400-36" aria-hidden="true"></a>: nutrient-rich</span>
+<span id="cb400-37"><a href="#cb400-37" aria-hidden="true"></a>: produced on an industrial scale</span>
+<span id="cb400-38"><a href="#cb400-38" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb400-39"><a href="#cb400-39" aria-hidden="true"></a></span>
+<span id="cb400-40"><a href="#cb400-40" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb400-41"><a href="#cb400-41" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="fu">\par</span>}<span class="co">%</span></span>
+<span id="cb400-42"><a href="#cb400-42" aria-hidden="true"></a>}</span>
+<span id="cb400-43"><a href="#cb400-43" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlBegin</span>{}</span>
+<span id="cb400-44"><a href="#cb400-44" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItem</span>#1{<span class="co">%</span></span>
+<span id="cb400-45"><a href="#cb400-45" aria-hidden="true"></a> . #1 is a</span>
+<span id="cb400-46"><a href="#cb400-46" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span>
+<span id="cb400-47"><a href="#cb400-47" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{<span class="co">%</span></span>
+<span id="cb400-48"><a href="#cb400-48" aria-hidden="true"></a> ,</span>
+<span id="cb400-49"><a href="#cb400-49" aria-hidden="true"></a> <span class="fu">\def\markdownRendererDlDefinitionBegin</span>{, and }<span class="co">%</span></span>
+<span id="cb400-50"><a href="#cb400-50" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb400-51"><a href="#cb400-51" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb400-52"><a href="#cb400-52" aria-hidden="true"></a>}</span>
+<span id="cb400-53"><a href="#cb400-53" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlItemEnd</span>{}</span>
+<span id="cb400-54"><a href="#cb400-54" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlDefinitionEnd</span>{}</span>
+<span id="cb400-55"><a href="#cb400-55" aria-hidden="true"></a><span class="fu">\def\markdownRendererDlEnd</span>{.}</span>
+<span id="cb400-56"><a href="#cb400-56" aria-hidden="true"></a></span>
+<span id="cb400-57"><a href="#cb400-57" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb400-58"><a href="#cb400-58" aria-hidden="true"></a>This is a loose definition list</span>
+<span id="cb400-59"><a href="#cb400-59" aria-hidden="true"></a></span>
+<span id="cb400-60"><a href="#cb400-60" aria-hidden="true"></a>Coffee</span>
+<span id="cb400-61"><a href="#cb400-61" aria-hidden="true"></a></span>
+<span id="cb400-62"><a href="#cb400-62" aria-hidden="true"></a>: black hot drink</span>
+<span id="cb400-63"><a href="#cb400-63" aria-hidden="true"></a></span>
+<span id="cb400-64"><a href="#cb400-64" aria-hidden="true"></a>: prepared from roasted coffee beans</span>
+<span id="cb400-65"><a href="#cb400-65" aria-hidden="true"></a></span>
+<span id="cb400-66"><a href="#cb400-66" aria-hidden="true"></a>: one of the most traded agricultural commodities in the world</span>
+<span id="cb400-67"><a href="#cb400-67" aria-hidden="true"></a></span>
+<span id="cb400-68"><a href="#cb400-68" aria-hidden="true"></a>Milk</span>
+<span id="cb400-69"><a href="#cb400-69" aria-hidden="true"></a></span>
+<span id="cb400-70"><a href="#cb400-70" aria-hidden="true"></a>: white cold drink</span>
+<span id="cb400-71"><a href="#cb400-71" aria-hidden="true"></a></span>
+<span id="cb400-72"><a href="#cb400-72" aria-hidden="true"></a>: nutrient-rich</span>
+<span id="cb400-73"><a href="#cb400-73" aria-hidden="true"></a></span>
+<span id="cb400-74"><a href="#cb400-74" aria-hidden="true"></a>: produced on an industrial scale</span>
+<span id="cb400-75"><a href="#cb400-75" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb400-76"><a href="#cb400-76" aria-hidden="true"></a></span>
+<span id="cb400-77"><a href="#cb400-77" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb401"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb401-1"><a href="#cb401-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a tight definition list:</p>
@@ -5099,97 +5325,98 @@ multiple paragraphs</li>
</ul>
<p>This is a loose definition list. Coffee is a black hot drink, prepared from roasted coffee beans, and one of the most traded agricultural commodities in the world. Milk is a white cold drink, nutrient-rich, and produced on an industrial scale.</p>
</blockquote>
-<h4 id="emphasis-renderers"><span class="header-section-number">2.3.1.13</span> Emphasis Renderers</h4>
+<h4 data-number="2.3.1.14" id="emphasis-renderers"><span class="header-section-number">2.3.1.14</span> Emphasis Renderers</h4>
<p>The <code>\markdownRendererEmphasis</code> macro represents an emphasized span of text. The macro receives a single argument that corresponds to the emphasized span of text.</p>
-<h5 id="plain-tex-example-26" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb385"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb385-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb385-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEmphasis#1{{\it#1}}</a>
-<a class="sourceLine" id="cb385-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererStrongEmphasis#1{{\bf#1}}</a>
-<a class="sourceLine" id="cb385-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb385-5" data-line-number="5">This is *emphasis*.</a>
-<a class="sourceLine" id="cb385-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb385-7" data-line-number="7">This is **strong emphasis**.</a>
-<a class="sourceLine" id="cb385-8" data-line-number="8"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb385-9" data-line-number="9"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb386"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb386-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-27">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb402"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb402-1"><a href="#cb402-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb402-2"><a href="#cb402-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEmphasis</span>#1{{<span class="fu">\it</span>#1}}</span>
+<span id="cb402-3"><a href="#cb402-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererStrongEmphasis</span>#1{{<span class="fu">\bf</span>#1}}</span>
+<span id="cb402-4"><a href="#cb402-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb402-5"><a href="#cb402-5" aria-hidden="true"></a>This is *emphasis*.</span>
+<span id="cb402-6"><a href="#cb402-6" aria-hidden="true"></a></span>
+<span id="cb402-7"><a href="#cb402-7" aria-hidden="true"></a>This is **strong emphasis**.</span>
+<span id="cb402-8"><a href="#cb402-8" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb402-9"><a href="#cb402-9" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb403"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb403-1"><a href="#cb403-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <em>emphasis</em>.</p>
<p>This is <strong>strong emphasis</strong>.</p>
</blockquote>
-<h5 id="latex-example-44" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb387"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb387-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb387-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb387-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb387-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb387-5" data-line-number="5"> emphasis = {<span class="fu">\emph</span>{#1}},</a>
-<a class="sourceLine" id="cb387-6" data-line-number="6"> strongEmphasis = {<span class="fu">\textbf</span>{#1}},</a>
-<a class="sourceLine" id="cb387-7" data-line-number="7"> },</a>
-<a class="sourceLine" id="cb387-8" data-line-number="8">}</a>
-<a class="sourceLine" id="cb387-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb387-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb387-11" data-line-number="11">This is *emphasis*.</a>
-<a class="sourceLine" id="cb387-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb387-13" data-line-number="13">This is **strong emphasis**.</a>
-<a class="sourceLine" id="cb387-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb387-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb388"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb388-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-47"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb404"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb404-1"><a href="#cb404-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb404-2"><a href="#cb404-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb404-3"><a href="#cb404-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb404-4"><a href="#cb404-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb404-5"><a href="#cb404-5" aria-hidden="true"></a> emphasis = {<span class="fu">\emph</span>{#1}},</span>
+<span id="cb404-6"><a href="#cb404-6" aria-hidden="true"></a> strongEmphasis = {<span class="fu">\textbf</span>{#1}},</span>
+<span id="cb404-7"><a href="#cb404-7" aria-hidden="true"></a> },</span>
+<span id="cb404-8"><a href="#cb404-8" aria-hidden="true"></a>}</span>
+<span id="cb404-9"><a href="#cb404-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb404-10"><a href="#cb404-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb404-11"><a href="#cb404-11" aria-hidden="true"></a>This is *emphasis*.</span>
+<span id="cb404-12"><a href="#cb404-12" aria-hidden="true"></a></span>
+<span id="cb404-13"><a href="#cb404-13" aria-hidden="true"></a>This is **strong emphasis**.</span>
+<span id="cb404-14"><a href="#cb404-14" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb404-15"><a href="#cb404-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb405"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb405-1"><a href="#cb405-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <em>emphasis</em>.</p>
<p>This is <strong>strong emphasis</strong>.</p>
</blockquote>
-<h5 id="context-example-36" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-39">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb389"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb389-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb389-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererEmphasis#1{\emph{#1}}</a>
-<a class="sourceLine" id="cb389-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererStrongEmphasis#1{\bold{#1}}</a>
-<a class="sourceLine" id="cb389-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb389-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb389-6" data-line-number="6">This is *emphasis*.</a>
-<a class="sourceLine" id="cb389-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb389-8" data-line-number="8">This is **strong emphasis**.</a>
-<a class="sourceLine" id="cb389-9" data-line-number="9"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb389-10" data-line-number="10"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb406"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb406-1"><a href="#cb406-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb406-2"><a href="#cb406-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererEmphasis</span>#1{<span class="fu">\emph</span>{#1}}</span>
+<span id="cb406-3"><a href="#cb406-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererStrongEmphasis</span>#1{<span class="fu">\bold</span>{#1}}</span>
+<span id="cb406-4"><a href="#cb406-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb406-5"><a href="#cb406-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb406-6"><a href="#cb406-6" aria-hidden="true"></a>This is *emphasis*.</span>
+<span id="cb406-7"><a href="#cb406-7" aria-hidden="true"></a></span>
+<span id="cb406-8"><a href="#cb406-8" aria-hidden="true"></a>This is **strong emphasis**.</span>
+<span id="cb406-9"><a href="#cb406-9" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb406-10"><a href="#cb406-10" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb390"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb390-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb407"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb407-1"><a href="#cb407-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is <em>emphasis</em>.</p>
<p>This is <strong>strong emphasis</strong>.</p>
</blockquote>
<p>The <code>\markdownRendererStrongEmphasis</code> macro represents a strongly emphasized span of text. The macro receives a single argument that corresponds to the emphasized span of text.</p>
-<h4 id="block-quote-renderers"><span class="header-section-number">2.3.1.14</span> Block Quote Renderers</h4>
+<h4 data-number="2.3.1.15" id="block-quote-renderers"><span class="header-section-number">2.3.1.15</span> Block Quote Renderers</h4>
<p>The <code>\markdownRendererBlockQuoteBegin</code> macro represents the beginning of a block quote. The macro receives no arguments.</p>
-<h5 id="plain-tex-example-27" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb391"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb391-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb391-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererBlockQuoteBegin{<span class="co">%</span></a>
-<a class="sourceLine" id="cb391-3" data-line-number="3"> \begingroup</a>
-<a class="sourceLine" id="cb391-4" data-line-number="4"> \vskip\parindent</a>
-<a class="sourceLine" id="cb391-5" data-line-number="5"> \leftskip=2\parindent</a>
-<a class="sourceLine" id="cb391-6" data-line-number="6"> \parindent=0pt</a>
-<a class="sourceLine" id="cb391-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb391-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererBlockQuoteEnd{<span class="co">%</span></a>
-<a class="sourceLine" id="cb391-9" data-line-number="9"> \par</a>
-<a class="sourceLine" id="cb391-10" data-line-number="10"> \vskip\parindent</a>
-<a class="sourceLine" id="cb391-11" data-line-number="11"> \endgroup</a>
-<a class="sourceLine" id="cb391-12" data-line-number="12">}</a>
-<a class="sourceLine" id="cb391-13" data-line-number="13"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb391-14" data-line-number="14">A quote from William Shakespeare&#39;s King Lear:</a>
-<a class="sourceLine" id="cb391-15" data-line-number="15"></a>
-<a class="sourceLine" id="cb391-16" data-line-number="16">&gt; This is the excellent foppery of the world that when we are</a>
-<a class="sourceLine" id="cb391-17" data-line-number="17">&gt; sick in fortune---often the surfeit of our own behavior---we</a>
-<a class="sourceLine" id="cb391-18" data-line-number="18">&gt; make guilty of our disasters the sun, the moon, and the</a>
-<a class="sourceLine" id="cb391-19" data-line-number="19">&gt; stars [...]</a>
-<a class="sourceLine" id="cb391-20" data-line-number="20"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb391-21" data-line-number="21"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb392"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb392-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<p>The <code>\markdownRendererBlockQuoteEnd</code> macro represents the end of a block quote. The macro receives no arguments.</p>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-28">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb408"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb408-1"><a href="#cb408-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb408-2"><a href="#cb408-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererBlockQuoteBegin</span>{<span class="co">%</span></span>
+<span id="cb408-3"><a href="#cb408-3" aria-hidden="true"></a> <span class="fu">\begingroup</span></span>
+<span id="cb408-4"><a href="#cb408-4" aria-hidden="true"></a> <span class="fu">\vskip\parindent</span></span>
+<span id="cb408-5"><a href="#cb408-5" aria-hidden="true"></a> <span class="fu">\leftskip</span>=2<span class="fu">\parindent</span></span>
+<span id="cb408-6"><a href="#cb408-6" aria-hidden="true"></a> <span class="fu">\parindent</span>=0pt</span>
+<span id="cb408-7"><a href="#cb408-7" aria-hidden="true"></a>}</span>
+<span id="cb408-8"><a href="#cb408-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererBlockQuoteEnd</span>{<span class="co">%</span></span>
+<span id="cb408-9"><a href="#cb408-9" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb408-10"><a href="#cb408-10" aria-hidden="true"></a> <span class="fu">\vskip\parindent</span></span>
+<span id="cb408-11"><a href="#cb408-11" aria-hidden="true"></a> <span class="fu">\endgroup</span></span>
+<span id="cb408-12"><a href="#cb408-12" aria-hidden="true"></a>}</span>
+<span id="cb408-13"><a href="#cb408-13" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb408-14"><a href="#cb408-14" aria-hidden="true"></a>A quote from William Shakespeare&#39;s King Lear:</span>
+<span id="cb408-15"><a href="#cb408-15" aria-hidden="true"></a></span>
+<span id="cb408-16"><a href="#cb408-16" aria-hidden="true"></a>&gt; This is the excellent foppery of the world that when we are</span>
+<span id="cb408-17"><a href="#cb408-17" aria-hidden="true"></a>&gt; sick in fortune---often the surfeit of our own behavior---we</span>
+<span id="cb408-18"><a href="#cb408-18" aria-hidden="true"></a>&gt; make guilty of our disasters the sun, the moon, and the</span>
+<span id="cb408-19"><a href="#cb408-19" aria-hidden="true"></a>&gt; stars [...]</span>
+<span id="cb408-20"><a href="#cb408-20" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb408-21"><a href="#cb408-21" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb409"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb409-1"><a href="#cb409-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A quote from William Shakespeare’s King Lear:</p>
@@ -5197,28 +5424,28 @@ multiple paragraphs</li>
<p>This is the excellent foppery of the world that when we are sick in fortune—often the surfeit of our own behavior—we make guilty of our disasters the sun, the moon, and the stars […]</p>
</blockquote>
</blockquote>
-<h5 id="latex-example-45" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb393"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb393-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb393-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb393-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb393-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb393-5" data-line-number="5"> blockQuoteBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</a>
-<a class="sourceLine" id="cb393-6" data-line-number="6"> blockQuoteEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</a>
-<a class="sourceLine" id="cb393-7" data-line-number="7"> },</a>
-<a class="sourceLine" id="cb393-8" data-line-number="8">}</a>
-<a class="sourceLine" id="cb393-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb393-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb393-11" data-line-number="11">A quote from William Shakespeare&#39;s King Lear:</a>
-<a class="sourceLine" id="cb393-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb393-13" data-line-number="13">&gt; This is the excellent foppery of the world that when we are</a>
-<a class="sourceLine" id="cb393-14" data-line-number="14">&gt; sick in fortune---often the surfeit of our own behavior---we</a>
-<a class="sourceLine" id="cb393-15" data-line-number="15">&gt; make guilty of our disasters the sun, the moon, and the</a>
-<a class="sourceLine" id="cb393-16" data-line-number="16">&gt; stars [...]</a>
-<a class="sourceLine" id="cb393-17" data-line-number="17"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb393-18" data-line-number="18"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb394"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb394-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-48"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb410"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb410-1"><a href="#cb410-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb410-2"><a href="#cb410-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb410-3"><a href="#cb410-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb410-4"><a href="#cb410-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb410-5"><a href="#cb410-5" aria-hidden="true"></a> blockQuoteBegin = {<span class="kw">\begin</span>{<span class="ex">quote</span>}},</span>
+<span id="cb410-6"><a href="#cb410-6" aria-hidden="true"></a> blockQuoteEnd = {<span class="kw">\end</span>{<span class="ex">quote</span>}},</span>
+<span id="cb410-7"><a href="#cb410-7" aria-hidden="true"></a> },</span>
+<span id="cb410-8"><a href="#cb410-8" aria-hidden="true"></a>}</span>
+<span id="cb410-9"><a href="#cb410-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb410-10"><a href="#cb410-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb410-11"><a href="#cb410-11" aria-hidden="true"></a>A quote from William Shakespeare&#39;s King Lear:</span>
+<span id="cb410-12"><a href="#cb410-12" aria-hidden="true"></a></span>
+<span id="cb410-13"><a href="#cb410-13" aria-hidden="true"></a>&gt; This is the excellent foppery of the world that when we are</span>
+<span id="cb410-14"><a href="#cb410-14" aria-hidden="true"></a>&gt; sick in fortune---often the surfeit of our own behavior---we</span>
+<span id="cb410-15"><a href="#cb410-15" aria-hidden="true"></a>&gt; make guilty of our disasters the sun, the moon, and the</span>
+<span id="cb410-16"><a href="#cb410-16" aria-hidden="true"></a>&gt; stars [...]</span>
+<span id="cb410-17"><a href="#cb410-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb410-18"><a href="#cb410-18" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb411"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb411-1"><a href="#cb411-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A quote from William Shakespeare’s King Lear:</p>
@@ -5226,23 +5453,23 @@ multiple paragraphs</li>
<p>This is the excellent foppery of the world that when we are sick in fortune—often the surfeit of our own behavior—we make guilty of our disasters the sun, the moon, and the stars […]</p>
</blockquote>
</blockquote>
-<h5 id="context-example-37" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<h5 class="unnumbered" data-number="" id="context-example-40">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb395"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb395-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb395-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererBlockQuoteBegin{\startquotation}</a>
-<a class="sourceLine" id="cb395-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererBlockQuoteEnd{\stopquotation}</a>
-<a class="sourceLine" id="cb395-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb395-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb395-6" data-line-number="6">A quote from William Shakespeare&#39;s King Lear:</a>
-<a class="sourceLine" id="cb395-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb395-8" data-line-number="8">&gt; This is the excellent foppery of the world that when we are</a>
-<a class="sourceLine" id="cb395-9" data-line-number="9">&gt; sick in fortune---often the surfeit of our own behavior---we</a>
-<a class="sourceLine" id="cb395-10" data-line-number="10">&gt; make guilty of our disasters the sun, the moon, and the</a>
-<a class="sourceLine" id="cb395-11" data-line-number="11">&gt; stars [...]</a>
-<a class="sourceLine" id="cb395-12" data-line-number="12"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb395-13" data-line-number="13"><span class="fu">\stoptext</span></a></code></pre></div>
+<div class="sourceCode" id="cb412"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb412-1"><a href="#cb412-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb412-2"><a href="#cb412-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererBlockQuoteBegin</span>{<span class="fu">\startquotation</span>}</span>
+<span id="cb412-3"><a href="#cb412-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererBlockQuoteEnd</span>{<span class="fu">\stopquotation</span>}</span>
+<span id="cb412-4"><a href="#cb412-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb412-5"><a href="#cb412-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb412-6"><a href="#cb412-6" aria-hidden="true"></a>A quote from William Shakespeare&#39;s King Lear:</span>
+<span id="cb412-7"><a href="#cb412-7" aria-hidden="true"></a></span>
+<span id="cb412-8"><a href="#cb412-8" aria-hidden="true"></a>&gt; This is the excellent foppery of the world that when we are</span>
+<span id="cb412-9"><a href="#cb412-9" aria-hidden="true"></a>&gt; sick in fortune---often the surfeit of our own behavior---we</span>
+<span id="cb412-10"><a href="#cb412-10" aria-hidden="true"></a>&gt; make guilty of our disasters the sun, the moon, and the</span>
+<span id="cb412-11"><a href="#cb412-11" aria-hidden="true"></a>&gt; stars [...]</span>
+<span id="cb412-12"><a href="#cb412-12" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb412-13"><a href="#cb412-13" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb396"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb396-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<div class="sourceCode" id="cb413"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb413-1"><a href="#cb413-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>A quote from William Shakespeare’s King Lear:</p>
@@ -5250,399 +5477,480 @@ multiple paragraphs</li>
<p>This is the excellent foppery of the world that when we are sick in fortune—often the surfeit of our own behavior—we make guilty of our disasters the sun, the moon, and the stars […]</p>
</blockquote>
</blockquote>
-<p>The <code>\markdownRendererBlockQuoteEnd</code> macro represents the end of a block quote. The macro receives no arguments.</p>
-<h4 id="code-block-renderers"><span class="header-section-number">2.3.1.15</span> Code Block Renderers</h4>
+<h4 data-number="2.3.1.16" id="code-block-renderers"><span class="header-section-number">2.3.1.16</span> Code Block Renderers</h4>
<p>The <code>\markdownRendererInputVerbatim</code> macro represents a code block. The macro receives a single argument that corresponds to the filename of a file contaning the code block contents.</p>
<p>The <code>\markdownRendererInputFencedCode</code> macro represents a fenced code block. This macro will only be produced, when the <strong><code>fencedCode</code></strong> option is enabled. The macro receives two arguments that correspond to the filename of a file contaning the code block contents and to the code fence infostring.</p>
-<h5 id="latex-example-46" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb397"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb397-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb397-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</a>
-<a class="sourceLine" id="cb397-3" data-line-number="3"><span class="bu">\usepackage</span>[hyphens]{<span class="ex">url</span>}</a>
-<a class="sourceLine" id="cb397-4" data-line-number="4"><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb397-5" data-line-number="5"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb397-6" data-line-number="6"> renderers = {</a>
-<a class="sourceLine" id="cb397-7" data-line-number="7"> interblockSeparator = {</a>
-<a class="sourceLine" id="cb397-8" data-line-number="8"> <span class="fu">\def</span>\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-9" data-line-number="9"> \par</a>
-<a class="sourceLine" id="cb397-10" data-line-number="10"> \def\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-11" data-line-number="11"> \def\markdownRendererInterblockSeparator{<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-12" data-line-number="12"> \par</a>
-<a class="sourceLine" id="cb397-13" data-line-number="13"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-14" data-line-number="14"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-15" data-line-number="15"> }<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-16" data-line-number="16"> },</a>
-<a class="sourceLine" id="cb397-17" data-line-number="17"> inputVerbatim = {</a>
-<a class="sourceLine" id="cb397-18" data-line-number="18"> is contained in file <span class="fu">\url</span>{#1}:<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-19" data-line-number="19"> <span class="fu">\verbatiminput</span>{#1}<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-20" data-line-number="20"> },</a>
-<a class="sourceLine" id="cb397-21" data-line-number="21"> inputFencedCode = {</a>
-<a class="sourceLine" id="cb397-22" data-line-number="22"> in #2 <span class="fu">\markdownRendererInputVerbatim</span>{#1}<span class="co">%</span></a>
-<a class="sourceLine" id="cb397-23" data-line-number="23"> },</a>
-<a class="sourceLine" id="cb397-24" data-line-number="24"> },</a>
-<a class="sourceLine" id="cb397-25" data-line-number="25">}</a>
-<a class="sourceLine" id="cb397-26" data-line-number="26"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb397-27" data-line-number="27"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb397-28" data-line-number="28">The following code</a>
-<a class="sourceLine" id="cb397-29" data-line-number="29"></a>
-<a class="sourceLine" id="cb397-30" data-line-number="30"> def foo(bar):</a>
-<a class="sourceLine" id="cb397-31" data-line-number="31"> if len(bar) &lt;= 1:</a>
-<a class="sourceLine" id="cb397-32" data-line-number="32"> return bar[0]</a>
-<a class="sourceLine" id="cb397-33" data-line-number="33"> elif len(bar) == 2:</a>
-<a class="sourceLine" id="cb397-34" data-line-number="34"> return sorted(bar)</a>
-<a class="sourceLine" id="cb397-35" data-line-number="35"> else:</a>
-<a class="sourceLine" id="cb397-36" data-line-number="36"> baz = len(bar) // 2</a>
-<a class="sourceLine" id="cb397-37" data-line-number="37"> return foo(bar[baz:], bar[:baz])</a>
-<a class="sourceLine" id="cb397-38" data-line-number="38"></a>
-<a class="sourceLine" id="cb397-39" data-line-number="39">The following code</a>
-<a class="sourceLine" id="cb397-40" data-line-number="40"></a>
-<a class="sourceLine" id="cb397-41" data-line-number="41">~~~ Python</a>
-<a class="sourceLine" id="cb397-42" data-line-number="42">&gt;&gt;&gt; foo([4, 2, 1, 3])</a>
-<a class="sourceLine" id="cb397-43" data-line-number="43">[1, 2, 3, 4]</a>
-<a class="sourceLine" id="cb397-44" data-line-number="44">~~~~~~~~~~</a>
-<a class="sourceLine" id="cb397-45" data-line-number="45"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb397-46" data-line-number="46"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb398"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb398-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-49"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb414"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb414-1"><a href="#cb414-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb414-2"><a href="#cb414-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">verbatim</span>}</span>
+<span id="cb414-3"><a href="#cb414-3" aria-hidden="true"></a><span class="bu">\usepackage</span>[hyphens]{<span class="ex">url</span>}</span>
+<span id="cb414-4"><a href="#cb414-4" aria-hidden="true"></a><span class="bu">\usepackage</span>[fencedCode]{<span class="ex">markdown</span>}</span>
+<span id="cb414-5"><a href="#cb414-5" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb414-6"><a href="#cb414-6" aria-hidden="true"></a> renderers = {</span>
+<span id="cb414-7"><a href="#cb414-7" aria-hidden="true"></a> interblockSeparator = {</span>
+<span id="cb414-8"><a href="#cb414-8" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb414-9"><a href="#cb414-9" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb414-10"><a href="#cb414-10" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb414-11"><a href="#cb414-11" aria-hidden="true"></a> <span class="fu">\def\markdownRendererInterblockSeparator</span>{<span class="co">%</span></span>
+<span id="cb414-12"><a href="#cb414-12" aria-hidden="true"></a> <span class="fu">\par</span></span>
+<span id="cb414-13"><a href="#cb414-13" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb414-14"><a href="#cb414-14" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb414-15"><a href="#cb414-15" aria-hidden="true"></a> }<span class="co">%</span></span>
+<span id="cb414-16"><a href="#cb414-16" aria-hidden="true"></a> },</span>
+<span id="cb414-17"><a href="#cb414-17" aria-hidden="true"></a> inputVerbatim = {</span>
+<span id="cb414-18"><a href="#cb414-18" aria-hidden="true"></a> is contained in file <span class="fu">\url</span>{#1}:<span class="co">%</span></span>
+<span id="cb414-19"><a href="#cb414-19" aria-hidden="true"></a> <span class="fu">\verbatiminput</span>{#1}<span class="co">%</span></span>
+<span id="cb414-20"><a href="#cb414-20" aria-hidden="true"></a> },</span>
+<span id="cb414-21"><a href="#cb414-21" aria-hidden="true"></a> inputFencedCode = {</span>
+<span id="cb414-22"><a href="#cb414-22" aria-hidden="true"></a> in #2 <span class="fu">\markdownRendererInputVerbatim</span>{#1}<span class="co">%</span></span>
+<span id="cb414-23"><a href="#cb414-23" aria-hidden="true"></a> },</span>
+<span id="cb414-24"><a href="#cb414-24" aria-hidden="true"></a> },</span>
+<span id="cb414-25"><a href="#cb414-25" aria-hidden="true"></a>}</span>
+<span id="cb414-26"><a href="#cb414-26" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb414-27"><a href="#cb414-27" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb414-28"><a href="#cb414-28" aria-hidden="true"></a>The following code</span>
+<span id="cb414-29"><a href="#cb414-29" aria-hidden="true"></a></span>
+<span id="cb414-30"><a href="#cb414-30" aria-hidden="true"></a> def foo(bar):</span>
+<span id="cb414-31"><a href="#cb414-31" aria-hidden="true"></a> if len(bar) &lt;= 1:</span>
+<span id="cb414-32"><a href="#cb414-32" aria-hidden="true"></a> return bar[0]</span>
+<span id="cb414-33"><a href="#cb414-33" aria-hidden="true"></a> elif len(bar) == 2:</span>
+<span id="cb414-34"><a href="#cb414-34" aria-hidden="true"></a> return sorted(bar)</span>
+<span id="cb414-35"><a href="#cb414-35" aria-hidden="true"></a> else:</span>
+<span id="cb414-36"><a href="#cb414-36" aria-hidden="true"></a> baz = len(bar) // 2</span>
+<span id="cb414-37"><a href="#cb414-37" aria-hidden="true"></a> return foo(bar[baz:], bar[:baz])</span>
+<span id="cb414-38"><a href="#cb414-38" aria-hidden="true"></a></span>
+<span id="cb414-39"><a href="#cb414-39" aria-hidden="true"></a>The following code</span>
+<span id="cb414-40"><a href="#cb414-40" aria-hidden="true"></a></span>
+<span id="cb414-41"><a href="#cb414-41" aria-hidden="true"></a>~~~ Python</span>
+<span id="cb414-42"><a href="#cb414-42" aria-hidden="true"></a>&gt;&gt;&gt; foo([4, 2, 1, 3])</span>
+<span id="cb414-43"><a href="#cb414-43" aria-hidden="true"></a>[1, 2, 3, 4]</span>
+<span id="cb414-44"><a href="#cb414-44" aria-hidden="true"></a>~~~~~~~~~~</span>
+<span id="cb414-45"><a href="#cb414-45" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb414-46"><a href="#cb414-46" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb415"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb415-1"><a href="#cb415-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text except for the filename, which may differ:</p>
<blockquote>
<p>The following code is contained in file <code>./_markdown_document/882453149edcf288976647f6fe147ada.verbatim</code>:</p>
-<div class="sourceCode" id="cb399"><pre class="sourceCode py"><code class="sourceCode python"><a class="sourceLine" id="cb399-1" data-line-number="1"><span class="kw">def</span> foo(bar):</a>
-<a class="sourceLine" id="cb399-2" data-line-number="2"> <span class="cf">if</span> <span class="bu">len</span>(bar) <span class="op">&lt;=</span> <span class="dv">1</span>:</a>
-<a class="sourceLine" id="cb399-3" data-line-number="3"> <span class="cf">return</span> bar[:<span class="dv">1</span>]</a>
-<a class="sourceLine" id="cb399-4" data-line-number="4"> <span class="cf">elif</span> <span class="bu">len</span>(bar) <span class="op">==</span> <span class="dv">2</span>:</a>
-<a class="sourceLine" id="cb399-5" data-line-number="5"> <span class="cf">return</span> <span class="bu">sorted</span>(bar)</a>
-<a class="sourceLine" id="cb399-6" data-line-number="6"> <span class="cf">else</span>:</a>
-<a class="sourceLine" id="cb399-7" data-line-number="7"> baz <span class="op">=</span> bar[<span class="bu">len</span>(bar) <span class="op">//</span> <span class="dv">2</span>]</a>
-<a class="sourceLine" id="cb399-8" data-line-number="8"> <span class="cf">return</span> (</a>
-<a class="sourceLine" id="cb399-9" data-line-number="9"> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op">&lt;</span> baz]) <span class="op">+</span> [baz] <span class="op">+</span></a>
-<a class="sourceLine" id="cb399-10" data-line-number="10"> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op">&gt;</span> baz])</a>
-<a class="sourceLine" id="cb399-11" data-line-number="11"> )</a></code></pre></div>
+<div class="sourceCode" id="cb416"><pre class="sourceCode py"><code class="sourceCode python"><span id="cb416-1"><a href="#cb416-1" aria-hidden="true"></a><span class="kw">def</span> foo(bar):</span>
+<span id="cb416-2"><a href="#cb416-2" aria-hidden="true"></a> <span class="cf">if</span> <span class="bu">len</span>(bar) <span class="op">&lt;=</span> <span class="dv">1</span>:</span>
+<span id="cb416-3"><a href="#cb416-3" aria-hidden="true"></a> <span class="cf">return</span> bar[:<span class="dv">1</span>]</span>
+<span id="cb416-4"><a href="#cb416-4" aria-hidden="true"></a> <span class="cf">elif</span> <span class="bu">len</span>(bar) <span class="op">==</span> <span class="dv">2</span>:</span>
+<span id="cb416-5"><a href="#cb416-5" aria-hidden="true"></a> <span class="cf">return</span> <span class="bu">sorted</span>(bar)</span>
+<span id="cb416-6"><a href="#cb416-6" aria-hidden="true"></a> <span class="cf">else</span>:</span>
+<span id="cb416-7"><a href="#cb416-7" aria-hidden="true"></a> baz <span class="op">=</span> bar[<span class="bu">len</span>(bar) <span class="op">//</span> <span class="dv">2</span>]</span>
+<span id="cb416-8"><a href="#cb416-8" aria-hidden="true"></a> <span class="cf">return</span> (</span>
+<span id="cb416-9"><a href="#cb416-9" aria-hidden="true"></a> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op">&lt;</span> baz]) <span class="op">+</span> [baz] <span class="op">+</span></span>
+<span id="cb416-10"><a href="#cb416-10" aria-hidden="true"></a> foo([qux <span class="cf">for</span> qux <span class="kw">in</span> bar <span class="cf">if</span> qux <span class="op">&gt;</span> baz])</span>
+<span id="cb416-11"><a href="#cb416-11" aria-hidden="true"></a> )</span></code></pre></div>
<p>The following code in Python contained in file <code>./_markdown_document/cf2a96e2120cef5b1fae5fea36fcc27b.verbatim</code>:</p>
-<div class="sourceCode" id="cb400"><pre class="sourceCode py"><code class="sourceCode python"><a class="sourceLine" id="cb400-1" data-line-number="1"><span class="op">&gt;&gt;&gt;</span> foo([<span class="dv">4</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">3</span>])</a>
-<a class="sourceLine" id="cb400-2" data-line-number="2">[<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>]</a></code></pre></div>
+<div class="sourceCode" id="cb417"><pre class="sourceCode py"><code class="sourceCode python"><span id="cb417-1"><a href="#cb417-1" aria-hidden="true"></a><span class="op">&gt;&gt;&gt;</span> foo([<span class="dv">4</span>, <span class="dv">2</span>, <span class="dv">1</span>, <span class="dv">3</span>])</span>
+<span id="cb417-2"><a href="#cb417-2" aria-hidden="true"></a>[<span class="dv">1</span>, <span class="dv">2</span>, <span class="dv">3</span>, <span class="dv">4</span>]</span></code></pre></div>
+</blockquote>
+<h4 data-number="2.3.1.17" id="yaml-metadata-renderers"><span class="header-section-number">2.3.1.17</span> YAML Metadata Renderers</h4>
+<p>The <code>\markdownRendererJekyllDataBegin</code> macro represents the beginning of a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives no arguments.</p>
+<p>The <code>\markdownRendererJekyllDataEnd</code> macro represents the end of a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives no arguments.</p>
+<p>The <code>\markdownRendererJekyllDataMappingBegin</code> macro represents the beginning of a mapping in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, cast to a string following <abbr>yaml</abbr> serialization rules, and the number of items in the mapping.</p>
+<p>The <code>\markdownRendererJekyllDataMappingEnd</code> macro represents the end of a mapping in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives no arguments.</p>
+<p>The <code>\markdownRendererJekyllDataSequenceBegin</code> macro represents the beginning of a sequence in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, cast to a string following <abbr>yaml</abbr> serialization rules, and the number of items in the sequence.</p>
+<p>The <code>\markdownRendererJekyllDataBoolean</code> macro represents a boolean scalar value in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, and the scalar value, both cast to a string following <abbr>yaml</abbr> serialization rules.</p>
+<p>The <code>\markdownRendererJekyllDataNumber</code> macro represents a numeric scalar value in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, and the scalar value, both cast to a string following <abbr>yaml</abbr> serialization rules.</p>
+<p>The <code>\markdownRendererJekyllDataString</code> macro represents a string scalar value in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives two arguments: the scalar key in the parent structure, cast to a string following <abbr>yaml</abbr> serialization rules, and the scalar value.</p>
+<p>The <code>\markdownRendererJekyllDataEmpty</code> macro represents an empty scalar value in a <abbr>yaml</abbr> document. This macro will only be produced when the <strong><code>jekyllData</code></strong> option is enabled. The macro receives one argument: the scalar key in the parent structure, cast to a string following <abbr>yaml</abbr> serialization rules.</p>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-29">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb418"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb418-1"><a href="#cb418-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb418-2"><a href="#cb418-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span>
+<span id="cb418-3"><a href="#cb418-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span>
+<span id="cb418-4"><a href="#cb418-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span>
+<span id="cb418-5"><a href="#cb418-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span>
+<span id="cb418-6"><a href="#cb418-6" aria-hidden="true"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span>
+<span id="cb418-7"><a href="#cb418-7" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb418-8"><a href="#cb418-8" aria-hidden="true"></a>---</span>
+<span id="cb418-9"><a href="#cb418-9" aria-hidden="true"></a>name: Jane Doe</span>
+<span id="cb418-10"><a href="#cb418-10" aria-hidden="true"></a>age: 99</span>
+<span id="cb418-11"><a href="#cb418-11" aria-hidden="true"></a>---</span>
+<span id="cb418-12"><a href="#cb418-12" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb418-13"><a href="#cb418-13" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb419"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb419-1"><a href="#cb419-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<p>Jane Doe is 99 years old.</p>
+</blockquote>
+<h5 class="unnumbered" data-number="" id="latex-example-50"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb420"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb420-1"><a href="#cb420-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb420-2"><a href="#cb420-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[jekyllData]{<span class="ex">markdown</span>}</span>
+<span id="cb420-3"><a href="#cb420-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb420-4"><a href="#cb420-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb420-5"><a href="#cb420-5" aria-hidden="true"></a> jekyllDataString = {<span class="fu">\gdef\name</span>{#2}},</span>
+<span id="cb420-6"><a href="#cb420-6" aria-hidden="true"></a> jekyllDataNumber = {<span class="fu">\gdef\age</span>{#2}},</span>
+<span id="cb420-7"><a href="#cb420-7" aria-hidden="true"></a> jekyllDataEnd = {<span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.},</span>
+<span id="cb420-8"><a href="#cb420-8" aria-hidden="true"></a> }</span>
+<span id="cb420-9"><a href="#cb420-9" aria-hidden="true"></a>}</span>
+<span id="cb420-10"><a href="#cb420-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb420-11"><a href="#cb420-11" aria-hidden="true"></a></span>
+<span id="cb420-12"><a href="#cb420-12" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb420-13"><a href="#cb420-13" aria-hidden="true"></a>---</span>
+<span id="cb420-14"><a href="#cb420-14" aria-hidden="true"></a>name: Jane Doe</span>
+<span id="cb420-15"><a href="#cb420-15" aria-hidden="true"></a>age: 99</span>
+<span id="cb420-16"><a href="#cb420-16" aria-hidden="true"></a>---</span>
+<span id="cb420-17"><a href="#cb420-17" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb420-18"><a href="#cb420-18" aria-hidden="true"></a></span>
+<span id="cb420-19"><a href="#cb420-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb421"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb421-1"><a href="#cb421-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<p>Jane Doe is 99 years old.</p>
+</blockquote>
+<h5 class="unnumbered" data-number="" id="context-example-41">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb422"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb422-1"><a href="#cb422-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb422-2"><a href="#cb422-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionJekyllData</span>{true}</span>
+<span id="cb422-3"><a href="#cb422-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataString</span>#1#2{<span class="fu">\gdef\name</span>{#2}}</span>
+<span id="cb422-4"><a href="#cb422-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataNumber</span>#1#2{<span class="fu">\gdef\age</span>{#2}}</span>
+<span id="cb422-5"><a href="#cb422-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererJekyllDataEnd</span>{<span class="co">%</span></span>
+<span id="cb422-6"><a href="#cb422-6" aria-hidden="true"></a> <span class="fu">\name</span>{} is <span class="fu">\age</span>{} years old.}</span>
+<span id="cb422-7"><a href="#cb422-7" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb422-8"><a href="#cb422-8" aria-hidden="true"></a></span>
+<span id="cb422-9"><a href="#cb422-9" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb422-10"><a href="#cb422-10" aria-hidden="true"></a>---</span>
+<span id="cb422-11"><a href="#cb422-11" aria-hidden="true"></a>name: Jane Doe</span>
+<span id="cb422-12"><a href="#cb422-12" aria-hidden="true"></a>age: 99</span>
+<span id="cb422-13"><a href="#cb422-13" aria-hidden="true"></a>---</span>
+<span id="cb422-14"><a href="#cb422-14" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb422-15"><a href="#cb422-15" aria-hidden="true"></a></span>
+<span id="cb422-16"><a href="#cb422-16" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb423"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb423-1"><a href="#cb423-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
+<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
+<blockquote>
+<p>Jane Doe is 99 years old.</p>
</blockquote>
-<h4 id="heading-renderers"><span class="header-section-number">2.3.1.16</span> Heading Renderers</h4>
+<h4 data-number="2.3.1.18" id="heading-renderers"><span class="header-section-number">2.3.1.18</span> Heading Renderers</h4>
<p>The <code>\markdownRendererHeadingOne</code> macro represents a first level heading. The macro receives a single argument that corresponds to the heading text.</p>
<p>The <code>\markdownRendererHeadingTwo</code> macro represents a second level heading. The macro receives a single argument that corresponds to the heading text.</p>
<p>The <code>\markdownRendererHeadingThree</code> macro represents a third level heading. The macro receives a single argument that corresponds to the heading text.</p>
<p>The <code>\markdownRendererHeadingFour</code> macro represents a fourth level heading. The macro receives a single argument that corresponds to the heading text.</p>
<p>The <code>\markdownRendererHeadingFive</code> macro represents a fifth level heading. The macro receives a single argument that corresponds to the heading text.</p>
<p>The <code>\markdownRendererHeadingSix</code> macro represents a sixth level heading. The macro receives a single argument that corresponds to the heading text.</p>
-<h5 id="plain-tex-example-28" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb401"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb401-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb401-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a>
-<a class="sourceLine" id="cb401-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererHeadingOne{1}</a>
-<a class="sourceLine" id="cb401-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererHeadingTwo{2}</a>
-<a class="sourceLine" id="cb401-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererHeadingThree{3}</a>
-<a class="sourceLine" id="cb401-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingFour{4}</a>
-<a class="sourceLine" id="cb401-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererHeadingFive{5}</a>
-<a class="sourceLine" id="cb401-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingSix{6}</a>
-<a class="sourceLine" id="cb401-9" data-line-number="9"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb401-10" data-line-number="10">######</a>
-<a class="sourceLine" id="cb401-11" data-line-number="11">#####</a>
-<a class="sourceLine" id="cb401-12" data-line-number="12">#####</a>
-<a class="sourceLine" id="cb401-13" data-line-number="13">###</a>
-<a class="sourceLine" id="cb401-14" data-line-number="14">######</a>
-<a class="sourceLine" id="cb401-15" data-line-number="15"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb401-16" data-line-number="16"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb402"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb402-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-30">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb424"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb424-1"><a href="#cb424-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb424-2"><a href="#cb424-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span>
+<span id="cb424-3"><a href="#cb424-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>{1}</span>
+<span id="cb424-4"><a href="#cb424-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingTwo</span>{2}</span>
+<span id="cb424-5"><a href="#cb424-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingThree</span>{3}</span>
+<span id="cb424-6"><a href="#cb424-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingFour</span>{4}</span>
+<span id="cb424-7"><a href="#cb424-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingFive</span>{5}</span>
+<span id="cb424-8"><a href="#cb424-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingSix</span>{6}</span>
+<span id="cb424-9"><a href="#cb424-9" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb424-10"><a href="#cb424-10" aria-hidden="true"></a>######</span>
+<span id="cb424-11"><a href="#cb424-11" aria-hidden="true"></a>#####</span>
+<span id="cb424-12"><a href="#cb424-12" aria-hidden="true"></a>#####</span>
+<span id="cb424-13"><a href="#cb424-13" aria-hidden="true"></a>###</span>
+<span id="cb424-14"><a href="#cb424-14" aria-hidden="true"></a>######</span>
+<span id="cb424-15"><a href="#cb424-15" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb424-16"><a href="#cb424-16" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb425"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb425-1"><a href="#cb425-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>65536</p>
</blockquote>
-<h5 id="latex-example-47" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb403"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb403-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb403-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb403-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb403-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb403-5" data-line-number="5"> interblockSeparator = {},</a>
-<a class="sourceLine" id="cb403-6" data-line-number="6"> headingOne = 1,</a>
-<a class="sourceLine" id="cb403-7" data-line-number="7"> headingTwo = 2,</a>
-<a class="sourceLine" id="cb403-8" data-line-number="8"> headingThree = 3,</a>
-<a class="sourceLine" id="cb403-9" data-line-number="9"> headingFour = 4,</a>
-<a class="sourceLine" id="cb403-10" data-line-number="10"> headingFive = 5,</a>
-<a class="sourceLine" id="cb403-11" data-line-number="11"> headingSix = 6,</a>
-<a class="sourceLine" id="cb403-12" data-line-number="12"> },</a>
-<a class="sourceLine" id="cb403-13" data-line-number="13">}</a>
-<a class="sourceLine" id="cb403-14" data-line-number="14"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb403-15" data-line-number="15"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb403-16" data-line-number="16">######</a>
-<a class="sourceLine" id="cb403-17" data-line-number="17">#####</a>
-<a class="sourceLine" id="cb403-18" data-line-number="18">#####</a>
-<a class="sourceLine" id="cb403-19" data-line-number="19">###</a>
-<a class="sourceLine" id="cb403-20" data-line-number="20">######</a>
-<a class="sourceLine" id="cb403-21" data-line-number="21"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb403-22" data-line-number="22"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb404"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb404-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-51"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb426"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb426-1"><a href="#cb426-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb426-2"><a href="#cb426-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb426-3"><a href="#cb426-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb426-4"><a href="#cb426-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb426-5"><a href="#cb426-5" aria-hidden="true"></a> interblockSeparator = {},</span>
+<span id="cb426-6"><a href="#cb426-6" aria-hidden="true"></a> headingOne = 1,</span>
+<span id="cb426-7"><a href="#cb426-7" aria-hidden="true"></a> headingTwo = 2,</span>
+<span id="cb426-8"><a href="#cb426-8" aria-hidden="true"></a> headingThree = 3,</span>
+<span id="cb426-9"><a href="#cb426-9" aria-hidden="true"></a> headingFour = 4,</span>
+<span id="cb426-10"><a href="#cb426-10" aria-hidden="true"></a> headingFive = 5,</span>
+<span id="cb426-11"><a href="#cb426-11" aria-hidden="true"></a> headingSix = 6,</span>
+<span id="cb426-12"><a href="#cb426-12" aria-hidden="true"></a> },</span>
+<span id="cb426-13"><a href="#cb426-13" aria-hidden="true"></a>}</span>
+<span id="cb426-14"><a href="#cb426-14" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb426-15"><a href="#cb426-15" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb426-16"><a href="#cb426-16" aria-hidden="true"></a>######</span>
+<span id="cb426-17"><a href="#cb426-17" aria-hidden="true"></a>#####</span>
+<span id="cb426-18"><a href="#cb426-18" aria-hidden="true"></a>#####</span>
+<span id="cb426-19"><a href="#cb426-19" aria-hidden="true"></a>###</span>
+<span id="cb426-20"><a href="#cb426-20" aria-hidden="true"></a>######</span>
+<span id="cb426-21"><a href="#cb426-21" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb426-22"><a href="#cb426-22" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb427"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb427-1"><a href="#cb427-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>65536</p>
</blockquote>
-<h5 id="context-example-38" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb405"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb405-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb405-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererInterblockSeparator{}</a>
-<a class="sourceLine" id="cb405-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererHeadingOne{1}</a>
-<a class="sourceLine" id="cb405-4" data-line-number="4"><span class="fu">\def</span>\markdownRendererHeadingTwo{2}</a>
-<a class="sourceLine" id="cb405-5" data-line-number="5"><span class="fu">\def</span>\markdownRendererHeadingThree{3}</a>
-<a class="sourceLine" id="cb405-6" data-line-number="6"><span class="fu">\def</span>\markdownRendererHeadingFour{4}</a>
-<a class="sourceLine" id="cb405-7" data-line-number="7"><span class="fu">\def</span>\markdownRendererHeadingFive{5}</a>
-<a class="sourceLine" id="cb405-8" data-line-number="8"><span class="fu">\def</span>\markdownRendererHeadingSix{6}</a>
-<a class="sourceLine" id="cb405-9" data-line-number="9"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb405-10" data-line-number="10"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb405-11" data-line-number="11">######</a>
-<a class="sourceLine" id="cb405-12" data-line-number="12">#####</a>
-<a class="sourceLine" id="cb405-13" data-line-number="13">#####</a>
-<a class="sourceLine" id="cb405-14" data-line-number="14">###</a>
-<a class="sourceLine" id="cb405-15" data-line-number="15">######</a>
-<a class="sourceLine" id="cb405-16" data-line-number="16"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb405-17" data-line-number="17"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb406"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb406-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-42">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb428"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb428-1"><a href="#cb428-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb428-2"><a href="#cb428-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererInterblockSeparator</span>{}</span>
+<span id="cb428-3"><a href="#cb428-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingOne</span>{1}</span>
+<span id="cb428-4"><a href="#cb428-4" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingTwo</span>{2}</span>
+<span id="cb428-5"><a href="#cb428-5" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingThree</span>{3}</span>
+<span id="cb428-6"><a href="#cb428-6" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingFour</span>{4}</span>
+<span id="cb428-7"><a href="#cb428-7" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingFive</span>{5}</span>
+<span id="cb428-8"><a href="#cb428-8" aria-hidden="true"></a><span class="fu">\def\markdownRendererHeadingSix</span>{6}</span>
+<span id="cb428-9"><a href="#cb428-9" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb428-10"><a href="#cb428-10" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb428-11"><a href="#cb428-11" aria-hidden="true"></a>######</span>
+<span id="cb428-12"><a href="#cb428-12" aria-hidden="true"></a>#####</span>
+<span id="cb428-13"><a href="#cb428-13" aria-hidden="true"></a>#####</span>
+<span id="cb428-14"><a href="#cb428-14" aria-hidden="true"></a>###</span>
+<span id="cb428-15"><a href="#cb428-15" aria-hidden="true"></a>######</span>
+<span id="cb428-16"><a href="#cb428-16" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb428-17"><a href="#cb428-17" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb429"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb429-1"><a href="#cb429-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>65536</p>
</blockquote>
-<h4 id="horizontal-rule-renderer"><span class="header-section-number">2.3.1.17</span> Horizontal Rule Renderer</h4>
+<h4 data-number="2.3.1.19" id="horizontal-rule-renderer"><span class="header-section-number">2.3.1.19</span> Horizontal Rule Renderer</h4>
<p>The <code>\markdownRendererHorizontalRule</code> macro represents a horizontal rule. The macro receives no arguments.</p>
-<h5 id="plain-tex-example-29" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb407"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb407-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb407-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererHorizontalRule{\vfil\break}</a>
-<a class="sourceLine" id="cb407-3" data-line-number="3"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb407-4" data-line-number="4">This is the first page.</a>
-<a class="sourceLine" id="cb407-5" data-line-number="5"></a>
-<a class="sourceLine" id="cb407-6" data-line-number="6">***</a>
-<a class="sourceLine" id="cb407-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb407-8" data-line-number="8">This is the second page.</a>
-<a class="sourceLine" id="cb407-9" data-line-number="9"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb407-10" data-line-number="10"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb408"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb408-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-31">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb430"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb430-1"><a href="#cb430-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb430-2"><a href="#cb430-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererHorizontalRule</span>{<span class="fu">\vfil\break</span>}</span>
+<span id="cb430-3"><a href="#cb430-3" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb430-4"><a href="#cb430-4" aria-hidden="true"></a>This is the first page.</span>
+<span id="cb430-5"><a href="#cb430-5" aria-hidden="true"></a></span>
+<span id="cb430-6"><a href="#cb430-6" aria-hidden="true"></a>***</span>
+<span id="cb430-7"><a href="#cb430-7" aria-hidden="true"></a></span>
+<span id="cb430-8"><a href="#cb430-8" aria-hidden="true"></a>This is the second page.</span>
+<span id="cb430-9"><a href="#cb430-9" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb430-10"><a href="#cb430-10" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb431"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb431-1"><a href="#cb431-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is the first page.</p>
<hr />
<p>This is the second page.</p>
</blockquote>
-<h5 id="latex-example-48" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb409"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb409-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb409-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb409-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb409-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb409-5" data-line-number="5"> horizontalRule = <span class="fu">\newpage</span>,</a>
-<a class="sourceLine" id="cb409-6" data-line-number="6"> },</a>
-<a class="sourceLine" id="cb409-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb409-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb409-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb409-10" data-line-number="10">This is the first page.</a>
-<a class="sourceLine" id="cb409-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb409-12" data-line-number="12">***</a>
-<a class="sourceLine" id="cb409-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb409-14" data-line-number="14">This is the second page.</a>
-<a class="sourceLine" id="cb409-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb409-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb410"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb410-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-52"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb432"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb432-1"><a href="#cb432-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb432-2"><a href="#cb432-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb432-3"><a href="#cb432-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb432-4"><a href="#cb432-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb432-5"><a href="#cb432-5" aria-hidden="true"></a> horizontalRule = <span class="fu">\newpage</span>,</span>
+<span id="cb432-6"><a href="#cb432-6" aria-hidden="true"></a> },</span>
+<span id="cb432-7"><a href="#cb432-7" aria-hidden="true"></a>}</span>
+<span id="cb432-8"><a href="#cb432-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb432-9"><a href="#cb432-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb432-10"><a href="#cb432-10" aria-hidden="true"></a>This is the first page.</span>
+<span id="cb432-11"><a href="#cb432-11" aria-hidden="true"></a></span>
+<span id="cb432-12"><a href="#cb432-12" aria-hidden="true"></a>***</span>
+<span id="cb432-13"><a href="#cb432-13" aria-hidden="true"></a></span>
+<span id="cb432-14"><a href="#cb432-14" aria-hidden="true"></a>This is the second page.</span>
+<span id="cb432-15"><a href="#cb432-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb432-16"><a href="#cb432-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb433"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb433-1"><a href="#cb433-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is the first page.</p>
<hr />
<p>This is the second page.</p>
</blockquote>
-<h5 id="context-example-39" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb411"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb411-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb411-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererHorizontalRule{\page[yes]}</a>
-<a class="sourceLine" id="cb411-3" data-line-number="3"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb411-4" data-line-number="4"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb411-5" data-line-number="5">This is the first page.</a>
-<a class="sourceLine" id="cb411-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb411-7" data-line-number="7">***</a>
-<a class="sourceLine" id="cb411-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb411-9" data-line-number="9">This is the second page.</a>
-<a class="sourceLine" id="cb411-10" data-line-number="10"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb411-11" data-line-number="11"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb412"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb412-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-43">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb434"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb434-1"><a href="#cb434-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb434-2"><a href="#cb434-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererHorizontalRule</span>{<span class="fu">\page</span>[yes]}</span>
+<span id="cb434-3"><a href="#cb434-3" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb434-4"><a href="#cb434-4" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb434-5"><a href="#cb434-5" aria-hidden="true"></a>This is the first page.</span>
+<span id="cb434-6"><a href="#cb434-6" aria-hidden="true"></a></span>
+<span id="cb434-7"><a href="#cb434-7" aria-hidden="true"></a>***</span>
+<span id="cb434-8"><a href="#cb434-8" aria-hidden="true"></a></span>
+<span id="cb434-9"><a href="#cb434-9" aria-hidden="true"></a>This is the second page.</span>
+<span id="cb434-10"><a href="#cb434-10" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb434-11"><a href="#cb434-11" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb435"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb435-1"><a href="#cb435-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is the first page.</p>
<hr />
<p>This is the second page.</p>
</blockquote>
-<h4 id="footnote-renderer"><span class="header-section-number">2.3.1.18</span> Footnote Renderer</h4>
+<h4 data-number="2.3.1.20" id="footnote-renderer"><span class="header-section-number">2.3.1.20</span> Footnote Renderer</h4>
<p>The <code>\markdownRendererFootnote</code> macro represents a footnote. This macro will only be produced, when the <strong><code>footnotes</code></strong> option is enabled. The macro receives a single argument that corresponds to the footnote text.</p>
-<h5 id="plain-tex-example-30" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb413"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb413-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb413-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFootnotes{true}</a>
-<a class="sourceLine" id="cb413-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererFootnote#1{ (and \lowercase{#1})}</a>
-<a class="sourceLine" id="cb413-4" data-line-number="4"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb413-5" data-line-number="5">This is some text[^1] and this is some other text[^2].</a>
-<a class="sourceLine" id="cb413-6" data-line-number="6"></a>
-<a class="sourceLine" id="cb413-7" data-line-number="7"> [^1]: this is a footnote</a>
-<a class="sourceLine" id="cb413-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb413-9" data-line-number="9"> [^2]: this is some other footnote</a>
-<a class="sourceLine" id="cb413-10" data-line-number="10"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb413-11" data-line-number="11"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb414"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb414-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-32">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb436"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb436-1"><a href="#cb436-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb436-2"><a href="#cb436-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFootnotes</span>{true}</span>
+<span id="cb436-3"><a href="#cb436-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererFootnote</span>#1{ (and <span class="fu">\lowercase</span>{#1})}</span>
+<span id="cb436-4"><a href="#cb436-4" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb436-5"><a href="#cb436-5" aria-hidden="true"></a>This is some text[^1] and this is some other text[^2].</span>
+<span id="cb436-6"><a href="#cb436-6" aria-hidden="true"></a></span>
+<span id="cb436-7"><a href="#cb436-7" aria-hidden="true"></a> [^1]: this is a footnote</span>
+<span id="cb436-8"><a href="#cb436-8" aria-hidden="true"></a></span>
+<span id="cb436-9"><a href="#cb436-9" aria-hidden="true"></a> [^2]: this is some other footnote</span>
+<span id="cb436-10"><a href="#cb436-10" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb436-11"><a href="#cb436-11" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb437"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb437-1"><a href="#cb437-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is some text (and this is a footnote) and this is some other text (and this is some other footnote).</p>
</blockquote>
-<h5 id="latex-example-49" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb415"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb415-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb415-2" data-line-number="2"><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb415-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb415-4" data-line-number="4"> renderers = {</a>
-<a class="sourceLine" id="cb415-5" data-line-number="5"> footnote = { (and <span class="fu">\MakeLowercase</span>{#1})},</a>
-<a class="sourceLine" id="cb415-6" data-line-number="6"> },</a>
-<a class="sourceLine" id="cb415-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb415-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb415-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb415-10" data-line-number="10">This is some text[^1] and this is some other text[^2].</a>
-<a class="sourceLine" id="cb415-11" data-line-number="11"></a>
-<a class="sourceLine" id="cb415-12" data-line-number="12"> [^1]: this is a footnote</a>
-<a class="sourceLine" id="cb415-13" data-line-number="13"></a>
-<a class="sourceLine" id="cb415-14" data-line-number="14"> [^2]: this is some other footnote</a>
-<a class="sourceLine" id="cb415-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb415-16" data-line-number="16"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb416"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb416-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-53"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb438"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb438-1"><a href="#cb438-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb438-2"><a href="#cb438-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[footnotes]{<span class="ex">markdown</span>}</span>
+<span id="cb438-3"><a href="#cb438-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb438-4"><a href="#cb438-4" aria-hidden="true"></a> renderers = {</span>
+<span id="cb438-5"><a href="#cb438-5" aria-hidden="true"></a> footnote = { (and <span class="fu">\MakeLowercase</span>{#1})},</span>
+<span id="cb438-6"><a href="#cb438-6" aria-hidden="true"></a> },</span>
+<span id="cb438-7"><a href="#cb438-7" aria-hidden="true"></a>}</span>
+<span id="cb438-8"><a href="#cb438-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb438-9"><a href="#cb438-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb438-10"><a href="#cb438-10" aria-hidden="true"></a>This is some text[^1] and this is some other text[^2].</span>
+<span id="cb438-11"><a href="#cb438-11" aria-hidden="true"></a></span>
+<span id="cb438-12"><a href="#cb438-12" aria-hidden="true"></a> [^1]: this is a footnote</span>
+<span id="cb438-13"><a href="#cb438-13" aria-hidden="true"></a></span>
+<span id="cb438-14"><a href="#cb438-14" aria-hidden="true"></a> [^2]: this is some other footnote</span>
+<span id="cb438-15"><a href="#cb438-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb438-16"><a href="#cb438-16" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb439"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb439-1"><a href="#cb439-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is some text (and this is a footnote) and this is some other text (and this is some other footnote).</p>
</blockquote>
-<h5 id="context-example-40" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb417"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb417-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb417-2" data-line-number="2"><span class="fu">\def</span>\markdownOptionFootnotes{true}</a>
-<a class="sourceLine" id="cb417-3" data-line-number="3"><span class="fu">\def</span>\markdownRendererFootnote#1{ (and \lowercase{#1})}</a>
-<a class="sourceLine" id="cb417-4" data-line-number="4"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb417-5" data-line-number="5"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb417-6" data-line-number="6">This is some text[^1] and this is some other text[^2].</a>
-<a class="sourceLine" id="cb417-7" data-line-number="7"></a>
-<a class="sourceLine" id="cb417-8" data-line-number="8"> [^1]: this is a footnote</a>
-<a class="sourceLine" id="cb417-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb417-10" data-line-number="10"> [^2]: this is some other footnote</a>
-<a class="sourceLine" id="cb417-11" data-line-number="11"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb417-12" data-line-number="12"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb418"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb418-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-44">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb440"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb440-1"><a href="#cb440-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb440-2"><a href="#cb440-2" aria-hidden="true"></a><span class="fu">\def\markdownOptionFootnotes</span>{true}</span>
+<span id="cb440-3"><a href="#cb440-3" aria-hidden="true"></a><span class="fu">\def\markdownRendererFootnote</span>#1{ (and <span class="fu">\lowercase</span>{#1})}</span>
+<span id="cb440-4"><a href="#cb440-4" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb440-5"><a href="#cb440-5" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb440-6"><a href="#cb440-6" aria-hidden="true"></a>This is some text[^1] and this is some other text[^2].</span>
+<span id="cb440-7"><a href="#cb440-7" aria-hidden="true"></a></span>
+<span id="cb440-8"><a href="#cb440-8" aria-hidden="true"></a> [^1]: this is a footnote</span>
+<span id="cb440-9"><a href="#cb440-9" aria-hidden="true"></a></span>
+<span id="cb440-10"><a href="#cb440-10" aria-hidden="true"></a> [^2]: this is some other footnote</span>
+<span id="cb440-11"><a href="#cb440-11" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb440-12"><a href="#cb440-12" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb441"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb441-1"><a href="#cb441-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is some text (and this is a footnote) and this is some other text (and this is some other footnote).</p>
</blockquote>
-<h4 id="parenthesized-citations-renderer"><span class="header-section-number">2.3.1.19</span> Parenthesized Citations Renderer</h4>
+<h4 data-number="2.3.1.21" id="parenthesized-citations-renderer"><span class="header-section-number">2.3.1.21</span> Parenthesized Citations Renderer</h4>
<p>The <code>\markdownRendererCite</code> macro represents a string of one or more parenthetical citations. This macro will only be produced, when the <strong><code>citations</code></strong> option is enabled. The macro receives the parameter <code>{</code>⟨<em>number of citations</em>⟩<code>}</code> followed by ⟨<em>suppress author</em>⟩ <code>{</code>⟨<em>prenote</em>⟩<code>}{</code>⟨<em>postnote</em>⟩<code>}{</code>⟨<em>name</em>⟩<code>}</code> repeated ⟨<em>number of citations</em>⟩ times. The ⟨<em>suppress author</em>⟩ parameter is either the token <code>-</code>, when the author’s name is to be suppressed, or <code>+</code> otherwise.</p>
-<h5 id="latex-example-50" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb419"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb419-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb419-2" data-line-number="2"><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb419-3" data-line-number="3"><span class="fu">\newcount\citationsCounter</span></a>
-<a class="sourceLine" id="cb419-4" data-line-number="4"><span class="fu">\newcount\citationsTotal</span></a>
-<a class="sourceLine" id="cb419-5" data-line-number="5"><span class="fu">\makeatletter</span></a>
-<a class="sourceLine" id="cb419-6" data-line-number="6"><span class="fu">\def</span>\citations#1#2#3#4{<span class="co">%</span></a>
-<a class="sourceLine" id="cb419-7" data-line-number="7"> a parenthesized citation \emph{#4}</a>
-<a class="sourceLine" id="cb419-8" data-line-number="8"> \advance\citationsCounter by 1\relax</a>
-<a class="sourceLine" id="cb419-9" data-line-number="9"> \ifx\relax#2\relax</a>
-<a class="sourceLine" id="cb419-10" data-line-number="10"> \ifx\relax#3\relax\else</a>
-<a class="sourceLine" id="cb419-11" data-line-number="11"> with a postfix \emph{#3}<span class="co">%</span></a>
-<a class="sourceLine" id="cb419-12" data-line-number="12"> \fi</a>
-<a class="sourceLine" id="cb419-13" data-line-number="13"> \else</a>
-<a class="sourceLine" id="cb419-14" data-line-number="14"> with a prefix \emph{#2}<span class="co">%</span></a>
-<a class="sourceLine" id="cb419-15" data-line-number="15"> \ifx\relax#3\relax\else</a>
-<a class="sourceLine" id="cb419-16" data-line-number="16"> \ and a postfix \emph{#3}<span class="co">%</span></a>
-<a class="sourceLine" id="cb419-17" data-line-number="17"> \fi</a>
-<a class="sourceLine" id="cb419-18" data-line-number="18"> \fi</a>
-<a class="sourceLine" id="cb419-19" data-line-number="19"> \ifnum\citationsCounter&gt;\citationsTotal\relax</a>
-<a class="sourceLine" id="cb419-20" data-line-number="20"> .<span class="co">%</span></a>
-<a class="sourceLine" id="cb419-21" data-line-number="21"> \expandafter\@gobble</a>
-<a class="sourceLine" id="cb419-22" data-line-number="22"> \else</a>
-<a class="sourceLine" id="cb419-23" data-line-number="23"> , and</a>
-<a class="sourceLine" id="cb419-24" data-line-number="24"> \fi\citations}</a>
-<a class="sourceLine" id="cb419-25" data-line-number="25"><span class="fu">\makeatother</span></a>
-<a class="sourceLine" id="cb419-26" data-line-number="26"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb419-27" data-line-number="27"> renderers = {</a>
-<a class="sourceLine" id="cb419-28" data-line-number="28"> cite = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb419-29" data-line-number="29"> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></a>
-<a class="sourceLine" id="cb419-30" data-line-number="30"> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></a>
-<a class="sourceLine" id="cb419-31" data-line-number="31"> This is</a>
-<a class="sourceLine" id="cb419-32" data-line-number="32"> <span class="fu">\expandafter\citations</span></a>
-<a class="sourceLine" id="cb419-33" data-line-number="33"> },</a>
-<a class="sourceLine" id="cb419-34" data-line-number="34"> },</a>
-<a class="sourceLine" id="cb419-35" data-line-number="35">}</a>
-<a class="sourceLine" id="cb419-36" data-line-number="36"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb419-37" data-line-number="37"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb419-38" data-line-number="38">[see @abrahams90, pp. 12; @eijkhout91, pp. 34]</a>
-<a class="sourceLine" id="cb419-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb419-40" data-line-number="40"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb420"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb420-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-54"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb442"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb442-1"><a href="#cb442-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb442-2"><a href="#cb442-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span>
+<span id="cb442-3"><a href="#cb442-3" aria-hidden="true"></a><span class="fu">\newcount\citationsCounter</span></span>
+<span id="cb442-4"><a href="#cb442-4" aria-hidden="true"></a><span class="fu">\newcount\citationsTotal</span></span>
+<span id="cb442-5"><a href="#cb442-5" aria-hidden="true"></a><span class="fu">\makeatletter</span></span>
+<span id="cb442-6"><a href="#cb442-6" aria-hidden="true"></a><span class="fu">\def\citations</span>#1#2#3#4{<span class="co">%</span></span>
+<span id="cb442-7"><a href="#cb442-7" aria-hidden="true"></a> a parenthesized citation <span class="fu">\emph</span>{#4}</span>
+<span id="cb442-8"><a href="#cb442-8" aria-hidden="true"></a> <span class="fu">\advance\citationsCounter</span> by 1<span class="fu">\relax</span></span>
+<span id="cb442-9"><a href="#cb442-9" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#2<span class="fu">\relax</span></span>
+<span id="cb442-10"><a href="#cb442-10" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span>
+<span id="cb442-11"><a href="#cb442-11" aria-hidden="true"></a> with a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span>
+<span id="cb442-12"><a href="#cb442-12" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb442-13"><a href="#cb442-13" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb442-14"><a href="#cb442-14" aria-hidden="true"></a> with a prefix <span class="fu">\emph</span>{#2}<span class="co">%</span></span>
+<span id="cb442-15"><a href="#cb442-15" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span>
+<span id="cb442-16"><a href="#cb442-16" aria-hidden="true"></a> <span class="fu">\ </span>and a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span>
+<span id="cb442-17"><a href="#cb442-17" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb442-18"><a href="#cb442-18" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb442-19"><a href="#cb442-19" aria-hidden="true"></a> <span class="fu">\ifnum\citationsCounter</span>&gt;<span class="fu">\citationsTotal\relax</span></span>
+<span id="cb442-20"><a href="#cb442-20" aria-hidden="true"></a> .<span class="co">%</span></span>
+<span id="cb442-21"><a href="#cb442-21" aria-hidden="true"></a> <span class="fu">\expandafter\@gobble</span></span>
+<span id="cb442-22"><a href="#cb442-22" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb442-23"><a href="#cb442-23" aria-hidden="true"></a> , and</span>
+<span id="cb442-24"><a href="#cb442-24" aria-hidden="true"></a> <span class="fu">\fi\citations</span>}</span>
+<span id="cb442-25"><a href="#cb442-25" aria-hidden="true"></a><span class="fu">\makeatother</span></span>
+<span id="cb442-26"><a href="#cb442-26" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb442-27"><a href="#cb442-27" aria-hidden="true"></a> renderers = {</span>
+<span id="cb442-28"><a href="#cb442-28" aria-hidden="true"></a> cite = {<span class="co">%</span></span>
+<span id="cb442-29"><a href="#cb442-29" aria-hidden="true"></a> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></span>
+<span id="cb442-30"><a href="#cb442-30" aria-hidden="true"></a> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></span>
+<span id="cb442-31"><a href="#cb442-31" aria-hidden="true"></a> This is</span>
+<span id="cb442-32"><a href="#cb442-32" aria-hidden="true"></a> <span class="fu">\expandafter\citations</span></span>
+<span id="cb442-33"><a href="#cb442-33" aria-hidden="true"></a> },</span>
+<span id="cb442-34"><a href="#cb442-34" aria-hidden="true"></a> },</span>
+<span id="cb442-35"><a href="#cb442-35" aria-hidden="true"></a>}</span>
+<span id="cb442-36"><a href="#cb442-36" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb442-37"><a href="#cb442-37" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb442-38"><a href="#cb442-38" aria-hidden="true"></a>[see @abrahams90, pp. 12; @eijkhout91, pp. 34]</span>
+<span id="cb442-39"><a href="#cb442-39" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb442-40"><a href="#cb442-40" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb443"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb443-1"><a href="#cb443-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a parenthesized citation <em>abrahams90</em> with a prefix see and a postfix <em>pp. 12</em>, and a citation <em>eijkhout91</em> with a postfix <em>pp. 34</em>.</p>
</blockquote>
-<h4 id="text-citations-renderer"><span class="header-section-number">2.3.1.20</span> Text Citations Renderer</h4>
-<p>The <code>\markdownRendererTextCite</code> macro represents a string of one or more text citations. This macro will only be produced, when the <strong><code>citations</code></strong> option is enabled. The macro receives parameters in the same format as the <code>\markdownRendererCite</code> macro.</p>
-<h5 id="latex-example-51" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb421"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb421-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb421-2" data-line-number="2"><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb421-3" data-line-number="3"><span class="fu">\newcount\citationsCounter</span></a>
-<a class="sourceLine" id="cb421-4" data-line-number="4"><span class="fu">\newcount\citationsTotal</span></a>
-<a class="sourceLine" id="cb421-5" data-line-number="5"><span class="fu">\makeatletter</span></a>
-<a class="sourceLine" id="cb421-6" data-line-number="6"><span class="fu">\def</span>\citations#1#2#3#4{<span class="co">%</span></a>
-<a class="sourceLine" id="cb421-7" data-line-number="7"> a text citation \emph{#4}</a>
-<a class="sourceLine" id="cb421-8" data-line-number="8"> \advance\citationsCounter by 1\relax</a>
-<a class="sourceLine" id="cb421-9" data-line-number="9"> \ifx\relax#2\relax</a>
-<a class="sourceLine" id="cb421-10" data-line-number="10"> \ifx\relax#3\relax\else</a>
-<a class="sourceLine" id="cb421-11" data-line-number="11"> with a postfix \emph{#3}<span class="co">%</span></a>
-<a class="sourceLine" id="cb421-12" data-line-number="12"> \fi</a>
-<a class="sourceLine" id="cb421-13" data-line-number="13"> \else</a>
-<a class="sourceLine" id="cb421-14" data-line-number="14"> with a prefix \emph{#2}<span class="co">%</span></a>
-<a class="sourceLine" id="cb421-15" data-line-number="15"> \ifx\relax#3\relax\else</a>
-<a class="sourceLine" id="cb421-16" data-line-number="16"> \ and a postfix \emph{#3}<span class="co">%</span></a>
-<a class="sourceLine" id="cb421-17" data-line-number="17"> \fi</a>
-<a class="sourceLine" id="cb421-18" data-line-number="18"> \fi</a>
-<a class="sourceLine" id="cb421-19" data-line-number="19"> \ifnum\citationsCounter&gt;\citationsTotal\relax</a>
-<a class="sourceLine" id="cb421-20" data-line-number="20"> .<span class="co">%</span></a>
-<a class="sourceLine" id="cb421-21" data-line-number="21"> \expandafter\@gobble</a>
-<a class="sourceLine" id="cb421-22" data-line-number="22"> \else</a>
-<a class="sourceLine" id="cb421-23" data-line-number="23"> , and</a>
-<a class="sourceLine" id="cb421-24" data-line-number="24"> \fi\citations}</a>
-<a class="sourceLine" id="cb421-25" data-line-number="25"><span class="fu">\makeatother</span></a>
-<a class="sourceLine" id="cb421-26" data-line-number="26"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb421-27" data-line-number="27"> renderers = {</a>
-<a class="sourceLine" id="cb421-28" data-line-number="28"> textCite = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb421-29" data-line-number="29"> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></a>
-<a class="sourceLine" id="cb421-30" data-line-number="30"> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></a>
-<a class="sourceLine" id="cb421-31" data-line-number="31"> This is</a>
-<a class="sourceLine" id="cb421-32" data-line-number="32"> <span class="fu">\expandafter\citations</span></a>
-<a class="sourceLine" id="cb421-33" data-line-number="33"> },</a>
-<a class="sourceLine" id="cb421-34" data-line-number="34"> },</a>
-<a class="sourceLine" id="cb421-35" data-line-number="35">}</a>
-<a class="sourceLine" id="cb421-36" data-line-number="36"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb421-37" data-line-number="37"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb421-38" data-line-number="38">@abrahams90 [pp. 12; also @eijkhout91]</a>
-<a class="sourceLine" id="cb421-39" data-line-number="39"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb421-40" data-line-number="40"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb422"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb422-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h4 data-number="2.3.1.22" id="text-citations-renderer"><span class="header-section-number">2.3.1.22</span> Text Citations Renderer</h4>
+<p>The <code>\markdownRendererTextCite</code> macro represents a string of one or more text citations. This macro will only be produced, when the <strong><code>citations</code></strong> option is enabled. The macro receives parameters in the same format as the macro.</p>
+<h5 class="unnumbered" data-number="" id="latex-example-55"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb444"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb444-1"><a href="#cb444-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb444-2"><a href="#cb444-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[citations]{<span class="ex">markdown</span>}</span>
+<span id="cb444-3"><a href="#cb444-3" aria-hidden="true"></a><span class="fu">\newcount\citationsCounter</span></span>
+<span id="cb444-4"><a href="#cb444-4" aria-hidden="true"></a><span class="fu">\newcount\citationsTotal</span></span>
+<span id="cb444-5"><a href="#cb444-5" aria-hidden="true"></a><span class="fu">\makeatletter</span></span>
+<span id="cb444-6"><a href="#cb444-6" aria-hidden="true"></a><span class="fu">\def\citations</span>#1#2#3#4{<span class="co">%</span></span>
+<span id="cb444-7"><a href="#cb444-7" aria-hidden="true"></a> a text citation <span class="fu">\emph</span>{#4}</span>
+<span id="cb444-8"><a href="#cb444-8" aria-hidden="true"></a> <span class="fu">\advance\citationsCounter</span> by 1<span class="fu">\relax</span></span>
+<span id="cb444-9"><a href="#cb444-9" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#2<span class="fu">\relax</span></span>
+<span id="cb444-10"><a href="#cb444-10" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span>
+<span id="cb444-11"><a href="#cb444-11" aria-hidden="true"></a> with a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span>
+<span id="cb444-12"><a href="#cb444-12" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb444-13"><a href="#cb444-13" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb444-14"><a href="#cb444-14" aria-hidden="true"></a> with a prefix <span class="fu">\emph</span>{#2}<span class="co">%</span></span>
+<span id="cb444-15"><a href="#cb444-15" aria-hidden="true"></a> <span class="fu">\ifx\relax</span>#3<span class="fu">\relax\else</span></span>
+<span id="cb444-16"><a href="#cb444-16" aria-hidden="true"></a> <span class="fu">\ </span>and a postfix <span class="fu">\emph</span>{#3}<span class="co">%</span></span>
+<span id="cb444-17"><a href="#cb444-17" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb444-18"><a href="#cb444-18" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb444-19"><a href="#cb444-19" aria-hidden="true"></a> <span class="fu">\ifnum\citationsCounter</span>&gt;<span class="fu">\citationsTotal\relax</span></span>
+<span id="cb444-20"><a href="#cb444-20" aria-hidden="true"></a> .<span class="co">%</span></span>
+<span id="cb444-21"><a href="#cb444-21" aria-hidden="true"></a> <span class="fu">\expandafter\@gobble</span></span>
+<span id="cb444-22"><a href="#cb444-22" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb444-23"><a href="#cb444-23" aria-hidden="true"></a> , and</span>
+<span id="cb444-24"><a href="#cb444-24" aria-hidden="true"></a> <span class="fu">\fi\citations</span>}</span>
+<span id="cb444-25"><a href="#cb444-25" aria-hidden="true"></a><span class="fu">\makeatother</span></span>
+<span id="cb444-26"><a href="#cb444-26" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb444-27"><a href="#cb444-27" aria-hidden="true"></a> renderers = {</span>
+<span id="cb444-28"><a href="#cb444-28" aria-hidden="true"></a> textCite = {<span class="co">%</span></span>
+<span id="cb444-29"><a href="#cb444-29" aria-hidden="true"></a> <span class="fu">\citationsCounter</span>=1<span class="co">%</span></span>
+<span id="cb444-30"><a href="#cb444-30" aria-hidden="true"></a> <span class="fu">\citationsTotal</span>=#1<span class="co">%</span></span>
+<span id="cb444-31"><a href="#cb444-31" aria-hidden="true"></a> This is</span>
+<span id="cb444-32"><a href="#cb444-32" aria-hidden="true"></a> <span class="fu">\expandafter\citations</span></span>
+<span id="cb444-33"><a href="#cb444-33" aria-hidden="true"></a> },</span>
+<span id="cb444-34"><a href="#cb444-34" aria-hidden="true"></a> },</span>
+<span id="cb444-35"><a href="#cb444-35" aria-hidden="true"></a>}</span>
+<span id="cb444-36"><a href="#cb444-36" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb444-37"><a href="#cb444-37" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb444-38"><a href="#cb444-38" aria-hidden="true"></a>@abrahams90 [pp. 12; also @eijkhout91]</span>
+<span id="cb444-39"><a href="#cb444-39" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb444-40"><a href="#cb444-40" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb445"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb445-1"><a href="#cb445-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a text citation <em>abrahams90</em> with a postfix <em>pp. 12</em>, and a citation <em>eijkhout91</em> with a prefix <em>also</em>.</p>
</blockquote>
-<h4 id="table-renderer"><span class="header-section-number">2.3.1.21</span> Table Renderer</h4>
+<h4 data-number="2.3.1.23" id="table-renderer"><span class="header-section-number">2.3.1.23</span> Table Renderer</h4>
<p>The <code>\markdownRendererTable</code> macro represents a table. This macro will only be produced, when the <strong><code>pipeTables</code></strong> option is enabled. The macro receives the parameters <code>{</code>⟨<em>caption</em>⟩<code>}{</code>⟨<em>number of rows</em>⟩<code>}{</code>⟨<em>number of columns</em>⟩<code>}</code> followed by <code>{</code>⟨<em>alignments</em>⟩<code>}</code> and then by <code>{</code>⟨<em>row</em>⟩<code>}</code> repeated ⟨<em>number of rows</em>⟩ times, where ⟨<em>row</em>⟩ is <code>{</code>⟨<em>column</em>⟩<code>}</code> repeated ⟨<em>number of columns</em>⟩ times, ⟨<em>alignments</em>⟩ is ⟨<em>alignment</em>⟩ repeated ⟨<em>number of columns</em>⟩ times, and ⟨<em>alignment</em>⟩ is one of the following:</p>
<ul>
<li><code>d</code> – The corresponding column has an unspecified (default) alignment.</li>
@@ -5650,93 +5958,93 @@ multiple paragraphs</li>
<li><code>c</code> – The corresponding column is centered.</li>
<li><code>r</code> – The corresponding column is right-aligned.</li>
</ul>
-<h5 id="latex-example-52" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb423"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb423-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb423-2" data-line-number="2"><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb423-3" data-line-number="3"><span class="fu">\newcount\rowCounter</span></a>
-<a class="sourceLine" id="cb423-4" data-line-number="4"><span class="fu">\newcount\columnCounter</span></a>
-<a class="sourceLine" id="cb423-5" data-line-number="5"><span class="fu">\makeatletter</span></a>
-<a class="sourceLine" id="cb423-6" data-line-number="6"><span class="fu">\def</span>\processRow#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-7" data-line-number="7"> \columnCounter=1<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-8" data-line-number="8"> \ifnum\rowCounter=0\relax</a>
-<a class="sourceLine" id="cb423-9" data-line-number="9"> As for the alignment,</a>
-<a class="sourceLine" id="cb423-10" data-line-number="10"> \else</a>
-<a class="sourceLine" id="cb423-11" data-line-number="11"> In row \the\rowCounter,</a>
-<a class="sourceLine" id="cb423-12" data-line-number="12"> \fi</a>
-<a class="sourceLine" id="cb423-13" data-line-number="13"> \processColumn#1</a>
-<a class="sourceLine" id="cb423-14" data-line-number="14"> \advance\rowCounter by 1\relax</a>
-<a class="sourceLine" id="cb423-15" data-line-number="15"> \ifnum\rowCounter&gt;\rowTotal\relax</a>
-<a class="sourceLine" id="cb423-16" data-line-number="16"> \expandafter\@gobble</a>
-<a class="sourceLine" id="cb423-17" data-line-number="17"> \fi\processRow}<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-18" data-line-number="18"><span class="fu">\def</span>\processColumn#1{<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-19" data-line-number="19"> column number \the\columnCounter{}</a>
-<a class="sourceLine" id="cb423-20" data-line-number="20"> \ifnum\rowCounter=0\relax</a>
-<a class="sourceLine" id="cb423-21" data-line-number="21"> \if#1d{}has default alignment\fi</a>
-<a class="sourceLine" id="cb423-22" data-line-number="22"> \if#1l{}is left-aligned\fi</a>
-<a class="sourceLine" id="cb423-23" data-line-number="23"> \if#1c{}is centered\fi</a>
-<a class="sourceLine" id="cb423-24" data-line-number="24"> \if#1r{}is right-aligned\fi</a>
-<a class="sourceLine" id="cb423-25" data-line-number="25"> \else</a>
-<a class="sourceLine" id="cb423-26" data-line-number="26"> says \emph{#1}<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-27" data-line-number="27"> \fi</a>
-<a class="sourceLine" id="cb423-28" data-line-number="28"> \advance\columnCounter by 1\relax</a>
-<a class="sourceLine" id="cb423-29" data-line-number="29"> \ifnum\columnCounter&lt;\columnTotal\relax, \fi</a>
-<a class="sourceLine" id="cb423-30" data-line-number="30"> \ifnum\columnCounter=\columnTotal\relax, and \fi</a>
-<a class="sourceLine" id="cb423-31" data-line-number="31"> \ifnum\columnCounter&gt;\columnTotal\relax</a>
-<a class="sourceLine" id="cb423-32" data-line-number="32"> .\expandafter\@gobble</a>
-<a class="sourceLine" id="cb423-33" data-line-number="33"> \fi\processColumn}<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-34" data-line-number="34"><span class="fu">\makeatother</span></a>
-<a class="sourceLine" id="cb423-35" data-line-number="35"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb423-36" data-line-number="36"> renderers = {</a>
-<a class="sourceLine" id="cb423-37" data-line-number="37"> table = {<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-38" data-line-number="38"> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 colums wide</a>
-<a class="sourceLine" id="cb423-39" data-line-number="39"> and #2 rows long.</a>
-<a class="sourceLine" id="cb423-40" data-line-number="40"> <span class="fu">\rowCounter</span>=0<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-41" data-line-number="41"> <span class="fu">\def</span>\rowTotal{#2}<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-42" data-line-number="42"> <span class="fu">\def</span>\columnTotal{#3}<span class="co">%</span></a>
-<a class="sourceLine" id="cb423-43" data-line-number="43"> <span class="fu">\processRow</span></a>
-<a class="sourceLine" id="cb423-44" data-line-number="44"> },</a>
-<a class="sourceLine" id="cb423-45" data-line-number="45"> },</a>
-<a class="sourceLine" id="cb423-46" data-line-number="46">}</a>
-<a class="sourceLine" id="cb423-47" data-line-number="47"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb423-48" data-line-number="48"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb423-49" data-line-number="49">| Right | Left | Default | Center |</a>
-<a class="sourceLine" id="cb423-50" data-line-number="50">|------:|:-----|---------|:------:|</a>
-<a class="sourceLine" id="cb423-51" data-line-number="51">| 12 | 12 | 12 | 12 |</a>
-<a class="sourceLine" id="cb423-52" data-line-number="52">| 123 | 123 | 123 | 123 |</a>
-<a class="sourceLine" id="cb423-53" data-line-number="53">| 1 | 1 | 1 | 1 |</a>
-<a class="sourceLine" id="cb423-54" data-line-number="54"></a>
-<a class="sourceLine" id="cb423-55" data-line-number="55"> : Demonstration of pipe table syntax</a>
-<a class="sourceLine" id="cb423-56" data-line-number="56"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb423-57" data-line-number="57"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb424"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb424-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-56"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb446"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb446-1"><a href="#cb446-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb446-2"><a href="#cb446-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[pipeTables, tableCaptions]{<span class="ex">markdown</span>}</span>
+<span id="cb446-3"><a href="#cb446-3" aria-hidden="true"></a><span class="fu">\newcount\rowCounter</span></span>
+<span id="cb446-4"><a href="#cb446-4" aria-hidden="true"></a><span class="fu">\newcount\columnCounter</span></span>
+<span id="cb446-5"><a href="#cb446-5" aria-hidden="true"></a><span class="fu">\makeatletter</span></span>
+<span id="cb446-6"><a href="#cb446-6" aria-hidden="true"></a><span class="fu">\def\processRow</span>#1{<span class="co">%</span></span>
+<span id="cb446-7"><a href="#cb446-7" aria-hidden="true"></a> <span class="fu">\columnCounter</span>=1<span class="co">%</span></span>
+<span id="cb446-8"><a href="#cb446-8" aria-hidden="true"></a> <span class="fu">\ifnum\rowCounter</span>=0<span class="fu">\relax</span></span>
+<span id="cb446-9"><a href="#cb446-9" aria-hidden="true"></a> As for the alignment,</span>
+<span id="cb446-10"><a href="#cb446-10" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb446-11"><a href="#cb446-11" aria-hidden="true"></a> In row <span class="fu">\the\rowCounter</span>,</span>
+<span id="cb446-12"><a href="#cb446-12" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb446-13"><a href="#cb446-13" aria-hidden="true"></a> <span class="fu">\processColumn</span>#1</span>
+<span id="cb446-14"><a href="#cb446-14" aria-hidden="true"></a> <span class="fu">\advance\rowCounter</span> by 1<span class="fu">\relax</span></span>
+<span id="cb446-15"><a href="#cb446-15" aria-hidden="true"></a> <span class="fu">\ifnum\rowCounter</span>&gt;<span class="fu">\rowTotal\relax</span></span>
+<span id="cb446-16"><a href="#cb446-16" aria-hidden="true"></a> <span class="fu">\expandafter\@gobble</span></span>
+<span id="cb446-17"><a href="#cb446-17" aria-hidden="true"></a> <span class="fu">\fi\processRow</span>}<span class="co">%</span></span>
+<span id="cb446-18"><a href="#cb446-18" aria-hidden="true"></a><span class="fu">\def\processColumn</span>#1{<span class="co">%</span></span>
+<span id="cb446-19"><a href="#cb446-19" aria-hidden="true"></a> column number <span class="fu">\the\columnCounter</span>{}</span>
+<span id="cb446-20"><a href="#cb446-20" aria-hidden="true"></a> <span class="fu">\ifnum\rowCounter</span>=0<span class="fu">\relax</span></span>
+<span id="cb446-21"><a href="#cb446-21" aria-hidden="true"></a> <span class="fu">\if</span>#1d{}has default alignment<span class="fu">\fi</span></span>
+<span id="cb446-22"><a href="#cb446-22" aria-hidden="true"></a> <span class="fu">\if</span>#1l{}is left-aligned<span class="fu">\fi</span></span>
+<span id="cb446-23"><a href="#cb446-23" aria-hidden="true"></a> <span class="fu">\if</span>#1c{}is centered<span class="fu">\fi</span></span>
+<span id="cb446-24"><a href="#cb446-24" aria-hidden="true"></a> <span class="fu">\if</span>#1r{}is right-aligned<span class="fu">\fi</span></span>
+<span id="cb446-25"><a href="#cb446-25" aria-hidden="true"></a> <span class="fu">\else</span></span>
+<span id="cb446-26"><a href="#cb446-26" aria-hidden="true"></a> says <span class="fu">\emph</span>{#1}<span class="co">%</span></span>
+<span id="cb446-27"><a href="#cb446-27" aria-hidden="true"></a> <span class="fu">\fi</span></span>
+<span id="cb446-28"><a href="#cb446-28" aria-hidden="true"></a> <span class="fu">\advance\columnCounter</span> by 1<span class="fu">\relax</span></span>
+<span id="cb446-29"><a href="#cb446-29" aria-hidden="true"></a> <span class="fu">\ifnum\columnCounter</span>&lt;<span class="fu">\columnTotal\relax</span>, <span class="fu">\fi</span></span>
+<span id="cb446-30"><a href="#cb446-30" aria-hidden="true"></a> <span class="fu">\ifnum\columnCounter</span>=<span class="fu">\columnTotal\relax</span>, and <span class="fu">\fi</span></span>
+<span id="cb446-31"><a href="#cb446-31" aria-hidden="true"></a> <span class="fu">\ifnum\columnCounter</span>&gt;<span class="fu">\columnTotal\relax</span></span>
+<span id="cb446-32"><a href="#cb446-32" aria-hidden="true"></a> .<span class="fu">\expandafter\@gobble</span></span>
+<span id="cb446-33"><a href="#cb446-33" aria-hidden="true"></a> <span class="fu">\fi\processColumn</span>}<span class="co">%</span></span>
+<span id="cb446-34"><a href="#cb446-34" aria-hidden="true"></a><span class="fu">\makeatother</span></span>
+<span id="cb446-35"><a href="#cb446-35" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb446-36"><a href="#cb446-36" aria-hidden="true"></a> renderers = {</span>
+<span id="cb446-37"><a href="#cb446-37" aria-hidden="true"></a> table = {<span class="co">%</span></span>
+<span id="cb446-38"><a href="#cb446-38" aria-hidden="true"></a> This is a table with caption <span class="fu">\emph</span>{#1} that is #3 colums wide</span>
+<span id="cb446-39"><a href="#cb446-39" aria-hidden="true"></a> and #2 rows long.</span>
+<span id="cb446-40"><a href="#cb446-40" aria-hidden="true"></a> <span class="fu">\rowCounter</span>=0<span class="co">%</span></span>
+<span id="cb446-41"><a href="#cb446-41" aria-hidden="true"></a> <span class="fu">\def\rowTotal</span>{#2}<span class="co">%</span></span>
+<span id="cb446-42"><a href="#cb446-42" aria-hidden="true"></a> <span class="fu">\def\columnTotal</span>{#3}<span class="co">%</span></span>
+<span id="cb446-43"><a href="#cb446-43" aria-hidden="true"></a> <span class="fu">\processRow</span></span>
+<span id="cb446-44"><a href="#cb446-44" aria-hidden="true"></a> },</span>
+<span id="cb446-45"><a href="#cb446-45" aria-hidden="true"></a> },</span>
+<span id="cb446-46"><a href="#cb446-46" aria-hidden="true"></a>}</span>
+<span id="cb446-47"><a href="#cb446-47" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb446-48"><a href="#cb446-48" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb446-49"><a href="#cb446-49" aria-hidden="true"></a>| Right | Left | Default | Center |</span>
+<span id="cb446-50"><a href="#cb446-50" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span>
+<span id="cb446-51"><a href="#cb446-51" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span>
+<span id="cb446-52"><a href="#cb446-52" aria-hidden="true"></a>| 123 | 123 | 123 | 123 |</span>
+<span id="cb446-53"><a href="#cb446-53" aria-hidden="true"></a>| 1 | 1 | 1 | 1 |</span>
+<span id="cb446-54"><a href="#cb446-54" aria-hidden="true"></a></span>
+<span id="cb446-55"><a href="#cb446-55" aria-hidden="true"></a> : Demonstration of pipe table syntax</span>
+<span id="cb446-56"><a href="#cb446-56" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb446-57"><a href="#cb446-57" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb447"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb447-1"><a href="#cb447-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>This is a table with caption <em>Demonstration of pipe table syntax</em> that is 4 colums wide and 4 rows long. As for the alignment, column number 1 is right-aligned, column number 2 is left-aligned, column number 3 has default alignment, and column number 4 is centered. In row 1, column number 1 says <em>Right</em>, column number 2 says <em>Left</em>, column number 3 says <em>Default</em>, and column number 4 says <em>Center</em>. In row 2, column number 1 says <em>12</em>, column number 2 says <em>12</em>, column number 3 says <em>12</em>, and column number 4 says <em>12</em>. In row 3, column number 1 says <em>123</em>, column number 2 says <em>123</em>, column number 3 says <em>123</em>, and column number 4 says <em>123</em>. In row 4, column number 1 says <em>1</em>, column number 2 says <em>1</em>, column number 3 says <em>1</em>, and column number 4 says <em>1</em>.</p>
</blockquote>
-<h4 id="inline-html-comment-renderer"><span class="header-section-number">2.3.1.22</span> Inline HTML Comment Renderer</h4>
+<h4 data-number="2.3.1.24" id="inline-html-comment-renderer"><span class="header-section-number">2.3.1.24</span> Inline HTML Comment Renderer</h4>
<p>The <code>\markdownRendererInlineHtmlComment</code> macro represents the contents of an inline <abbr>HTML</abbr> comment. This macro will only be produced, when the <strong><code>html</code></strong> option is enabled. The macro receives a single argument that corresponds to the contents of the <abbr>HTML</abbr> comment.</p>
-<h5 id="latex-example-53" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb425"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb425-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb425-2" data-line-number="2"><span class="bu">\usepackage</span>[html]{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb425-3" data-line-number="3"><span class="bu">\usepackage</span>{<span class="ex">marginnote</span>}</a>
-<a class="sourceLine" id="cb425-4" data-line-number="4"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb425-5" data-line-number="5"> renderers = {</a>
-<a class="sourceLine" id="cb425-6" data-line-number="6"> inlineHtmlComment = {<span class="fu">\marginnote</span>{#1}},</a>
-<a class="sourceLine" id="cb425-7" data-line-number="7"> },</a>
-<a class="sourceLine" id="cb425-8" data-line-number="8">}</a>
-<a class="sourceLine" id="cb425-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb425-10" data-line-number="10"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb425-11" data-line-number="11">A useful use of HTML comments are side notes.</a>
-<a class="sourceLine" id="cb425-12" data-line-number="12">&lt;!-- Side notes are displayed in the horizontal margins next to the relevant</a>
-<a class="sourceLine" id="cb425-13" data-line-number="13">passages, which makes them easier for the reader to find than footnotes. --&gt;</a>
-<a class="sourceLine" id="cb425-14" data-line-number="14"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb425-15" data-line-number="15"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb426"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb426-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a>
-<a class="sourceLine" id="cb426-2" data-line-number="2"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-57"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb448"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb448-1"><a href="#cb448-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb448-2"><a href="#cb448-2" aria-hidden="true"></a><span class="bu">\usepackage</span>[html]{<span class="ex">markdown</span>}</span>
+<span id="cb448-3"><a href="#cb448-3" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">marginnote</span>}</span>
+<span id="cb448-4"><a href="#cb448-4" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb448-5"><a href="#cb448-5" aria-hidden="true"></a> renderers = {</span>
+<span id="cb448-6"><a href="#cb448-6" aria-hidden="true"></a> inlineHtmlComment = {<span class="fu">\marginnote</span>{#1}},</span>
+<span id="cb448-7"><a href="#cb448-7" aria-hidden="true"></a> },</span>
+<span id="cb448-8"><a href="#cb448-8" aria-hidden="true"></a>}</span>
+<span id="cb448-9"><a href="#cb448-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb448-10"><a href="#cb448-10" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb448-11"><a href="#cb448-11" aria-hidden="true"></a>A useful use of HTML comments are side notes.</span>
+<span id="cb448-12"><a href="#cb448-12" aria-hidden="true"></a>&lt;!-- Side notes are displayed in the horizontal margins next to the relevant</span>
+<span id="cb448-13"><a href="#cb448-13" aria-hidden="true"></a>passages, which makes them easier for the reader to find than footnotes. --&gt;</span>
+<span id="cb448-14"><a href="#cb448-14" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb448-15"><a href="#cb448-15" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb449"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb449-1"><a href="#cb449-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span>
+<span id="cb449-2"><a href="#cb449-2" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following body text:</p>
<blockquote>
<p>A useful use of HTML comments are side notes.</p>
@@ -5745,101 +6053,101 @@ multiple paragraphs</li>
<blockquote>
<p>Side notes are displayed in the horizontal margins next to the relevant passages, which makes them easier for the reader to find than footnotes.</p>
</blockquote>
-<h3 id="token-renderer-prototypes"><span class="header-section-number">2.3.2</span> Token Renderer Prototypes</h3>
+<h3 data-number="2.3.2" id="token-renderer-prototypes"><span class="header-section-number">2.3.2</span> Token Renderer Prototypes</h3>
<p>By default, token renderers point to package-defined <span class="tex">T<sub>e</sub>X</span> macros, further referred to as <em>prototypes</em>, which provide useful default definitions.</p>
-<h5 id="plain-tex-example-31" class="unnumbered">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb427"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb427-1" data-line-number="1"><span class="fu">\input</span> markdown</a>
-<a class="sourceLine" id="cb427-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTildePrototype{<span class="co">%</span></a>
-<a class="sourceLine" id="cb427-3" data-line-number="3"> Packages can specify token renderer prototypes.<span class="co">%</span></a>
-<a class="sourceLine" id="cb427-4" data-line-number="4">}</a>
-<a class="sourceLine" id="cb427-5" data-line-number="5"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb427-6" data-line-number="6">~</a>
-<a class="sourceLine" id="cb427-7" data-line-number="7"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb427-8" data-line-number="8"></a>
-<a class="sourceLine" id="cb427-9" data-line-number="9"><span class="fu">\def</span>\markdownRendererTilde{<span class="co">%</span></a>
-<a class="sourceLine" id="cb427-10" data-line-number="10"> User-defined token renderers take precedence.<span class="co">%</span></a>
-<a class="sourceLine" id="cb427-11" data-line-number="11">}</a>
-<a class="sourceLine" id="cb427-12" data-line-number="12"><span class="fu">\markdownBegin</span></a>
-<a class="sourceLine" id="cb427-13" data-line-number="13">~</a>
-<a class="sourceLine" id="cb427-14" data-line-number="14"><span class="fu">\markdownEnd</span></a>
-<a class="sourceLine" id="cb427-15" data-line-number="15"><span class="fu">\bye</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb428"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb428-1" data-line-number="1"><span class="ex">luatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="plain-tex-example-33">Plain <span class="tex">T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb450"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb450-1"><a href="#cb450-1" aria-hidden="true"></a><span class="fu">\input</span> markdown</span>
+<span id="cb450-2"><a href="#cb450-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererTildePrototype</span>{<span class="co">%</span></span>
+<span id="cb450-3"><a href="#cb450-3" aria-hidden="true"></a> Packages can specify token renderer prototypes.<span class="co">%</span></span>
+<span id="cb450-4"><a href="#cb450-4" aria-hidden="true"></a>}</span>
+<span id="cb450-5"><a href="#cb450-5" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb450-6"><a href="#cb450-6" aria-hidden="true"></a>~</span>
+<span id="cb450-7"><a href="#cb450-7" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb450-8"><a href="#cb450-8" aria-hidden="true"></a></span>
+<span id="cb450-9"><a href="#cb450-9" aria-hidden="true"></a><span class="fu">\def\markdownRendererTilde</span>{<span class="co">%</span></span>
+<span id="cb450-10"><a href="#cb450-10" aria-hidden="true"></a> User-defined token renderers take precedence.<span class="co">%</span></span>
+<span id="cb450-11"><a href="#cb450-11" aria-hidden="true"></a>}</span>
+<span id="cb450-12"><a href="#cb450-12" aria-hidden="true"></a><span class="fu">\markdownBegin</span></span>
+<span id="cb450-13"><a href="#cb450-13" aria-hidden="true"></a>~</span>
+<span id="cb450-14"><a href="#cb450-14" aria-hidden="true"></a><span class="fu">\markdownEnd</span></span>
+<span id="cb450-15"><a href="#cb450-15" aria-hidden="true"></a><span class="fu">\bye</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb451"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb451-1"><a href="#cb451-1" aria-hidden="true"></a><span class="ex">luatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Packages can specify token renderer prototypes.</p>
<p>User-defined token renderers take precedence.</p>
</blockquote>
-<h5 id="latex-example-54" class="unnumbered"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb429"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb429-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">article</span>}</a>
-<a class="sourceLine" id="cb429-2" data-line-number="2"><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb429-3" data-line-number="3"><span class="fu">\markdownSetup</span>{</a>
-<a class="sourceLine" id="cb429-4" data-line-number="4"> rendererPrototypes = {</a>
-<a class="sourceLine" id="cb429-5" data-line-number="5"> tilde = {Packages can specify token renderer prototypes.},</a>
-<a class="sourceLine" id="cb429-6" data-line-number="6"> },</a>
-<a class="sourceLine" id="cb429-7" data-line-number="7">}</a>
-<a class="sourceLine" id="cb429-8" data-line-number="8"><span class="kw">\begin</span>{<span class="ex">document</span>}</a>
-<a class="sourceLine" id="cb429-9" data-line-number="9"><span class="kw">\begin</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb429-10" data-line-number="10">~</a>
-<a class="sourceLine" id="cb429-11" data-line-number="11"><span class="kw">\end</span>{<span class="ex">markdown</span>}</a>
-<a class="sourceLine" id="cb429-12" data-line-number="12"></a>
-<a class="sourceLine" id="cb429-13" data-line-number="13"><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</a>
-<a class="sourceLine" id="cb429-14" data-line-number="14"> renderers = {</a>
-<a class="sourceLine" id="cb429-15" data-line-number="15"> tilde = {User-defined token renderers take precedence.},</a>
-<a class="sourceLine" id="cb429-16" data-line-number="16"> },</a>
-<a class="sourceLine" id="cb429-17" data-line-number="17">}</a>
-<a class="sourceLine" id="cb429-18" data-line-number="18">~</a>
-<a class="sourceLine" id="cb429-19" data-line-number="19"><span class="kw">\end</span>{<span class="ex">markdown*</span>}</a>
-<a class="sourceLine" id="cb429-20" data-line-number="20"><span class="kw">\end</span>{<span class="ex">document</span>}</a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb430"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb430-1" data-line-number="1"><span class="ex">lualatex</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="latex-example-58"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb452"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb452-1"><a href="#cb452-1" aria-hidden="true"></a><span class="bu">\documentclass</span>{<span class="ex">article</span>}</span>
+<span id="cb452-2"><a href="#cb452-2" aria-hidden="true"></a><span class="bu">\usepackage</span>{<span class="ex">markdown</span>}</span>
+<span id="cb452-3"><a href="#cb452-3" aria-hidden="true"></a><span class="fu">\markdownSetup</span>{</span>
+<span id="cb452-4"><a href="#cb452-4" aria-hidden="true"></a> rendererPrototypes = {</span>
+<span id="cb452-5"><a href="#cb452-5" aria-hidden="true"></a> tilde = {Packages can specify token renderer prototypes.},</span>
+<span id="cb452-6"><a href="#cb452-6" aria-hidden="true"></a> },</span>
+<span id="cb452-7"><a href="#cb452-7" aria-hidden="true"></a>}</span>
+<span id="cb452-8"><a href="#cb452-8" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">document</span>}</span>
+<span id="cb452-9"><a href="#cb452-9" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown</span>}</span>
+<span id="cb452-10"><a href="#cb452-10" aria-hidden="true"></a>~</span>
+<span id="cb452-11"><a href="#cb452-11" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown</span>}</span>
+<span id="cb452-12"><a href="#cb452-12" aria-hidden="true"></a></span>
+<span id="cb452-13"><a href="#cb452-13" aria-hidden="true"></a><span class="kw">\begin</span>{<span class="ex">markdown*</span>}{</span>
+<span id="cb452-14"><a href="#cb452-14" aria-hidden="true"></a> renderers = {</span>
+<span id="cb452-15"><a href="#cb452-15" aria-hidden="true"></a> tilde = {User-defined token renderers take precedence.},</span>
+<span id="cb452-16"><a href="#cb452-16" aria-hidden="true"></a> },</span>
+<span id="cb452-17"><a href="#cb452-17" aria-hidden="true"></a>}</span>
+<span id="cb452-18"><a href="#cb452-18" aria-hidden="true"></a>~</span>
+<span id="cb452-19"><a href="#cb452-19" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">markdown*</span>}</span>
+<span id="cb452-20"><a href="#cb452-20" aria-hidden="true"></a><span class="kw">\end</span>{<span class="ex">document</span>}</span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb453"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb453-1"><a href="#cb453-1" aria-hidden="true"></a><span class="ex">lualatex</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Packages can specify token renderer prototypes.</p>
<p>User-defined token renderers take precedence.</p>
</blockquote>
-<h5 id="context-example-41" class="unnumbered">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
-<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
-<div class="sourceCode" id="cb431"><pre class="sourceCode tex"><code class="sourceCode latex"><a class="sourceLine" id="cb431-1" data-line-number="1"><span class="fu">\usemodule</span>[t][markdown]</a>
-<a class="sourceLine" id="cb431-2" data-line-number="2"><span class="fu">\def</span>\markdownRendererTildePrototype{<span class="co">%</span></a>
-<a class="sourceLine" id="cb431-3" data-line-number="3"> Packages can specify token renderer prototypes.<span class="co">%</span></a>
-<a class="sourceLine" id="cb431-4" data-line-number="4">}</a>
-<a class="sourceLine" id="cb431-5" data-line-number="5"><span class="fu">\starttext</span></a>
-<a class="sourceLine" id="cb431-6" data-line-number="6"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb431-7" data-line-number="7">~</a>
-<a class="sourceLine" id="cb431-8" data-line-number="8"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb431-9" data-line-number="9"></a>
-<a class="sourceLine" id="cb431-10" data-line-number="10"><span class="fu">\def</span>\markdownRendererTilde{<span class="co">%</span></a>
-<a class="sourceLine" id="cb431-11" data-line-number="11"> User-defined token renderers take precedence.<span class="co">%</span></a>
-<a class="sourceLine" id="cb431-12" data-line-number="12">}</a>
-<a class="sourceLine" id="cb431-13" data-line-number="13"><span class="fu">\startmarkdown</span></a>
-<a class="sourceLine" id="cb431-14" data-line-number="14">~</a>
-<a class="sourceLine" id="cb431-15" data-line-number="15"><span class="fu">\stopmarkdown</span></a>
-<a class="sourceLine" id="cb431-16" data-line-number="16"><span class="fu">\stoptext</span></a></code></pre></div>
-<p>Next, invoke LuaTeX from the terminal:</p>
-<div class="sourceCode" id="cb432"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb432-1" data-line-number="1"><span class="ex">context</span> document.tex</a></code></pre></div>
+<h5 class="unnumbered" data-number="" id="context-example-45">Con<span class="tex">T<sub>e</sub>X</span>t Example</h5>
+<p>Using a text editor, create a text document named <code>document.tex</code> with the following content:</p>
+<div class="sourceCode" id="cb454"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb454-1"><a href="#cb454-1" aria-hidden="true"></a><span class="fu">\usemodule</span>[t][markdown]</span>
+<span id="cb454-2"><a href="#cb454-2" aria-hidden="true"></a><span class="fu">\def\markdownRendererTildePrototype</span>{<span class="co">%</span></span>
+<span id="cb454-3"><a href="#cb454-3" aria-hidden="true"></a> Packages can specify token renderer prototypes.<span class="co">%</span></span>
+<span id="cb454-4"><a href="#cb454-4" aria-hidden="true"></a>}</span>
+<span id="cb454-5"><a href="#cb454-5" aria-hidden="true"></a><span class="fu">\starttext</span></span>
+<span id="cb454-6"><a href="#cb454-6" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb454-7"><a href="#cb454-7" aria-hidden="true"></a>~</span>
+<span id="cb454-8"><a href="#cb454-8" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb454-9"><a href="#cb454-9" aria-hidden="true"></a></span>
+<span id="cb454-10"><a href="#cb454-10" aria-hidden="true"></a><span class="fu">\def\markdownRendererTilde</span>{<span class="co">%</span></span>
+<span id="cb454-11"><a href="#cb454-11" aria-hidden="true"></a> User-defined token renderers take precedence.<span class="co">%</span></span>
+<span id="cb454-12"><a href="#cb454-12" aria-hidden="true"></a>}</span>
+<span id="cb454-13"><a href="#cb454-13" aria-hidden="true"></a><span class="fu">\startmarkdown</span></span>
+<span id="cb454-14"><a href="#cb454-14" aria-hidden="true"></a>~</span>
+<span id="cb454-15"><a href="#cb454-15" aria-hidden="true"></a><span class="fu">\stopmarkdown</span></span>
+<span id="cb454-16"><a href="#cb454-16" aria-hidden="true"></a><span class="fu">\stoptext</span></span></code></pre></div>
+<p>Next, invoke LuaTeX from the terminal:</p>
+<div class="sourceCode" id="cb455"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb455-1"><a href="#cb455-1" aria-hidden="true"></a><span class="ex">context</span> document.tex</span></code></pre></div>
<p>A PDF document named <code>document.pdf</code> should be produced and contain the following text:</p>
<blockquote>
<p>Packages can specify token renderer prototypes.</p>
<p>User-defined token renderers take precedence.</p>
</blockquote>
-<section class="footnotes">
+<section class="footnotes" role="doc-endnotes">
<hr />
<ol>
-<li id="fn1"><p>Here is the footnote.<a href="#fnref1" class="footnote-back">↩</a></p></li>
-<li id="fn2"><p>Here’s one with multiple blocks.</p>
+<li id="fn1" role="doc-endnote"><p>Here is the footnote.<a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
+<li id="fn2" role="doc-endnote"><p>Here’s one with multiple blocks.</p>
<p>Subsequent paragraphs are indented to show that they belong to the previous footnote.</p>
<pre><code>{ some.code }</code></pre>
-<p>The whole paragraph can be indented, or just the first line. In this way, multi-paragraph footnotes work like multi-paragraph list items.<a href="#fnref2" class="footnote-back">↩</a></p></li>
-<li id="fn3"><p>Here is the footnote.<a href="#fnref3" class="footnote-back">↩</a></p></li>
-<li id="fn4"><p>Here’s one with multiple blocks.</p>
+<p>The whole paragraph can be indented, or just the first line. In this way, multi-paragraph footnotes work like multi-paragraph list items.<a href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
+<li id="fn3" role="doc-endnote"><p>Here is the footnote.<a href="#fnref3" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
+<li id="fn4" role="doc-endnote"><p>Here’s one with multiple blocks.</p>
<p>Subsequent paragraphs are indented to show that they belong to the previous footnote.</p>
<pre><code>{ some.code }</code></pre>
-<p>The whole paragraph can be indented, or just the first line. In this way, multi-paragraph footnotes work like multi-paragraph list items.<a href="#fnref4" class="footnote-back">↩</a></p></li>
-<li id="fn5"><p>Inlines notes are easier to write, since you don’t have to pick an identifier and move down to type the note.<a href="#fnref5" class="footnote-back">↩</a></p></li>
-<li id="fn6"><p>Inlines notes are easier to write, since you don’t have to pick an identifier and move down to type the note.<a href="#fnref6" class="footnote-back">↩</a></p></li>
+<p>The whole paragraph can be indented, or just the first line. In this way, multi-paragraph footnotes work like multi-paragraph list items.<a href="#fnref4" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
+<li id="fn5" role="doc-endnote"><p>Inlines notes are easier to write, since you don’t have to pick an identifier and move down to type the note.<a href="#fnref5" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
+<li id="fn6" role="doc-endnote"><p>Inlines notes are easier to write, since you don’t have to pick an identifier and move down to type the note.<a href="#fnref6" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
</ol>
</section>
</body>
diff --git a/macros/generic/markdown/markdown.ins b/macros/generic/markdown/markdown.ins
index 0e71d55d55..de2f350d50 100644
--- a/macros/generic/markdown/markdown.ins
+++ b/macros/generic/markdown/markdown.ins
@@ -1,18 +1,26 @@
-\input docstrip.tex
-\generate{\usepreamble\luapreamble\usepostamble\luapostamble
- \file{markdown.lua}{\from{markdown.dtx}{lua}}
- \file{markdown-cli.lua}{\from{markdown.dtx}{lua-cli}}
- \usepreamble\texpreamble\usepostamble\texpostamble
- \file{markdown.tex}{\from{markdown.dtx}{tex}}
- \file{markdown.sty}{\from{markdown.dtx}{latex}}
- \file{t-markdown.tex}{\from{markdown.dtx}{context}}
- \file{markdownthemewitiko_dot.sty}{\from{markdown.dtx}{latex-themes-witiko-dot}}
- \file{markdownthemewitiko_graphicx_http.sty}{\from{markdown.dtx}{latex-themes-witiko-graphicx-http}}
- \file{markdownthemewitiko_tilde.sty}{\from{markdown.dtx}{latex-themes-witiko-tilde}}
- \usepreamble\empty\usepostamble\empty
- \file{markdown.md}{\from{markdown.dtx}{manual}}
- \file{markdown-interfaces.md}{\from{markdown.dtx}{manual-interfaces}}
- \file{markdown-options.md}{\from{markdown.dtx}{manual-options}}
- \file{markdown-tokens.md}{\from{markdown.dtx}{manual-tokens}}
- \file{markdown.css}{\from{markdown.dtx}{manual-css}}}
+\input l3docstrip.tex
+\generate{
+ \usepreamble\luapreamble
+ \usepostamble\luapostamble
+ \file{markdown.lua}{\from{markdown.dtx}{lua}}
+ \file{markdown-cli.lua}{\from{markdown.dtx}{lua-cli}}
+ \usepreamble\texpreamble
+ \usepostamble\texpostamble
+ \file{markdown.tex}{\from{markdown.dtx}{tex}}
+ \file{markdown.sty}{\from{markdown.dtx}{latex}}
+ \file{t-markdown.tex}{\from{markdown.dtx}{context}}
+ \file{markdownthemewitiko_dot.sty}{\from{markdown.dtx}{latex-themes-witiko-dot}}
+ \file{markdownthemewitiko_graphicx_http.sty}{\from{markdown.dtx}{latex-themes-witiko-graphicx-http}}
+ \file{markdownthemewitiko_tilde.sty}{\from{markdown.dtx}{latex-themes-witiko-tilde}}
+ \file{markdownthemewitiko_markdown_techdoc.sty}{\from{markdown.dtx}{latex-themes-witiko-markdown-techdoc}}
+ \usepreamble\empty
+ \usepostamble\empty
+ \file{markdown.md}{\from{markdown.dtx}{manual}}
+ \file{markdown-interfaces.md}{\from{markdown.dtx}{manual-interfaces}}
+ \file{markdown-options.md}{\from{markdown.dtx}{manual-options}}
+ \file{markdown-tokens.md}{\from{markdown.dtx}{manual-tokens}}
+ \file{markdown.css}{\from{markdown.dtx}{manual-css}}
+ \file{markdown-figure-block-diagram.tex}{\from{markdown.dtx}{techdoc-block-diagram}}
+ \file{markdown.bib}{\from{markdown.dtx}{techdoc-bibliography}}
+}
\endbatchfile
diff --git a/macros/generic/markdown/markdown.md b/macros/generic/markdown/markdown.md
index dcded9f944..9488ded486 100644
--- a/macros/generic/markdown/markdown.md
+++ b/macros/generic/markdown/markdown.md
@@ -2,7 +2,7 @@
---
title: Markdown Package User Manual
author: Vít Novotný
-date: v\markdownVersion{} (\markdownLastModified{})
+date: \markdownVersion{} (\markdownLastModified{})
---
@@ -16,7 +16,7 @@ functionality is provided both as a Lua module and as plain \TeX{}, \LaTeX{}, an
containing markdown markup. Unlike other convertors, the Markdown package
does not require any external programs, and makes it easy to redefine how each
and every markdown element is rendered. Creative abuse of the markdown
-syntax is encouraged. ;-)
+syntax is encouraged. 😉
[markdown]: https://daringfireball.net/projects/markdown/basics
(Daring Fireball: Markdown Basics)
@@ -36,36 +36,38 @@ documentation][techdoc].
Requirements
------------
-The package requires a working \TeX{} distribution. [\TeX{} Live][tl] ≥ 2013 is
-known to work and so are recent installation of [Mik\TeX{}][mik]. If you are
-using a minimal installation of a \TeX{} distribution, please consult the
-[technical documentation][techdoc] for a detailed list of required packages.
+The package requires either [our official Docker image][docker], which contains
+the latest development version of the Markdown package, or a \TeX{}
+distribution: [\TeX{} Live][tl] ≥ 2018 is known to work with the current
+version of the Markdown package and so are recent versions of [Mik\TeX{}][mik].
+If you are using an older, incomplete, or atypical \TeX{} distribution, please
+consult the [technical documentation][techdoc] for a detailed list of
+requirements.
+ [docker]: https://hub.docker.com/r/witiko/markdown/tags (witiko/markdown - Docker Image)
[tl]: https://www.tug.org/texlive/ (TeX Live - TeX Users Group)
[mik]: https://miktex.org/ (Home - MiKTeXorg)
Installation
------------
-The package comes pre-installed with [\TeX{} Live][tl] ≥ 2016 and with recent
-installations of [MikTeX][mik]. Unless you explicitly wish to use the latest
-version of the package, you are encouraged to skip this step.
+If Markdown is not included in your \TeX{} distribution, you will need to
+install it.
-To install the package, first download the package from the repository
-using Git:
+First, download the package from the repository using Git:
``` sh
git clone https://github.com/witiko/markdown
``````
-Next, enter the directory named `markdown` and interpret the file named
-`markdown.ins` file using a Unicode-aware \TeX{} engine, such as XeTeX or
-LuaTeX:
+Next, enter the directory named `markdown` and run the `make base` command using
+GNU Make:
``` sh
cd markdown
-luatex markdown.ins
+make base
``````
This should produce the following files:
* `markdown.lua`, the Lua module,
+ * `libraries/markdown-tinyyaml.lua`, an external library for reading \acro{yaml},
* `markdown-cli.lua`, the Lua command-line interface,
* `markdown.tex`, the plain \TeX{} macro package,
* `markdown.sty`, the \LaTeX{} package,
@@ -80,16 +82,17 @@ To perform a local installation, place the above files into your \TeX{}
directory structure. This is generally where the individual files should be
placed:
- * `<TEXMF>/tex/luatex/markdown/markdown.lua`
- * `<TEXMF>/scripts/markdown/markdown-cli.lua`
- * `<TEXMF>/tex/generic/markdown/markdown.tex`
- * `<TEXMF>/tex/latex/markdown/markdown.sty`
- * `<TEXMF>/tex/latex/markdown/markdownthemewitiko_dot.sty`
- * `<TEXMF>/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty`
- * `<TEXMF>/tex/latex/markdown/markdownthemewitiko_tilde.sty`
- * `<TEXMF>/tex/context/third/markdown/t-markdown.tex`
-
-where `<TEXMF>` corresponds to a root of your \TeX{} distribution, such as
+ * `⟨TEXMF⟩/tex/luatex/markdown/markdown.lua`
+ * `⟨TEXMF⟩/tex/luatex/markdown/markdown-tinyyaml.lua`
+ * `⟨TEXMF⟩/scripts/markdown/markdown-cli.lua`
+ * `⟨TEXMF⟩/tex/generic/markdown/markdown.tex`
+ * `⟨TEXMF⟩/tex/latex/markdown/markdown.sty`
+ * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_dot.sty`
+ * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty`
+ * `⟨TEXMF⟩/tex/latex/markdown/markdownthemewitiko_tilde.sty`
+ * `⟨TEXMF⟩/tex/context/third/markdown/t-markdown.tex`
+
+where `⟨TEXMF⟩` corresponds to a root of your \TeX{} distribution, such as
`/usr/share/texmf` and `~/texmf` on UN\*X systems or
`C:\Users\`\meta{Your username}`\texmf` on Windows systems. When in doubt,
consult the manual of your \TeX{} distribution.
@@ -113,6 +116,15 @@ In this section, we will take the necessary steps to typeset our first markdown
document in \TeX{}. This will serve as our first hands-on experience with the
package and also as a reassurance that the package has been correctly installed.
+If you are using [our official Docker image][docker], you need to prefix all
+commands in this section with `docker run --rm -v "$PWD"/workdir:/workdir -w
+/workdir witiko/markdown`. For example, instead of `luatex document.tex`, you
+would execute the following command:
+``` sh
+docker run --rm -v "$PWD"/workdir:/workdir -w /workdir witiko/markdown \
+ luatex document.tex
+``````
+
### Using Lua
Using a text editor, create a text document named `document.tex` with the
@@ -281,7 +293,7 @@ In this section, I will describe the individual parts of the Markdown package.
Each part will be shown by example, leaving the implementation details to the
[technical documentation][techdoc].
- [techdoc]: http://mirrors.ctan.org/macros/generic/markdown/markdown.pdf
+ [techdoc]: https://mirrors.ctan.org/macros/generic/markdown/markdown.pdf
(A Markdown Interpreter for \TeX{})
/markdown-interfaces.md
diff --git a/macros/generic/markdown/markdown.pdf b/macros/generic/markdown/markdown.pdf
index f24c9243e2..1319fa0d0e 100644
--- a/macros/generic/markdown/markdown.pdf
+++ b/macros/generic/markdown/markdown.pdf
Binary files differ
diff --git a/macros/generic/markdown/banner.png b/macros/generic/markdown/markdown.png
index b95a90c2cb..b95a90c2cb 100644
--- a/macros/generic/markdown/banner.png
+++ b/macros/generic/markdown/markdown.png
Binary files differ
diff --git a/macros/latex/contrib/decision-table/README b/macros/latex/contrib/decision-table/README
index feb434fb75..1ca5b7404e 100644
--- a/macros/latex/contrib/decision-table/README
+++ b/macros/latex/contrib/decision-table/README
@@ -1,5 +1,5 @@
decision-table.sty
-Copyright 2020 Simon Vandevelde, Francois Pantigny
+Copyright 2020-2021 Simon Vandevelde, Francois Pantigny
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/macros/latex/contrib/decision-table/decision-table.dtx b/macros/latex/contrib/decision-table/decision-table.dtx
index ba9eada069..b457046377 100644
--- a/macros/latex/contrib/decision-table/decision-table.dtx
+++ b/macros/latex/contrib/decision-table/decision-table.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2020 by S. Vandevelde, F. Pantigny
+% Copyright (C) 2020-2021 by S. Vandevelde, F. Pantigny
% ------------------------------------------------
%
% This file may be distributed and/or modified under the
@@ -16,8 +16,8 @@
% \fi
% \iffalse
%
-\def\dmnfileversion{0.0.3}
-\def\dmnfiledate{2020/12/08}
+\def\dmnfileversion{0.0.4}
+\def\dmnfiledate{2021/10/01}
%
%<*batchfile>
\begingroup
@@ -26,7 +26,7 @@
\usedir{tex/latex/cascade}
\preamble
-Copyright (C) 2020 by S.Vandevelde, F. Pantigny
+Copyright (C) 2020-2021 by S.Vandevelde, F. Pantigny
-----------------------------------
This file may be distributed and/or modified under the
@@ -78,8 +78,9 @@ version 2005/12/01 or later.
% \maketitle
%
% \begin{abstract}
-% The LaTeX package \pkg{decision-table} provides a command |\dmntable|, which allows for an easy way to generate decision tables in the Decision Model and Notation (DMN) format. (See Fig. \ref{ex1})
+% The LaTeX package \pkg{decision-table} provides a command |\dmntable|, which allows for an easy way to generate decision tables in the Decision Model and Notation (DMN) format. (See Fig.~\ref{ex1})
% This package ensures consistency in the tables (i.e. fontsize), and is thus a better alternative to inserting tables via images.
+% Besides pure DMN tables, it also supports the tables used in the cDMN and pDMN extensions, namely glossary and probability tables.
% \end{abstract}
%
%
@@ -87,21 +88,37 @@ version 2005/12/01 or later.
% \vspace{1cm}
% \section{Description}
%
-% The \texttt{decision-table} package allows for an easy way to generate decision tables in the Decision Model and Notation (DMN) format. (See Fig. \ref{ex1})
-% This package ensures consistency in the tables (i.e. fontsize), and is thus a better alternative to inserting tables via images.
+% The \texttt{decision-table} package allows for easy and straightforward generation of decision tables (with or without input columns) in the Decision Model and Notation (DMN) format, as demonstrated in Fig.~\ref{ex1}.
+% Additionally, it also supports glossary and goal tables as defined by cDMN\footnote{https://cdmn.be}, and probability tables as defined by pDMN\footnote{Vandevelde S., et al., ``A Table-Based Representation for Probabilistic Logic: Preliminary Result''.}.
+% Usage of this package ensures consistency in tables (i.e. font type, font size, color, $\ldots$), and is thus a better alternative to inserting tables via images.
%
% \begin{figure}[H]
% \centering
-% \dmntable{Calculate BMI}{U}{Weight(kgs),Length(m)}{BMI}{ % ---,---,weight/length*length}
+% \dmntable{BMI Level}{U}{BMI}{BMILevel}
+% {$< 18.5$, Underweight,
+% $[18.5..25]$, Normal,
+% $(25..30]$, Overweight,
+% $> 30$, Obese}
% \caption{Example of a DMN table}
% \label{ex1}
% \end{figure}
-% \section{How to use}
-%
-% The \texttt{decision-table} package adds the \texttt{dmntable} command, with which tables can be created.
+% \section{Usage}
+%
+% In total, the \texttt{decision-table} package adds 5 new commands.
+% \begin{itemize}
+% \item \texttt{dmntable}: basic DMN table.
+% \item \texttt{dmnoutputtable}: basic DMN table, but without input columns.
+% \item \texttt{dmnglossarytable}: glossary table, as defined by cDMN.
+% \item \texttt{goaltable}: goal table, as defined by cDMN.
+% \item \texttt{pdmntable}: probability table, as defined by pDMN.
+% \item \texttt{pdmnoutputtable}: probability table, but without input columns.
+% \end{itemize}
+
+% \subsection{dmntable}
+% The \texttt{dmntable} command generates standard DMN decision tables.
% This command expands into a \texttt{tabular}, so it can be used within a \texttt{table} or \texttt{figure} environment.
-% Furthermore, this allows labels and captions to be added seamlessly.
-% It is also possible to place multiple DMN tables in one \texttt{table}/\texttt{figure} environment.
+% Furthermore, this allows labels and captions to be added seamlessly, and allows placing multiple DMN tables in the same environment.
+% These tables will automatically arrange themselves based on size.
%
% The \texttt{dmntable} command has the following inputs:
% \begin{itemize}
@@ -112,166 +129,197 @@ version 2005/12/01 or later.
% \item the table values
% \end{itemize}
% The command is used as follows:
-% \begin{lstlisting}[language=tex, frame=single]
-% \dmntable{title}{hitpolicy}{input}{output}{values}
-% \end{lstlisting}
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single]
+\dmntable{title}{hitpolicy}{input}{output}{values}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
%
% The input, output and cell values are split by a comma.
% It is not necessary to include the row numbers for the cell values.
-% For example, \ref{ex1} is generated by the following code:
-% \begin{lstlisting}[language=tex, frame=single, basicstyle=\small]
-% \begin{figure}[H]
-% \centering
-% \dmntable{Calculate BMI}{U} % Title and HP
-% {Weight(kgs),Length(m)}{BMI} % Input, output
-% {---,---,weight/length*length} % Cell values
-% \caption{Example of a DMN table}
-% \label{ex1}
-% \end{figure}
-% \end{lstlisting}
+% For example, Fig.~\ref{ex1} is generated by the following code:
+
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single, basicstyle=\small]
+\begin{figure}[H]
+ \centering
+ \dmntable{BMI Level}{U}{BMI}{BMILevel}
+ {$< 18.5$, Underweight,
+ $[18.5..25]$, Normal,
+ $(25..30]$, Overweight,
+ $> 30$, Obese}
+ \caption{Example of a DMN table}
+ \label{ex1}
+\end{figure}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
%
% If a cell value contains multiple values (e.g. multiple string values), then accolades should be written around them.
-% See the example \ref{ex2}.
-%
-%
-% \section{Examples}
-% This section contains some example code and their resulting tables.
-%
-% \begin{lstlisting}[language=tex, frame=single, basicstyle=\small]
-% \begin{figure}[H]
-% \centering
-% \dmntable{Calculate BMI}{U} % Title and HP
-% {Weight(kgs),Length(m)}{BMI} % Input, output
-% {---,---,weight/length*length} % Cell values
-% \caption{Example of a DMN table}
-% \end{figure}
-% \end{lstlisting}
-% \begin{figure}[H]
-% \centering
-% \dmntable{Calculate BMI}{U}
-% {Weight(kgs),Length(m)}{BMI}
-% {---,---,weight/length*length}
-% \caption{Example of a DMN table}
-% \end{figure}
-%
+% See the example shown in Fig.~\ref{ex2}.
+
+% It is also possible to have cells be multiline using the \texttt{makecell} package. This is useful in cases where large text causes page overflow.
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single, basicstyle=\small]
+\include{makecell} % This should be somewhere at the top of document
+\begin{figure}[H]
+ \centering
+ \dmntable{BMI Level}{U}{BMI}{\makecell{BMI \\ Level}}
+ {$< 18.5$, Underweight,
+ $[18.5..25]$, Normal,
+ $(25..30]$, Overweight,
+ $> 30$, Obese}
+ \caption{Example of a DMN table with multiline cell}
+ \label{ex1}
+\end{figure}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
%
-% \begin{lstlisting}[language=tex, frame=single, basicstyle=\small]
-% \begin{ligure}[H]
-% \centering
-% \dmntable{Decide BMI Level}{U}
-% {BMI}{BMI Level, Risk Level}
-% {$< 18.5$, Underweight, Increased,
-% $[18.5..24.9]$, Normal, Low,
-% $[25..29.9]$, overweight, Increased,
-% $[30..34.9]$, Obese I, High,
-% $[35..39.9]$, Obese II, Very High,
-% $> 39.9$, Extreme Obesity, Extremely High}
-% \caption{Example of a DMN table}
-% \end{figure}
-% \end{lstlisting}
+% \subsection{dmnoutputtable}
+% Decision tables that have no input columns can be created using the \texttt{dmnoutputtable} command.
+% Its usage is the same as the standard decision table, except that no input columns should be given.
+% For example, the following code generates the table shown in Fig.~\ref{outputtable}.
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single, basicstyle=\small]
+\begin{figure}[H]
+ \centering
+ \dmnoutputtable{BMI Level}{U}{BMI}{5}
+ \caption{Example of a DMN output table}
+ \label{ex1}
+\end{figure}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
% \begin{figure}[H]
% \centering
-% \dmntable{Decide BMI Level}{U}
-% {BMI}{BMI Level, Risk Level}
-% {$< 18.5$, Underweight, Increased,
-% $[18.5..24.9]$, Normal, Low,
-% $[25..29.9]$, overweight, Increased,
-% $[30..34.9]$, Obese I, High,
-% $[35..39.9]$, Obese II, Very High,
-% $> 39.9$, Extreme Obesity, Extremely High}
-% \caption{Example of a larger DMN table}
+% \dmnoutputtable{BMI Level}{U}{BMI}{5}
+% \caption{Example of a DMN output table}
+% \label{outputtable}
% \end{figure}
%
-% \begin{lstlisting}[language=tex, frame=single, basicstyle=\tiny]
+% \subsection{dmnglossarytable}
+% Glossary tables are added by using the \texttt{glossarytable} command.
+% This command accepts three inputs: the title, the sub-titles of the columns, and the actual elements.
+% See Fig. \ref{glos1} for an example.
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single, basicstyle=\small]
+\begin{figure}[H]
+ \centering
+ \glossarytable{Type}{Name, DataType, Possible Values}
+ {Country, String, {Belgium, France, Germany}}
+ \glossarytable{Function}{Name, DataType}{color of Country, Color}
+ \glossarytable{Relation}{Name}{Country borders Country}
+ \caption{Example glossary}
+ \label{glos1}
+\end{figure}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+%
+%
% \begin{figure}[H]
-% \centering
-% \dmntable{Decide Risk Level}{U}
-% {BMI level, Waist(cm)}{Risk Level}
-% {Overweight, $<=88$, Increased,
-% Overweight, $ > 88$, High,
-% Obese I,$ <= 88$, High,
-% Obese II, ---, Very High,
-% Extreme Obesity, ---, Extremely High,
-% {not(Overweight, Obese I, Obese II, Extreme Obesity)}, ---, Low
-% }
-% \caption{Example of cell with multiple values}
-% \label{ex2}
+% \centering
+% \glossarytable{Type}{Name, DataType, Possible Values}
+% {Country, String, {Belgium, France, Germany}}
+% \glossarytable{Function}{Name, DataType}{color of Country, Color}
+% \glossarytable{Relation}{Name}{Country borders Country}
+% \caption{Example glossary}
+% \label{glos1}
% \end{figure}
-% \end{lstlisting}
-%
+
+% \subsection{goaltable}
+
+% Generating a \texttt{Goal} table is straightforward:
+
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single]
+\goaltable{tablename}{values}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+
% \begin{figure}[H]
% \centering
-% \dmntable{Decide Risk Level}{U}
-% {BMI level, Waist(cm)}{Risk Level}
-% {Overweight, $<=88$, Increased,
-% Overweight, $ > 88$, High,
-% Obese I,$ <= 88$, High,
-% Obese II, ---, Very High,
-% Extreme Obesity, ---, Extremely High,
-% {not(Overweight, Obese I, Obese II, Extreme Obesity)}, ---, Low
-% }
-% \caption{Example of cell with multiple values}
-% \label{ex2}
+% \goaltable{tablename}{value1, value2}
% \end{figure}
-%
-% \begin{lstlisting}[language=tex, frame=single, basicstyle=\tiny]
+
+% \subsection{pdmntable}
+
+% pDMN probability tables are similar to standard DMN tables, but with a few changes.
+% The biggest change is the addition of probabilities. The syntax of \texttt{pdmntable} is as follows:
+
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single]
+\pdmntable{title}{hitpolicy}{inputs}{outputs}{output values}{cell values}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+
+%For example, a table expressing the probabilities of an unbiased and biased dice throw can be expressed as follows:
+
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single]
+\pdmntable{Throwing Dice}{Ch}{biased}{die value}
+ {one, two, three, four, five, six}
+ {No, $1/6$, $1/6$, $1/6$, $1/6$, $1/6$, $1/6$,
+ Yes, $0.1$, $0.1$, $0.1$, $0.1$, $0.1$, $0.5$}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+
% \begin{figure}[H]
% \centering
-% \dmntable{Rule 1}{U}
-% {Age, Service Years}{Eligible1}
-% {$\leq18$, ---, Yes,
-% $\geq60$, ---, Yes,
-% {$[18, 60]$}, $\geq 30$, Yes
-% }
-% \dmntable{Rule 2}{U}
-% {Age, Service Years}{Eligible2}
-% {---,$\geq30$, Yes,
-% $\geq60$,$<30$, Yes
-% }
-% \dmntable{Rule 3}{U}
-% {Age, Service Years}{Eligible3}
-% {$< 45$, {$[15, 30)$}, Yes,
-% $> 45$, ---, Yes
-% }
-% \dmntable{Vacation days}{C+}
-% {Eligible1, Eligible2, Eligble3}{Vacation Days}
-% {---, ---, ---, 22,
-% Yes, ---, ---, 5,
-% ---, Yes, ---, 3,
-% No, ---, Yes, 2
-% }
-% \caption{dmn table example for the Vacation Days}
+% \pdmntable{Throwing Dice}{Ch}{biased}{die value}
+% {one, two, three, four, five, six}
+% {No, $1/6$, $1/6$, $1/6$, $1/6$, $1/6$, $1/6$,
+% Yes, $0.1$, $0.1$, $0.1$, $0.1$, $0.1$, $0.5$}
% \end{figure}
-% \end{lstlisting}
+
+
+% \subsection{pdmnoutputtable}
+% The final type of table, \texttt{pdmnoutputtable}, is the same as the one shown in the previous subsection but without any input columns.
+
+% \iffalse
+%<*example>
+% \fi
+\begin{lstlisting}[language=tex, frame=single]
+\pdmnoutputtable{tablename}{hitpolicy}{output}{outputvalue}{probabilities}
+\end{lstlisting}
+% \iffalse
+%</example>
+% \fi
+
% \begin{figure}[H]
% \centering
-% \dmntable{Rule 1}{U}
-% {Age, Service Years}{Eligible1}
-% {$\leq18$, ---, Yes,
-% $\geq60$, ---, Yes,
-% {$[18, 60]$}, $\geq 30$, Yes
-% }
-% \dmntable{Rule 2}{U}
-% {Age, Service Years}{Eligible2}
-% {---,$\geq30$, Yes,
-% $\geq60$,$<30$, Yes
-% }
-% \dmntable{Rule 3}{U}
-% {Age, Service Years}{Eligible3}
-% {$< 45$, {$[15, 30)$}, Yes,
-% $> 45$, ---, Yes
-% }
-% \dmntable{Vacation days}{C+}
-% {Eligible1, Eligible2, Eligble3}{Vacation Days}
-% {---, ---, ---, 22,
-% Yes, ---, ---, 5,
-% ---, Yes, ---, 3,
-% No, ---, Yes, 2
-% }
-% \caption{DMN table example for the Vacation Days}
+% \pdmnoutputtable{h1}{U}{heads1}{Yes}{0.5}
% \end{figure}
-%
-%
+
% \section{Contributing}
%
% Contributions are always welcome.
@@ -302,13 +350,12 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% We define the command |\dmntable| with the tools of \pkg{xparse} (in 2020
-% October, \pkg{xparse} will be included in the LaTeX kernel).
+% We define the command |\dmntable| with the tools of \pkg{xparse}.
% \begin{macrocode}
\NewDocumentCommand \dmntable { m m m m m }
{
% \end{macrocode}
-% The clist (\emph{commad separated list}) |\l_@@_input_clist| is for the list
+% The clist (\emph{comma separated list}) |\l_@@_input_clist| is for the list
% of the names of the input fields.
% \begin{macrocode}
\clist_clear_new:N \l_@@_input_clist
@@ -453,6 +500,244 @@ version 2005/12/01 or later.
\end { NiceTabular }
}
% \end{macrocode}
+% The other two commands are simply more of the same.
+% \begin{macrocode}
+\NewDocumentCommand \dmnoutputtable { m m m m }
+ {
+ \clist_clear_new:N \l__dmn_output_clist
+ \clist_set:Nn \l__dmn_output_clist { #3 }
+ \int_zero_new:N \l__dmn_output_int
+ \int_set:Nn \l__dmn_output_int { \clist_count:N \l__dmn_output_clist }
+ \seq_clear_new:N \l__dmn_cells_seq
+ \seq_set_split:Nnn \l__dmn_cells_seq { , } { #4 }
+ \use:x
+ {
+ \exp_not:N \begin { NiceTabular }
+ { r \prg_replicate:nn { \l__dmn_output_int } l }
+ [
+ hvlines-except-corners ,
+ code-before =
+ \exp_not:N \rectanglecolor
+ { blue!10!green!60!black!30 }
+ { 2 - 2 }
+ { 2 - \int_eval:n { 1 } }
+ \exp_not:N \rectanglecolor
+ { green!30!blue!15 }
+ { 2 - \int_eval:n { 2 } }
+ { 2 - \int_eval:n { \l__dmn_output_int + 1 } }
+ ]
+ }
+ \exp_args:Ne \multicolumn
+ { \int_eval:n { 1 } }
+ { l }
+ { #1 } \\
+ #2 &
+ \clist_use:Nn \l__dmn_output_clist { & } \\
+ 1 &
+ \seq_map_inline:Nn \l__dmn_cells_seq
+ {
+ \int_compare:nT { \c@jCol = 0 } { \int_eval:n { \c@iRow - 1 } & }
+ ##1
+ \int_compare:nTF { \c@jCol = \l__dmn_output_int + 1 }
+ { \\ }
+ { & }
+ }
+ \end { NiceTabular }
+ }
+
+\NewDocumentCommand \glossarytable { m m m }
+ {
+ \clist_clear_new:N \l__clist
+ \clist_set:Nn \l__clist { #2 }
+ \int_zero_new:N \l__cint
+ \int_set:Nn \l__cint { \clist_count:N \l__clist }
+ \seq_clear_new:N \l__dmn_cells_seq
+ \seq_set_split:Nnn \l__dmn_cells_seq { , } { #3 }
+ \use:x
+ {
+ \exp_not:N \begin { NiceTabular }
+ { c \prg_replicate:nn { \l__cint -1 } c }
+ [
+ hvlines-except-corners ,
+ code-before =
+ \exp_not:N \rectanglecolor
+ { blue!30!green!10!red!40 }
+ { 1 - \int_eval:n { 1 } }
+ { 1 - \int_eval:n { \l__cint} }
+ ]
+ }
+ \exp_args:Ne \multicolumn
+ { \int_eval:n { \l__cint } }
+ { c }
+ { \textbf{#1} } \\
+ \bf \clist_use:Nn \l__clist { & \bf } \\
+ \seq_map_inline:Nn \l__dmn_cells_seq
+ {
+ \int_compare:nT { \c@jCol = 0 } { }
+ ##1
+ \int_compare:nTF { \c@jCol = \l__cint }
+ { \\ }
+ { & }
+ }
+ \end { NiceTabular }
+ }
+\NewDocumentCommand \pdmntable { m m m m m m}
+ {
+ \clist_clear_new:N \l__dmn_input_clist
+ \clist_set:Nn \l__dmn_input_clist { #3 }
+ \clist_clear_new:N \l__dmn_output_clist
+ \clist_set:Nn \l__dmn_output_clist { #4 }
+ \clist_clear_new:N \l__suboutput_clist
+ \clist_set:Nn \l__dmn_suboutput_clist { #5 }
+ \int_zero_new:N \l__dmn_input_int
+ \int_set:Nn \l__dmn_input_int { \clist_count:N \l__dmn_input_clist }
+ \int_zero_new:N \l__dmn_output_int
+ \int_set:Nn \l__dmn_output_int { \clist_count:N \l__dmn_output_clist }
+ \int_zero_new:N \l__dmn_suboutput_int
+ \int_set:Nn \l__dmn_suboutput_int { \clist_count:N \l__dmn_suboutput_clist }
+ \seq_clear_new:N \l__dmn_cells_seq
+ \seq_set_split:Nnn \l__dmn_cells_seq { , } { #6 }
+ \seq_clear_new:N \l__dmn_inputcells_seq
+ \seq_set_split:Nnn \l__dmn_inputcells_seq { , } { #3 }
+ \use:x
+ {
+ \exp_not:N \begin { NiceTabular }
+ { r \prg_replicate:nn { \l__dmn_input_int + \l__dmn_suboutput_int + 1} l }
+ [
+ hvlines-except-corners ,
+ code-before =
+ \exp_not:N \rectanglecolor
+ { blue!10!green!60!black!30 }
+ { 2 - 2 }
+ { 2 - \int_eval:n { \l__dmn_input_int + 1 } }
+ \exp_not:N \rectanglecolor
+ { green!30!blue!15 }
+ { 2 - \int_eval:n { \l__dmn_input_int + 2 } }
+ { 2 - \int_eval:n { \l__dmn_input_int + \l__dmn_suboutput_int + 1 } }
+ \exp_not:N \rectanglecolor
+ { red!60!green!60!blue!15}
+ { 3 - \int_eval:n { 1 } }
+ { 3 - \int_eval:n { \l__dmn_input_int + \l__dmn_suboutput_int + 1 } }
+ ]
+ }
+ \exp_args:Ne \multicolumn
+ { \int_eval:n { \l__dmn_input_int + 1 } }
+ { l }
+ { #1 } \\
+ #2 &
+ \clist_use:Nn \l__dmn_input_clist { & } &
+ \exp_args:Ne \multicolumn
+ { \int_eval:n {\l__dmn_suboutput_int}}
+ { c }
+ { #4 } \\
+ \seq_map_inline:Nn \l__dmn_inputcells_seq
+ { & }
+ & \clist_use:Nn \l__dmn_suboutput_clist { & } & \\
+ %\clist_use:Nn \l__dmn_output_clist { & } \\
+ 1 &
+ \seq_map_inline:Nn \l__dmn_cells_seq
+ {
+ \int_compare:nT { \c@jCol = 0 } { \int_eval:n { \c@iRow - 2 } & }
+ ##1
+ \int_compare:nTF { \c@jCol = \l__dmn_input_int + \l__dmn_suboutput_int + 1 }
+ { \\ }
+ { & }
+ }
+ \end { NiceTabular }
+ }
+\NewDocumentCommand \pdmnoutputtable { m m m m m }
+ {
+ \clist_clear_new:N \l__dmn_output_clist
+ \clist_set:Nn \l__dmn_output_clist { #3 }
+ \clist_clear_new:N \l__suboutput_clist
+ \clist_set:Nn \l__dmn_suboutput_clist { #4 }
+ \int_zero_new:N \l__dmn_output_int
+ \int_set:Nn \l__dmn_output_int { \clist_count:N \l__dmn_output_clist }
+ \int_zero_new:N \l__dmn_suboutput_int
+ \int_set:Nn \l__dmn_suboutput_int { \clist_count:N \l__dmn_suboutput_clist }
+ \seq_clear_new:N \l__dmn_cells_seq
+ \seq_set_split:Nnn \l__dmn_cells_seq { , } { #5 }
+ \use:x
+ {
+ \exp_not:N \begin { NiceTabular }
+ { r \prg_replicate:nn { \l__dmn_suboutput_int } l }
+ [
+ hvlines-except-corners ,
+ code-before =
+ \exp_not:N \rectanglecolor
+ { blue!10!green!60!black!30 }
+ { 2 - 2 }
+ { 2 - \int_eval:n { 1 } }
+ \exp_not:N \rectanglecolor
+ { green!30!blue!15 }
+ { 2 - \int_eval:n { 2 } }
+ { 2 - \int_eval:n { \l__dmn_suboutput_int + 1 } }
+ \exp_not:N \rectanglecolor
+ { red!60!green!60!blue!15}
+ { 3 - \int_eval:n { 1 } }
+ { 3 - \int_eval:n { \l__dmn_suboutput_int + 1 } }
+ ]
+ }
+ \exp_args:Ne \multicolumn
+ { \int_eval:n { 1 } }
+ { l }
+ { #1 } \\
+ #2 &
+ \exp_args:Ne \multicolumn
+ { \int_eval:n {\l__dmn_suboutput_int}}
+ { c }
+ { #3 } \\
+ & \clist_use:Nn \l__dmn_suboutput_clist { & } \\
+ 1 &
+ \seq_map_inline:Nn \l__dmn_cells_seq
+ {
+ \int_compare:nT { \c@jCol = 0 } { \int_eval:n { \c@iRow - 1 } & }
+ ##1
+ \int_compare:nTF { \c@jCol = \l__dmn_suboutput_int + 1 }
+ { \\ }
+ { & }
+ }
+ \end { NiceTabular }
+ }
+
+\NewDocumentCommand \goaltable { m m }
+ {
+ \seq_clear_new:N \l__dmn_cells_seq
+ \seq_set_split:Nnn \l__dmn_cells_seq { , } { #2 }
+ \use:x
+ {
+ \exp_not:N \begin { NiceTabular }
+ { \prg_replicate:nn { 1 } c }
+ [
+ hvlines-except-corners ,
+ code-before =
+ \exp_not:N \rectanglecolor
+ { blue!30!green!10!red!20 }
+ { 1 - \int_eval:n { 1 } }
+ { 1 - \int_eval:n { 1} }
+ ]
+ }
+ \textbf{#1} \\
+ %\exp_args:Ne \multicolumn
+ % { \int_eval:n { 1 } }
+ % { c }
+ % { \textbf{#1} } \\
+ \seq_map_inline:Nn \l__dmn_cells_seq
+ {
+ \int_compare:nT { \c@jCol = 0 } { }
+ ##1
+ \int_compare:nTF { \c@jCol = 1 }
+ { \\ }
+ { & }
+ }
+ \end { NiceTabular }
+ }
+
+\endinput
+%%
+%% End of file `decision-table.sty'.
+
+% \end{macrocode}
%
%
%
diff --git a/macros/latex/contrib/decision-table/decision-table.ins b/macros/latex/contrib/decision-table/decision-table.ins
index e6e24bff6f..015a099668 100644
--- a/macros/latex/contrib/decision-table/decision-table.ins
+++ b/macros/latex/contrib/decision-table/decision-table.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2020 by S. Vandevelde and F. Pantigny
+%% Copyright (C) 2020-2021 by S. Vandevelde and F. Pantigny
%%
%%
%% This file may be distributed and/or modified under the
@@ -17,7 +17,7 @@
\usedir{tex/latex/decision-table}
\preamble
-Copyright (C) 2020 by S. Vandevelde, F. Pantigny
+Copyright (C) 2020-2021 by S. Vandevelde, F. Pantigny
This file may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
diff --git a/macros/latex/contrib/decision-table/decision-table.pdf b/macros/latex/contrib/decision-table/decision-table.pdf
index 001dea8435..9849c4298c 100644
--- a/macros/latex/contrib/decision-table/decision-table.pdf
+++ b/macros/latex/contrib/decision-table/decision-table.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt
index b493fb76a1..d6e0d17d05 100644
--- a/macros/latex/contrib/lwarp/README.txt
+++ b/macros/latex/contrib/lwarp/README.txt
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.901 README.txt
+LaTeX lwarp package v0.902 README.txt
Files included are:
diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx
index 1f899bfa1f..743e616dc1 100644
--- a/macros/latex/contrib/lwarp/lwarp.dtx
+++ b/macros/latex/contrib/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2021/08/27 v0.901 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2021/10/01 v0.902 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -144,24 +144,10 @@
bottom=1in
]{geometry}
-\usepackage{graphicx}
-\graphicspath{{images/}}
+\usepackage{pict2e}% for the Lwarp logo
-
-\usepackage{metalogo}
-
-\makeatletter
-\@ifpackageloaded{erewhon}{
-% for erewhon:
-\setlogokern{Te}{-.08em}
-\setlogokern{eX}{-0.04em}
-\setlogokern{La}{-.25em}
-\setlogokern{aT}{-.10em}
-\setlogokern{Xe}{-.04em}
-\setlogokern{eL}{-.06em}
-\setlogodrop{0.27ex}
-}{}
-\makeatother
+% Improve the LaTeX and related logos:
+\usepackage{metalogox}
\usepackage{enumitem}
@@ -210,7 +196,8 @@
\pagestyle{pageheadfoot}
-\usepackage{dtxdescribe}[2019/07/16]
+% Indexing, logos, \Describexxxx, etc:
+\usepackage{dtxdescribe}[2021/09/02]
\usepackage{splitidx}
@@ -362,19 +349,15 @@ is also loaded automatically if \pkg{koma-script} classes are in use.
\cs{DeclareDocumentCommand} is used to overwrite the \pkg{koma-script} definitions.
}
-\newcommand{\documentationnotes}{
-The following sections document the actual implementation of the \pkg{lwarp} package.
-
-The small numbers at the left end of a line refer to line numbers
-\margintag{line numbers}
-in the \texttt{lwarp.sty} file.
-
+\makeatletter
+\newcommand{\maindocumentationnotes}{
Blue-colored tags in the left margin
\margintag{subjects}
aid in quickly identifying the subject of each paragraph.
+These are often the targets of index entries.
Black-colored tags in the left marign are used to
-\margintag{objects}
+\DTXD@margintag{}{Lwarp}{Prog}%
identify programming objects such as files, packages,
environments, booleans, and counters.
Items without a tag are command macros.
@@ -385,6 +368,17 @@ individual entries, and are also listed together under ``files'', ``packages'',
Special warnings are marked with a warning icon.
\watchout[warnings]
+}
+\makeatother
+
+\newcommand{\codedocumentationnotes}{
+The following sections document the actual implementation of the \pkg{lwarp} package.
+
+The small numbers at the left end of a line refer to line numbers
+\margintag{line numbers}
+in the \texttt{lwarp.sty} file.
+
+\maindocumentationnotes
\codehtml\vspace*{5.25ex}\ignorespaces
\codeprint\vspace*{5.25ex}\ignorespaces
@@ -410,8 +404,8 @@ where it will affect the following \cs{includegraphics} and other images.
to the next image generated by a \env{lateximage}, \env{picture}, \env{tikzpicture},
or any other similar environment which generates an image,
or the next \SVG\ math expression. This tag is cleared after use.
-The tag is also cleared after each \brand{MathJax} expression, in case the user
-changes between \SVG\ math and \brand{MathJax}.
+The tag is also cleared after each \MathJax\ expression, in case the user
+changes between \SVG\ math and \MathJax.
\cs{ThisAltText} also may be used to add an \HTML\ \attribute{title} to
a reference or hyperlink, such as a \cs{ref}, \cs{cref}, \cs{href},
@@ -786,7 +780,7 @@ if \texttt{FileDepth} allows:
\cs{theendnotes}
\end{sourcedisplay}
-If using \brand{MathJax}, see \cref{sec:limitsfootnotes}
+If using \MathJax, see \cref{sec:limitsfootnotes}
\watchout[\cs{endnotemark}]\margintag{numbering}
regarding the use of \cs{endnotemark} and \cs{endnotetext}.
}
@@ -910,7 +904,7 @@ due to the limited number of symbols which are available.
\limitsperpage
% No longer true:
-% If using \brand{MathJax}, \cs{footnote} and \cs{endnote} work,
+% If using \MathJax, \cs{footnote} and \cs{endnote} work,
% \watchout[MathJax, \cs{footnotemark}]
% but for \cs{footnotemark}, after each math expression with a \cs{footnotemark}
% adjust the \ctr{footnote} counter by the number of \cs{footnotemark}s:
@@ -920,8 +914,8 @@ due to the limited number of symbols which are available.
% \end{sourcedisplay}
% Similarly for \pkg{endnotes}, but \emph{not} \pkg{sidenotes}.
-Also for \brand{MathJax}, \cs{footnotename} is used for a \cs{footnotemark}
-\margintag{\brand{MathJax}}
+Also for \MathJax, \cs{footnotename} is used for a \cs{footnotemark}
+\margintag{\MathJax}
if the actual footnote number is not known.
To redefine it, provide it before loading \pkg{lwarp}:
\begin{sourcedisplay}
@@ -1003,7 +997,7 @@ If using the \pkg{bigfoot} package, and possibly also \pkg{manyfoot},
\trouble{bigfoot=\pkg{bigfoot}}
\trouble{manyfoot=\pkg{manyfoot}}
problems may occur with counter allocation because \pkg{lwarp} uses many counters,
-and there is a difference in how counters numbered 256 and up are handled in pdf\LaTeX.
+and there is a difference in how counters numbered 256 and up are handled in \pdfLaTeX.
With \pkg{bigfoot} this has been known to show up as an error
related to one footnote insert being forbidden inside another. Another problem
showed up as a input stack error, and which of these problems occurred depended on how
@@ -1013,7 +1007,7 @@ As a possible solution, try creating several new counters before defining
\pkg{bigfoot} or \pkg{manyfoot} footnotes,
hoping to shift the problematic counter above the 256 threshold.
It may instead be necessary to use \XeLaTeX\ or \LuaLaTeX\
-instead of pdf\LaTeX.
+instead of \pdfLaTeX.
}
\newcommand{\limitskomascript}{
@@ -1187,8 +1181,8 @@ which defaults to:
Math may be rendered
\margintag{Math rendering}
-as \SVG\ graphics or using the \brand{MathJax} JavaScript display engine.
-\gindex{JavaScript=\brand{JavaScript}>mathjax=\brand{MathJax}}
+as \SVG\ graphics or using the \MathJax\ JavaScript display engine.
+\gindex{JavaScript=\brand{JavaScript}>mathjax=\MathJax}
Rendering math as images creates a new \SVG\ file for each expression,
\margintag{\SVG\ files}
@@ -1214,7 +1208,7 @@ Conversion to \MathML\ might be a better approach,
among other things allowing a more compact representation of math than \SVG\ drawings.
Problems with \MathML\ include limited browser support and some
issues with the fine control of the appearance of the result.
-Also see \cref{sec:epub} regarding \EPUB\ output with \brand{MathJax}.
+Also see \cref{sec:epub} regarding \EPUB\ output with \MathJax.
\subsubsection{\SVG\ option}
@@ -1256,71 +1250,71 @@ end of the compile if \pkg{graphics} or \pkg{graphicx} are not used.
\trouble[\SVG\ math in \TeX\ boxes]{math>in \TeX\ boxes}
before and after each image.
-\subsubsection{\brand{MathJax} option}
+\subsubsection{\MathJax\ option}
\label{sec:limitsmathjax}
-The \brand{MathJax} (\url{mathjax.org}) \LaTeX-math to \HTML\ converter
-\margintag{\brand{MathJax} math option}
+The \MathJax\ (\url{mathjax.org}) \LaTeX-math to \HTML\ converter
+\margintag{\MathJax\ math option}
may be used to display math.
\DescribeProgram{MathJax}
-\gindex{math>mathjax=\brand{MathJax} summary}
-\gindex{mathjax=\brand{MathJax}>summary}
+\gindex{math>mathjax=\MathJax\ summary}
+\gindex{mathjax=\MathJax>summary}
-When \brand{MathJax} is enabled, math is rendered twice:
+When \MathJax\ is enabled, math is rendered twice:
\begin{enumerate}
\item As regular \LaTeX\ \PDF\ output placed inside an \HTML\ comment, allowing
equation numbering and cross referencing to be almost entirely under the control of \LaTeX, and
\item As detokenized printed \LaTeX{} commands placed directly into the \HTML\ output
-for interpretation by the \brand{MathJax} display scripts. An additional script is used to
+for interpretation by the \MathJax\ display scripts. An additional script is used to
pre-set the equation number format and value according to the current \LaTeX\ values,
-and the \brand{MathJax} equation numbering system is ignored in favor of the \LaTeX\ internal system,
+and the \MathJax\ equation numbering system is ignored in favor of the \LaTeX\ internal system,
seamlessly integrating with the rest of the \HTML\ output, including any math
-appearing in non-\brand{MathJax} \SVG\ output.
+appearing in non-\MathJax\ \SVG\ output.
\end{enumerate}
-\subsubsection{Customizing \brand{MathJax}}
+\subsubsection{Customizing \MathJax}
\label{sec:limitscustomizemathjax}
-\gindex{mathjax=\brand{MathJax}>custom functions}
-\gindex{math>mathjax=\brand{MathJax} custom functions}
+\gindex{mathjax=\MathJax>custom functions}
+\gindex{math>mathjax=\MathJax\ custom functions}
\limitscustomizemathjax
-\subsubsection{\brand{MathJax} limitations}
-Limitations when using \brand{MathJax} include:
-\margintag{\brand{MathJax} limitations}
+\subsubsection{\MathJax\ limitations}
+Limitations when using \MathJax\ include:
+\margintag{\MathJax\ limitations}
\DescribeProgram{MathJax}
\begin{itemize}
-\item \brand{MathJax} does not support \cs{multicolumn} or \pkg{multirow}.
+\item \MathJax\ does not support \cs{multicolumn} or \pkg{multirow}.
\trouble[\cs{multicolumn}, \pkg{multirow}]%
- {multicolumn=\cs{multicolumn}>mathjax=\brand{MathJax}}
- \trouble{multirow=\pkg{multirow}>mathjax=\brand{MathJax}}
- \trouble{array=\env{array}>mathjax=\brand{MathJax}}
- \trouble{mathjax=\brand{MathJax}>multicolumn=\cs{multicolumn}}
- \trouble{mathjax=\brand{MathJax}>multirow=\cs{multirow}}
+ {multicolumn=\cs{multicolumn}>mathjax=\MathJax}
+ \trouble{multirow=\pkg{multirow}>mathjax=\MathJax}
+ \trouble{array=\env{array}>mathjax=\MathJax}
+ \trouble{mathjax=\MathJax>multicolumn=\cs{multicolumn}}
+ \trouble{mathjax=\MathJax>multirow=\cs{multirow}}
These may be used in text \env{tabular}s or \SVG\ math,
- but in \brand{MathJax} math \env{array}s they are emulated.
+ but in \MathJax\ math \env{array}s they are emulated.
\cs{multicolumn} only fills a single cell, resulting in a short row.
\cs{multirow} simply prints its text on the first line.
-\item Footnotes are emulated when used inside a \brand{MathJax} expression.
+\item Footnotes are emulated when used inside a \MathJax\ expression.
\watchout[footnotes]
For an equation with a single footnote, the correct footnote number is used.
For non-equations, \cs{footnotename} is used instead, since the actual
number cannot be tracked.
- See \cref{sec:limitsfootnotes} regarding the use of footnotes with \brand{MathJax}.
+ See \cref{sec:limitsfootnotes} regarding the use of footnotes with \MathJax.
-\item Inside a \brand{MathJax} expression,
- \trouble[references]{mathjax=\brand{MathJax}>references}
- \trouble{cross reference>mathjax=\brand{MathJax}}
- \trouble{reference>mathjax=\brand{MathJax}}
+\item Inside a \MathJax\ expression,
+ \trouble[references]{mathjax=\MathJax>references}
+ \trouble{cross reference>mathjax=\MathJax}
+ \trouble{reference>mathjax=\MathJax}
references to equations work within the same \HTML\ web page, but do not
work when referring to an equation in a different \HTML\ web page.
- Outside of a \brand{MathJax} expression, in the text body, references work
+ Outside of a \MathJax\ expression, in the text body, references work
as expected.
\item Math appearing inside a lateximage,
\margintag{lateximage}
and therefore also inside a \tikz\ or \env{picture}
- environment, is rendered as \SVG\ math even if \brand{MathJax}
+ environment, is rendered as \SVG\ math even if \MathJax
is used in the rest of the document.
\item For \pkg{siunitx},
@@ -1333,21 +1327,38 @@ Limitations when using \brand{MathJax} include:
\item A \env{tabbing} environment is emulated
using an \HTML\ \element{pre}.\margintag{tabbing}\
- While \brand{MathJax} is enabled inside \env{tabbing}, the browser may not correctly
+ While \MathJax\ is enabled inside \env{tabbing}, the browser may not correctly
render the horizontal alignment of the math and text following after on the same line.
-\item \brand{MathJax} includes the \prog{textmacros} extension,
+\item \MathJax\ includes the \prog{textmacros} extension,
\margintag{\cs{text}}
which supports various macros which are commonly used inside \cs{text},
such as \cs{textbf} and text accents.
\pkg{Lwarp} supports this extension.
+\item If using \dviLaTeX\ or \pdfLaTeX,
+ \trouble[Unicode]{Unicode>mathjax=\MathJax}
+ \trouble{encoding>mathjax=\MathJax}
+ \trouble{character encoding>mathjax=\MathJax}
+ \trouble{mathjax=\MathJax>encoding}
+ \trouble{mathjax=\MathJax>character encoding}
+ \trouble{mathjax=\MathJax>Unicode}
+ unicode input may not appear correctly in \MathJax.
+ Either use \XeLaTeX\ or \LuaLaTeX, or replace Unicode special characters such as
+\begin{sourcedisplay}
+\cs{text}\{special character \ae\}
+\end{sourcedisplay}
+ with their special macros, such as
+\begin{sourcedisplay}
+\cs{text}\{special character \cs{ae}\}
+\end{sourcedisplay}
+
\item Many other math-related macros and packages are
- \trouble[other macros and packages]{mathjax=\brand{MathJax}>unsupported packages}
- \trouble{package>mathjax=\brand{MathJax} support}
- not directly supported by \brand{MathJax},
+ \trouble[other macros and packages]{mathjax=\MathJax>unsupported packages}
+ \trouble{package>mathjax=\MathJax\ support}
+ not directly supported by \MathJax,
including \cs{ensuremath} and occasionally-used macros such as \cs{relax}.
- While using \brand{MathJax}, \pkg{lwarp} provides emulation
+ While using \MathJax, \pkg{lwarp} provides emulation
for many of these macros, as well as for footnotes and emulation for
dozens of packages (see \cref{tab:supported}).
In many cases these emulations simply ignore the package in a source-compatible way.
@@ -1380,7 +1391,7 @@ package.
\DescribeMacro{\inlinemathnormal}
\DescribeMacro{\inlinemathother}
An inline math expression is usually converted to a reusable hashed \SVG\ math
-image, or a \brand{MathJax} expression. The hash or expression depends on the contents
+image, or a \MathJax\ expression. The hash or expression depends on the contents
of the math expression. In most cases this math expression is static, such as \texttt{\$x+1\$},
so the image can be reused for multiples instances of the same expression.
In some cases,
@@ -1391,11 +1402,11 @@ Another problem is complicated contents
\margintag{complicated \attribute{alt} tag}
which do not expand well in an \attribute{alt} tag.
Yet another problem is math packages which are only partially emulated
-\margintag{\brand{MathJax} limitations}
-in \brand{MathJax}.
+\margintag{\MathJax\ limitations}
+in \MathJax.
The macro \cs{inlinemathother} may be used before a sequence of dynamic or complicated
math expressions, and \cs{inlinemathnormal} after. Doing so tells \pkg{lwarp} to
-use unhashed \SVG\ math images for those particular expressins, even if \brand{MathJax}
+use unhashed \SVG\ math images for those particular expressins, even if \MathJax
is otherwise in use.
See \cref{sec:localizingdynamicmath}.
}
@@ -1404,7 +1415,7 @@ See \cref{sec:localizingdynamicmath}.
\DescribeMacro{\displaymathnormal}
By default, or when selecting \cs{displaymathnormal},
\brand{Mathjax} math display environments print their contents
-as text into \HTML\ for \brand{MathJax} to interpret,
+as text into \HTML\ for \MathJax\ to interpret,
and \SVG\ display math environments render their contents as \SVG\ images
and use their contents as the \attribute{alt} tag of \HTML\ output.
To do so, the contents are loaded into a macro for reuse.
@@ -1415,12 +1426,12 @@ When selecting \cs{displaymathother},
it is assumed that the contents are more complicated than ``pure''
math.
An example is an elaborate \tikz\ picture,
-\margintag{\brand{MathJax} unsupported}
-which will not render in \brand{MathJax} and
+\margintag{\MathJax\ unsupported}
+which will not render in \MathJax\ and
will not make sense as an \HTML\ \attribute{alt} tag.
\margintag{complicated \attribute{alt} tag}
-In this mode, \brand{MathJax} is turned off,
-math display environments become \SVG\ images, even if \brand{MathJax} is selected,
+In this mode, \MathJax\ is turned off,
+math display environments become \SVG\ images, even if \MathJax\ is selected,
and the \HTML\ \attribute{alt} tags become simple messages.
The contents are internally processed as an environment instead of a macro argument,
so complicated objects such as \tikz\ pictures are more likely to compile successfully.
@@ -1428,14 +1439,14 @@ so complicated objects such as \tikz\ pictures are more likely to compile succes
\newcommand{\limitscustomizemathjax}{%
-\pkg{lwarp} detects and adjusts \brand{MathJax} equation numbering format for
+\pkg{lwarp} detects and adjusts \MathJax\ equation numbering format for
\margintag{equation numbering}
-\gindex{equation numbering>mathjax=\brand{MathJax}}
-\gindex{math>equation numbering, mathjax=\brand{MathJax}}
-\gindex{mathjax=\brand{MathJax}>equation numbering}
-\trouble{equation numbering>mathjax=\brand{MathJax}}
-\trouble{mathjax=\brand{MathJax}>equation numbering}
-\trouble{math>equation numbering>mathjax=\brand{MathJax}}
+\gindex{equation numbering>mathjax=\MathJax}
+\gindex{math>equation numbering, mathjax=\MathJax}
+\gindex{mathjax=\MathJax>equation numbering}
+\trouble{equation numbering>mathjax=\MathJax}
+\trouble{mathjax=\MathJax>equation numbering}
+\trouble{math>equation numbering>mathjax=\MathJax}
\pkg{article} and \pkg{book} style equations as well as
\pkg{amsmath} \cs{numberwithin} for chapters, sections, and subsections.
Custom equation number formats may be set as follows, for example:
@@ -1449,9 +1460,9 @@ The \pkg{amsmath} \env{subequations} environment is supported, but only
\watchout[\env{subequation}]
with \cs{alpha} subequation numbering.
-\brand{MathJax} does not have preexisting support every possible math function.
+\MathJax\ does not have preexisting support every possible math function.
\margintag{global customizations}
-Additional \brand{MathJax} function definitions may be
+Additional \MathJax\ function definitions may be
defined in the preamble. These will be declared at the start of each \HTML\ page,
and thus will have a global effect across all \HTML\ pages.
@@ -1468,14 +1479,14 @@ Examples:
\textred{\cs{end}\{warpMathJax\}}
\end{sourcedisplay}
To avoid a slowdown in compile speed, use
-\trouble[slow compilation]{mathjax=\brand{MathJax}>slow compilation}
-\trouble{compiling>slow \brand{MathJax}}
+\trouble[slow compilation]{mathjax=\MathJax>slow compilation}
+\trouble{compiling>slow \MathJax}
the \env{warpMathJax} environment to prevent its contents from being processed in
print or \SVG\ math output.
Also, place each new definition inside its own \cs{CustomizeMathJax}.
A warning to this effect is issued if an overly-long definition is attempted.
-\pkg{lwarp} already provides \brand{MathJax} customizations for some packages.
+\pkg{lwarp} already provides \MathJax\ customizations for some packages.
When using \pkg{siunitx}, a similar process may be used to add custom units:
\margintag{\pkg{siunitx}}
@@ -1508,16 +1519,16 @@ To maintain compile speed, use the \env{warpMathJax} environment,
and use a separate math environment for each definition.
\DescribeMacro{\ifstar}
-For \brand{MathJax}, use \cs{ifstar} instead of \cs{@ifstar}:
+For \MathJax, use \cs{ifstar} instead of \cs{@ifstar}:
\gindex{starred macros}
-\gindex{ifnextstar=\cs{@ifnextstar} with \brand{MathJax}}
-\gindex{@ifstar=\cs{@ifstar} with \brand{MathJax}}
-\gindex{mathjax=\brand{MathJax}>starred macros}
-\trouble{mathjax=\brand{MathJax}>starred macros}
-\trouble{math>starred macros and mathjax=\brand{MathJax}}
-\gindex{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
-\trouble{mathjax=\brand{MathJax}>@ifstar=\cs{@ifstar} macros}
-\trouble{math>@ifstar=\cs{@ifstar} macros and \brand{MathJax}}
+\gindex{ifnextstar=\cs{@ifnextstar} with \MathJax}
+\gindex{@ifstar=\cs{@ifstar} with \MathJax}
+\gindex{mathjax=\MathJax>starred macros}
+\trouble{mathjax=\MathJax>starred macros}
+\trouble{math>starred macros and mathjax=\MathJax}
+\gindex{mathjax=\MathJax>@ifstar=\cs{@ifstar} macros}
+\trouble{mathjax=\MathJax>@ifstar=\cs{@ifstar} macros}
+\trouble{math>@ifstar=\cs{@ifstar} macros and \MathJax}
\begin{sourcedisplay}
\cs{CustomizeMathJax}\{ \\
\fquad \cs{def}\cs{myname}\{\\
@@ -1528,12 +1539,12 @@ For \brand{MathJax}, use \cs{ifstar} instead of \cs{@ifstar}:
\end{sourcedisplay}
\DescribeMacro{\ifnextchar}
-For \brand{MathJax}, use \cs{ifnextchar} instead of \cs{@ifnextchar}:
-\gindex{@ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
-\gindex{ifnextchar=\cs{@ifnextchar} with \brand{MathJax}}
-\gindex{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
-\trouble{mathjax=\brand{MathJax}>@ifnextchar=\cs{@ifnextchar} macros}
-\trouble{math>@ifnextchar=\cs{@ifnextchar} macros and \brand{MathJax}}
+For \MathJax, use \cs{ifnextchar} instead of \cs{@ifnextchar}:
+\gindex{@ifnextchar=\cs{@ifnextchar} with \MathJax}
+\gindex{ifnextchar=\cs{@ifnextchar} with \MathJax}
+\gindex{mathjax=\MathJax>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{mathjax=\MathJax>@ifnextchar=\cs{@ifnextchar} macros}
+\trouble{math>@ifnextchar=\cs{@ifnextchar} macros and \MathJax}
\begin{sourcedisplay}
\cs{CustomizeMathJax}\{\cs{def}\cs{myname}\{\cs{ifnextchar} X \cs{found}\cs{notfound}\}\}
\end{sourcedisplay}
@@ -1590,19 +1601,19 @@ from the \pkg{hyperref} package:
\optn{mathic} is not emulated for \HTML.
\watchout[italic correction]
- If using \brand{MathJax}:
- \trouble[\brand{MathJax}]{mathjax=\brand{MathJax}>mathtools=\pkg{mathtools}}
+ If using \MathJax:
+ \trouble[\MathJax]{mathjax=\MathJax>mathtools=\pkg{mathtools}}
\begin{itemize}
- \item \pkg{mathtools} \optn{disallowspaces} does not work for \brand{MathJax}.
+ \item \pkg{mathtools} \optn{disallowspaces} does not work for \MathJax.
Protect brackets which are not optional arguments, such as:
\begin{sourcedisplay}
\cs{begin}\{gathered\}\textred{\{\}} \\
{[}p{]}=1 \dots \\
\cs{end}\{gathered\}
\end{sourcedisplay}
- \item \optn{showonlyrefs} does not work in \brand{MathJax}, and will result
+ \item \optn{showonlyrefs} does not work in \MathJax, and will result
in a difference in equation numbering compared to the print version.
- \item \env{alignat} in \brand{MathJax} requires math mode, but
+ \item \env{alignat} in \MathJax\ requires math mode, but
in \LaTeX\ it doesn't. It may be required to use \env{warpHTML} and
\env{warpprint} to isolate a version for each mode.
\item \cs{DeclarePairedDelimiter} and related must be in the preamble
@@ -1628,15 +1639,15 @@ wrap both inside a single \env{lateximage}:
}
\newcommand{\limitschemformula}{%
-\pkg{chemformula} works best without \brand{MathJax}.
-\trouble[\pkg{chemformula} with \brand{MathJax}]{mathjax=\brand{MathJax}>chemformula=\pkg{chemformula}}
-\trouble{chemformula=\pkg{chemformula}>mathjax=\brand{MathJax}}
-If \brand{MathJax} is used,
+\pkg{chemformula} works best without \MathJax.
+\trouble[\pkg{chemformula} with \MathJax]{mathjax=\MathJax>chemformula=\pkg{chemformula}}
+\trouble{chemformula=\pkg{chemformula}>mathjax=\MathJax}
+If \MathJax\ is used,
\cs{displaymathother} must be used before \env{array}, and then
\cs{displaymathnormal} may be used after.
(The \pkg{chemformula} package adapts to \env{array},
but does not know about \brand{Mathjax}, and
-\brand{MathJax} does not know about \pkg{chemformula}.)
+\MathJax\ does not know about \pkg{chemformula}.)
While using \brand{Mathjax}, \cs{displaymathother} may also be used
for other forms of display and inline math which contain \pkg{chemformula} expressions.
@@ -1917,7 +1928,7 @@ into a single image file,
but display math and other environments such as \env{picture} and \tikz\ require
one image file each.
For a document with a large amount of math,
-see \cref{sec:tutorialmathjax} to use \brand{MathJax} instead.
+see \cref{sec:tutorialmathjax} to use \MathJax\ instead.
}
\newcommand{\limitstikz}{%
@@ -2352,9 +2363,9 @@ or the packages \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, or \pkg{xta
\dots\ \& & \textred{\cs{mcolrowcell}} \hfill \& \hfill \textred{\cs{mcolrowcell}} & \&\ \dots \\
\end{tabular}
\end{sourcedisplay}
- \item \brand{MathJax} does not support \pkg{multirow}, so it is emulated
- \trouble[MathJax]{mathjax=\brand{MathJax}>multirow=\cs{multirow}}
- \trouble{multirow=\pkg{multirow}>mathjax=\brand{MathJax}}
+ \item \MathJax\ does not support \pkg{multirow}, so it is emulated
+ \trouble[MathJax]{mathjax=\MathJax>multirow=\cs{multirow}}
+ \trouble{multirow=\pkg{multirow}>mathjax=\MathJax}
to only print its text on the first row.
\cs{multirow} works as expected in text \env{tabular}s or \SVG\ math.
\end{itemize}
@@ -2496,7 +2507,7 @@ are above or below the delimiter:
\hrule
\end{sourcedisplay}
-For \brand{MathJax}, limited emulation is provided which merely prints the
+For \MathJax, limited emulation is provided which merely prints the
delimter and optional text in the first row.
}
@@ -2899,24 +2910,24 @@ For math mode with \SVG\ display, the original \pkg{siunitx} code is used while
generating the \SVG\ image.
For text mode, \pkg{lwarp} uses an emulation which provides a very effective
\HTML\ interpretation of \pkg{siunitx}.
-For math expressions while using \brand{MathJax},
-\trouble{siunitx=\pkg{siunitx}>mathjax=\brand{MathJax}}
-\trouble[MathJax]{mathjax=\brand{MathJax}>siunitx=\pkg{siunitx}}
+For math expressions while using \MathJax,
+\trouble{siunitx=\pkg{siunitx}>mathjax=\MathJax}
+\trouble[MathJax]{mathjax=\MathJax>siunitx=\pkg{siunitx}}
a limited emulation is used.
Most functions work reasonably well, but many options cannot be emulated.
Complicated parsing such as for \cs{ang} is not supported.
The result usually looks fine, and otherwise is enough to get the meaning across.
-% \pkg{lwarp}'s \brand{MathJax} emulation for \pkg{siunitx} is meant to be a
-% stop-gap measure until an extension is included in \brand{MathJax}.
+% \pkg{lwarp}'s \MathJax\ emulation for \pkg{siunitx} is meant to be a
+% stop-gap measure until an extension is included in \MathJax.
% As of this writing, the third-party \pkg{siunitx} extension
-% for \brand{MathJax} is not currently hosted at any public CDN,
+% for \MathJax\ is not currently hosted at any public CDN,
% thus \pkg{siunitx} is not usable with this extension unless a local copy
% of this extension is created first.
-% See \cs{MathJaxFilename} to select a custom \brand{MathJax} script, but \pkg{lwarp}'s
+% See \cs{MathJaxFilename} to select a custom \MathJax\ script, but \pkg{lwarp}'s
% emulation would have to be diabled as well.
-Document modifications required for \brand{MathJax}:
+Document modifications required for \MathJax:
\begin{itemize}
\item Custom units may be added with \cs{CustomizeMathJax}.
\margintag{custom units}
@@ -2940,16 +2951,16 @@ Also see \nameref{sec:limitsmathjax}, \cref{sec:limitsmathjax}.
\trouble{nicefrac=\pkg{nicefrac}}
\trouble{units=\pkg{units}}
\pkg{units} and \pkg{nicefrac} work with \pkg{lwarp}, but
-\brand{MathJax} does not have an extension for \pkg{units} or \pkg{nicefrac}.
+\MathJax\ does not have an extension for \pkg{units} or \pkg{nicefrac}.
These packages do work with \pkg{lwarp}'s option \optn{svgmath}.
}
\newcommand{\limitsphysics}{%
\pkg{physics} works as-is for \HTML\ with \SVG\ math.
-For \brand{MathJax}, the \brand{MathJax} v3 \pkg{physics} extension is used.
-% emulation is provided via \pkg{lwarp}'s \brand{MathJax} macros.
-% These are not the same as the third-party \brand{MathJax} extension.
+For \MathJax, the \MathJax\ v3 \pkg{physics} extension is used.
+% emulation is provided via \pkg{lwarp}'s \MathJax\ macros.
+% These are not the same as the third-party \MathJax\ extension.
%
% \begin{itemize}
% \item The \optn{notrig} option is honored.
@@ -3141,7 +3152,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{53937}
+% \CheckSum{54254}
%
% \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
@@ -3284,6 +3295,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.899}{2021/06/29}{\ 2021/06/29}
% \changes{v0.900}{2021/07/17}{\ 2021/07/17}
% \changes{v0.901}{2021/08/27}{\ 2021/08/27}
+% \changes{v0.902}{2021/10/01}{\ 2021/10/01}
@@ -3299,7 +3311,16 @@ This boolean may be tested by the user for later use.
% \newgeometry{margin=1in}
%
% \begin{center}
-% \includegraphics[width=.3\linewidth]{lwarp_logo.pdf}
+%
+% ^^A Generate the Lwarp logo:
+% \setlength{\unitlength}{1cm}
+% \begin{picture}(5,2)
+% \put(0,1){\textcolor[HTML]{74515b}{\fontsize{55}{65}\selectfont L\raisebox{.2ex}{\hspace*{-.1em}warp}}}
+% \put(0,.25){\parbox{5cm}{%
+% \textcolor[HTML]{8c6b1d}{\fontsize{22}{30}\selectfont \LaTeX} \hfill
+% \textcolor[HTML]{1d3d8c}{\fontsize{22}{30}\selectfont HTML5}%
+% }}
+% \end{picture}
%
% {\Huge The \pkg{lwarp} package}
%
@@ -3316,9 +3337,9 @@ This boolean may be tested by the user for later use.
% The \pkg{lwarp} package converts \LaTeX\ to \HTML\ by using \LaTeX\ to process the
% user's document and directly generate \HTML\ tags. External utility programs are only
% used for the final conversion of text and images. Math may be represented
-% by \SVG\ images or \brand{MathJax}.
+% by \SVG\ images or \MathJax.
% More than 500 \LaTeX\ packages and classes are supported,
-% of which more than 90 also support \brand{MathJax}.
+% of which more than 90 also support \MathJax.
%
% Documents may be produced by \DVI\ or \PDF\ \LaTeX, Lua\LaTeX, \XeLaTeX;
% by several CJK engines, classes, and packages;
@@ -3343,7 +3364,7 @@ This boolean may be tested by the user for later use.
%
% \SVG\ math and many other generated images
% include \LaTeX\ expressions in the \attribute{alt} tags.
-% \brand{MathJax} may be used with advanced equation numbering
+% \MathJax\ may be used with advanced equation numbering
% under the direct control of \pkg{lwarp}.
%
% Complicated tables are supported, which copy/paste well into \brand{LibreOffice Writer}.
@@ -3363,9 +3384,9 @@ This boolean may be tested by the user for later use.
%
% ^^A The \pkg{lwarp} package allows \LaTeX\ to directly produce \HTMLfive\ output,
% ^^A using external utility programs only for the final conversion of text and images.
-% ^^A Math may be represented by \SVG\ files or \brand{MathJax}.
+% ^^A Math may be represented by \SVG\ files or \MathJax.
%
-% ^^A Documents may be produced by pdf\LaTeX, \LuaLaTeX, or \XeLaTeX.
+% ^^A Documents may be produced by \pdfLaTeX, \LuaLaTeX, or \XeLaTeX.
% ^^A A \prog{texlua} script removes the need for system utilities such as \prog{make} and \prog{gawk},
% ^^A and also supports \prog{xindy} and \prog{latexmk}. Configuration is automatic at the
% ^^A first manual compile.
@@ -3460,7 +3481,7 @@ This boolean may be tested by the user for later use.
% \item[GUST e-foundry fonts:] Enhanced for math and additional language groups.
% \item[LaTeX Project:] Modernizing the \LaTeX\ core.
% \item[Libre Font Fund:] Fonts, tools (FontForge), and distribution (the Open Font Library).
-% \item[LuaTeX:] Combining the pdf\TeX\ engine and the Lua language.
+% \item[LuaTeX:] Combining the \pdfTeX\ engine and the Lua language.
% \item[MetaPost:] Postscript graphics.
% \item[MacTeX:] \TeX\ for Mac.
% \item[PDF Accessibility:] Modern \PDF\ standards.
@@ -3509,7 +3530,20 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
-% \item[v0.901:] Tabular columns, float caption \CSS, \brand{MathJax} packages.
+% \item[v0.902:] \pkg{beamerarticle}, footnotes, paragraph tags.
+% \begin{itemize}
+% \item Fixed footnotes inside descriptions, minipages, \pkg{amsthm}, \cs{nameref}.
+% \margintag{core}
+% \item Improved various paragraph tags.
+% \item Improved \pkg{parnotes}, \pkg{sympytex}.
+% \margintag{packages}
+% \item Added \pkg{beamerarticle}.
+% \item Updated \pkg{luatexko}, \pkg{xetexko}, \pkg{tagpdf}.
+% \item Added missing standard international text symbols for \MathJax.
+% \margintag{\MathJax}
+% \end{itemize}
+% \needspace{2\baselineskip}
+% \item[v0.901:] Tabular columns, float caption \CSS, \MathJax\ packages.
% \begin{itemize}
% \item Added \env{warpsvg} to isolate \SVG\ math, as opposed to \env{warpMathJax}.
% \margintag{core}
@@ -3520,8 +3554,8 @@ This boolean may be tested by the user for later use.
% now sets \HTML\ \CSS\ \progcode{text-align}.
% Also detects \cs{itshape}, \cs{bfseries}, and \cs{bfseries}\cs{itshape}.
% See \cref{sec:limitstabular}.
-% \item Now uses \brand{MathJax} 3.2 packages for \pkg{centernot}, \pkg{colortbl},
-% \margintag{\brand{MathJax}}
+% \item Now uses \MathJax\ 3.2 packages for \pkg{centernot}, \pkg{colortbl},
+% \margintag{\MathJax}
% \pkg{gensymb}, \pkg{mathtools}, \pkg{textcomp}, \pkg{upgreek}.
% \item \pkg{dcolumn}: Now works inside a \env{lateximage}.
% \margintag{packages}
@@ -3533,7 +3567,7 @@ This boolean may be tested by the user for later use.
% \begin{itemize}
% \item Fix for detecting |\usepackage{lwarp}|.
% \margintag{core}
-% \item \pkg{amsmath}: Fixed \env{alignat} with \brand{MathJax}.
+% \item \pkg{amsmath}: Fixed \env{alignat} with \MathJax.
% \margintag{packages}
% \item \pkg{changes}: Updated to v4.2.1.
% \item \pkg{froufrou}: Updated to v1.4.0.
@@ -3579,8 +3613,8 @@ This boolean may be tested by the user for later use.
% \item Fixed footnotes at the end of the document,
% or inside a \env{description} label.
% \item Added an error if using braces inside \cs{usepackage} options.
-% \item Fixed footnotes in bracket display math with \brand{MathJax}.
-% \margintag{\brand{MathJax}}
+% \item Fixed footnotes in bracket display math with \MathJax.
+% \margintag{\MathJax}
% \item \LaTeX\ theorems, \pkg{amsthm}, \pkg{ntheorem}, \pkg{theorem}:
% \margintag{theorems}
% Print theorem footnotes following theorems.
@@ -3606,13 +3640,13 @@ This boolean may be tested by the user for later use.
% \item Verified support for \pkg{doi}, \pkg{doipubmed}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.895:] Vector packages, greatly improved \brand{MathJax} for \pkg{siunitx}.
+% \item[v0.895:] Vector packages, greatly improved \MathJax\ for \pkg{siunitx}.
% \begin{itemize}
% \item Fixed quotes in \HTML\ tags while using old font packages with
% \margintag{core}
% \XeLaTeX\ and \LuaLaTeX.
-% \item Added \cs{ifblank} and \cs{ifstrequal} to \brand{MathJax} emulation.
-% \margintag{\brand{MathJax}}
+% \item Added \cs{ifblank} and \cs{ifstrequal} to \MathJax\ emulation.
+% \margintag{\MathJax}
% \item \pkg{multirow}: Allow \cs{par} per v2.7.
% \margintag{packages}
% \item \pkg{acro}: Updated to v3.5.
@@ -3620,10 +3654,10 @@ This boolean may be tested by the user for later use.
% \item \pkg{changes}: Updated to v4.0.1.
% \item \pkg{epsfig}, \pkg{rotating}: Now work inside \env{lateximage}.
% \item \pkg{amscdx}: Verified to work with \SVG\ math.
-% Warning added about use with \brand{MathJax}.
-% \item Added \brand{MathJax} emulation for \pkg{isomath}, \pkg{mattens},
+% Warning added about use with \MathJax.
+% \item Added \MathJax\ emulation for \pkg{isomath}, \pkg{mattens},
% \pkg{maybemath}, \pkg{skmath}, \pkg{tensor}.
-% \item Improved \brand{MathJax} emulation for \pkg{siunitx} \cs{ang},
+% \item Improved \MathJax\ emulation for \pkg{siunitx} \cs{ang},
% \cs{num}, \cs{SI}.
% \item Added \pkg{epsf}, \pkg{impnattypo}, \pkg{isotope},
% \pkg{lpic}, \pkg{luavlna},
@@ -3632,41 +3666,41 @@ This boolean may be tested by the user for later use.
% \item Verified to work as-is: \pkg{tensind}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.894:] \brand{MathJax} additions and improvements.
+% \item[v0.894:] \MathJax\ additions and improvements.
% \begin{itemize}
% \item Improved warning message for enabling \SVG\ graphics for
-% \margintag{\brand{MathJax}}
-% select math expressions while using \brand{MathJax}.
+% \margintag{\MathJax}
+% select math expressions while using \MathJax.
% \item Accept and ignore a star for \cs{hspace}.
% \item Ignores \cs{arabic}, \cs{number}, \cs{noalign}.
-% \item Added \brand{MathJax} emulation for \pkg{backnaur},
+% \item Added \MathJax\ emulation for \pkg{backnaur},
% \pkg{colortbl}, \pkg{nicematrix}.
% \margintag{packages}
-% \item \pkg{booktabs}: \brand{MathJax} emulation now absorbs and discards trim.
+% \item \pkg{booktabs}: \MathJax\ emulation now absorbs and discards trim.
% \item \pkg{menukeys}: Updated to v1.6.1.
% \end{itemize}
% \needspace{2\baselineskip}
% \item[v0.893:] Minor fixes, more packages.
% \begin{itemize}
-% \item Added \brand{MathJax} emulation for \cs{mathnormal}.
-% \margintag{\brand{MathJax}}
+% \item Added \MathJax\ emulation for \cs{mathnormal}.
+% \margintag{\MathJax}
% \item Fixed \pkg{pstricks} \env{pspicture*}.
% \margintag{packages}
% \item Fixed \pkg{tikz} font macros.
-% \item \pkg{braket}: Now uses the \brand{MathJax} extension.
+% \item \pkg{braket}: Now uses the \MathJax\ extension.
% \item Added \pkg{esvect}, \pkg{fixmath}, \pkg{keystroke}, \pkg{mathastext},
% \pkg{menukeys}, \pkg{picinpar}, \pkg{plimsoll}, \pkg{repltext},
% \pkg{selectp}, \pkg{seqsplit}, \pkg{simplebnf}, \pkg{statistics},
% \pkg{swfigure}.
-% \item Added \brand{MathJax} emulation for \pkg{mathspec}.
+% \item Added \MathJax\ emulation for \pkg{mathspec}.
% \item Verified to work as-is for \pkg{apxproof}, \pkg{syntaxdi}, \pkg{venndiagram}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.892:] \pkg{minted}, \pkg{fvextra}, \brand{MathJax} \cs{left} \Slash \cs{right}.
+% \item[v0.892:] \pkg{minted}, \pkg{fvextra}, \MathJax\ \cs{left} \Slash \cs{right}.
% \begin{itemize}
% \item \pkg{fourier}, \pkg{libertinust1math}, \pkg{newpxmath}, \pkg{newtxmath},
-% \margintag{\brand{MathJax}}
-% \pkg{newtxsf}, \pkg{unicode-math}: Added \brand{MathJax}
+% \margintag{\MathJax}
+% \pkg{newtxsf}, \pkg{unicode-math}: Added \MathJax
% \cs{left} \Slash \cs{right} support for additional delimiters.
% \item \pkg{textpos}: Updated to v1.10.
% \margintag{packages}
@@ -3674,25 +3708,25 @@ This boolean may be tested by the user for later use.
% \item Added \pkg{fvextra}, \pkg{minted}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.891:] \brand{MathJax} additions and improvements.
+% \item[v0.891:] \MathJax\ additions and improvements.
% \begin{itemize}
% \item Now displays inline \cs{verb} text as \cs{texttt}.
% \margintag{core}
% \item Fixed \pkg{alltt} and verbatims with \LaTeX\ lists.
% \item Now generates an error if nested each of \env{warpHTML}, \env{warpprint}, \env{warpMathJax}
% inside itself.
-% \item Added \brand{MathJax} \prog{textmacros} extension, allowing
-% \margintag{\brand{MathJax}}
+% \item Added \MathJax\ \prog{textmacros} extension, allowing
+% \margintag{\MathJax}
% formatting inside \cs{text}.
% \item \pkg{biblatex}, \pkg{hyperref}: Added back page references.
% \margintag{packages}
% \item \pkg{fancyvrb}: Fixed \env{BVerbatim} with a label.
-% \item \pkg{listings}: Fixed \brand{MathJax} with captions, improved \HTML\ sanitation.
+% \item \pkg{listings}: Fixed \MathJax\ with captions, improved \HTML\ sanitation.
% \item \pkg{babel-french}: Fixed \cs{texorpdfstring} conflict.
% \item Now honors Greek package options for \pkg{mathdesign},
% \pkg{mathpazo}, \pkg{mathptmx},
% \pkg{newpxmath}, \pkg{newtxmath}.
-% \item Improved \brand{MathJax} for \pkg{colonequals}, \pkg{mathdesign},
+% \item Improved \MathJax\ for \pkg{colonequals}, \pkg{mathdesign},
% \pkg{mathdots}, \pkg{mathfixs}, \pkg{mathtools}, \pkg{multiobjective},
% \pkg{nicefrac}, \pkg{shuffle}, \pkg{units}.
% \item \pkg{unicode-math}: Added Greek macros, as well as macros for
@@ -3703,21 +3737,21 @@ This boolean may be tested by the user for later use.
% \pkg{libertinust1math}, \pkg{scalerel}, \pkg{txgreeks}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.89:] Additional \brand{MathJax} support.
+% \item[v0.89:] Additional \MathJax\ support.
% \begin{itemize}
% \item Adapted to upcoming \LaTeX\ kernel changes.
% \margintag{core}
% \item Allows load of \pkg{amsmath} before \pkg{lwarp}.
% \item Also removes \filenm{*.bbl} when cleaning aux files.\margintag{\prog{lwarpmk}}
-% \item \brand{MathJax}: Neutralized \cs{protect}, \cs{mathcode} and related,
-% \margintag{\brand{MathJax}}
+% \item \MathJax: Neutralized \cs{protect}, \cs{mathcode} and related,
+% \margintag{\MathJax}
% ligatures. Fixed nested environments.
% \item \pkg{caption}: Updated for v3.5, fix for label sep.
% \margintag{packages}
% \item \pkg{thmtools}: Updated for v0.72. Fixed \optn{swapnumber}, \optn{margin}.
-% \item Improved \brand{MathJax} for \pkg{centernot}, \pkg{mathtools},
+% \item Improved \MathJax\ for \pkg{centernot}, \pkg{mathtools},
% \pkg{mismath}, \pkg{SIunits}, \pkg{siunitx}, \pkg{statmath}.
-% \item Added \brand{MathJax} emulation for \pkg{accents}, \pkg{hepunits},
+% \item Added \MathJax\ emulation for \pkg{accents}, \pkg{hepunits},
% \pkg{hhtensor}, \pkg{mathalpha}, \pkg{mathdesign},
% \pkg{mathpazo}, \pkg{mathptmx},
% \pkg{mleftright}, \pkg{newpxmath}, \pkg{newtxmath}, \pkg{newtxsf},
@@ -3729,8 +3763,8 @@ This boolean may be tested by the user for later use.
% \item[v0.88:] Indexing, boxing, theorems.
% \begin{itemize}
% \item \textgreen{Now has programmed support for more than 500 packages and classes,
-% of which more than 60 also support \brand{MathJax}.}
-% \item Fixed: \cs{ref*}, and also added \brand{MathJax} emulation.
+% of which more than 60 also support \MathJax.}
+% \item Fixed: \cs{ref*}, and also added \MathJax\ emulation.
% \margintag{core}
% \item If starting a new paragraph, \cs{hrulefill} creates a
% \element{div} with a thin horizontal line across the page.
@@ -3754,7 +3788,7 @@ This boolean may be tested by the user for later use.
% \pkg{thmbox}, \pkg{thmtools}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.87:] \brand{MathJax}, bibliography packages.
+% \item[v0.87:] \MathJax, bibliography packages.
% \begin{itemize}
% \item Added boolean \bool{FixSmallCaps} for fonts which render small caps as
% \margintag{core}
@@ -3762,41 +3796,41 @@ This boolean may be tested by the user for later use.
% \item Fixed \cs{bibliography} to use the \HTML\ version's \filenm{.bbl} file.
% Previously the \HTML\ bibliography relied on the print version's \filenm{.bbl},
% thus would fail if the print document had not yet been created.
-% \item Added \cs{ifstar} and \cs{ifnextchar} to \brand{MathJax}, and
-% \margintag{\brand{MathJax}}
+% \item Added \cs{ifstar} and \cs{ifnextchar} to \MathJax, and
+% \margintag{\MathJax}
% removed \cs{DeclareIfstar}.
% \watchout[Removed \cs{DeclareIfstar}]
% See \cref{sec:limitscustomizemathjax}.
-% \item \pkg{physics}: Now supports the \brand{MathJax} v3 extension.
+% \item \pkg{physics}: Now supports the \MathJax\ v3 extension.
% \margintag{packages}
-% \item \pkg{mathtools}: Improved \cs{underbrakcet}, \cs{overbracket} for \brand{MathJax}.
-% \item \pkg{nccmath}: Improved \cs{underrel} for \brand{MathJax}.
-% \item \pkg{mhchem}: Now supports the \brand{MathJax} v3 extension for \cs{ce} inside math.
-% \item \pkg{cancel}: Now supports the \brand{MathJax} v3 extension.
+% \item \pkg{mathtools}: Improved \cs{underbrakcet}, \cs{overbracket} for \MathJax.
+% \item \pkg{nccmath}: Improved \cs{underrel} for \MathJax.
+% \item \pkg{mhchem}: Now supports the \MathJax\ v3 extension for \cs{ce} inside math.
+% \item \pkg{cancel}: Now supports the \MathJax\ v3 extension.
% \item \pkg{embrac}: Neutralized kerning for improved \HTML\ conversion.
% \item Added \pkg{citeref}, \pkg{drftcite}, \pkg{jurabib}, \pkg{multibib}, \pkg{splitbib}.
% \item Verified to work as-is with \pkg{bibtopic}, \pkg{collref}, \pkg{mciteplus}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.86:] \brand{MathJax} major updates.
+% \item[v0.86:] \MathJax\ major updates.
% \begin{itemize}
% \item Fixed: Filename if named files with \filenm{*}, parens, period in section name.
% \margintag{core}
% \item Fixed: Labels in \env{eqnarray}, \env{lateximage}.
-% \item Updated to \brand{MathJax} v3. New repository.
-% \margintag{\brand{MathJax}}
-% \item Fixed forward references for \brand{MathJax}.
-% \item Improved \brand{MathJax} equation number formatting, now compatible with
+% \item Updated to \MathJax\ v3. New repository.
+% \margintag{\MathJax}
+% \item Fixed forward references for \MathJax.
+% \item Improved \MathJax\ equation number formatting, now compatible with
% \pkg{amsmath} \cs{numberwithin} for chapters, sections, subsections,
% as well as \pkg{amsmath} \env{subequation}s.
% See \cref{sec:limitscustomizemathjax}.
-% \item Added \cs{DeclareIfstar} to define starred \TeX\ macros in \brand{MathJax}.
+% \item Added \cs{DeclareIfstar} to define starred \TeX\ macros in \MathJax.
% See \cref{sec:limitscustomizemathjax}.
% \item Generates an error if \cs{MathJaxFilename} file does not exist.
% \item \pkg{mathtools}, \pkg{nccmath}, \pkg{physics}:
% \margintag{packages}
-% Added starred macros for \brand{MathJax}.
-% \item \pkg{nccmath}: Fixed \cs{nr}, \cs{displaybreak} for \brand{MathJax}.
+% Added starred macros for \MathJax.
+% \item \pkg{nccmath}: Fixed \cs{nr}, \cs{displaybreak} for \MathJax.
% \item \pkg{xcolor}: Fixed \cs{textcolor} with \pkg{babel-french}.
% \end{itemize}
% \needspace{2\baselineskip}
@@ -3864,11 +3898,11 @@ This boolean may be tested by the user for later use.
% \item \pkg{physunits}: Updated to v1.0.4.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.82:] \brand{MathJax} notes, \pkg{xpinyin} improvements, various updates.
+% \item[v0.82:] \MathJax\ notes, \pkg{xpinyin} improvements, various updates.
% \begin{itemize}
-% \item Improved footnotes with \brand{MathJax}.
-% \margintag{\brand{MathJax}}
-% \item Added \brand{MathJax} emulation for \pkg{endnotes}, \pkg{marginnote},
+% \item Improved footnotes with \MathJax.
+% \margintag{\MathJax}
+% \item Added \MathJax\ emulation for \pkg{endnotes}, \pkg{marginnote},
% \pkg{nccfoots}, \pkg{pagenote}, \pkg{parnotes}, \pkg{sidenotes}.
% \item \pkg{xpinyin}: Added pinyin with modern \HTML.
% \margintag{packages}
@@ -3877,20 +3911,20 @@ This boolean may be tested by the user for later use.
% \item \pkg{chemfig}: Updated to v1.5.
% \item \pkg{draftwatermark}: Updated to v2.0.
% \item \pkg{ulem}: Fixed: \cs{dashuline}.
-% \item \pkg{amsmath}: Fixed: \cs{intertext} with \brand{MathJax}.
+% \item \pkg{amsmath}: Fixed: \cs{intertext} with \MathJax.
% \item \pkg{endnotes}: Fixed: Marks in print mode.
% \item \pkg{tocvsec2}, \pkg{tableof}: Verified to work as-is.
% \item Added \pkg{etoc} (nullified).
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.81:] \brand{MathJax} speedup and additional emulations.
+% \item[v0.81:] \MathJax\ speedup and additional emulations.
% \begin{itemize}
% \item Improved warning regarding \SVG\ math sizing \Slash baselines and
% \margintag{core}
% \pkg{graphics} \Slash \pkg{graphicx}. See \cref{sec:limitsmath}.
-% \item Improved \brand{MathJax} emulation processing speed.
-% \margintag{\brand{MathJax}}
-% \item Added \brand{MathJax} emulation for \pkg{accsupp}, \pkg{axessibiltiy},
+% \item Improved \MathJax\ emulation processing speed.
+% \margintag{\MathJax}
+% \item Added \MathJax\ emulation for \pkg{accsupp}, \pkg{axessibiltiy},
% \pkg{colonequals},
% \pkg{decimal}, \pkg{dotlessi}, \pkg{econometrics}, \pkg{engtlc},
% \pkg{multiobjective}, \pkg{physunits}, \pkg{SIunits}, \pkg{stackrel},
@@ -3905,19 +3939,19 @@ This boolean may be tested by the user for later use.
% \pkg{textualicomma}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.80:] \brand{MathJax}, \pkg{biblatex}.
+% \item[v0.80:] \MathJax, \pkg{biblatex}.
% \begin{itemize}
% \item Added docs and warning/info messages
-% \margintag{\brand{MathJax}}
-% re: avoiding slow \brand{MathJax} compilation.
+% \margintag{\MathJax}
+% re: avoiding slow \MathJax\ compilation.
% See \cref{sec:limitscustomizemathjax}, \nameref{sec:limitscustomizemathjax}.
-% \item Added \brand{MathJax} emulation for \pkg{accessibility}, \pkg{autobreak},
+% \item Added \MathJax\ emulation for \pkg{accessibility}, \pkg{autobreak},
% \pkg{centernot}, \pkg{extarrows}, \pkg{fouridx}, \pkg{gensymb},
% \pkg{leftidx}, \pkg{mathcomp}, \pkg{mathdots}, \pkg{mathfixs}, \pkg{mismath},
% \pkg{nccmath}, \pkg{noitcrul},
% \pkg{pdfcomment}, \pkg{relsize}, \pkg{rmathbr},
% \pkg{subsupscripts}, \pkg{xfrac}.
-% \item Improved \brand{MathJax} emulation for \pkg{unicode-math}.
+% \item Improved \MathJax\ emulation for \pkg{unicode-math}.
% \item \pkg{biblatex}, \pkg{url}: Now create hyperlinks.
% \margintag{packages}
% \item \pkg{amsmath}: Fix to center starred environments.
@@ -3928,15 +3962,15 @@ This boolean may be tested by the user for later use.
% \pkg{mismath}, \pkg{nccmath}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.79:] \brand{MathJax}, nested \env{tabular}.
+% \item[v0.79:] \MathJax, nested \env{tabular}.
% \begin{itemize}
-% \item Added or improved \brand{MathJax} emulation for
-% \margintag{\brand{MathJax}}
+% \item Added or improved \MathJax\ emulation for
+% \margintag{\MathJax}
% \pkg{amsmath}, \pkg{ar}, \pkg{arydshln}, \pkg{bm},
% \pkg{bigdelim}, \pkg{bigstrut}, \pkg{booktabs}, \pkg{braket},
% \pkg{mathtools}, \pkg{multirow}, \pkg{physics}, \pkg{siunitx}, \pkg{slashed},
% \pkg{unicode-math}, \pkg{xfakebold}.
-% \item Warn if using certain packages not supported by \brand{MathJax}.
+% \item Warn if using certain packages not supported by \MathJax.
% \item \env{tabular}: Now may be nested.
% \margintag{core}
% \item \env{minipage}, \cs{parbox}, \env{fminipage},
@@ -3986,13 +4020,13 @@ This boolean may be tested by the user for later use.
% \item \pkg{chemformula}: Updated to v4.15.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.76:] \brand{MathJax}, updates for \LaTeX\ 2019/10 release.
+% \item[v0.76:] \MathJax, updates for \LaTeX\ 2019/10 release.
% \begin{itemize}
% \item Docs: Expanded documentation regarding the use of multiple projects
% \margintag{docs}
% in the same directory. See \cref{sec:multipleprojects}.
-% \item \brand{MathJax}: Updated to v2.7.6.
-% \margintag{\brand{MathJax}}
+% \item \MathJax: Updated to v2.7.6.
+% \margintag{\MathJax}
% \item \pkg{xr}: Updated to v5.05.
% \margintag{packages}
% \item \pkg{xr-hyper}: Updated to v6.1.
@@ -4128,7 +4162,7 @@ This boolean may be tested by the user for later use.
% \margintag{multimedia}
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.70:] Error handling, \brand{MathJax}, \pkg{mathtools}.
+% \item[v0.70:] Error handling, \MathJax, \pkg{mathtools}.
% \begin{itemize}
% \item Error handling for ``Label(s) changed.''
% Refuses to \cmds{lwarpmk limages} until recompile first.
@@ -4136,12 +4170,12 @@ This boolean may be tested by the user for later use.
% is used.
% \item Fixes for \cs{makebox}.
% \item Fixes for \cs{parbox} inside a \element{span}.
-% \item \brand{MathJax}: Updated to v2.7.5.
+% \item \MathJax: Updated to v2.7.5.
% Loads the \filenm{autoload-all.js} extension.
% Added \cs{MathJaxFilename} to select custom scripts.
% \item \pkg{textcomp}, \pkg{xunicode}: Fix for \cs{textinterrobang}.
% \margintag{packages}
-% \item \pkg{mhchem}: Works with \brand{MathJax}. See \cref{sec:mhchem}.
+% \item \pkg{mhchem}: Works with \MathJax. See \cref{sec:mhchem}.
% \item \pkg{changes}: Updated to v3.1.2.
% \item Added \pkg{autonum}, \pkg{changelayout}, \pkg{inputtrc}, \pkg{mathtools}, \pkg{metalogox}.
% \end{itemize}
@@ -4391,7 +4425,7 @@ This boolean may be tested by the user for later use.
% \item \pkg{xfrac}: Improved \CSS.
% \item \pkg{textcomp} and \pkg{xunicode}: Fix conflicts with \cs{textcircled}.
% \item \pkg{ulem}: Improved compatibility with \pkg{CJKulem}, \env{lateximage}.
-% \item \brand{MathJax} and \pkg{siunitx}: Removed inoperable extension.
+% \item \MathJax\ and \pkg{siunitx}: Removed inoperable extension.
% \item Added \pkg{bitpattern}, \pkg{pdfcomment},
% \pkg{pdfmarginpar}, \pkg{tram}, \pkg{unitsdef}, \pkg{xechangebar}.
% \item Added \pkg{musicography}, \pkg{octave}, \pkg{semantic-markup}.
@@ -4453,7 +4487,7 @@ This boolean may be tested by the user for later use.
% \item Added \pkg{fancytabs}, \pkg{thumb}, \pkg{thumbs}.
% \end{itemize}
% \needspace{2\baselineskip}
-% \item[v0.59:] \DVI\ \prog{latex}, \brand{MathJax}, \pkg{asymptote},
+% \item[v0.59:] \DVI\ \prog{latex}, \MathJax, \pkg{asymptote},
% \pkg{pdftricks} and \pkg{pstricks}, \pkg{epstopdf}, \pkg{brqen}.
% \begin{itemize}
% \item \newlwarpmkconf
@@ -4473,10 +4507,10 @@ This boolean may be tested by the user for later use.
% \margintag{\DVI\ \prog{latex}}
% \item Fix for \optn{-\/-shell-escape} with \prog{latexmk}.
% \margintag{\prog{latexmk}}
-% \item Updated \brand{MathJax} script to v2.7.4.
+% \item Updated \MathJax\ script to v2.7.4.
% \margintag{math}
% \item Fix: \brand{Mathjax} chapter number removed from non-numeric tagged equations.
-% \item Added \brand{MathJax} support for \pkg{nicefrac}, \pkg{units}.
+% \item Added \MathJax\ support for \pkg{nicefrac}, \pkg{units}.
% \item Fix for \cs{[} and \cs{]} with \cs{displaymathnormal}.
% \item Fix for \cs{includegraphics} filename expansion.
% \margintag{images}
@@ -4541,7 +4575,7 @@ This boolean may be tested by the user for later use.
% \needspace{2\baselineskip}
% \item[v0.57:] \pkg{algorithm2e}, \pkg{float} styles, tabular packages, internal improvements.
% \begin{itemize}
-% \item Added support for \brand{MathJax} equations with \cs{footnote}, \cs{footnotemark}.
+% \item Added support for \MathJax\ equations with \cs{footnote}, \cs{footnotemark}.
% \margintag{MathJax}
% \item Added \cs{StartDefiningMath} and \cs{StopDefiningMath} for
% \margintag{math macros}
@@ -4551,7 +4585,7 @@ This boolean may be tested by the user for later use.
% \margintag{dynamic math}
% delimit math expressions which depend on a variable condition
% such as a counter. Such expressions will not be hashed for reuse,
-% and will be converted to \SVG\ math images even when \brand{MathJax} is enabled.
+% and will be converted to \SVG\ math images even when \MathJax\ is enabled.
% See \cref{sec:mathdynamic}.
% \item Renamed \cs{EndDefiningTabulars} to \cs{StopDefiningTabulars}.
% \watchout[new name]
@@ -4718,7 +4752,7 @@ This boolean may be tested by the user for later use.
% \item Improved \cs{ensuremath} hashing expansion.
% \item Fix: \env{equation*} with \env{split}.
% \item \env{tabbing} now works inside a \env{lateximage}. Use for math in \env{tabbing}.
-% \item Fix: \brand{MathJax} script was not executing in some conditions.
+% \item Fix: \MathJax\ script was not executing in some conditions.
% \margintag{MathJax}
% \item Added \cs{CustomizeMathJax} to add custom functions.
% See \cref{sec:limitsmath}.
@@ -4753,7 +4787,7 @@ This boolean may be tested by the user for later use.
% ^^A % such as \pkg{tikz-cd}. See \cref{sec:displaymathother}.
% ^^A % \item Fix: \cs{addcontentsline} inside \SVG\ math.
% ^^A % \item Fix: \SVG\ math containing an embedded \env{lateximage}.
-% ^^A % \item \brand{MathJax} now handles \cs{ensuremath} in expressions.\margintag{MathJax}
+% ^^A % \item \MathJax\ now handles \cs{ensuremath} in expressions.\margintag{MathJax}
% ^^A % \item Fix: Added \env{alignat} environment. \margintag{misc. fixes}
% ^^A % \item Fix: \pkg{afterpackage} no longer required, which conflicted with \pkg{scrlfile}.
% ^^A % \item Fix: \pkg{titling} \cs{thanks} mark.
@@ -4784,7 +4818,7 @@ This boolean may be tested by the user for later use.
% ^^A \item Improved \SVG\ display math and tags.
% ^^A \item Improved \SVG\ math and \pkg{siunitx} \attribute{alt} tags.
% ^^A \item Improved \pkg{siunitx} units.
-% ^^A \item Fix: \cs{ensuremath} with \brand{MathJax} now creates a \env{lateximage}.
+% ^^A \item Fix: \cs{ensuremath} with \MathJax\ now creates a \env{lateximage}.
% ^^A \item Fix: \cs{centering}, etc. in \SVG\ math, \env{lateximage}, \tikz.
% ^^A \item Fix: Made various macros robust,
% ^^A additionally fixing \pkg{authblk}.\margintag{misc. fixes}
@@ -4859,7 +4893,7 @@ This boolean may be tested by the user for later use.
% ^^A \item Fix: Stack unnesting.
% ^^A \item Fix: \SVG\ math and \env{lateximage}s in numerous situations.
% ^^A \item Fix: Spaces in \cs{usepackage}.
-% ^^A \item Fix: Now allows \brand{MathJax} inside \env{verse}.
+% ^^A \item Fix: Now allows \MathJax\ inside \env{verse}.
% ^^A \end{itemize}
% ^^A \needspace{2\baselineskip}
% ^^A \item[v0.45:] \
@@ -4872,7 +4906,7 @@ This boolean may be tested by the user for later use.
% ^^A See \cref{sec:limitsmemoir}.\margintag{memoir}
% ^^A \item Fix: Now allows underscores in labels.\margintag{cross-references}
% ^^A \item Fix: \cs{\_} and |\<blank>| in section/file names.
-% ^^A \item Fix: Now allows \brand{MathJax} inside \env{tabbing}.\margintag{math}
+% ^^A \item Fix: Now allows \MathJax\ inside \env{tabbing}.\margintag{math}
% ^^A \item Fix: Bibliography \cs{em} names.\margintag{bibliography}
% ^^A \item Added \pkg{cite}, \pkg{natbib}, \pkg{backref}.
% ^^A (Also works as-is with \pkg{biblatex}.)
@@ -4909,7 +4943,7 @@ This boolean may be tested by the user for later use.
% ^^A \item Fix: \cs{multicolumn} alignment if formatting for a word processor.
% ^^A \margintag{tabular}
% ^^A \item Added \pkg{ltxtable}.
-% ^^A \item Fix: \brand{MathJax} combined with \env{lateximage}s.\margintag{math}
+% ^^A \item Fix: \MathJax\ combined with \env{lateximage}s.\margintag{math}
% ^^A \item \pkg{algorithmicx}: Improved comment symbol and floating.
% ^^A \item Completed \pkg{todonotes} and \pkg{luatodonotes}.
% ^^A \margintag{\pkg{packages}}
@@ -4977,7 +5011,7 @@ This boolean may be tested by the user for later use.
% ^^A \item Fix: Text copy/paste of \AmS\ math environment numbers and names.
% ^^A \margintag{math}
% ^^A \item Improved \cs{ensuremath}.
-% ^^A \item \brand{MathJax} with \pkg{siunitx}: Updated script and documentation.
+% ^^A \item \MathJax\ with \pkg{siunitx}: Updated script and documentation.
% ^^A \item \pkg{textcomp}: Improved \cs{textinterrobangdown}.
% ^^A \margintag{symbols}
% ^^A \item \pkg{realscripts}: Fix for subscripts in a \env{lateximage}.
@@ -5133,10 +5167,10 @@ This boolean may be tested by the user for later use.
% ^^A \margintag{footnotes}
% ^^A \env{lateximage} footnotes now appear as regular footnotes to match
% ^^A the numbering of the print version.
-% ^^A Also fixed a regression with \brand{MathJax}.
+% ^^A Also fixed a regression with \MathJax.
% ^^A \item Improved \pkg{siunitx} units.
% ^^A \margintag{\pkg{siunitx}}
-% ^^A \item Fix for filenames while using \brand{MathJax}.
+% ^^A \item Fix for filenames while using \MathJax.
% ^^A \item Fix for \cs{rule} when \pkg{xcolor} is not loaded.
% ^^A \item Added \pkg{transparent}, \pkg{upref}.
% ^^A \end{itemize}
@@ -5177,7 +5211,7 @@ This boolean may be tested by the user for later use.
% ^^A and draws a framed minipage in print output.
% ^^A See \cref{sec:framedminipages}.
% ^^A \cs{fbox} and minipages now often work in \SVG\ math and \env{lateximage}s.
-% ^^A \brand{MathJax} supports \cs{fbox}, but not \cs{fboxBlock} nor \env{fminipage}.
+% ^^A \MathJax\ supports \cs{fbox}, but not \cs{fboxBlock} nor \env{fminipage}.
% ^^A \item Improved compatibility between \env{lateximage} and
% ^^A \margintag{\env{lateximage}, \SVG\ math, \env{tabular}}
% ^^A \env{minipage}, \cs{parbox}, \cs{makebox}, \cs{fbox}, \cs{framebox},
@@ -5340,7 +5374,7 @@ This boolean may be tested by the user for later use.
% ^^A These make it easier to identify float boundaries,
% ^^A which are to be manually converted to word-processor frames.
% ^^A Name changed to |WPMarkFloats| as of v0.42.
-% ^^A \item Updated for the new \brand{MathJax} \acro{CDN} repository.
+% ^^A \item Updated for the new \MathJax\ \acro{CDN} repository.
% ^^A \item Adds \pkg{tabulary}.
% ^^A \item Supports the options syntax for \pkg{graphics}.
% ^^A \item Improved index references, now pointing exactly to their target.
@@ -5447,9 +5481,9 @@ This boolean may be tested by the user for later use.
% ^^A \needspace{2\baselineskip}
% ^^A \item[v0.19:] \
% ^^A \begin{itemize}
-% ^^A \item \brand{MathJax} now may be used to display math via the \optn{mathjax} option.
+% ^^A \item \MathJax\ now may be used to display math via the \optn{mathjax} option.
% ^^A See \cref{sec:loading,sec:limitsmath}.
-% ^^A To use \brand{MathJax} with a pre-existing project,
+% ^^A To use \MathJax\ with a pre-existing project,
% ^^A \watchout
% ^^A copy or link the file |lwarp_mathjax.txt| to the project's directory.
% ^^A \item \cs{rule} added, supporting width, height, raise, \cs{textcolor}.
@@ -5492,7 +5526,7 @@ This boolean may be tested by the user for later use.
%
% \section{Introduction}
% \label{sec:introduction}
-% \changes{v0.19}{2016/05/25}{Introduction: \brand{MathJax} support mentioned.}
+% \changes{v0.19}{2016/05/25}{Introduction: \MathJax\ support mentioned.}
%
% The \pkg{lwarp} project aims to allow a rich \LaTeX{} document
% to be converted to a reasonable \HTMLfive\
@@ -5573,10 +5607,10 @@ This boolean may be tested by the user for later use.
% An MD5 hash is used to combine multiple instances of the same inline math expression
% into a single image file, which then needs to be converted to \SVG\ only a single time.
%
-% The \brand{MathJax} JavaScript display engine may be selected
+% The \MathJax\ JavaScript display engine may be selected
% for math display instead of using \SVG\ images.
% Subject to browser support and Internet access,
-% \brand{MathJax} allows an \HTML\ page to display
+% \MathJax\ allows an \HTML\ page to display
% math without relying on a large number of
% external image files.\footnote{One \SVG\ image
% file per math expression, except that duplicate inline math expressions are combined
@@ -5585,7 +5619,7 @@ This boolean may be tested by the user for later use.
% and in one case the MD5 hash cut the number of files in half and the rendering
% time by 30\%.}
% \pkg{lwarp} maintains \LaTeX\ control for cross-referencing
-% and equation numbering, and attempts to force \brand{MathJax} to tag equations accordingly.
+% and equation numbering, and attempts to force \MathJax\ to tag equations accordingly.
%
% \rulebreak
%
@@ -5643,6 +5677,8 @@ This boolean may be tested by the user for later use.
% \end{tabular}
% \end{table}
%
+% \maindocumentationnotes
+%
% \clearpage
%
% \subsection{Supported packages and features}
@@ -5661,9 +5697,9 @@ This boolean may be tested by the user for later use.
% as print output in \SVG\ math or \env{lateximage} environments.
% \item[\epkg{name}:] Emulated for \HTML\ output.
% \item[\ipkg{name}:] Ignored for \HTML\ output, but provides source-level compatibility.
-% \item[\sjax:] Supported as-is for \brand{MathJax}, subject to limitations.
-% \item[\ejax:] Emulated for \brand{MathJax} using custom macros, subject to limitations.
-% \item[\ijax:] Ignored by \brand{MathJax}, but may be used in the document source.
+% \item[\sjax:] Supported as-is for \MathJax, subject to limitations.
+% \item[\ejax:] Emulated for \MathJax\ using custom macros, subject to limitations.
+% \item[\ijax:] Ignored by \MathJax, but may be used in the document source.
% May be converted to \SVG\ images.
% \end{description}
%
@@ -5686,9 +5722,11 @@ This boolean may be tested by the user for later use.
%
% \midrule
%
-% Engines: & \DVI\ \LaTeX, pdf\LaTeX, \XeLaTeX, \LuaLaTeX, up\LaTeX \\
+% Engines: & \dviLaTeX, \pdfLaTeX, \XeLaTeX, \LuaLaTeX, up\LaTeX \\
+%
+% \LaTeX\ compiling: & \prog{latexmk}, \prog{make}, etc. \\
%
-% Compiling: & \prog{latexmk}, \prog{perltex}, \prog{pythontex}, \prog{make}, etc. \\
+% External compiling: & \prog{perltex}, \prog{pythontex}, \mpkg{sympytex} \\
%
% \midrule
%
@@ -5701,6 +5739,8 @@ This boolean may be tested by the user for later use.
%
% Memoir: & \ipkg{memhfixc} \\
%
+% Beamer: & \mpkg{beamerarticle}, but not the \pkg{beamer} class. \\
+%
% \midrule
%
% Languages: & \spkg{babel}, \spkg{cjkpunct}, \ipkg{impnattypo}, \mpkg{luavlna},
@@ -5811,7 +5851,7 @@ This boolean may be tested by the user for later use.
% \epkg{scrlayer-notecolumn}, \epkg{versonotes}. \\
%
% Footnotes: & Adds \progcode{FootnoteDepth} to print footnotes at section breaks.
-% \brand{MathJax} emulation for \cs{footnote}, and also as marked in the following:
+% \MathJax\ emulation for \cs{footnote}, and also as marked in the following:
% \epkg{bigfoot}, \ipkg{dblfnote},
% \ipkg{endheads}, \mpkg{endnotes}\ejax, \mpkg{enotez}\ejax, \spkg{fixfoot},
% \ipkg{fnbreak}, \ipkg{fnpara}, \spkg{fnpct}, \ipkg{fnpos},
@@ -5826,7 +5866,7 @@ This boolean may be tested by the user for later use.
%
% Math: & Converted to \SVG\ images with \HTML\ \element{alt} tags containing the
% \LaTeX\ source for the math expression.
-% \brand{MathJax} supported as an alternative.
+% \MathJax\ supported as an alternative.
% \mpkg{amsmath}\ejax: \AmS\ environments are supported.
% User-defined macros are available during converson,
% due to native \LaTeX\ processing.\\
@@ -6017,7 +6057,7 @@ This boolean may be tested by the user for later use.
%
% \smallskip
%
-% Also see the math section for math and \brand{MathJax} support for math font packages. \\
+% Also see the math section for math and \MathJax\ support for math font packages. \\
%
% Symbols: & Native \LaTeX\ diacriticals, \mpkg{academicons}, \spkg{amssymb}\sjax,
% \mpkg{bbding}, \mpkg{ccicons},
@@ -6089,7 +6129,7 @@ This boolean may be tested by the user for later use.
%
% Accessibility: & \epkg{accessibility}\ijax, \ipkg{accsupp}\ijax,
% \ipkg{axessibility}\ijax,
-% \ipkg{pdfcomment}\ijax, \ipkg{repltext}\ijax, \ipkg{tagpdf}. \\
+% \ipkg{pdfcomment}\ijax, \ipkg{repltext}\ijax, \mpkg{tagpdf}. \\
%
% \midrule
%
@@ -6365,7 +6405,7 @@ This boolean may be tested by the user for later use.
% \item[Automatically downloaded from the internet as required:] \
% \begin{description}
%
-% \item[\brand{MathJax}:] Optionally used to display math.
+% \item[\MathJax:] Optionally used to display math.
% From: \url{mathjax.org}
% \DescribeProgram[requirement]{MathJax}
%
@@ -6852,7 +6892,7 @@ This boolean may be tested by the user for later use.
% |lwarp_one_limage.cmd| when images are generated.
%
% \item [|lwarp\_mathjax.txt|:] Inserted into the \HTML\ files when
-% \brand{MathJax} is used to display math.
+% \MathJax\ is used to display math.
% Do not modify, see \cs{MathJaxFilename} instead.
%
% \item [|comment\_*.cut|:] Temporary files used by \pkg{lwarp} to
@@ -6981,7 +7021,7 @@ This boolean may be tested by the user for later use.
% the plain-text \LaTeX\ source,
% until the
% images of the math expressions have been generated. Math may be
-% displayed as \SVG\ images or by a \brand{MathJax} script, as seen in
+% displayed as \SVG\ images or by a \MathJax\ script, as seen in
% \cref{sec:tutorialsvgmath,sec:tutorialmathjax}.
%
% \item Force a recompile:
@@ -7038,11 +7078,11 @@ This boolean may be tested by the user for later use.
%
% \clearpage
%
-% \subsection{Using \brand{MathJax} for math}
+% \subsection{Using \MathJax\ for math}
% \label{sec:tutorialmathjax}
%
-% Math may also be represented using the \brand{MathJax} \brand{Javascript} project.
-% \margintag{math with \brand{MathJax}}
+% Math may also be represented using the \MathJax\ \brand{Javascript} project.
+% \margintag{math with \MathJax}
%
% \begin{enumerate}
% \item In the tutorial's source code, uncomment the \optn{mathjax} package option for \pkg{lwarp}:
@@ -7055,13 +7095,13 @@ This boolean may be tested by the user for later use.
% \item Reload the math page.
% \end{enumerate}
%
-% \brand{MathJax} requires web access unless a local copy of \brand{MathJax} is available,
-% \watchout[\brand{MathJax} requirements]
+% \MathJax\ requires web access unless a local copy of \MathJax\ is available,
+% \watchout[\MathJax\ requirements]
% and it also requires that \brand{Javascript} is enabled for the web page.
-% The math is rendered by \brand{MathJax}. Right-click on math to see several
+% The math is rendered by \MathJax. Right-click on math to see several
% options for rendering, and for copying the \LaTeX\ source.
%
-% While using \brand{MathJax} has many advantages, it may not be able to represent
+% While using \MathJax\ has many advantages, it may not be able to represent
% complex expressions or spacing adjustments as well as \LaTeX, and it
% may not support some math-related packages.
%
@@ -7352,7 +7392,7 @@ This boolean may be tested by the user for later use.
% \item [Shell escape:] See \cref{sec:shellescape}, \nameref{sec:shellescape}.
% \item [\CSS\ customization:] See \cref{sec:csscustomization},
% \nameref{sec:csscustomization}.
-% \item [\brand{MathJax} customization:] See \cref{sec:limitscustomizemathjax},
+% \item [\MathJax\ customization:] See \cref{sec:limitscustomizemathjax},
% \nameref{sec:limitscustomizemathjax}.
% \item [Localization:] (languages) --- See \cref{sec:localization},
% \nameref{sec:localization}.
@@ -7462,7 +7502,7 @@ This boolean may be tested by the user for later use.
% \cs{AltTextOpen}, \cs{AltTextClose}:] The defaults used for \HTML\
% \attribute{alt} text for images. See \cref{sec:accessibility}.
% \item [\cs{CSSFilename}:] The name of the \CSS\ file to use.
-% \item [\cs{MathJaxFilename}:] The name of the \brand{MathJax} script to use.
+% \item [\cs{MathJaxFilename}:] The name of the \MathJax\ script to use.
% \end{description}
% \item [Package options:] \
% \begin{description}
@@ -7486,7 +7526,7 @@ This boolean may be tested by the user for later use.
% \gindex{HTML>alt text=\attribute{alt} text}
% \gindex{image>alt text=\attribute{alt} text}
% \gindex{math>alt text=\attribute{alt} text}
-% \gindex{mathjax=\brand{MathJax}>accessibility}
+% \gindex{mathjax=\MathJax>accessibility}
% \gindex{link>title=\attribute{title} text}
% \gindex{hyperref=\pkg{hyperref}>title=\attribute{title} text}
% \gindex{settings>accessibility}
@@ -7504,7 +7544,7 @@ This boolean may be tested by the user for later use.
% \ARIA\ roles for increased accessibility, and \pkg{lwarp} assigns the |math|
% role for \SVG\ math images, and the |note| role for footnotes, end notes,
% margin paragraphs and notes, etc.
-% \brand{MathJax} also has provisions for improved accessibility
+% \MathJax\ also has provisions for improved accessibility
% as well. See \cref{tab:accessibility}.
%
% \begin{table}
@@ -7534,9 +7574,9 @@ This boolean may be tested by the user for later use.
% the \HTML\ \attribute{alt} text will be set to \cs{MathImageAltText}.
% Set with \cs{renewcommand}.
%
-% \item [\brand{MathJax}:]
-% For \brand{MathJax}, the accessibility tools provided by \brand{MathJax} are
-% enabled by default by \pkg{lwarp}'s \brand{MathJax} scripts.
+% \item [\MathJax:]
+% For \MathJax, the accessibility tools provided by \MathJax\ are
+% enabled by default by \pkg{lwarp}'s \MathJax\ scripts.
%
% \item [\cs{PackageDiagramAltText}:]
% Various packages create diagrams which \pkg{lwarp} converts into \SVG\ images.
@@ -7797,7 +7837,7 @@ This boolean may be tested by the user for later use.
% \begin{tabular}{>{\ttfamily}lp{3.25in}}
% Option & Description \\ \midrule
% mathsvg & Show math using \SVG\ images. \\
-% mathjax & Show math using \brand{MathJax}. \\
+% mathjax & Show math using \MathJax. \\
% latexmk & Use \prog{latexmk} for compiling documents. \\
% dvips & Use \prog{dvips} and \prog{ps2pdf} to convert \DVI\ documents. \\
% dvipdfm & Use \prog{dvipdfm} to convert \DVI\ documents. \\
@@ -7867,7 +7907,7 @@ This boolean may be tested by the user for later use.
% \DescribeOption{mathsvg}
% \DescribeOption{mathjax}
% \DescribeDefault{mathsvg}
-% Selects \SVG\ images or \brand{MathJax} for math display.
+% Selects \SVG\ images or \MathJax\ for math display.
% See \cref{sec:limitsmath}.
% ^^A \DescribeOption{mathKaTeX}
% ^^A For math display, select \optn{mathsvg} (default), \optn{mathjax},
@@ -8230,7 +8270,7 @@ This boolean may be tested by the user for later use.
% \cs{AltTextClose} & PD & End an \HTML\ \attribute{alt} tag. \\
% \midrule
% \cs{CSSFilename} & PS & The \CSS\ for the following files. \\
-% \cs{MathJaxFilename} & PS & The \brand{MathJax} script for the following files. \\
+% \cs{MathJaxFilename} & PS & The \MathJax\ script for the following files. \\
% \midrule
% \cs{HTMLLanguage} & PS & The \HTML\ \attribute{lang} tag. \\
% \cs{HTMLTitle} & PS & The homepage's \element{title}, overriding \cs{title}. \\
@@ -8479,11 +8519,11 @@ This boolean may be tested by the user for later use.
%
% \ItemDescribeMacro{\MathJaxFilename} \marg{filename}
% \DescribeDefault{\filenm{lwarp_mathjax.txt}} \quad
-% Sets the \brand{MathJax} script file to use for the following
+% Sets the \MathJax\ script file to use for the following
% files. May be changed before each each sectioning command which would
% cause a file split.
%
-% The \brand{MathJax} script file is copied into the head of each \HTML\ file.
+% The \MathJax\ script file is copied into the head of each \HTML\ file.
% This may be used to point to a local repository, add extensions, or change
% the script somewhere in the middle of the document.
% \cs{MathJaxFilename} may be used before each file break to set the script file for
@@ -8813,14 +8853,14 @@ This boolean may be tested by the user for later use.
% \osportabilityusage
%
%
-% \subsection{Selecting actions for print, \HTML, or \brand{MathJax} output}
+% \subsection{Selecting actions for print, \HTML, or \MathJax\ output}
% \label{sec:selectingoutput}
% \gindex{settings>selecting print/\HTML\ output}
% \changes{v0.15}{2016/04/05}{Docs: Clarify print/\HTML\ output.}
%
% The following environments and macros are used to select actions which only apply
% to either traditional \LaTeX{} print-formatted \PDF\ generation,
-% or to \HTML\ generation, or to \HTML\ with \brand{MathJax}.
+% or to \HTML\ generation, or to \HTML\ with \MathJax.
%
% For most of built-in \LaTeX\ and many additional packages
% there is user-level source code support or emulation,
@@ -8882,7 +8922,7 @@ This boolean may be tested by the user for later use.
% Performs the given actions only when \HTML\ output is being generated.
%
% \DescribeEnv{warpMathJax}
-% Anything which is to be done only while using \HTML\ output with \brand{MathJax}
+% Anything which is to be done only while using \HTML\ output with \MathJax
% is surrounded by a \env{warpMathJax} environment.
% Usually, this is \cs{CustomizeMathJax}, used to add emulation macros.
% |\end{warpMathJax}| must appear on its own line.
@@ -9384,7 +9424,7 @@ This boolean may be tested by the user for later use.
%
% \DescribePackage{tcolorbox}
% \trouble{tcolorbox=\pkg{tcolorbox}}
-% \pkg{tcolorbox} is emulated for \HTML\ and \brand{MathJax}, and
+% \pkg{tcolorbox} is emulated for \HTML\ and \MathJax, and
% supported as-is inside a \env{lateximage} or \SVG\ math.
%
% What has been tested to work (at least partly) includes:
@@ -9402,10 +9442,10 @@ This boolean may be tested by the user for later use.
% \optn{math}, \optn{ams equation}, etc.\ are not supported. \watchout[math]
% Use a \env{tcolorbox} with regular math inside it.
% \cs{tcboxmath} and \cs{tcbhighmath} are suppored in \SVG\ math, and
-% emulated in \brand{MathJax}.
+% emulated in \MathJax.
% \item Fitting features: \cs{tcboxfit} becomes \cs{tcbox} in \HTML.
% \item Footnote numbering does not match the printed output.\watchout[footnotes]
-% \item \brand{MathJax} emulation is provided for common macros.
+% \item \MathJax\ emulation is provided for common macros.
% \end{itemize}
%
% If using \pkg{cleveref},
@@ -9535,11 +9575,11 @@ This boolean may be tested by the user for later use.
%
% \trouble{footnote>numbering}
% \gindex{footnotes>numbering}
-% \gindex{footnotes>mathjax=\brand{MathJax}}
+% \gindex{footnotes>mathjax=\MathJax}
% \trouble{footnote>in sectioning command}
-% \trouble{mathjax=\brand{MathJax}>footnotes}
-% \trouble{math>footnote>mathjax=\brand{MathJax}}
-% \trouble{footnote>mathjax=\brand{MathJax}}
+% \trouble{mathjax=\MathJax>footnotes}
+% \trouble{math>footnote>mathjax=\MathJax}
+% \trouble{footnote>mathjax=\MathJax}
% \trouble{sidenotes=\pkg{sidenotes}>numbering}
%
% \limitsfootnotes
@@ -10579,7 +10619,7 @@ This boolean may be tested by the user for later use.
% \gindex{dynamic math}
% \trouble{math>tikz=\tikz}
% \trouble{tikz>in math}
-% \trouble{mathjax=\brand{MathJax}>errors}
+% \trouble{mathjax=\MathJax>errors}
% \trouble{HTML>alt tags}
% \trouble{alt tags}
%
@@ -10619,8 +10659,8 @@ This boolean may be tested by the user for later use.
% \subsubsection{\pkg{physics} package}
% \label{sec:limitsphysics}
%
-% \trouble{mathjax=\brand{MathJax}>physics=\pkg{physics}}
-% \trouble{physics=\pkg{physics}>mathjax=\brand{MathJax}}
+% \trouble{mathjax=\MathJax>physics=\pkg{physics}}
+% \trouble{physics=\pkg{physics}>mathjax=\MathJax}
%
% \DescribePackage{physics}
% \limitsphysics
@@ -11174,14 +11214,37 @@ This boolean may be tested by the user for later use.
% as \HTML\ entities.
%
%
-% \subsection{Other packages}
+% \subsection{\pkg{sympytex} package}
%
% \DescribePackage{sympytex}
-% \DescribePackage{rterface}
-% Other packages such as \pkg{sympytex} and \pkg{rterface} would be set up
-% similar to \pkg{pythontex}, and the same warnings would apply.
% \trouble{sympytex=\pkg{sympytex}}
+% For \pkg{sympytex}:
+%
+% \begin{sourcedisplay}
+% \cs{usepackage}[ \\
+% \fquad \dots \\
+% \fquad PrintLatexCmd=\{ \\
+% \fqquad pdflatex project.tex \cs{LWRopseq} \\
+% \fqquad python project.sympy \cs{LWRopseq} \\
+% \fqquad pdflatex project.tex \\
+% \fquad \} , \\
+% \fquad HTMLLatexCmd=\{ \\
+% \fqquad pdflatex project\textgreen{\_html}.tex \cs{LWRopseq} \\
+% \fqquad python project\textgreen{\_html}.sympy \cs{LWRopseq} \\
+% \fqquad pdflatex project\textgreen{\_html}.tex \\
+% \fquad \} , \\
+% \fquad \dots \\
+% ]\{lwarp\}
+% \end{sourcedisplay}
+%
+% Also see the warnings for \pkg{pythontex}, above.
+
+% \subsection{Other packages}
+%
+% \DescribePackage{rterface}
% \trouble{rterface=\pkg{rterface}}
+% Other packages such as \pkg{rterface} would be set up
+% similar to \pkg{pythontex}, and the same warnings would apply.
%
%
% \subsection{\prog{make} program}
@@ -11337,19 +11400,19 @@ This boolean may be tested by the user for later use.
% Once these settings have been made, the \pkg{lwarp}-generated \HTML\ files
% may be loaded by \prog{Calibre}, and then converted to an \EPUB.
%
-% \begin{docsidebar}[\brand{MathJax} support]
-% \brand{MathJax} may be used in \EPUB\ documents.
-% Some e-readers include \brand{MathJax}, but any given reader
+% \begin{docsidebar}[\MathJax\ support]
+% \MathJax\ may be used in \EPUB\ documents.
+% Some e-readers include \MathJax, but any given reader
% may or may not have a recent version, and may or may not include
% extensions such as support for \pkg{siunitx}.
%
% \pkg{lwarp} adds some modifications to \MathML\ to support equations numbered
% by chapter. These modifications may not be compatible with the e-reader's
-% version of \brand{MathJax}, so \pkg{lwarp} requests that a known version be loaded
+% version of \MathJax, so \pkg{lwarp} requests that a known version be loaded
% instead. In some cases chapter numbering of equations still doesn't work.
%
% Until math support in \EPUB\ documents is improved, it is recommended to use
-% \SVG\ images instead of \brand{MathJax}, especially for equations numbered by chapter,
+% \SVG\ images instead of \MathJax, especially for equations numbered by chapter,
% or where \pkg{siunitx} support is important.
% \end{docsidebar}
%
@@ -11541,7 +11604,7 @@ This boolean may be tested by the user for later use.
%
% \newcommand{\describeWPMarkMath}{
% While formatting for word processors,
-% prints math as \LaTeX\ code instead of creating \SVG\ images or \brand{MathJax}.
+% prints math as \LaTeX\ code instead of creating \SVG\ images or \MathJax.
% This is useful for cut/paste into the \prog{LibreOffice Writer TeXMaths} extension.
% }
%
@@ -12332,9 +12395,9 @@ This boolean may be tested by the user for later use.
% \end{description}
%
% \needspace{3\baselineskip}
-% \item [Incorrect \brand{MathJax}:] Some objects do not convert to \brand{Mathjax}.
-% \trouble[\brand{MathJax}]{mathjax=\brand{MathJax}>errors}
-% \trouble{mathjax=\brand{MathJax}>unsupported packages}
+% \item [Incorrect \MathJax:] Some objects do not convert to \brand{Mathjax}.
+% \trouble[\MathJax]{mathjax=\MathJax>errors}
+% \trouble{mathjax=\MathJax>unsupported packages}
% Use \cs{displaymathother} before these objects, then \cs{displaymathnormal} to return
% to ``normal'' display math.
% See \cref{sec:displaymathother}.
@@ -12495,7 +12558,7 @@ This boolean may be tested by the user for later use.
% \item \brand{Linux}® is the registered trademark of Linus Torvalds in the U.S.\ and other countries.
% \item \brand{Mac\,OS}® is a trademark of \brand{Apple Inc.}
% \item \brand{MadCap Flare}™ is the property of \brand{MadCap Software, Inc.}
-% \item \brand{MathJax} is copyright 2009 and later.
+% \item \MathJax\ is copyright 2009 and later.
% The \brand{MathJax Consortium} is a joint venture of the \brand{American Mathematical Society} (AMS)
% and the \brand{Society for Industrial and Applied Mathematics} (SIAM)
% to advance mathematical and scientific content on the web.
@@ -12728,7 +12791,7 @@ This boolean may be tested by the user for later use.
%
% \gindex{numbers>left margin}\gindex{line numbers}
% \gindex{margin>numbers}\gindex{margin>tags}
-% \documentationnotes
+% \codedocumentationnotes
% \gindex{warning icon}\gindex{danger icon}\gindex{icon>warning}
% \changes{v0.15}{2016/04/05}{Docs: Added warning icons for items needing
% special attention.}
@@ -13027,7 +13090,7 @@ This boolean may be tested by the user for later use.
by lwarp's HTML conversion%
\ifblank{#2}{}{%
.\MessageBreak
- Class(es) #2 may be useful instead%
+ #2 may be useful instead%
}%
}
{%
@@ -13035,7 +13098,7 @@ This boolean may be tested by the user for later use.
or is superceded by another class.%
\ifblank{#2}{}{%
\MessageBreak
- For a possible alternative, see class(es) #2.%
+ For a possible alternative, see #2.%
}%
}
}{\relax}%
@@ -13122,7 +13185,6 @@ This boolean may be tested by the user for later use.
\LWR@checkloadnever{auto-pst-pdf-lua}{}
\LWR@checkloadnever{algorithms}{}
\LWR@checkloadnever{arraycols}{}
-\LWR@checkloadnever{beamer}{}
\LWR@checkloadnever{bidi}{}
\LWR@checkloadnever{cals}{}
\LWR@checkloadnever{cellspace}{}
@@ -13231,7 +13293,9 @@ This boolean may be tested by the user for later use.
%
%
% Some classes do not work with \pkg{lwarp}:
+% \changes{v0.902}{2021/09/15}{Forbid \pkg{beamer}.}
% \begin{macrocode}
+\LWR@earlyclassloadnever{beamer}{beamerarticle}
\LWR@earlyclassloadnever{jarticle}{ujarticle}
\LWR@earlyclassloadnever{jbook}{ujbook}
\LWR@earlyclassloadnever{jreport}{ujreport}
@@ -13302,6 +13366,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{backref}
\LWR@loadafter{balance}
\LWR@loadafter{bbding}
+\LWR@loadafter{beamerarticle}
\LWR@loadafter{bigdelim}
\LWR@loadafter{bigfoot}
\LWR@loadafter{bigstrut}
@@ -13734,6 +13799,7 @@ This boolean may be tested by the user for later use.
\LWR@loadafter{supertabular}
\LWR@loadafter{svg}
\LWR@loadafter{swfigure}
+\LWR@loadafter{sympytex}
\LWR@loadafter{syntonly}
\LWR@loadafter{t1inc}
\LWR@loadafter{tabfigures}
@@ -13855,7 +13921,7 @@ This boolean may be tested by the user for later use.
}
% \end{macrocode}
%
-% The default for pdf\LaTeX, \DVI\LaTeX, up\LaTeX, etc:
+% The default for \pdfLaTeX, \dviLaTeX, up\LaTeX, etc:
% \changes{v0.63}{2018/11/30}{Fix: Default \cs{LWR@mdfive}.}
% \begin{macrocode}
\let\LWR@mdfive\pdfmdfivesum
@@ -13880,9 +13946,9 @@ This boolean may be tested by the user for later use.
% \end{macrocode}
%
%
-% \section{pdf\LaTeX\ T1 and \UTF-8 encoding}
+% \section{\pdfLaTeX\ T1 and \UTF-8 encoding}
%
-% When using pdf\LaTeX, \pkg{lwarp} requires T1 font encoding,
+% When using \pdfLaTeX, \pkg{lwarp} requires T1 font encoding,
% and recommends \UTF-8 input encoding.
%
% If some other input encoding is already defined, \pkg{lwarp} will
@@ -13998,7 +14064,7 @@ This boolean may be tested by the user for later use.
%
% \section{Upright quotes}
%
-% In pdf\TeX, preserve upright quotes in verbatim text.
+% In \pdfTeX, preserve upright quotes in verbatim text.
% \pkg{upquote} also loads \pkg{textcomp}.
%
% \changes{v0.63}{2018/11/25}{p\TeX: Load \pkg{upquote}.}
@@ -14611,9 +14677,9 @@ This boolean may be tested by the user for later use.
% \end{macrocode}
%
% \DescribeOption{mathjax}
-% Option \optn{mathjax} selects \brand{MathJax} math display:
+% Option \optn{mathjax} selects \MathJax\ math display:
% \gindex{math>mathjax=\optn{mathjax} option}
-% \gindex{mathjax=\brand{MathJax}>mathjax=\optn{mathjax} option}
+% \gindex{mathjax=\MathJax>mathjax=\optn{mathjax} option}
% If the \optn{mathjax} option is given, boolean |mathjax| is true, may be used for \cs{ifbool} tests.
% \begin{macrocode}
\DeclareVoidOption{mathjax}{%
@@ -14635,7 +14701,7 @@ This boolean may be tested by the user for later use.
% ^^A If the \optn{mathKaTeX} option is given, boolean |mathKaTeX| is true,
% ^^A may be used for \cs{ifbool} tests.
% ^^A Boolean |mathjax| is also set true, as most code is shared with
-% ^^A \brand{MathJax} functions.
+% ^^A \MathJax\ functions.
% ^^A \begin{macrocode}
% ^^A \DeclareVoidOption{mathKaTeX}{%
% ^^A \PackageInfo{lwarp}{Using option 'mathKaTeX'}
@@ -15231,7 +15297,7 @@ This boolean may be tested by the user for later use.
% \begin{environment}{warpMathJax}
-% Only if \brand{MathJax} is being used along with \HTML.
+% Only if \MathJax\ is being used along with \HTML.
% \changes{v0.79}{2020/01/26}{Added.}
% \begin{macrocode}
\begin{warpprint}
@@ -15404,7 +15470,7 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
%
% Disable ligatures for typewriter fonts.
-% The comma was causing issues with \brand{MathJax} and \cs{,} followed by a comma.
+% The comma was causing issues with \MathJax\ and \cs{,} followed by a comma.
% Ligatures for f, q, t, etc used to be disabled for non-typewriter fonts, but
% are now allowed.
% \changes{v0.89}{2020/08/01}{Disable typewriter ligatures.}
@@ -15480,7 +15546,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.20}{2017/01/12}{Page geometry set to 6in wide with large margins.}
% \changes{v0.27}{2017/04/04}{Page geometry modified to reduce line overflow.}
% \changes{v0.28}{2017/04/13}{Forced oneside to maintain large right margin.}
-% \changes{v0.52}{2018/03/31}{Fix: \brand{MathJax} script line wraps. Reduced right margin.}
+% \changes{v0.52}{2018/03/31}{Fix: \MathJax\ script line wraps. Reduced right margin.}
% \changes{v0.74}{2019/08/13}{Remembers user's geometry.}
%
% \codehtml
@@ -15890,23 +15956,6 @@ This boolean may be tested by the user for later use.
-% \codeprint
-% \begin{macrocode}
-\begin{warpprint}
-% \end{macrocode}
-
-% \DescribePackage{varwidth}
-% Used for print-mode \env{lateximage}.
-% \begin{macrocode}
-\RequirePackage{varwidth}
-% \end{macrocode}
-
-% \begin{macrocode}
-\end{warpprint}
-% \end{macrocode}
-
-
-
% \section{Loading packages}
%
%
@@ -17276,7 +17325,7 @@ This boolean may be tested by the user for later use.
% \begin{macrocode}
\LetLtxMacro\LWR@origtie\t
% \end{macrocode}
-% For pdf\LaTeX, additional work is required:
+% For \pdfLaTeX, additional work is required:
% \begin{macrocode}
\ifPDFTeX% pdflatex or dvi latex
\LetLtxMacro\LWR@origgraveaccent\`
@@ -17295,7 +17344,7 @@ This boolean may be tested by the user for later use.
% \end{macrocode}
% The \HTML\ redefinitions follow.
%
-% For pdf\LaTeX, Unicode diacritical marks are used:
+% For \pdfLaTeX, Unicode diacritical marks are used:
% \begin{macrocode}
\renewcommand*{\`}[1]{#1\HTMLunicode{0300}}
\renewcommand*{\'}[1]{#1\HTMLunicode{0301}}
@@ -17917,6 +17966,9 @@ This boolean may be tested by the user for later use.
% \changes{v0.899}{2021/06/25}{\filenm{lwarp.css}: Improved \pkg{multicol}.}
% \changes{v0.901}{2021/08/20}{\filenm{lwarp.css}: Tabular cell text alignment.}
% \changes{v0.901}{2021/08/20}{\filenm{lwarp.css}: Improved captions.}
+% \changes{v0.902}{2021/09/15}{\filenm{lwarp.css}: Centered \element{div} \attribute{author}.}
+% \changes{v0.902}{2021/09/15}{\filenm{lwarp.css}: Added \pkg{beamerarticle}.}
+% \changes{v0.902}{2021/09/28}{\filenm{lwarp.css}: Added \attribute{textnormal}.}
%
% ^^A *lwarp.css
%
@@ -18003,6 +18055,15 @@ span.textit, div.textit, table td.tditshape { font-style: italic; }
table td.tdbfit { font-weight: bold ; font-style:italic }
+span.textnormal, div.textnormal {
+ font-weight: normal;
+ font-style: normal;
+ font-variant: normal;
+ font-variant-numeric: normal ;
+ font-family: "DejaVu Serif", "Bitstream Vera Serif",
+ "Lucida Bright", Georgia, serif;
+}
+
span.textmd, div.textmd { font-weight: normal; }
span.textup, div.textup {
@@ -18642,7 +18703,7 @@ div.wpminipage { border: 1px solid green ; margin: .5ex ; padding: .5ex ;}
.fcolorbox .minipage, .fcolorboxBlock .minipage
{border: none ; background: none;}
-.fbox, .fboxBlock { border: 1px solid black ; }
+.fbox, .fboxBlock { border: 1px solid black ; padding: 4pt }
.fbox, .fboxBlock, .fcolorbox, .fcolorboxBlock, .colorbox, .colorboxBlock,
.fminipage, .fcolorminipage
@@ -18795,6 +18856,15 @@ div.generalframe {
}
+/* For beamerarticle: */
+div.beamerframe {
+ margin: 3ex 1em 3ex 1em ;
+ border: 1px solid gray;
+ border-radius: 0px ;
+ padding: .3ex 1em 0ex 1em ;
+ display: block ;
+}
+
dl {
margin: 1ex 2em 1ex 0em;
@@ -19190,6 +19260,7 @@ div.subtitle p { margin: 1ex ; }
div.author
{
+ text-align: center ;
font-variant: normal ;
font-style: normal ;
font-size: 1em ;
@@ -19357,7 +19428,7 @@ div.alg2enoline{
span.alg2elinenumber{
margin-right: .5em ;
- font-size: 50% ;
+ font-size: 60% ;
color: red ;
}
@@ -20377,8 +20448,8 @@ page_compositor "."
% \credits{Davide P. Cervone}
% \DescribeFile{lwarp_mathjax.txt}
-% The default \brand{MathJax} script used by \pkg{lwarp} when using \brand{MathJax}.
-% A recent version of \brand{MathJax} is used, as served by the recommended repository.
+% The default \MathJax\ script used by \pkg{lwarp} when using \MathJax.
+% A recent version of \MathJax\ is used, as served by the recommended repository.
% Adjustments are made to allow \LaTeX\ to control the equation tags
% and provide for starred macros.
%
@@ -20388,8 +20459,8 @@ page_compositor "."
% but do not need to be present when distributing
% the resulting \HTML\ files.
%
-% \gindex{mathjax=\brand{MathJax}>custom script}
-% \trouble{mathjax=\brand{MathJax}>custom script}
+% \gindex{mathjax=\MathJax>custom script}
+% \trouble{mathjax=\MathJax>custom script}
% To generate a custom script, such as to use a local repository,
% \margintag{custom script}
% copy \filenm{lwarp_mathjax.txt} to a new file,
@@ -20400,15 +20471,15 @@ page_compositor "."
% \changes{v0.30}{2017/04/26}{Fix: \filenm{lwarp_mathjax.txt}: Only written in print mode.}
% \changes{v0.34}{2017/07/27}{File: \filenm{lwarp_mathjax.txt}: Version change.}
% \changes{v0.42}{2017/10/16}{File: \filenm{lwarp_mathjax.txt}: Updated \pkg{siunitx} script.}
-% \changes{v0.45}{2017/12/21}{File: \filenm{lwarp_mathjax.txt}: Allow \brand{MathJax} inside \env{tabbing}.}
-% \changes{v0.45}{2018/01/23}{File: \filenm{lwarp_mathjax.txt}: Allow \brand{MathJax} inside \env{verse}.}
-% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.4.}
-% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric \brand{MathJax} equations.}
+% \changes{v0.45}{2017/12/21}{File: \filenm{lwarp_mathjax.txt}: Allow \MathJax\ inside \env{tabbing}.}
+% \changes{v0.45}{2018/01/23}{File: \filenm{lwarp_mathjax.txt}: Allow \MathJax\ inside \env{verse}.}
+% \changes{v0.59}{2018/07/13}{File: \filenm{lwarp_mathjax.txt}: Updated to \MathJax\ v2.7.4.}
+% \changes{v0.59}{2018/07/16}{File: \filenm{lwarp_mathjax.txt}: Fix: Removed chapter number from tagged non-numeric \MathJax\ equations.}
% \changes{v0.62}{2018/11/05}{File: \filenm{lwarp_mathjax.txt}: Removed inoperable \pkg{siunitx} extension.}
-% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.5.}
+% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Updated to \MathJax\ v2.7.5.}
% \changes{v0.70}{2019/03/24}{File: \filenm{lwarp_mathjax.txt}: Loads \filenm{autoload-all.js} extension.}
-% \changes{v0.76}{2019/10/05}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v2.7.6.}
-% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Updated to \brand{MathJax} v3 current.}
+% \changes{v0.76}{2019/10/05}{File: \filenm{lwarp_mathjax.txt}: Updated to \MathJax\ v2.7.6.}
+% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Updated to \MathJax\ v3 current.}
% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Improved equation numbering.}
% \changes{v0.86}{2020/05/03}{File: \filenm{lwarp_mathjax.txt}: Added support for starred macros.}
% \changes{v0.87}{2020/05/20}{File: \filenm{lwarp_mathjax.txt}: Now provides \cs{ifstar}, \cs{ifnextchar}.}
@@ -20751,7 +20822,7 @@ MathJax = {
-- Copyright 2016-2021 Brian Dunn
-printversion = "v0.901"
+printversion = "v0.902"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -22076,11 +22147,11 @@ end -- not --version
% \DescribeBoolean{LWR@mathmacro} True if currently defining math macros.
-% Used to disable \SVG\ math hashing and \brand{MathJax} math contents while
+% Used to disable \SVG\ math hashing and \MathJax\ math contents while
% defining a macro using inline math.
% Begin a macro, it is not guaranteed that the contents are static, and so
% the image must be unique. The contents also almost certainly will not be
-% parsed correctly by \brand{MathJax}.
+% parsed correctly by \MathJax.
% \begin{macrocode}
\newbool{LWR@mathmacro}
\boolfalse{LWR@mathmacro}
@@ -22116,7 +22187,7 @@ end -- not --version
% \gindex{SVG>dynamic math}
% \trouble{math>incorrect>dynamic}
% \trouble{math>dynamic}
-% \trouble{mathjax=\brand{MathJax}>errors}
+% \trouble{mathjax=\MathJax>errors}
% \gindex{math>dynamic}
% \gindex{dynamic math expressions}
%
@@ -22126,7 +22197,7 @@ end -- not --version
% value of a counter, then \cs{inlinemathother} must be used before the
% inline math expression, and \cs{inlinemathnormal} must be used after.
%
-% For \brand{MathJax}, the inline math expression is usually printed for \brand{MathJax} to
+% For \MathJax, the inline math expression is usually printed for \MathJax\ to
% interpret. When marked as dynamic math, the following inline math expression
% will be displayed as an unhashed inline \SVG\ image instead.
%
@@ -22760,7 +22831,7 @@ end -- not --version
% \begin{macro}{\LWR@closeprevious} \marg{sectintype}
% Close everything up to the given depth:
% \begin{macrocode}
-\newcommand*{\LWR@closeprevious}[1]{
+\newcommand*{\LWR@closeprevious}[1]{%
\LWR@traceinfo{%
LWR@closeprevious to depth \csuse{LWR@depth#1}, %
depths are \LWR@subprintstack%
@@ -23064,14 +23135,14 @@ end -- not --version
% \changes{v0.85}{2020/04/30}{Fix: Added print macros for \pkg{fontspec}.}
% \begin{macrocode}
\newcommand*{\LWR@htmltagc}[1]{%
-\LWR@traceinfo{LWR@htmltagc !\detokenize{#1}!}%
-\begingroup%
-\LWR@hook@processingtags%
-\ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi%
-\protect\LWR@origtextless%
-\LWR@isolate{#1}%
-\protect\LWR@origtextgreater%
-\endgroup%
+ \LWR@traceinfo{LWR@htmltagc !\detokenize{#1}!}%
+ \begingroup%
+ \LWR@hook@processingtags%
+ \ifmmode\else\protect\LWR@print@normalfont\protect\LWR@origttfamily\fi%
+ \protect\LWR@origtextless%
+ \LWR@isolate{#1}%
+ \protect\LWR@origtextgreater%
+ \endgroup%
}
% \end{macrocode}
% \end{macro}
@@ -23129,8 +23200,8 @@ end -- not --version
%
% \begin{macrocode}
\newcommand*{\LWR@nestspanitem}{%
-\if@newlist\else{\LWR@htmltagc{br /}}\fi%
-\LWR@origitem%
+ \if@newlist\else{\LWR@htmltagc{br /}}\fi%
+ \LWR@origitem%
}
\newenvironment*{LWR@nestspan}
@@ -23163,7 +23234,7 @@ end -- not --version
}%
\renewcommand{\LWR@forcenewpage}{}%
\renewcommand{\LWR@liststart}{%
- \let\item\LWR@nestspanitem%
+ \LetLtxMacro\item\LWR@nestspanitem%
}%
\renewcommand{\LWR@listend}{\LWR@htmltagc{br /}\LWR@htmltagc{br /}}%
\renewenvironment{quote}{\LWR@htmltagc{br /}}{\LWR@htmltagc{br /}}%
@@ -23740,19 +23811,16 @@ end -- not --version
\global\boolfalse{LWR@doingapar}
% \end{macrocode}
-
-% \begin{macro}{\LWR@ensuredoingapar}
-% If are about to print something visible, and
-% if allowed to start a new paragraph,
-% ensure that are |LWR@doingapar|, so that paragraph tags are placed:
+% \DescribeBoolean{LWR@algocf@dopars}
+% Tells whether \pkg{algorithm2e} has patched paragraph handling using \cs{everypar}.
+% If so, the open paragraph tags are generated by
+% \pkg{algorithm2e}'s \cs{algocf@everypar} instead of \cs{LWR@openparagraph}.
+% \changes{v0.902}{2021/09/28}{Improved par tags.}
% \begin{macrocode}
-\newcommand*{\LWR@ensuredoingapar}{%
-\ifbool{LWR@doingstartpars}%
-{\global\booltrue{LWR@doingapar}}%
-{}%
-}
+\newbool{LWR@algocf@dopars}
+\boolfalse{LWR@algocf@dopars}
% \end{macrocode}
-% \end{macro}
+
% \begin{macro}{\PN@parnotes@auto} Redefined by \pkg{parnotes} to print
@@ -23763,16 +23831,22 @@ end -- not --version
% \end{macro}
+% \begin{macro}{\LWR@ensuredoingapar}
% \begin{macro}{\LWR@openparagraph}
+%
+% These were different in older versions of \pkg{lwarp},
+% but are now the same thing.
% \begin{macrocode}
\newcommand*{\LWR@openparagraph}
{%
% \end{macrocode}
+%
% See if paragraph handling is enabled:
% \begin{macrocode}
\ifbool{LWR@doingstartpars}%
{% handling pars
% \end{macrocode}
+%
% See if have already started a \env{lateximage} or a \element{span}.
% If so, do not generate nested paragraph tags.
% \begin{macrocode}
@@ -23781,32 +23855,47 @@ end -- not --version
test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
}% nested par tags?
% \end{macrocode}
-% If so: Do nothing if already started a \env{lateximage} page. Cannot nest a \env{lateximage}.
+%
+% If so: Do nothing if already started a \env{lateximage} page.
+% Cannot nest a \env{lateximage}.
% Also do nothing if already inside a \element{span}. Do not nest paragraph tags
% inside a \element{span}.
% \begin{macrocode}
{}% no nested par tags
% \end{macrocode}
+%
% Else: No \env{lateximage} or \element{span} has been started yet,
% so it's OK to generate paragraph tags.
% \begin{macrocode}
{% yes nest par tags
+ \ifbool{LWR@doingapar}{}{%
% \end{macrocode}
+%
% If \pkg{parnotes} is used, paragraph notes are inserted
% before starting the next paragraph:
% \changes{v0.56}{2018/05/09}{Added support for \pkg{parnotes}.}
+% \changes{v0.902}{2021/09/20}{Improved \pkg{parnotes}.}
% \begin{macrocode}
- \PN@parnotes@auto%
+ \PN@parnotes@auto%
% \end{macrocode}
-% The opening paragraph tag:
-% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+%
+% Set flag before creating the tag, so that the tag itself does not trigger
+% a new paragraph:
+% \changes{v0.902}{2021/09/20}{Improved par tags.}
% \begin{macrocode}
- \LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline%
+ \global\booltrue{LWR@doingapar}%
% \end{macrocode}
-% Now have started a paragraph.
+%
+% The opening paragraph tag.
+% Do not create tag if doing \pkg{algorithm2e} handling instead:
+% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
% \begin{macrocode}
- \global\booltrue{LWR@doingapar}%
+ \ifbool{LWR@algocf@dopars}{}{%
+ \LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline%
+ }%
+ }%
% \end{macrocode}
+%
% At the endof each paragraph,
% generate closing tag and do regular |/par| stuff.
% (Attempting to use the \pkg{everyhook} |cr| hook
@@ -23817,8 +23906,11 @@ end -- not --version
}% end of handling pars
{}% not handling pars
}
+
+\let\LWR@ensuredoingapar\LWR@openparagraph
% \end{macrocode}
% \end{macro}
+% \end{macro}
% \begin{macro}{\LWR@closeparagraph@br}
@@ -23835,7 +23927,9 @@ end -- not --version
test {\ifnumcomp{\value{LWR@lateximagedepth}}{=}{0}} and
not bool {LWR@intabularmetadata}
}%
- {\unskip\LWR@htmltagc{br /}}%
+ {%
+ \unskip\LWR@htmltagc{br /}%
+ }%
{}%
}
% \end{macrocode}
@@ -23851,14 +23945,17 @@ end -- not --version
{%
% \LWR@traceinfo{LWR@closeparagraph}%
% \end{macrocode}
+%
% See if paragraph handling is enabled:
% \begin{macrocode}
\ifbool{LWR@doingapar}%
% \end{macrocode}
+%
% If currently in paragraph mode:
% \begin{macrocode}
{% handling pars
% \end{macrocode}
+%
% See if already started a \env{lateximage} or a \element{span}:
% \begin{macrocode}
\ifboolexpr{
@@ -23866,6 +23963,7 @@ end -- not --version
test {\ifnumcomp{\value{LWR@spandepth}}{>}{0}}
}%
% \end{macrocode}
+%
% Add a parbreak if in a span, not in a lateximage,
% and not in table metadata.
% \begin{macrocode}
@@ -23873,10 +23971,12 @@ end -- not --version
\LWR@closeparagraph@br%
}% no nested par tags
% \end{macrocode}
+%
% If have not already started a \env{lateximage} or a \element{span}:
% \begin{macrocode}
{% yes nest par tags
% \end{macrocode}
+%
% Print a closing tag and some extra vertical space.
%
% (The fill seems to be required to force the \pkg{caption}
@@ -23889,23 +23989,33 @@ end -- not --version
\leavevmode\LWR@orignewline%
\LWR@htmltagc{/\LWR@tagregularparagraph}%
% \end{macrocode}
+%
% No longer doing a paragraph:
% \begin{macrocode}
- \global\boolfalse{LWR@doingapar}%
+ \global\boolfalse{LWR@doingapar}% keep
% \end{macrocode}
+%
% Disable the special \env{minipage} \& \cs{hspace} interaction
% until a new minipage is found:
% \begin{macrocode}
\global\boolfalse{LWR@minipagethispar}%
% \end{macrocode}
+%
% If \pkg{parnotes} is used, paragraph notes are inserted
% after ending the previous paragraph:
% \changes{v0.56}{2018/05/09}{Added support for \pkg{parnotes}.}
+% \changes{v0.902}{2021/09/20}{Improved \pkg{parnotes}.}
% \begin{macrocode}
\PN@parnotes@auto%
+% \end{macrocode}
+%
+% After creating par notes, not yet started a new paragraph:
+% \begin{macrocode}
+ \global\boolfalse{LWR@doingapar}%
}% end of yes nest par tags
}% end of handling pars
% \end{macrocode}
+%
% Add a parbreak if in a span, not in a lateximage,
% and not in table metadata.
% \changes{v0.66}{2019/01/01}{Fix: Combined span, \env{tabular}, and \env{lateximage}.}
@@ -23914,6 +24024,7 @@ end -- not --version
\LWR@closeparagraph@br%
}% not handling pars
% \end{macrocode}
+%
% In most cases, finish with a \LaTeX\ \cs{par}, but in the case
% of paragraphs between lines in a tabular fetch the next token instead:
% \changes{v0.46}{2018/01/19}{Fix: Tabular empty lines.}
@@ -23968,6 +24079,7 @@ end -- not --version
{%
% \LWR@traceinfo{LWR@startpars}%
% \end{macrocode}
+%
% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
\ifboolexpr{
@@ -23977,34 +24089,43 @@ end -- not --version
{}%
{%
% \end{macrocode}
+%
% See if currently handling \HTML\ paragraphs:
% \begin{macrocode}
\ifbool{LWR@doingstartpars}%
% \end{macrocode}
+%
% If already in paragraph mode, do nothing.
% \begin{macrocode}
{}%
% \end{macrocode}
+%
% If not currently in paragraph mode:
% \begin{macrocode}
{%
% \end{macrocode}
+%
% At the start of each paragraph, generate an opening tag:
% \gindex{par=\cs{par}>hooks}
+% \changes{v0.902}{2021/09/24}{Cleared hook before adding.}
% \begin{macrocode}
+ \ClearPreHook{par}%
\PushPreHook{par}{\LWR@openparagraph}%
% \end{macrocode}
+%
% At the end of each paragraph, generate closing tag then do regular |/par| actions:
% \begin{macrocode}
\let\par\LWR@closeparagraph
}% an intentionally blank line
% \end{macrocode}
+%
% Are now handling paragraphs, but have not yet actually started one:
% \begin{macrocode}
\global\setbool{LWR@doingstartpars}{true}%
% \end{macrocode}
-% No <par> tag yet to undo:
+%
+% No \element{par} tag yet to undo:
% \begin{macrocode}
\global\boolfalse{LWR@doingapar}%
}% nestspan
@@ -24024,6 +24145,7 @@ end -- not --version
\newcommand*{\LWR@stoppars}%
{%
% \end{macrocode}
+%
% Ignore if inside a \env{lateximage} or \element{span}:
% \begin{macrocode}
\ifboolexpr{
@@ -24033,14 +24155,17 @@ end -- not --version
{}%
{%
% \end{macrocode}
+%
% See if currently handling \HTML\ paragraphs:
% \begin{macrocode}
\ifbool{LWR@doingapar}%
% \end{macrocode}
+%
% if currently in an \HTML\ paragraph:
% \begin{macrocode}
{%
% \end{macrocode}
+%
% Print a closing tag:
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
% \begin{macrocode}
@@ -24048,10 +24173,12 @@ end -- not --version
\LWR@htmltagc{/\LWR@tagregularparagraph}%
\LWR@orignewline%
% \end{macrocode}
+%
% No longer have an open \HTML\ paragraph:
% \begin{macrocode}
\global\boolfalse{LWR@doingapar}%
% \end{macrocode}
+%
% Disable the special \env{minipage} \& \cs{hspace} interaction
% until a new minipage is found:
% \changes{v0.71}{2019/04/08}{Reduced underfull \cs{hbox} warnings.}
@@ -24059,26 +24186,32 @@ end -- not --version
\global\boolfalse{LWR@minipagethispar}
}%
% \end{macrocode}
+%
% If was not in an \HTML\ paragraph:
% \begin{macrocode}
{}%
% \end{macrocode}
+%
% See if currently allowing \HTML\ paragraphs:
% \begin{macrocode}
\ifbool{LWR@doingstartpars}%
% \end{macrocode}
+%
% If so: clear the |par| hook to no longer catch paragraphs:
% \begin{macrocode}
{\ClearPreHook{par}}%
% \end{macrocode}
+%
% Else: Do nothing:
% \begin{macrocode}
{}%
% \end{macrocode}
+%
% No longer in paragraph mode:
% \begin{macrocode}
\global\setbool{LWR@doingstartpars}{false}%
% \end{macrocode}
+%
% No \element{p} tag to undo:
% \begin{macrocode}
\global\boolfalse{LWR@doingapar}%
@@ -24238,7 +24371,7 @@ end -- not --version
-% \section{\brand{MathJax} script}
+% \section{\MathJax\ script}
% \codehtml
% \begin{macrocode}
@@ -24247,11 +24380,11 @@ end -- not --version
% \begin{macro}{\LWR@mathjaxfilename}
% \DescribeDefault{\filenm{lwarp_mathjax.txt}}
-% The \brand{MathJax} script filename to use.
+% The \MathJax\ script filename to use.
% This file is copied into the head of each \HTML\ page.
% This may be changed mid-document using \cs{MathJaxFilename},
-% allowing the use of a custom \brand{MathJax} script, such as for a local repository,
-% or different \brand{MathJax} script files to be used for different sections of the document.
+% allowing the use of a custom \MathJax\ script, such as for a local repository,
+% or different \MathJax\ script files to be used for different sections of the document.
%
% \changes{v0.70}{2019/03/24}{Added.}
% \begin{macrocode}
@@ -24260,7 +24393,7 @@ end -- not --version
% \end{macro}
% \begin{macro}{\MathJaxFilename} \marg{filename} \qquad
-% Assigns the \brand{MathJax} script file to be used by the following \HTML\ pages.
+% Assigns the \MathJax\ script file to be used by the following \HTML\ pages.
%
% \changes{v0.70}{2019/03/24}{Added.}
% \begin{macrocode}
@@ -24480,6 +24613,16 @@ end -- not --version
% \end{macrocode}
+% Required for footnotes inside \env{description} or \pkg{amstheorem} square braces:
+% \changes{v0.902}{2021/09/20}{Fixed: Footnotes inside square brackets.}
+% \begin{macrocode}
+\AtBeginDocument{
+\robustify{\footnote}
+\robustify{\footnotemark}
+}
+% \end{macrocode}
+
+
% \begin{macro}{\LWR@footnotebox}
% Patch \LaTeX\ footnotes to use a new \cs{box} instead of an insert
% for \pkg{lwarp} footnotes.
@@ -24491,11 +24634,22 @@ end -- not --version
% \end{macro}
%
%
+% \DescribeBoolean{LWR@spewingnotes}
+% Used with the \pkg{footnote} package to suppress paragraph tags
+% before and after \cs{spewnotes}.
+% \changes{v0.902}{2021/09/20}{Improved \pkg{footnote} par tags.}
+% \begin{macrocode}
+\newbool{LWR@spewingnotes}% For the footnote package.
+% \end{macrocode}
+%
+%
% Much of the following has unneeded print-mode formatting removed.
%
% \begin{macro}{\@makefntext} \marg{text}
+%
+% \changes{v0.902}{2021/09/20}{Fixed: Footnotes inside square brackets.}
% \begin{macrocode}
-\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~#1}
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~{#1}}
% \end{macrocode}
% \end{macro}
%
@@ -24520,6 +24674,7 @@ end -- not --version
% \cs{let}\cs{@footnotetext}\cs{LWR@footnotetext}
% \end{sourcedisplay}
%
+%
% \begin{macro}{\LWR@@footnotetext} \marg{text} \marg{footnote box name}
%
% Factored to allow multiple footnote boxes for \pkg{manyfoot}.
@@ -24539,11 +24694,12 @@ end -- not --version
% closer to its usage.
% \begin{macrocode}
\LWR@newautopagelabel{page}%
+\LWR@ensuredoingapar%
% \end{macrocode}
%
% Locally disable auto page labels inside the footnote text.
% Footnotes are accumulated in the current page before finally being placed
-% in a potentially later page, so the aotopages would be incorrect.
+% in a potentially later page, so the autopages would be incorrect.
% \begin{macrocode}
\begingroup%
\let\LWR@newautopagelabel\LWR@null@newautopagelabel%
@@ -24579,40 +24735,30 @@ end -- not --version
%
% Use paragraph tags if in a tabular data cell or a \env{lateximage}:
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.902}{2021/09/20}{Improved \pkg{footnote} par tags.}
% \begin{macrocode}
- \ifthenelse{%
- \boolean{LWR@doingstartpars} \AND%
- \cnttest{\value{LWR@lateximagedepth}}{=}{0}%
+ \ifbool{LWR@spewingnotes}{}{%
+ \LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline%
}%
- {}%
- {\LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline}%
% \end{macrocode}
% Append the footnote to the list:
% \begin{macrocode}
\@makefntext{#1}%
% \end{macrocode}
% Closing paragraph tag:
+% \changes{v0.902}{2021/09/20}{Improved \pkg{footnote} par tags.}
% \begin{macrocode}
- \ifthenelse{%
- \boolean{LWR@doingstartpars} \AND%
- \cnttest{\value{LWR@lateximagedepth}}{=}{0}%
+ \ifbool{LWR@spewingnotes}{}{%
+ \LWR@origtilde\LWR@orignewline%
+ \LWR@htmltagc{/\LWR@tagregularparagraph}%
+ \LWR@orignewline%
}%
- {\par}%
- {%
- \LWR@htmltagc{/\LWR@tagregularparagraph}%
- \LWR@orignewline%
- }%
% \end{macrocode}
% Close the group:
% \begin{macrocode}
\color@endgroup%
}% vbox
\endgroup%
-% \end{macrocode}
-% Paragraph handling:
-% \changes{v0.52}{2018/03/28}{Fix: Paragraph handling.}
-% \begin{macrocode}
-\LWR@ensuredoingapar%
}%
% \end{macrocode}
% \end{macro}
@@ -24647,6 +24793,7 @@ end -- not --version
% \begin{macrocode}
\long\def\@mpfootnotetext#1{%
\LWR@traceinfo{@mpfootnotetext}%
+\LWR@ensuredoingapar%
\global\setbox\LWR@mpfootnotes\vbox{%
\unvbox\LWR@mpfootnotes%
\reset@font\footnotesize%
@@ -24656,32 +24803,26 @@ end -- not --version
{\csname p@mpfootnote\endcsname\@thefnmark}%
\color@begingroup%
% \end{macrocode}
-% Use paragraph tags if in a tabular data cell or a \env{lateximage}:
+% Add paragraph tag:
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.902}{2021/09/24}{Improved par tags.}
% \begin{macrocode}
- \ifthenelse{%
- \boolean{LWR@doingstartpars} \AND%
- \cnttest{\value{LWR@lateximagedepth}}{=}{0}%
- }%
- {}%
- {\LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline}%
+ \LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline%
% \end{macrocode}
% \begin{macrocode}
\@makefntext{%
\ignorespaces#1%
}%
% \end{macrocode}
-% Don't add the closing paragraph tag if are inside a \env{lateximage}:
+% Add the closing paragraph tag:
% \changes{v0.71}{2019/04/07}{Improved \HTML\ formatting.}
% \changes{v0.71}{2019/04/08}{Reduced underfull \cs{hbox} warnings.}
+% \changes{v0.902}{2021/09/24}{Improved par tags.}
+% \begin{macrocode}
+ \leavevmode\LWR@orignewline%
+ \LWR@htmltagc{/\LWR@tagregularparagraph}%
+% \end{macrocode}
% \begin{macrocode}
- \ifthenelse{\cnttest{\value{LWR@lateximagedepth}}{>}{0}}%
- {}%
- {%
- \leavevmode\LWR@orignewline%
- \LWR@htmltagc{/\LWR@tagregularparagraph}%
- \LWR@origpar%
- }%
\color@endgroup%
}% vbox
% \end{macrocode}
@@ -25313,7 +25454,7 @@ end -- not --version
\LWR@simplifycustom%
% \end{macrocode}
%
-% If pdf\LaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash:
+% If \pdfLaTeX\ and not \optn{utf8} encoding, don't try to convert emdash, endash:
% \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.}
% \changes{v0.84}{2020/04/21}{Fix: Dashes in filename.}
% \begin{macrocode}
@@ -25404,7 +25545,7 @@ end -- not --version
% \DescribeBoolean{LWR@MathJax@silentquotes}
% If true, double quotes (\cs{"} and |"|) are removed (used for \pkg{mathspec}).
-% This unfortunately includes double quotes used inside \cs{text} with \brand{MathJax}.
+% This unfortunately includes double quotes used inside \cs{text} with \MathJax.
% If false, double quotes are escaped.
% \begin{macrocode}
\newbool{LWR@MathJax@silentquotes}
@@ -25449,7 +25590,7 @@ end -- not --version
\LWR@replacestrings{'}{&apos;}%
\LWR@replacestrings{`}{&grave;}%
% \end{macrocode}
-% \brand{MathJax} allows expressions to be defined with \cs{newcommand}.
+% \MathJax\ allows expressions to be defined with \cs{newcommand}.
% These expressions would appear with |##| for each argument,
% and each must be changed to a single |#|.
% This must be done after all the above changes.
@@ -25466,6 +25607,8 @@ end -- not --version
% \begin{macro}{\LWR@HTMLsanitize} \marg{text}
%
+% Prints the sanitized text.
+%
% \begin{macrocode}
\newrobustcmd{\LWR@HTMLsanitize}[1]{%
% \end{macrocode}
@@ -25486,13 +25629,13 @@ end -- not --version
% \begin{macro}{\LWR@HTMLsanitizeexpand} \marg{text}
%
% This version expands the argument before sanitizing it.
-% This is only used for adding math to \brand{MathJax} expressions or
+% This is only used for adding math to \MathJax\ expressions or
% \env{lateximage} \attribute{alt} tags.
%
% \changes{v0.36}{2017/08/16}{Fix for \pkg{babel-french}.}
% \changes{v0.51}{2018/03/07}{Fix: Escapes double quotes.}
% ^^A \changes{v0.79}{2020/01/27}{Fix: \cs{\&}.}
-% \changes{v0.89}{2020/08/08}{Fix: Nested \brand{MathJax} environments.}
+% \changes{v0.89}{2020/08/08}{Fix: Nested \MathJax\ environments.}
% ^^A *88*
% \begin{macrocode}
\edef\LWR@beginspaceleftbrace{begin \LWRleftbrace}
@@ -25519,7 +25662,7 @@ end -- not --version
\edef\LWR@strresult{\detokenize\expandafter{#1}}%
% \end{macrocode}
% The math expression may includes spaces between tokens,
-% but \brand{MathJax} does not want a space between \cs{begin} or \cs{end}
+% but \MathJax\ does not want a space between \cs{begin} or \cs{end}
% and the following brace.
% This space is removed here.
% ^^A *88*
@@ -25538,10 +25681,10 @@ end -- not --version
% \end{macro}
-% \subsection{Customizing \brand{MathJax}}
+% \subsection{Customizing \MathJax}
% \begin{macro}{\LWR@customizedMathJax}
-% Additional \brand{MathJax} definitions to be added to the start of each \HTML\ page.
+% Additional \MathJax\ definitions to be added to the start of each \HTML\ page.
% \changes{v0.52}{2018/03/31}{Added.}
% \begin{macrocode}
\newcommand*{\LWR@customizedMathJax}{}
@@ -25627,24 +25770,24 @@ end -- not --version
% Default customizations:
% \margintag{defaults}
%
-% In the \brand{MathJax} code, footnotes are only referenced.
+% In the \MathJax\ code, footnotes are only referenced.
% For equations, they are also generated
% in the \HTML\ when the \LaTeX\ math is generated inside the \HTML\ comment.
% For other math environments, the \cs{footnotemark} \Slash \cs{footnotetext}
% method must be used. See \cref{sec:limitsfootnotes} regarding \cs{footnotemark}.
% \watchout[\cs{footnotemark}]
%
-% \changes{v0.51}{2018/03/18}{\brand{MathJax}: Nullifies \cs{ensuremath}.}
-% \changes{v0.57}{2018/05/24}{\brand{MathJax}: Supports \cs{footnote}, \cs{footnotemark}.}
-% \changes{v0.79}{2020/01/24}{\brand{MathJax}: Additional macros.}
-% \changes{v0.893}{2020/10/14}{\brand{MathJax}: Added \cs{mathnormal}.}
-% \changes{v0.894}{2020/12/22}{\brand{MathJax}: Added \cs{arabic}, \cs{number}, \cs{noalign}.}
+% \changes{v0.51}{2018/03/18}{\MathJax: Nullifies \cs{ensuremath}.}
+% \changes{v0.57}{2018/05/24}{\MathJax: Supports \cs{footnote}, \cs{footnotemark}.}
+% \changes{v0.79}{2020/01/24}{\MathJax: Additional macros.}
+% \changes{v0.893}{2020/10/14}{\MathJax: Added \cs{mathnormal}.}
+% \changes{v0.894}{2020/12/22}{\MathJax: Added \cs{arabic}, \cs{number}, \cs{noalign}.}
%
% For footnotes, \cs{footnotename} is used in most cases, however
% for \env{equation} the footnote is picked up from \LaTeX in \cs{LWR@doendequation}.
%
-% First, \cs{footnotename} for \brand{MathJax} is copied from \LaTeX.
-% \changes{v0.82}{2020/03/09}{\brand{MathJax}: Improved footnotes.}
+% First, \cs{footnotename} for \MathJax\ is copied from \LaTeX.
+% \changes{v0.82}{2020/03/09}{\MathJax: Improved footnotes.}
% \begin{macrocode}
\providecommand{\footnotename}{footnote}
@@ -25672,7 +25815,7 @@ end -- not --version
% \end{macrocode}
%
% \cs{hspace} is modified to accept and ignore a star:
-% \changes{v0.894}{2020/12/21}{\brand{MathJax}: Accept starred \cs{hspace}.}
+% \changes{v0.894}{2020/12/21}{\MathJax: Accept starred \cs{hspace}.}
% \begin{macrocode}
\CustomizeMathJax{\let\LWRorighspace\hspace}
\CustomizeMathJax{\renewcommand{\hspace}{\ifstar\LWRorighspace\LWRorighspace}}
@@ -25700,7 +25843,7 @@ end -- not --version
%
% \cs{protect}, \cs{mathchar}, and \cs{delimiter} are silently discarded; and
% \cs{mathcode} and \cs{delcode} are ignored.
-% \changes{v0.89}{2020/07/27}{mathjax=\brand{MathJax}: Added \cs{protect}, and
+% \changes{v0.89}{2020/07/27}{mathjax=\MathJax: Added \cs{protect}, and
% \cs{mathcode} and related.}
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\protect}{}}
@@ -25712,14 +25855,37 @@ end -- not --version
\CustomizeMathJax{\def\mathcode#1={\mathchar}}
\CustomizeMathJax{\let\delcode\mathcode}
\CustomizeMathJax{\let\delimiter\mathchar}
+% \end{macrocode}
+%
+% Some text symbols missing from \MathJax:
+% \changes{v0.902}{2021/09/10}{mathjax=\MathJax: Added std. intl. symbols.}
+% \begin{macrocode}
+\CustomizeMathJax{\def\oe{\unicode{x0153}}}
+\CustomizeMathJax{\def\OE{\unicode{x0152}}}
+\CustomizeMathJax{\def\ae{\unicode{x00E6}}}
+\CustomizeMathJax{\def\AE{\unicode{x00C6}}}
+\CustomizeMathJax{\def\aa{\unicode{x00E5}}}
+\CustomizeMathJax{\def\AA{\unicode{x00C5}}}
+\CustomizeMathJax{\def\o{\unicode{x00F8}}}
+\CustomizeMathJax{\def\O{\unicode{x00D8}}}
+\CustomizeMathJax{\def\l{\unicode{x0142}}}
+\CustomizeMathJax{\def\L{\unicode{x0141}}}
+\CustomizeMathJax{\def\ss{\unicode{x00DF}}}
+\CustomizeMathJax{\def\SS{\unicode{x1E9E}}}
+\CustomizeMathJax{\def\dag{\unicode{x2020}}}
+\CustomizeMathJax{\def\ddag{\unicode{x2021}}}
+\CustomizeMathJax{\def\P{\unicode{x00B6}}}
+\CustomizeMathJax{\def\copyright{\unicode{x00A9}}}
+\CustomizeMathJax{\def\pounds{\unicode{x00A3}}}
\end{warpMathJax}
+
\begin{warpHTML}% due to warpMathJax
% \end{macrocode}
% \begin{macro}{\LWR@customizeMathJax}
-% Prints \brand{MathJax} commands to the \HTML\ output.
+% Prints \MathJax\ commands to the \HTML\ output.
%
% \changes{v0.79}{2020/01/28}{MathJax: Hide definitions.}
% \begin{macrocode}
@@ -25735,8 +25901,8 @@ end -- not --version
\LWR@stoppars
% \end{macrocode}
%
-% Avoid ligatures while printing \brand{MathJax} customizations:
-% \changes{v0.89}{2020/08/02}{Print \brand{MathJax} customizations with typewriter font.}
+% Avoid ligatures while printing \MathJax\ customizations:
+% \changes{v0.89}{2020/08/02}{Print \MathJax\ customizations with typewriter font.}
% \begin{macrocode}
{
\LWR@print@ttfamily
@@ -26111,7 +26277,7 @@ end -- not --version
% \end{macrocode}
%
-% If using \brand{MathJax}, print the customizations here.
+% If using \MathJax, print the customizations here.
% \begin{macrocode}
\LWR@customizeMathJax
% \end{macrocode}
@@ -27248,7 +27414,7 @@ end -- not --version
\LWR@orignewline
% \end{macrocode}
%
-% Optional \brand{MathJax} support. The \HTML\ tags must be turned off
+% Optional \MathJax\ support. The \HTML\ tags must be turned off
% during the verbatim input, and the paragraph handling which was
% turned on at the end of verbatim input must be immediately turned off
% again.
@@ -27486,7 +27652,7 @@ end -- not --version
\LWR@startpars
% \end{macrocode}
%
-% If using \brand{MathJax},
+% If using \MathJax,
% disable \cs{ensuremath} by printing a nullified
% definition at the start of each file, and add further customizations:
% \changes{v0.51}{2018/03/18}{MathJax: Nullifies \cs{ensuremath}.}
@@ -27586,12 +27752,20 @@ end -- not --version
\LWR@printpendingfootnotes
% \end{macrocode}
%
-% Close the textbody:
+% Close the textbody.
+%
% \changes{v0.65}{2018/12/18}{Improved \CSS\ for page layout.}
% \changes{v0.84}{2020/04/24}{Added prev/next links.}
+%
+% (The \cs{LWR@origtilde} is in case no autopage is required for the label,
+% which would not print anything, and something must be printed before the newline.)
+%
+% \begin{macrocode}
+\label{\BaseJobname-autofile-last}\LWR@origtilde\LWR@orignewline
+% \end{macrocode}
+%
% \changes{v0.896}{2021/03/04}{Added \element{main}.}
% \begin{macrocode}
-\label{\BaseJobname-autofile-last}
\LWR@htmlelementclassend{section}{textbody}
\LWR@htmlelementclassend{main}{bodycontainer}
\LWR@htmlelementclassend{div}{bodyandsidetoc}
@@ -27930,15 +28104,15 @@ end -- not --version
% \changes{v0.39}{2017/09/03}{Removed minipages.}
% \begin{macrocode}
\DeclareDocumentEnvironment{titlepage}{}
-{
-\renewrobustcmd{\affiliation}[1]{\\ \InlineClass{affiliation}{##1}}
-\LWR@printpendingfootnotes
-\LWR@forcenewpage
-\BlockClass{titlepage}
+{%
+ \renewrobustcmd{\affiliation}[1]{\\ \InlineClass{affiliation}{##1}}%
+ \LWR@printpendingfootnotes
+ \LWR@forcenewpage
+ \BlockClass{titlepage}
}
{
-\endBlockClass
-\LWR@printpendingfootnotes
+ \endBlockClass
+ \LWR@printpendingfootnotes
}
% \end{macrocode}
% \end{environment}
@@ -28184,7 +28358,7 @@ end -- not --version
%
% Print the text:
% \begin{macrocode}
-##1%
+{##1}%
}%
}
% \end{macrocode}
@@ -28225,8 +28399,12 @@ end -- not --version
% Code from the \pkg{titling} package is adapted, simplified, and
% modified for \HTML\ output.
%
+% The name \cs{LWR@maketitle} is used to preserve its definition in case
+% a later package overwrites \cs{maketitle}.
+%
+% \changes{v0.902}{2021/09/15}{Now named \cs{LWR@maketitle} to avoid being overwritten later.}
% \begin{macrocode}
-\renewcommand*{\maketitle}{%
+\newcommand*{\LWR@maketitle}{%
% \end{macrocode}
% An \HTML\ titlepage \element{div} is used for all classes.
% \begin{macrocode}
@@ -28261,6 +28439,8 @@ end -- not --version
\global\let\date\relax
\global\let\and\relax
}
+
+\LetLtxMacro\maketitle\LWR@maketitle
% \end{macrocode}
% \end{macro}
%
@@ -28274,7 +28454,8 @@ end -- not --version
% \changes{v0.39}{2017/09/04}{Native \protect\LaTeX\ version.}
%
% \begin{macrocode}
-\DeclareDocumentCommand{\@maketitle}{}{%
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
\LWR@stoppars%
\LWR@htmltag{\LWR@tagtitle}%
\@title%
@@ -28729,7 +28910,7 @@ end -- not --version
%
% Create a new |pre| of the given class.
% The tags may temporarily be turned off for internal use, such
-% as loading the \brand{MathJax} script.
+% as loading the \MathJax\ script.
% \begin{macrocode}
\ifbool{LWR@verbtags}{%
\LWR@htmltag{pre class=\textquotedbl#2\textquotedbl%
@@ -29182,11 +29363,11 @@ end -- not --version
% \changes{v0.44}{2017/11/15}{Added \env{list} and \env{trivlist}.}
% \begin{macrocode}
\newcommand*{\LWR@listitem}{%
-\LWR@stoppars%
-\LWR@startnewdepth{listitem}%
-\LWR@htmltag{li}%
-\LWR@startpars%
-\LWR@origitem%
+ \LWR@stoppars%
+ \LWR@startnewdepth{listitem}%
+ \LWR@htmltag{li}%
+ \LWR@startpars%
+ \LWR@origitem%
}
% \end{macrocode}
% \end{macro}
@@ -29197,12 +29378,12 @@ end -- not --version
% Problems are caused when these are nullified all the time.
% \begin{macrocode}
\newcommand*{\LWR@nulllistfills}{%
-\renewcommand*{\hss}{}%
-\renewcommand*{\llap}[1]{##1}%
-\renewcommand*{\rlap}[1]{##1}%
-\renewcommand*{\hfil}{}%
-\renewcommand*{\hfilneg}{}%
-\renewcommand*{\hfill}{}%
+ \renewcommand*{\hss}{}%
+ \renewcommand*{\llap}[1]{##1}%
+ \renewcommand*{\rlap}[1]{##1}%
+ \renewcommand*{\hfil}{}%
+ \renewcommand*{\hfilneg}{}%
+ \renewcommand*{\hfill}{}%
}
% \end{macrocode}
% \end{macro}
@@ -29211,31 +29392,31 @@ end -- not --version
% \changes{v0.44}{2017/11/15}{Added \env{list} and \env{trivlist}.}
% \begin{macrocode}
\newcommand*{\LWR@liststart}{%
-\LWR@traceinfo{LWR@liststart}%
-\LWR@stoppars%
-\LWR@pushoneclose{list}%
-\LWR@htmltag{\LWR@printopenlist}\LWR@orignewline%
-\LWR@startpars%
-\setlength{\topsep}{0pt}%
-\setlength{\partopsep}{0pt}%
-\setlength{\itemsep}{0pt}%
-\setlength{\parsep}{0pt}%
-\setlength{\leftmargin}{0pt}%
-\setlength{\rightmargin}{0pt}%
-\setlength{\listparindent}{0pt}%
-\setlength{\itemindent}{0pt}%
-\setlength{\labelsep}{1em}%
-\LWR@nulllistfills%
+ \LWR@traceinfo{LWR@liststart}%
+ \LWR@stoppars%
+ \LWR@pushoneclose{list}%
+ \LWR@htmltag{\LWR@printopenlist}\LWR@orignewline%
+ \LWR@startpars%
+ \setlength{\topsep}{0pt}%
+ \setlength{\partopsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\leftmargin}{0pt}%
+ \setlength{\rightmargin}{0pt}%
+ \setlength{\listparindent}{0pt}%
+ \setlength{\itemindent}{0pt}%
+ \setlength{\labelsep}{1em}%
+ \LWR@nulllistfills%
}
% \end{macrocode}
%
% \changes{v0.46}{2018/01/21}{Fix: Stack unnesting.}
% \begin{macrocode}
\newcommand*{\LWR@listend}{%
-\LWR@traceinfo{LWR@listend}%
-\LWR@stoppars%
-\LWR@closeprevious{list}%
-\LWR@startpars%
+ \LWR@traceinfo{LWR@listend}%
+ \LWR@stoppars%
+ \LWR@closeprevious{list}%
+ \LWR@startpars%
}
% \end{macrocode}
% \end{environment}
@@ -29247,15 +29428,17 @@ end -- not --version
%
% Handles \cs{item} inside an itemize or enumerate.
%
+% The optional argument is passed to \cs{LWR@origitem}.
+%
% See \cs{LWR@openparagraph} where extra \cs{hspace} is used to
% leave room for the label while inside a list during paragraph construction.
% \begin{macrocode}
\newcommand*{\LWR@itemizeitem}{%
-\LWR@stoppars%
-\LWR@startnewdepth{listitem}%
-\LWR@htmltag{li}%
-\LWR@startpars%
-\LWR@origitem%
+ \LWR@stoppars%
+ \LWR@startnewdepth{listitem}%
+ \LWR@htmltag{li}%
+ \LWR@startpars%
+ \LWR@origitem%
}
% \end{macrocode}
% \end{macro}
@@ -29265,12 +29448,12 @@ end -- not --version
% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR@itemizestart}{%
-\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}
-\renewcommand*{\LWR@printopenlist}{%
- ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
-}
-\let\item\LWR@itemizeitem%
-\LWR@nulllistfills%
+ \renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}%
+ \renewcommand*{\LWR@printopenlist}{%
+ ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+ }%
+ \LetLtxMacro\item\LWR@itemizeitem%
+ \LWR@nulllistfills%
}
% \end{macrocode}
% \end{environment}
@@ -29286,12 +29469,12 @@ end -- not --version
% \changes{v0.895}{2021/01/14}{Improved \HTML\ quotes.}
% \begin{macrocode}
\newcommand*{\LWR@enumeratestart}{%
-\renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}
-\renewcommand*{\LWR@printopenlist}{%
- ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
-}
-\let\item\LWR@itemizeitem%
-\LWR@nulllistfills%
+ \renewcommand*{\LWR@printcloselist}{\LWR@printcloseitemize}%
+ \renewcommand*{\LWR@printopenlist}{%
+ ul style=\textquotedbl\LWR@print@mbox{list-style-type:none}\textquotedbl{}%
+ }%
+ \LetLtxMacro\item\LWR@itemizeitem%
+ \LWR@nulllistfills%
}
% \end{macrocode}
% \end{environment}
@@ -29302,29 +29485,28 @@ end -- not --version
% \begin{macro}{\LWR@descitem} \oarg{label}
% Handles an \cs{item} inside a description.
% \begin{macrocode}
-\newcommand*{\LWR@descitem}[1][]%
-{%
-\LWR@stoppars%
-\LWR@setlatestname{#1}%
-\LWR@startnewdepth{descitem}%
+\newcommand*{\LWR@descitem}[1][]{%
+ \LWR@stoppars%
+ \LWR@setlatestname{#1}%
+ \LWR@startnewdepth{descitem}%
% \end{macrocode}
% While creating the label, encase it inside tags and disable \cs{hspace},
% which is used by the standard classes to add space to the labels.
% \changes{v0.73}{2019/06/23}{Fix: \HTML\ tags.}
% \begin{macrocode}
-\begingroup%
-\let\LWR@orig@desc@makelabel\makelabel
-\renewcommand*{\makelabel}[1]{%
- \LWR@htmltag{dt}%
- \LWR@orig@desc@makelabel{#1}%
- \LWR@htmltag{/dt}%
-}
-\LWR@select@html@nohspace%
-\LWR@origitem[#1]%
-\endgroup%
-\LWR@orignewline%
-\LWR@htmltag{dd}%
-\LWR@startpars%
+ \begingroup%
+ \let\LWR@orig@desc@makelabel\makelabel
+ \renewcommand*{\makelabel}[1]{%
+ \LWR@htmltag{dt}%
+ \LWR@orig@desc@makelabel{#1}%
+ \LWR@htmltag{/dt}%
+ }
+ \LWR@select@html@nohspace%
+ \LWR@origitem[#1]%
+ \endgroup%
+ \LWR@orignewline%
+ \LWR@htmltag{dd}%
+ \LWR@startpars%
}
% \end{macrocode}
% \end{macro}
@@ -29333,52 +29515,13 @@ end -- not --version
%
% Footnotes are modified to correctly parse optional arguments.
% \changes{v0.896}{2021/03/14}{Fix: Footnotes inside \env{description} label.}
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
% \begin{macrocode}
\newcommand*{\LWR@descriptionstart}{%
\renewcommand*{\LWR@printcloselist}{\LWR@printclosedescription}
\renewcommand*{\LWR@printopenlist}{dl}
- \let\item\LWR@descitem%
+ \LetLtxMacro\item\LWR@descitem%
\LWR@nulllistfills%
-% \end{macrocode}
-%
-% Footnotes are redefined to process optional arguments inside the \env{description}
-% label.
-% A \cs{footnote} is dropped, as it is in print mode.
-% Using the optional arguments does not work in print mode,
-% but for some reason they must be accepted as done here to work correctly
-% even without the optional arguments.
-% \begin{macrocode}
- \renewcommand{\footnote}[2][]{%
- \ifblank{##1}%
- {%
- \stepcounter\@mpfn
- \protected@xdef\@thefnmark{\thempfn}%
- \@footnotemark%\@footnotetext
- }%
- {%
- \begingroup
- \csname c@\@mpfn\endcsname ##1\relax
- \unrestored@protected@xdef\@thefnmark{\thempfn}%
- \endgroup
- \@footnotemark%\@footnotetext
- }%
- }%
- %
- \renewcommand{\footnotemark}[1][]{%
- \ifblank{##1}%
- {%
- \stepcounter{footnote}%
- \protected@xdef\@thefnmark{\thefootnote}%
- \@footnotemark%
- }%
- {%
- \begingroup%
- \c@footnote ##1\relax%
- \unrestored@protected@xdef\@thefnmark{\thefootnote}%
- \endgroup%
- \@footnotemark%
- }%
- }%
}
% \end{macrocode}
% \end{environment}
@@ -33875,9 +34018,14 @@ end -- not --version
% \begin{macro}{\LWR@nameref} \marg{label}
% Returns the section name for this label:
% \changes{v0.66}{2019/01/27}{No longer use \pkg{zref}.}
+% \changes{v0.902}{2021/09/24}{Disable footnotes in \cs{nameref}.}
% \begin{macrocode}
\newcommand*{\LWR@nameref}[1]{%
+ \begingroup%
+ \renewcommand{\footnote}[2][]{}%
+ \renewcommand{\footnotemark}[1][]{}%
\expandafter\LWR@setref\csname r@#1@lwarp\endcsname\LWR@firstoffive{#1}%
+ \endgroup%
}
% \end{macrocode}
% \end{macro}
@@ -34269,8 +34417,8 @@ end -- not --version
% \end{macro}
%
%
-% For \brand{MathJax}:
-% \changes{v0.88}{2020/07/05}{Added \brand{MathJax}.}
+% For \MathJax:
+% \changes{v0.88}{2020/07/05}{Added \MathJax.}
% \begin{macrocode}
\CustomizeMathJax{\let\LWRref\ref}
\CustomizeMathJax{\renewcommand{\ref}{\ifstar\LWRref\LWRref}}
@@ -35271,7 +35419,6 @@ end -- not --version
% \begin{macrocode}
\newcommand*{\LWR@myshorttoc}[1]{%
\LWR@traceinfo{LWR@myshorttoc: #1}%
- \LWR@ensuredoingapar%
% \end{macrocode}
% Only if the file exists:
% \begin{macrocode}
@@ -35867,9 +36014,9 @@ end -- not --version
\renewenvironment*{theindex}{%
\LWR@indexsection{\indexname}%
- \let\item\LWR@indexitem%
- \let\subitem\LWR@indexsubitem%
- \let\subsubitem\LWR@indexsubsubitem%
+ \LetLtxMacro\item\LWR@indexitem%
+ \LetLtxMacro\subitem\LWR@indexsubitem%
+ \LetLtxMacro\subsubitem\LWR@indexsubsubitem%
}{}
}% AtBeginDocument
@@ -36492,7 +36639,7 @@ end -- not --version
% \begin{macro}{\LWR@restoreMathJaxformatting}
% A few macros (ref: \pkg{tcolorbox}) must be treated
% separately while printing the \HTML\
-% comment for a \brand{MathJax} expression.
+% comment for a \MathJax\ expression.
% These are set here, to which other functions may be appended.
% \changes{v0.88}{2020/06/25}{Added.}
% \begin{macrocode}
@@ -36609,12 +36756,17 @@ end -- not --version
%
\LWR@restoreorigaccents%
\LWR@restoreoriglists%
-%
+% \end{macrocode}
+% \changes{v0.902}{2021/09/24}{Improved minipage footnotes.}%
+% \begin{macrocode}
+ \let\@mpfootnotetext\LWR@orig@mpfootnotetext%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@hook@processingtags%
% \end{macrocode}
%
-% To enable \brand{MathJax}-specific nullification, used for \pkg{tcolorbox}:
-% \changes{v0.88}{2020/06/25}{Support for \brand{MathJax}.}
+% To enable \MathJax-specific nullification, used for \pkg{tcolorbox}:
+% \changes{v0.88}{2020/06/25}{Support for \MathJax.}
% \begin{macrocode}
\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
{\LWR@restoreMathJaxformatting}%
@@ -36656,7 +36808,7 @@ end -- not --version
% since they must be expanded to their nullified versions.
%
% \changes{v0.34}{2017/08/05}{Improved font control.}
-% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \brand{MathJax}.}
+% \changes{v0.36}{2017/08/15}{Fix: Filenames while using \MathJax.}
% \changes{v0.40}{2017/09/21}{Fix: Long arguments for expandable command.}
% \changes{v0.43}{2017/10/31}{Fix: Nullify dollar inside filesnames.}
% \changes{v0.48}{2018/02/04}{Fix: \cs{newline} in title.}
@@ -36915,7 +37067,7 @@ end -- not --version
% \begin{macro}{\LWR@ThisAltText} The \HTML\ \attribute{alt} tag for
% the next image.
% Cleared after use, and also after each \env{lateximage},
-% \cs{LWR@subsingledollar}, and each use of \brand{MathJax}.
+% \cs{LWR@subsingledollar}, and each use of \MathJax.
%
% \changes{v0.74}{2019/08/20}{Add \cs{ThisAltText}.}
% \begin{macrocode}
@@ -37047,11 +37199,11 @@ end -- not --version
% \DescribeMacro{\$}
% Plain dollar signs appearing in the \HTML\ output may be interpreted
-% by \brand{MathJax} to be math shifts.
+% by \MathJax\ to be math shifts.
% For a plain text dollar |\$|, use an \HTML\ entity to avoid
-% it being interpreted by \brand{MathJax}, unless are inside a lateximage,
-% in which case it will not be seen by \brand{MathJax}.
-% \changes{v0.19}{2016/06/08}{Avoids \brand{MathJax}.}
+% it being interpreted by \MathJax, unless are inside a lateximage,
+% in which case it will not be seen by \MathJax.
+% \changes{v0.19}{2016/06/08}{Avoids \MathJax.}
% \changes{v0.26}{2017/03/30}{Dollar span avoided in a lateximage.}
% \changes{v0.51}{2018/03/23}{Named \HTML\ entity used for text dollar.}
% \changes{v0.73}{2019/06/24}{Numbered \HTML\ entity used for text dollar.}
@@ -37178,17 +37330,17 @@ end -- not --version
%
% Measures the size of the image of the math expression.
%
-% (In some circumstances \SVG\ math is used even if \brand{MathJax} is
+% (In some circumstances \SVG\ math is used even if \MathJax\ is
% preferred.)
%
% \begin{description}
% \item [\SVG\ math:] \cs{LWR@origensuredmath} is part of argument \#4.
% \item [\SVG\ math \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
% \item [\SVG\ dynamic math:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [\brand{MathJax}:] Argument \#4 is the contents of the math expression
+% \item [\MathJax:] Argument \#4 is the contents of the math expression
% without \cs{LWR@origensuredmath}. This case is handled above.
-% \item [\brand{MathJax} \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [\brand{MathJax} dynamic math:] Argument \#4 is the contents of the math expression
+% \item [\MathJax\ \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
+% \item [\MathJax\ dynamic math:] Argument \#4 is the contents of the math expression
% without \cs{LWR@origensuredmath}, so \cs{LWR@origensuredmath} is added below.\
% \item [\cs{ifmmode}:] Included ``just in case''.
% \end{description}
@@ -37303,7 +37455,7 @@ end -- not --version
% Uses \SVG\ math. The image is measured and ajusted to the baseline
% of the \HTML\ output, and placed inside a \env{lateximage}.
%
-% (In some circumstances \SVG\ math is used even if \brand{MathJax} is
+% (In some circumstances \SVG\ math is used even if \MathJax\ is
% preferred.)
%
% Factored from \cs{LWR@subsingledollar}.
@@ -37468,26 +37620,26 @@ end -- not --version
% \marg{4: math expression}
%
% For inline math.
-% Uses \brand{MathJax}, or for \SVG\ math the image is measured and ajusted to the baseline
+% Uses \MathJax, or for \SVG\ math the image is measured and ajusted to the baseline
% of the \HTML\ output, and placed inside a \env{lateximage}.
%
% \begin{description}
% \item [\SVG\ math:] \cs{LWR@origensuredmath} is part of argument \#4.
% \item [\SVG\ math \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
% \item [\SVG\ dynamic math:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [\brand{MathJax}:] Argument \#4 is the contents of the math expression
+% \item [\MathJax:] Argument \#4 is the contents of the math expression
% without \cs{LWR@origensuredmath}. This case is handled above.
-% \item [\brand{MathJax} \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
-% \item [\brand{MathJax} dynamic math:] Argument \#4 is the contents of the math expression
+% \item [\MathJax\ \cs{ensuremath}:] \cs{LWR@origensuredmath} is part of argument \#4.
+% \item [\MathJax\ dynamic math:] Argument \#4 is the contents of the math expression
% without \cs{LWR@origensuredmath}, so \cs{LWR@origensuredmath} is added below.\
% \end{description}
%
% \describehashing
%
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support.}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support.}
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} print LaTeX expression.}
% \changes{v0.47}{2018/01/24}{Added \SVG\ math image baseline adjust and em sizing.}
-% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \brand{MathJax}.}
+% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \MathJax.}
% \changes{v0.50}{2018/02/24}{Improved \SVG\ math \attribute{alt} tags.}
% \begin{macrocode}
\newlength{\LWR@singledollarwidth}
@@ -37513,14 +37665,14 @@ end -- not --version
% \begin{macrocode}
\LWR@applyxfakebold%
% \end{macrocode}
-% \brand{MathJax} cannot parse the often complicated \TeX\ expressions which
+% \MathJax\ cannot parse the often complicated \TeX\ expressions which
% appear in the various uses of \cs{ensuredmath}.
% \cs{ensuremath} forces the \attribute{alt} tag to ``|(math image)|'', as
% translated according to \cs{MathImageAltText}.
-% If this is the case, force the use of a \env{lateximage} even if \brand{MathJax}.
+% If this is the case, force the use of a \env{lateximage} even if \MathJax.
% Likewise for \pkg{siunitx} if |parse-numbers=false|.
%
-% If \brand{MathJax}, or if formatting math for a word processor, and not \cs{ensuredmath},
+% If \MathJax, or if formatting math for a word processor, and not \cs{ensuredmath},
% and not a dynamic math expression, print the math expression:
% \changes{v0.51}{2018/03/11}{Fix: \cs{ensuredmath} inside \SVG\ image.}
% \changes{v0.57}{2018/05/23}{Fix: Dynamic inline math expressions.}
@@ -37538,8 +37690,8 @@ end -- not --version
( not bool{LWR@dynamicmath} )
}%
% \end{macrocode}
-% For \brand{MathJax}, print the math between |\(| and |\)|:
-% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
+% For \MathJax, print the math between |\(| and |\)|:
+% \changes{v0.89}{2020/08/01}{TT font for \MathJax.}
% \begin{macrocode}
{%
\LWR@traceinfo{LWR@subsingledollar: Mathjax}%
@@ -37595,7 +37747,7 @@ end -- not --version
% \DescribeObject{\$}
% \DescribeObject{\$\$}
% Redefine the dollar sign to place math inside a \env{lateximage},
-% or use \brand{MathJax}:
+% or use \MathJax:
% \begin{macrocode}
\begingroup
\catcode`\$=\active%
@@ -37612,20 +37764,20 @@ end -- not --version
%
% \changes{v0.42}{2017/10/16}{Improved \cs{ensuremath}.}
%
-% Redefine the double dollar sign to place math inside a \env{lateximage}, or use \brand{MathJax}:
+% Redefine the double dollar sign to place math inside a \env{lateximage}, or use \MathJax:
% \begin{macrocode}
\protected\gdef\LWR@doubledollar$#1$${%
% \end{macrocode}
-% If \brand{MathJax} or formatting for a word processor, print the \LaTeX\ expression:
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support.}
+% If \MathJax\ or formatting for a word processor, print the \LaTeX\ expression:
+% \changes{v0.19}{2016/05/25}{\MathJax\ support.}
% \changes{v0.42}{2017/10/26}{If \progcode{FormatWP} print LaTeX expression.}
% \begin{macrocode}
\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
% \end{macrocode}
-% For \brand{MathJax}, print the math between |\[| and |\]|:
+% For \MathJax, print the math between |\[| and |\]|:
% \changes{v0.42}{2017/10/16}{Improved line spacing with mathjax.}
-% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
-% \changes{v0.896}{2021/04/07}{Fix: Displaymath notes with \brand{MathJax}.}
+% \changes{v0.89}{2020/08/01}{TT font for \MathJax.}
+% \changes{v0.896}{2021/04/07}{Fix: Displaymath notes with \MathJax.}
% \begin{macrocode}
{
@@ -37695,7 +37847,7 @@ end -- not --version
%
%
% \begin{macro}{\LWR@singledollar} \marg{alt text} \marg{math expression}
-% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
+% \changes{v0.89}{2020/08/01}{TT font for \MathJax.}
% \begin{macrocode}
\protected\gdef\LWR@singledollar#1${%
\ifbool{mathjax}{%
@@ -37751,14 +37903,14 @@ end -- not --version
% \begin{macro}{\@ensuredmath} \marg{expression}
%
-% If \brand{MathJax}, a \env{lateximage} is used, since \cs{ensuremath} is
-% often used for complex \TeX\ expressions which \brand{MathJax} may not render.
+% If \MathJax, a \env{lateximage} is used, since \cs{ensuremath} is
+% often used for complex \TeX\ expressions which \MathJax\ may not render.
% If \SVG\ math, a hashed file is used with a simple \attribute{alt} tag, but
% additional hashing provided by the contents.
%
% \changes{v0.51}{2018/02/24}{Hashes \cs{ensuremath}.}
% \changes{v0.42}{2017/10/16}{Improved \cs{ensuremath}.}
-% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \brand{MathJax}.}
+% \changes{v0.50}{2018/02/23}{Fix: Use \env{lateximage} even if \MathJax.}
% \changes{v0.50}{2018/02/24}{Improved \SVG\ math \attribute{alt} tags.}
% \changes{v0.52}{2018/03/25}{Improved hashing expansion.}
% \begin{macrocode}
@@ -37853,7 +38005,7 @@ end -- not --version
%
% \begin{environment}{LWR@displaymathother}
% A version of \env{displaymath} which can handle complicated objects,
-% but does not supply \brand{MathJax} or \HTML\ \attribute{alt} tags.
+% but does not supply \MathJax\ or \HTML\ \attribute{alt} tags.
% \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
% \changes{v0.74}{2019/08/07}{Uses \cs{MathImageAltText}.}
% \changes{v0.896}{2021/03/05}{Added \ARIA\ role.}
@@ -37877,7 +38029,7 @@ end -- not --version
%
% \begin{environment}{LWR@equationother}
% A version of \env{displaymath} which can handle complicated objects,
-% but does not supply \brand{MathJax} or \HTML\ \attribute{alt} tags.
+% but does not supply \MathJax\ or \HTML\ \attribute{alt} tags.
% \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
% \changes{v0.74}{2019/08/07}{Uses \cs{MathImageAltText}.}
% \changes{v0.896}{2021/03/05}{Added \ARIA\ role.}
@@ -37899,8 +38051,8 @@ end -- not --version
% \end{environment}
-% \subsection{\brand{MathJax} support}
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support added.}
+% \subsection{\MathJax\ support}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support added.}
%
% \DescribeCounter{LWR@nextequation} Used to add one to compute the next equation number.
% \begin{macrocode}
@@ -37908,7 +38060,7 @@ end -- not --version
% \end{macrocode}
%
%
-% Determing how to set \brand{MathJax} section and equation numbers.
+% Determing how to set \MathJax\ section and equation numbers.
% Adjusts for various kinds of \cs{theequation} to determine
% \cs{theMathJaxsection} and \cs{theMathJaxequation}.
%
@@ -37954,16 +38106,16 @@ end -- not --version
%
%
%
-% \begin{macro}{\LWR@syncmathjax} Sets the \brand{MathJax} equation format
+% \begin{macro}{\LWR@syncmathjax} Sets the \MathJax\ equation format
% and number for the following equations.
%
-% These \brand{MathJax} commands are printed inside ``\cs{(}'' and ``\cs{)}'' characters.
+% These \MathJax\ commands are printed inside ``\cs{(}'' and ``\cs{)}'' characters.
% They are printed to \HTML\ output, not interpreted by \LaTeX.
% \begin{macrocode}
\newcommand*{\LWR@syncmathjax}{%
% \end{macrocode}
%
-% Tell \brand{MathJax} that the next equation number is
+% Tell \MathJax\ that the next equation number is
% the current \LaTeX{} equation number.
%
% Before each equation, \pkg{lwarp} inserts into the \HTML\ code:
@@ -37973,13 +38125,13 @@ end -- not --version
% \begin{description}
% \item [|subequations?|] is |0| usually, |1| if inside \pkg{amsmath} \env{subequations}.
% \item [|section|] is a string printed as-is, or empty.
-% \item [|number|] is auto-incremented by \brand{MathJax} between equations.
+% \item [|number|] is auto-incremented by \MathJax\ between equations.
% \end{description}
%
-% Place the \brand{MathJax} command inside ``\cs{(}'' and ``\cs{)}'' characters,
+% Place the \MathJax\ command inside ``\cs{(}'' and ``\cs{)}'' characters,
% to be printed to \HTML, not interpreted by \LaTeX.
% \changes{v0.82}{2020/03/09}{Removed \element{par} tags.}
-% \changes{v0.86}{2020/05/08}{Improved \brand{MathJax} equation numbers.}
+% \changes{v0.86}{2020/05/08}{Improved \MathJax\ equation numbers.}
% \begin{macrocode}
\LWR@stoppars%
\InlineClass{hidden}{
@@ -38055,7 +38207,7 @@ end -- not --version
% \begin{macro}{\LWR@addmathjax} \marg{environment name} \marg{contents}
%
% Given the name of a math environment and its contents,
-% create a \brand{MathJax} instance.
+% create a \MathJax\ instance.
% The contents are printed to \HTML\ output, not interpreted by \LaTeX.
% \begin{macrocode}
\NewDocumentCommand{\LWR@addmathjax}{m +m}{%
@@ -38063,9 +38215,9 @@ end -- not --version
% \begin{macrocode}
\LWR@origtilde\LWR@orignewline
% \end{macrocode}
-% Enclose the \brand{MathJax} environment inside printed ``\cs{(}'' and ``\cs{)}'' characters.
+% Enclose the \MathJax\ environment inside printed ``\cs{(}'' and ``\cs{)}'' characters.
% Print the environment name and contents, sanitizing for \HTML\ special characters.
-% \changes{v0.89}{2020/08/01}{TT font for \brand{MathJax}.}
+% \changes{v0.89}{2020/08/01}{TT font for \MathJax.}
% \begin{macrocode}
{%
\LWR@print@ttfamily%
@@ -38074,7 +38226,7 @@ end -- not --version
%
% The \env{alignat} environment takes a mandatory argument, which must
% be replicated here.
-% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \brand{MathJax}.}
+% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \MathJax.}
% \begin{macrocode}
\ifboolexpr{
test {\ifstrequal{#1}{alignat}} or
@@ -38115,7 +38267,7 @@ end -- not --version
%
% \begin{macro}{\LWR@doequation} \marg{env contents} \marg{env name}
%
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support.}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support.}
% \changes{v0.52}{2018/03/28}{Fix: \env{equation*} with \env{split}.}
%
% For \SVG\ math output,
@@ -38124,11 +38276,11 @@ end -- not --version
% containing a detokenized copy of the \LaTeX\ source for
% the math.
%
-% For \brand{MathJax} output, the contents are typeset in an
+% For \MathJax\ output, the contents are typeset in an
% original \env{equation} environment placed inside a \HTML\
% comment, with special processing for \cs{label}s.
% The contents are also printed to the \HTML\ output
-% for processing by the \brand{MathJax} script.
+% for processing by the \MathJax\ script.
% \begin{macrocode}
\newcommand*{\LWR@doequation}[2]{%
@@ -38138,11 +38290,11 @@ end -- not --version
% \begin{macrocode}
\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
% \end{macrocode}
-% \brand{MathJax} output:
+% \MathJax\ output:
% \begin{macrocode}
{
% \end{macrocode}
-% Print commands to syncronize \brand{MathJax}'s equation number and format
+% Print commands to syncronize \MathJax's equation number and format
% to the current \LaTeX\ chapter/section and equation number:
% \begin{macrocode}
\LWR@syncmathjax%
@@ -38209,11 +38361,11 @@ end -- not --version
}
% \end{macrocode}
%
-% After the environment, if \brand{MathJax}, print the math to the \HTML\ output
-% for \brand{MathJax} processing.
+% After the environment, if \MathJax, print the math to the \HTML\ output
+% for \MathJax\ processing.
% If a footnote is used, sync the \ctr{footnote} counter before,
% then unsync after for non-equation environments, as defined next.
-% \changes{v0.82}{2020/03/09}{\brand{MathJax}: Improved footnotes.}
+% \changes{v0.82}{2020/03/09}{\MathJax: Improved footnotes.}
% \begin{macrocode}
\newcommand*{\LWR@doendequation}[1]{%
\ifboolexpr{bool{mathjax} or ( bool{FormatWP} and bool{WPMarkMath} ) }%
@@ -38238,15 +38390,15 @@ end -- not --version
% The following are used to syncronize footnote marks and related to
-% \brand{MathJax} if |*note*| is used inside the \brand{MathJax} expression.
-% The counter is read from \LaTeX\ then defined into \brand{MathJax} for use during
-% the following equation. After the equation, the \brand{MathJax} value is
+% \MathJax\ if |*note*| is used inside the \MathJax\ expression.
+% The counter is read from \LaTeX\ then defined into \MathJax\ for use during
+% the following equation. After the equation, the \MathJax\ value is
% returned to the text from \cs{footnotename}. Other notes may be added by
% appending to \cs{LWR@syncnotenumbers} and \cs{LWR@syncnotenames}.
%
-% \changes{v0.82}{2020/03/09}{\brand{MathJax}: Improved footnotes.}
+% \changes{v0.82}{2020/03/09}{\MathJax: Improved footnotes.}
%
-% \begin{macro}{\LWR@synconenotenumber} \marg{\brand{MathJax} variable} \marg{mark}
+% \begin{macro}{\LWR@synconenotenumber} \marg{\MathJax\ variable} \marg{mark}
% \begin{macrocode}
\newcommand*{\LWR@synconenotenumber}[2]{%
\textbackslash(
@@ -38264,8 +38416,8 @@ end -- not --version
% \end{macro}
-% \begin{macro}{\LWR@synconenotename} \marg{\brand{MathJax} variable} \marg{text}
-% \changes{v0.896}{2021/04/07}{Fix: \brand{MathJax}: Footnote names.}
+% \begin{macro}{\LWR@synconenotename} \marg{\MathJax\ variable} \marg{text}
+% \changes{v0.896}{2021/04/07}{Fix: \MathJax: Footnote names.}
% \begin{macrocode}
\newcommand*{\LWR@synconenotename}[2]{%
\textbackslash(
@@ -38326,7 +38478,7 @@ end -- not --version
% \end{environment}
-% Remember the ``less'' version of \env{equation}, which uses \brand{MathJax}
+% Remember the ``less'' version of \env{equation}, which uses \MathJax
% and \attribute{alt} tags, but does not support complicated contents such as
% some \tikz\ expressions.
% \begin{macrocode}
@@ -38344,7 +38496,7 @@ end -- not --version
% \limitsmathdisplay
%
% \begin{macro}{\displaymathnormal} Use when display math environments have simple
-% math which is to sent to \brand{MathJax} or included in \HTML\ \attribute{alt} tags.
+% math which is to sent to \MathJax\ or included in \HTML\ \attribute{alt} tags.
% \margintag{simple math objects}
% \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
% \begin{macrocode}
@@ -38364,7 +38516,7 @@ end -- not --version
% \begin{macro}{\displaymathother} Use when display math environments have complicated
-% objects which will not work with \brand{MathJax} or should not be
+% objects which will not work with \MathJax\ or should not be
% included in \HTML\ \attribute{alt} tags. \margintag{complicated math objects}
% Complicated contents are more likely to compile correctly.
% \changes{v0.51}{2018/03/21}{Processing for complicated display math.}
@@ -38411,7 +38563,7 @@ end -- not --version
% \subsection{AMS Math environments}
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support added.}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support added.}
%
% \subsubsection{Support macros}
% \label{sec:amsmathsupport}
@@ -38470,7 +38622,7 @@ end -- not --version
% \subsubsection{Environment patches}
%
-% \changes{v0.19}{2016/05/25}{\brand{MathJax} support added.}
+% \changes{v0.19}{2016/05/25}{\MathJax\ support added.}
% \changes{v0.33}{2017/06/20}{Fix: Incorrectly-inline math environments.}
% \changes{v0.34}{2017/07/29}{Fix: Added the \env{eqnarray} environments.}
%
@@ -38485,9 +38637,9 @@ end -- not --version
% the environment's contents which
% were automatically captured by the \AmS{} environment.
%
-% For \brand{MathJax}: Each environment is synched with \LaTeX's equation numbers,
+% For \MathJax: Each environment is synched with \LaTeX's equation numbers,
% typeset with \LaTeX\ inside an \HTML\ comment, then
-% printed to \HTML\ output for \brand{MathJax} to process.
+% printed to \HTML\ output for \MathJax\ to process.
%
@@ -38520,9 +38672,9 @@ end -- not --version
{%
% \end{macrocode}
%
-% If \brand{MathJax}, the environment contents (the \cs{BODY}) are executed in a
+% If \MathJax, the environment contents (the \cs{BODY}) are executed in a
% \HTML\ comment to trigger the correct equation number increment (if not starred),
-% then are included verbatim in the output for \brand{MathJax} to interpret:
+% then are included verbatim in the output for \MathJax\ to interpret:
% \begin{macrocode}
\LWR@syncmathjax%
\boolfalse{LWR@amsmultline}%
@@ -38539,14 +38691,14 @@ end -- not --version
\LWR@endhideamsmath%
% \end{macrocode}
%
-% Then print the (sanitized) contents to the output for \brand{MathJax} to interpret:
+% Then print the (sanitized) contents to the output for \MathJax\ to interpret:
% \begin{macrocode}
\LWR@addmathjax{eqnarray}{\BODY}%
}%
{% not LWR@numbereqnarray
% \end{macrocode}
%
-% If not numbering equations, just create the contents for \brand{MathJax}:
+% If not numbering equations, just create the contents for \MathJax:
% \begin{macrocode}
\LWR@addmathjax{eqnarray*}{\BODY}%
}% LWR@numbereqnarray
@@ -38980,7 +39132,7 @@ end -- not --version
% containing the \PDF\ page number from \filenm{<jobname>_html.pdf}, where the image
% is located, a boolean indicating whether the image is hashed, and
% the filename of the image.
-% The last line has ``end'' in each field, and is used to detect
+% The last line has ``|end|'' in each field, and is used to detect
% an incomplete compile.
%
%
@@ -39057,7 +39209,7 @@ end -- not --version
% Inside the \env{lateximage}, temporarily prevent underfull \cs{hbox} warnings.
% \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
% \begin{macrocode}
- \hbadness=10000\relax%
+ \hbadness=10000\relax%
% \end{macrocode}
%
% Next file:
@@ -39153,11 +39305,18 @@ end -- not --version
% \changes{v0.79}{2020/01/05}{Improved \cs{linewidth}.}
% \begin{macrocode}
\LWR@traceinfo{lateximage: about to create minipage}%
+ \setcounter{LWR@mpfootnote@store}{\value{mpfootnote}}
\ifdimless{\linewidth}{6in}{%
\LWR@print@minipage{\linewidth}%
}{%
\LWR@print@minipage{6in}%
}%
+% \end{macrocode}
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+% \begin{macrocode}
+ \ifnumgreater{\value{LWR@minipage@depth}}{0}%
+ {\setcounter{mpfootnote}{\value{LWR@mpfootnote@store}}}%
+ {}%
\@nameuse{LWR@print@\LateximageFontSizeName}%
% \end{macrocode}
% Temporarily restore formatting to its \PDF\ definitions:
@@ -39166,12 +39325,18 @@ end -- not --version
\LWR@traceinfo{lateximage: about to temporarily restore formatting}%
\LWR@restoreorigformatting%
% \end{macrocode}
-% Use full-page footnotes instead of minipage footnotes.
+% If not inside a \env{minipage},
+% use full-page footnotes instead of minipage footnotes.
% These become \HTML\ footnotes.
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
% \begin{macrocode}
- \def\@mpfn{footnote}%
- \def\thempfn{\thefootnote}%
- \LetLtxMacro\@footnotetext\LWR@footnotetext%
+ \ifnumgreater{\value{LWR@minipage@depth}}{0}%
+ {}%
+ {%
+ \def\@mpfn{footnote}%
+ \def\thempfn{\thefootnote}%
+ \LetLtxMacro\@footnotetext\LWR@footnotetext%
+ }%
% \end{macrocode}
% Create the |LWRlateximage<number>| label:
% \begin{macrocode}
@@ -39320,14 +39485,12 @@ end -- not --version
% \begin{environment}{lateximage} * \oarg{\element{alt} tag} *
% \oarg{add'l hashing} \oarg{\CSS\ style}
%
-% \env{varwidth} is used to create a box of the natural width of its contents.
+% Ignored in print mode.
%
-% \changes{v0.48}{2018/02/02}{Print mode boxed to natural width.}
-% \changes{v0.74}{2019/08/20}{Added second starred argument.}
+% \changes{v0.902}{2021/09/24}{Removed \pkg{varwidth}.}
% \begin{macrocode}
\NewDocumentEnvironment{lateximage}{s o s o o d()}
- {\begin{varwidth}[b]{\linewidth}}
- {\end{varwidth}}
+ {}{}
% \end{macrocode}
% \end{environment}
@@ -40205,7 +40368,23 @@ end -- not --version
\newbool{LWR@minipagethispar}
\boolfalse{LWR@minipagethispar}
% \end{macrocode}
+
+% \DescribeCounter{LWR@minipage@depth}
+% Used to track whether to change footnote styles
+% in a \env{lateximage} inside an \HTML\ minipage.
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+% \begin{macrocode}
+\newcounter{LWR@minipage@depth}
+\setcounter{LWR@minipage@depth}{0}
+% \end{macrocode}
%
+% \DescribeCounter{LWR@mpfootnote@store}
+% Used to maintain minipage footnote number
+% while nesting inside a \env{lateximage}.
+% \begin{macrocode}
+\newcounter{LWR@mpfootnote@store}
+% \end{macrocode}
+
%
% \begin{environment}{minipage} \oarg{vert position} \oarg{height}
% \oarg{inner vert position} \marg{width}
@@ -40352,6 +40531,12 @@ end -- not --version
\let\@footnotetext\@mpfootnotetext%
% \end{macrocode}
%
+% Track depth for \env{lateximage} footnote type:
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+% \begin{macrocode}
+\addtocounter{LWR@minipage@depth}{1}%
+% \end{macrocode}
+%
% Resume paragraph tag handling for the contents of the minipage:
% \changes{v0.42}{2017/10/18}{Added boolean \progcode{WPMarkMinipages}.}
% \begin{macrocode}
@@ -40387,6 +40572,14 @@ end -- not --version
\LWR@htmlelementend{div}%
}{}%
+% \end{macrocode}
+%
+% Wrapup:
+% \changes{v0.902}{2021/09/24}{Improved footnotes.}
+% \begin{macrocode}
+\addtocounter{LWR@minipage@depth}{-1}%
+% \end{macrocode}
+% \begin{macrocode}
\LWR@htmldivclassend{minipage}%
\end{LWR@setvirtualpage}%
@@ -41085,8 +41278,17 @@ color:\LWR@origpound\LWR@tempcolor%
% \begin{macro}{\textnormal} \marg{text}
+% \changes{v0.902}{2021/09/28}{Reduce nested spans.}
% \begin{macrocode}
-\DeclareRobustCommand{\LWR@HTML@textnormal}[1]{\textmd{\textrm{\textup{#1}}}}
+\DeclareRobustCommand{\LWR@HTML@textnormal}[1]{%
+% \textmd{\textrm{\textup{#1}}}%
+ \LWR@HTML@mdseries%
+ \LWR@HTML@rmfamily%
+ \LWR@HTML@upshape%
+ \InlineClass(%
+ font-weight:normal; font-family:serif; font-style:normal
+ ){textnormal}{#1}%
+}
\LWR@formatted{textnormal}
% \end{macrocode}
@@ -42865,13 +43067,13 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
%
-% \section{\brand{MathJax} warnings}
+% \section{\MathJax\ warnings}
%
% \begin{macro}{\LWR@mathjaxwarn} \marg{packagename} \marg{More text.}
%
% To be done \cs{AtBeginDocument}.
%
-% \changes{v0.79}{2020/01/18}{Warn if using packages partially supported by \brand{MathJax}.}
+% \changes{v0.79}{2020/01/18}{Warn if using packages partially supported by \MathJax.}
% \begin{macrocode}
\newcommand*{\LWR@mathjaxwarn}[2]{%
\@ifpackageloaded{lwarp-#1}{%
@@ -42896,8 +43098,8 @@ color:\LWR@origpound\LWR@tempcolor%
%
% To be done \cs{AtBeginDocument}.
%
-% \changes{v0.894}{2020/12/22}{Warn if using packages not supported by \brand{MathJax}.}
-% \changes{v0.895}{2021/01/08}{Improved \brand{MathJax} warning.}
+% \changes{v0.894}{2020/12/22}{Warn if using packages not supported by \MathJax.}
+% \changes{v0.895}{2021/01/08}{Improved \MathJax\ warning.}
% \begin{macrocode}
\newcommand*{\LWR@nomathjaxwarn}[2]{%
\@ifpackageloaded{lwarp-#1}{%
@@ -42919,8 +43121,8 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
%
% \begin{macro}{\LWR@forceSVGmessage} \marg{packagename}
-% \changes{v0.894}{2020/12/22}{Improved \brand{MathJax} warnings.}
-% \changes{v0.895}{2021/01/08}{Improved \brand{MathJax} warning.}
+% \changes{v0.894}{2020/12/22}{Improved \MathJax\ warnings.}
+% \changes{v0.895}{2021/01/08}{Improved \MathJax\ warning.}
% \begin{macrocode}
\newcommand*{\LWR@forceSVGmessage}[1]{%
SVG math output may be enabled for select math\MessageBreak
@@ -42941,12 +43143,12 @@ color:\LWR@origpound\LWR@tempcolor%
%
% ^^A *mathjax warnings
%
-% If \brand{MathJax} is being used, issue a warning for certain packages.
-% \changes{v0.894}{2020/12/22}{Improved \brand{MathJax} warnings.}
-% \changes{v0.895}{2021/02/06}{Added \brand{MathJax} warnings for
+% If \MathJax\ is being used, issue a warning for certain packages.
+% \changes{v0.894}{2020/12/22}{Improved \MathJax\ warnings.}
+% \changes{v0.895}{2021/02/06}{Added \MathJax\ warnings for
% \pkg{aligned-overset}, \pkg{autoaligne}, \pkg{boldtensors},
% \pkg{liberitinust1math}, \pkg{tensind}.}
-% \changes{v0.895}{2021/02/06}{Improved \brand{MathJax} warning for \pkg{unicode-math}.}
+% \changes{v0.895}{2021/02/06}{Improved \MathJax\ warning for \pkg{unicode-math}.}
% \begin{macrocode}
\AtBeginDocument{
\ifbool{mathjax}{
@@ -43451,7 +43653,7 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \DescribePackage{accents}
% \pkg{accents} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \changes{v0.89}{2020/07/21}{\pkg{accents}: Added.}
%
@@ -43461,7 +43663,7 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@ProvidesPackagePass{accents}[2006/05/12]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\LWR@infoprocessingmathjax{accents}
@@ -43470,7 +43672,7 @@ color:\LWR@origpound\LWR@tempcolor%
\CustomizeMathJax{\newcommand{\accentset}[2]{\overset{#1{}}{#2}}}
% \end{macrocode}
%
-% As of this writing, \brand{MathJax} v3 does not yet support
+% As of this writing, \MathJax\ v3 does not yet support
% groups for macros, so for \cs{underaccent}, the originals are remembered here,
% then they are temporarily redefined and used inside \cs{underaccent},
% then restored to their originals.
@@ -43556,9 +43758,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
%
%
-% For \brand{MathJax}:
+% For \MathJax:
%
-% \changes{v0.80}{2020/02/06}{\pkg{accessibility}: Added \brand{MathJax} emulation.}
+% \changes{v0.80}{2020/02/06}{\pkg{accessibility}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\alt}[1]{}}
@@ -43596,8 +43798,8 @@ color:\LWR@origpound\LWR@tempcolor%
\newcommand*{\EndAccSupp}[1]{}
% \end{macrocode}
%
-% For \brand{MathJax}:
-% \changes{v0.80}{2020/02/20}{\pkg{accsupp}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.80}{2020/02/20}{\pkg{accsupp}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\BeginAccSupp}[1]{}}
@@ -44054,15 +44256,19 @@ color:\LWR@origpound\LWR@tempcolor%
%
% Paragraph handling to allow line numbers under certain conditions:
% \begin{macrocode}
-\newbool{LWR@algocf@dopars}
-\booltrue{LWR@algocf@dopars}
-
\renewcommand{\algocf@everypar}{%
\ifbool{LWR@algocf@dopars}{%
\ifbool{LWR@doingstartpars}{%
\ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
{}%
{%
+% \end{macrocode}
+% \pkg{algorthm2e} uses \cs{everypar}, so the open paragraph tag
+% is generated here instead of \cs{LWR@openparagraph}:
+% \begin{macrocode}
+ \LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline%
+% \end{macrocode}
+% \begin{macrocode}
\algocf@everyparnl\algocf@everyparhanging%
}%
}{}%
@@ -44392,8 +44598,8 @@ color:\LWR@origpound\LWR@tempcolor%
% \DescribePackage{amscdx}
% \pkg{amscdx} is used as-is for \SVG\ math.
%
-% For \brand{MathJax}, a warning notes that the \env{CD} environment
-% \trouble[\brand{MathJax}]{amscdx=\pkg{amscdx}}
+% For \MathJax, a warning notes that the \env{CD} environment
+% \trouble[\MathJax]{amscdx=\pkg{amscdx}}
% must be enclosed between \cs{displaymathother} and \cs{displaymathnormal}.
%
% \changes{v0.895}{2021/01/08}{\pkg{amscdx}: Added.}
@@ -44508,8 +44714,8 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \DescribeCounter{LWR@maxfields@} A copy of \ctr{maxfields@} as it was passed.
% This is used to generate the mandatory argument for \env{alignat} and \env{alignat*}
-% when using \brand{MathJax}.
-% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \brand{MathJax}.}
+% when using \MathJax.
+% \changes{v0.900}{2021/07/11}{Fix: \env{alignat} with \MathJax.}
% \begin{macrocode}
\newcounter{LWR@maxfields@}
@@ -44552,7 +44758,7 @@ color:\LWR@origpound\LWR@tempcolor%
%
% |*| if the environment was starred.
%
-% Embeds the environment with \brand{MathJax} or a \env{lateximage}.
+% Embeds the environment with \MathJax\ or a \env{lateximage}.
% \changes{v0.79}{2020/01/31}{AMS environments: Fix: Nested.}
% \changes{v0.80}{2020/02/13}{AMS environments: Fix: Centering starred envs.}
% \begin{macrocode}
@@ -44566,7 +44772,7 @@ color:\LWR@origpound\LWR@tempcolor%
\ifstrequal{#2}{multline}{\booltrue{LWR@amsmultline}}{}
\ifstrequal{#2}{multline*}{\booltrue{LWR@amsmultline}}{}
% \end{macrocode}
-% \pkg{autonum}'s ``+'' environments are not supported by \brand{MathJax}.
+% \pkg{autonum}'s ``+'' environments are not supported by \MathJax.
% \watchout
% \begin{macrocode}
\LWR@beginhideamsmath
@@ -44603,7 +44809,7 @@ color:\LWR@origpound\LWR@tempcolor%
% |*| if the environment was starred. Ignored here, only used for
% a consistent syntax.
%
-% Embeds the environment with \brand{MathJax} or a \env{lateximage}.
+% Embeds the environment with \MathJax\ or a \env{lateximage}.
%
% \changes{v0.80}{2020/02/13}{AMS environments: Fix: Centering starred envs.}
% \begin{macrocode}
@@ -44719,7 +44925,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{environment}
%
%
-% \changes{v0.86}{2020/05/08}{\pkg{amsmath}: Added support for \brand{MathJax}.}
+% \changes{v0.86}{2020/05/08}{\pkg{amsmath}: Added support for \MathJax.}
% \begin{macrocode}
\AtBeginEnvironment{subequations}{
\renewcommand*{\theMathJaxsubequations}{1}
@@ -44729,9 +44935,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
%
%
-% For \brand{MathJax}:
-% \changes{v0.79}{2020/01/27}{\pkg{amsmath}: Added \brand{MathJax} emulation.}
-% \changes{v0.82}{2020/03/14}{\pkg{amsmath}: Fixed: \cs{intertext} for \brand{MathJax}.}
+% For \MathJax:
+% \changes{v0.79}{2020/01/27}{\pkg{amsmath}: Added \MathJax\ emulation.}
+% \changes{v0.82}{2020/03/14}{\pkg{amsmath}: Fixed: \cs{intertext} for \MathJax.}
% \changes{v0.895}{2021/02/11}{\pkg{amsmath}: Added \cs{Hat}, etc..}
% \begin{macrocode}
\begin{warpMathJax}
@@ -44860,9 +45066,9 @@ color:\LWR@origpound\LWR@tempcolor%
\else % numbered theorem, need to check for optional arg
\def\@tempa{\@oparg{\@ynthm{#2}}[]}%
\fi
- \AtBeginEnvironment{#2}{%
- \edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}%
- }% lwarp
+ \AtBeginEnvironment{#2}{% lwarp
+ \edef\LWR@thisthmstyle{\@nameuse{LWR@thmstyle#2}}% lwarp
+ }% lwarp
}%
\@tempa%
}
@@ -44936,44 +45142,6 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
% \begin{macrocode}
\BlockClass{amsthmbody\LWR@thisthmstyle}% lwarp
-% \end{macrocode}
-%
-% Footnotes are redefined to work correctly inside the option brackets
-% for a theorem environment.
-% \changes{v0.896}{2021/03/14}{\pkg{amsthm}: Fix: Footnotes in opt arg..}
-% \begin{macrocode}
- \renewcommand{\footnote}[1][]{%
- \ifblank{##1}%
- {%
- \stepcounter\@mpfn
- \protected@xdef\@thefnmark{\thempfn}%
- \@footnotemark\@footnotetext
- }%
- {%
- \begingroup
- \csname c@\@mpfn\endcsname ##1\relax
- \unrestored@protected@xdef\@thefnmark{\thempfn}%
- \endgroup
- \@footnotemark\@footnotetext
- }%
- }%
-%
- \renewcommand{\footnotemark}[1][]{%
- \ifblank{##1}%
- {%
- \stepcounter{footnote}%
- \protected@xdef\@thefnmark{\thefootnote}%
- \@footnotemark%
- }%
- {%
- \begingroup%
- \c@footnote ##1\relax%
- \unrestored@protected@xdef\@thefnmark{\thefootnote}%
- \endgroup%
- \@footnotemark%
- }%
- }%
-%
\trivlist
\let\thmheadnl\relax
\let\thm@swap\@gobble
@@ -45068,6 +45236,20 @@ color:\LWR@origpound\LWR@tempcolor%
}% AtBeginDocument
% \end{macrocode}
%
+%
+% Patched to add a \element{span}:
+% \changes{v0.902}{2021/09/24}{\pkg{amsthm}: Fixed empty \attribute{theoremendmark} \element{span}.}
+% \begin{macrocode}
+\DeclareRobustCommand{\qed}{%
+ \ifmmode \mathqed
+ \else
+% \leavevmode\unskip\penalty9999 \hbox{}\nobreak\hfill
+% \quad\hbox{\qedsymbol}%
+ \InlineClass{theoremendmark}{\qedsymbol}% lwarp
+ \fi
+}
+% \end{macrocode}
+%
% Patched for \CSS:
% \changes{v0.896}{2021/04/05}{\pkg{amsthm}: Improved back refs.}
% \begin{macrocode}
@@ -45087,7 +45269,7 @@ color:\LWR@origpound\LWR@tempcolor%
\item[
\InlineClass{amsthmproofname}{#1\@addpunct{.}}]\ignorespaces% changes
}{%
- \InlineClass{theoremendmark}{\popQED}\endtrivlist%
+ \popQED\endtrivlist%
% \end{macrocode}
% \changes{v0.896}{2021/03/14}{\pkg{amsthm}: Intersperse footnotes.}
% \begin{macrocode}
@@ -45333,8 +45515,8 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
%
%
-% For \brand{MathJax}:
-% \changes{v0.79}{2020/01/30}{\pkg{ar}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.79}{2020/01/30}{\pkg{ar}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\AR}{\mathit{A\!\!R}}}
@@ -45431,7 +45613,7 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{tabularnewline}
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\CustomizeMathJax{
\newcommand{\multicolumn}[3]{#3}% only uses one cell
@@ -45468,9 +45650,9 @@ color:\LWR@origpound\LWR@tempcolor%
% a single-dashed rule is displayed as a single-dashed border, and
% a double-dashed rule is displayed as a thicker single-dashed border.
%
-% For \brand{MathJax}, limited emulation is provided for math mode.
+% For \MathJax, limited emulation is provided for math mode.
% \trouble{arydshln=\pkg{arydshln}}
-% \trouble{mathjax=\brand{MathJax}>arydshln=\pkg{arydshln}}
+% \trouble{mathjax=\MathJax>arydshln=\pkg{arydshln}}
%
% \changes{v0.56}{2018/05/02}{\pkg{arydshln}: Added.}
%
@@ -45569,7 +45751,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
-% \changes{v0.79}{2020/01/30}{\pkg{arydshln}: Added \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/30}{\pkg{arydshln}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\firsthdashline}[1][]{\hdashline}}
@@ -45984,7 +46166,7 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \DescribePackage{autobreak}
% \pkg{autobreak} is used as-is for \SVG\ math, and
-% nullified for \brand{MathJax}.
+% nullified for \MathJax.
%
% \changes{v0.80}{2020/02/09}{\pkg{autobreak}: Added.}
%
@@ -45994,9 +46176,9 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@ProvidesPackagePass{autobreak}[2017/02/23]
% \end{macrocode}
%
-% For \brand{MathJax}.
+% For \MathJax.
% The modified \env{align} environment is used for \SVG\ math,
-% but is reverted to its original for \brand{MathJax}.
+% but is reverted to its original for \MathJax.
% (Extraneous commas were appearing in the result.)
% \begin{macrocode}
\begin{warpMathJax}
@@ -46031,7 +46213,7 @@ color:\LWR@origpound\LWR@tempcolor%
%
% All equations are numbered in \HTML\ output.
% \trouble[numbering, \texttt{+}]{autonum=\pkg{autonum}}
-% \brand{MathJax} does not support the ``+'' environments.
+% \MathJax\ does not support the ``+'' environments.
%
% \changes{v0.70}{2019/03/28}{\pkg{autonum}: Added.}
%
@@ -46221,8 +46403,8 @@ color:\LWR@origpound\LWR@tempcolor%
\long\def\wrapmlalt#1{}
% \end{macrocode}
%
-% For \brand{MathJax}. These usually will not be needed.
-% \changes{v0.81}{2020/02/20}{\pkg{axessibility}: Added \brand{MathJax} emulation.}
+% For \MathJax. These usually will not be needed.
+% \changes{v0.81}{2020/02/20}{\pkg{axessibility}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\wrap}[1]{}}
@@ -46287,7 +46469,7 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \DescribePackage{backnaur}
% \pkg{backnaur} is patched for use by \pkg{lwarp},
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
%
% \changes{v0.72}{2019/05/20}{\pkg{backnaur}: Added.}
%
@@ -46349,7 +46531,7 @@ color:\LWR@origpound\LWR@tempcolor%
% ^^A % \end{macrocode}
%
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\bnfpn}[1]{\langle \text{\textrm{#1}} \rangle}}
@@ -46758,6 +46940,146 @@ color:\LWR@origpound\LWR@tempcolor%
%
%
%
+%
+% \iffalse
+%<*beamerarticle>
+% \fi
+%
+% \part{lwarp-beamerarticle.sty}
+%
+% \section{beamerarticle}
+%
+% \credits{Till Tantau, Vedran Mileti\'c, Louis Stuart, Joseph Wright}
+%
+% \DescribePackage{beamerarticle}
+% \pkg{beamerarticle} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.902}{2021/09/24}{\pkg{beamerarticle}: Added.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{beamerarticle}[2021/05/26]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewcommand<>{\textcolor}{\only#1{\beameroriginal{\textcolor}}}
+
+\AtBeginDocument{
+
+\renewcommand<>{\LWR@listitem}{%
+ \only#1{%
+ \beameroriginal{\LWR@listitem}%
+ }%
+}
+
+\renewcommand<>{\LWR@itemizeitem}{%
+ \only#1{%
+ \beameroriginal{\LWR@itemizeitem}%
+ }%
+}
+
+\renewcommand<>{\LWR@descitem}{%
+ \only#1{%
+ \beameroriginal{\LWR@descitem}%
+ }%
+}
+
+\renewcommand<>{\abstract}{%
+ \only#1{%
+ \beameroriginal{\abstract}%
+ }%
+}
+
+\renewcommand<>{\LWR@includegraphicsb}{%
+ \only#1{%
+ \beameroriginal{\LWR@includegraphicsb}%
+ }%
+}
+
+\xpretocmd\frame
+ {
+ \LWR@forcenewpage
+ \BlockClass{beamerframe}%
+ }
+ {}
+ {\LWR@patcherror{beamerarticle}{frame}}
+
+\xapptocmd\beamer@endframe
+ {\endBlockClass}
+ {}
+ {\LWR@patcherror{beamerarticle}{beamer@endframe}}
+
+% An example in the beamer docs for \cs{includegraphics}
+% shows the use of \cs{llap} in a frame.
+\xpretocmd\beamer@article@startframe
+ {\LWR@nulllistfills}
+ {}
+ {\LWR@patcherror{beamerarticle}{beamer@article@startframe}}
+
+}% AtBeginDocument
+
+\let\beamer@@tmpop@frametitle@default\relax
+\defbeamertemplate<article>*{frametitle}{default}{%
+ \paragraph*{\insertframetitle}\ \par%
+ \ifdefempty{\insertframesubtitle}{}{%
+ \noindent\emph{\insertframesubtitle}\par%
+ }%
+}
+
+
+\NewDocumentCommand{\LWR@beamer@itemize}{o}{%
+ \LWR@itemizestart\LWR@origitemize%
+}%
+\NewDocumentCommand{\LWR@beamer@description}{o o}{%
+ \LWR@descriptionstart\LWR@origdescription%
+}%
+
+\xapptocmd{\LWR@patchlists}
+ {%
+ \LetLtxMacro\itemize\LWR@beamer@itemize%
+ \LetLtxMacro\description\LWR@beamer@description%
+ }
+ {}
+ {\LWR@patcherror{beamerarticle}{LWR@patchlists}}
+
+
+\LetLtxMacro\maketitle\LWR@maketitle
+
+\renewcommand{\subtitle}[2][]{
+ \gdef\@subtitle{#2}
+ \def\insertsubtitle{#2}
+}
+
+\xpatchcmd{\@maketitle}
+ {%
+ \LWR@htmltag{\LWR@tagtitleend}%
+ \LWR@startpars%
+ }%
+ {%
+ \LWR@htmltag{\LWR@tagtitleend}%
+ \ifdefvoid{\@subtitle}{}{%
+ \begin{BlockClass}{subtitle}%
+ \@subtitle%
+ \end{BlockClass}%
+ }%
+ \LWR@startpars%
+ }%
+ {}
+ {\LWR@patcherror{beamerarticle}{@maketitle}}
+
+\RequirePackage{fancyvrb}
+\DefineVerbatimEnvironment{semiverbatim}{Verbatim}{commandchars=\\\{\}}
+% \end{macrocode}
+%
+% \iffalse
+%</beamerarticle>
+% \fi
+%
+%
+%
+%
+%
% \iffalse
%<*biblatex>
% \fi
@@ -47114,9 +47436,9 @@ color:\LWR@origpound\LWR@tempcolor%
\LWR@formatted{rdelim}
% \end{macrocode}
-% Limited emulation for \brand{MathJax}.
+% Limited emulation for \MathJax.
% The delimiter is printed on the first row, along with any optional text.
-% \changes{v0.79}{2020/01/20}{\pkg{bigdelim}: Added \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/20}{\pkg{bigdelim}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
% \ldelim ( {n}{width}[text]
@@ -47214,7 +47536,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
%
-% \changes{v0.79}{2020/01/20}{\pkg{bigstrut}: Added \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/20}{\pkg{bigstrut}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\bigstrut}[1][]{}}
@@ -47324,7 +47646,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
%
% \cs{DeclareBoldMathCommand} must only be used in the preamble, since it
-% adds to the \brand{MathJax} setup code.
+% adds to the \MathJax\ setup code.
%
% \begin{macrocode}
\begin{warpMathJax}
@@ -47448,9 +47770,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \pkg{booktabs} is emulated during \HTML\ output, and
% used as-is during print output and inside an \HTML\ \env{lateximage}.
%
-% For \brand{MathJax}, emulation is provided in math mode, but \watchout[\cs{cmidrule}]
+% For \MathJax, emulation is provided in math mode, but \watchout[\cs{cmidrule}]
% \trouble{booktabs=\pkg{booktabs}}
-% \trouble{mathjax=\brand{MathJax}>booktabs=\pkg{booktabs}}
+% \trouble{mathjax=\MathJax>booktabs=\pkg{booktabs}}
% \cs{cmidrule} trim must not be used.
%
% \changes{v0.34}{2017/08/08}{\pkg{booktabs}: Works inside \env{lateximage}.}
@@ -47552,9 +47874,9 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
%
%
-% For \brand{MathJax}:
-% \changes{v0.79}{2020/01/30}{\pkg{booktabs}: Added \brand{MathJax} emulation.}
-% \changes{v0.894}{2020/12/22}{\pkg{booktabs}: \brand{MathJax}: Absorb \cs{cmidrule} trim arg.}
+% For \MathJax:
+% \changes{v0.79}{2020/01/30}{\pkg{booktabs}: Added \MathJax\ emulation.}
+% \changes{v0.894}{2020/12/22}{\pkg{booktabs}: \MathJax: Absorb \cs{cmidrule} trim arg.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\toprule}[1][]{\hline}}
@@ -47722,10 +48044,10 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \DescribePackage{braket}
% \pkg{braket} works as-is for \HTML\ with \SVG\ math.
-% For \brand{MathJax}, the \brand{MathJax} extension is used.
+% For \MathJax, the \MathJax\ extension is used.
%
% \changes{v0.79}{2020/01/29}{\pkg{braket}: Added.}
-% \changes{v0.893}{2020/10/30}{\pkg{braket}: Now uses \brand{MathJax} extension.}
+% \changes{v0.893}{2020/10/30}{\pkg{braket}: Now uses \MathJax\ extension.}
%
% \codehtml
%
@@ -47813,7 +48135,7 @@ color:\LWR@origpound\LWR@tempcolor%
% the print version either.
% \trouble[\env{darray}]{breqn=\pkg{breqn}>darray}
%
-% While using \brand{MathJax}, \pkg{breqn} objects are
+% While using \MathJax, \pkg{breqn} objects are
% converted to \SVG\ images.
%
% \changes{v0.59}{2018/07/25}{\pkg{breqn}: Added.}
@@ -47940,13 +48262,13 @@ color:\LWR@origpound\LWR@tempcolor%
%
% \DescribePackage{bussproofs}
% \pkg{bussproofs} is used as-is for \HTML, and
-% emulated by \brand{MathJax}'s extension.
+% emulated by \MathJax's extension.
%
-% If not using \brand{MathJax}, inline proofs with \cs{DisplayMath} must be placed
+% If not using \MathJax, inline proofs with \cs{DisplayMath} must be placed
% \trouble[\cs{DisplayProof}]{bussproofs=\pkg{bussproofs}}
% inside a math expression.
%
-% If using \brand{MathJax}, only the \env{prooftree} environment may be used,
+% If using \MathJax, only the \env{prooftree} environment may be used,
% not \cs{DisplayProof}.
%
% \changes{v0.891}{2020/09/20}{\pkg{bussproofs}: Added.}
@@ -48058,7 +48380,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \pkg{cancel} is used as-is for \SVG\ math, and emulated for \HTML\ text output.
%
% \changes{v0.44}{2017/11/16}{\pkg{cancel}: Added.}
-% \changes{v0.87}{2020/06/02}{\pkg{cancel}: Now uses \brand{MathJax} v3 extension.}
+% \changes{v0.87}{2020/06/02}{\pkg{cancel}: Now uses \MathJax\ v3 extension.}
%
% \codehtml
%
@@ -48113,7 +48435,7 @@ color:\LWR@origpound\LWR@tempcolor%
% \end{macrocode}
% \end{noindmacro}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\PackageWarningNoLine{lwarp, cancel}{The MathJax v3 extension will be used}
@@ -48535,7 +48857,7 @@ s%
% \DescribePackage{cases}
% \pkg{cases} is patched for use by \pkg{lwarp}.
%
-% While using \brand{MathJax}, \pkg{cases} objects are converted to \SVG\ math images.
+% While using \MathJax, \pkg{cases} objects are converted to \SVG\ math images.
% The MathJax 3.2 \pkg{cases} package does not yet work with \pkg{lwarp}.
%
% \changes{v0.58}{2018/06/08}{\pkg{cases}: Added.}
@@ -48665,11 +48987,11 @@ s%
%
% \DescribePackage{centernot}
% \pkg{centernot} is used as-is for \SVG\ math,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
%
% \changes{v0.80}{2020/02/08}{\pkg{centernot}: Added.}
% \changes{v0.89}{2020/08/17}{\pkg{centernot}: Improved.}
-% \changes{v0.901}{2021/08/26}{\pkg{centernot}: Now uses \brand{MathJax} 3.2 package.}
+% \changes{v0.901}{2021/08/26}{\pkg{centernot}: Now uses \MathJax\ 3.2 package.}
%
% \codehtml
%
@@ -49357,7 +49679,7 @@ test {\ifnumgreater{\csuse{Changes@In########1}}{0}}%
% \end{macrocode}
%
% \begin{noindmacro}{\ch}
-% Enclose in an inline \SVG\ image or \brand{MathJax}.
+% Enclose in an inline \SVG\ image or \MathJax.
% The \attribute{alt} tag is is the contents of the \cs{ch} expression.
% The filename is hashed, and also has additional hashing information based on
% the local options.
@@ -49373,7 +49695,7 @@ test {\ifnumgreater{\csuse{Changes@In########1}}{0}}%
\chemformula_ch:nn {#1} {#2}% original
}
% \end{macrocode}
-% If used as the outer level, must temporarily ensure \brand{MathJax} is disabled:
+% If used as the outer level, must temporarily ensure \MathJax\ is disabled:
% \begin{macrocode}
{
\begingroup%
@@ -51125,7 +51447,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{cleveref}
% \pkg{cleveref} is patched for \HTML, and
-% limited \brand{MathJax} emulation is added.
+% limited \MathJax\ emulation is added.
%
% \limitscpageref
%
@@ -51133,10 +51455,10 @@ name = \chemmacros_translate:n {scheme-name}
% shows the data structure of the label/reference system
% as revised by \pkg{lwarp} and \pkg{cleveref}.
%
-% For \brand{MathJax},
+% For \MathJax,
% each references is printed as an \cs{eqref}, without \pkg{cleveref}'s
% description text. Page references are also printed as simple \cs{eqref}s.
-% Multiple labels in a single \cs{cref} will print as \texttt{(???)} in \brand{MathJax}.
+% Multiple labels in a single \cs{cref} will print as \texttt{(???)} in \MathJax.
% \watchout[multiple labels]
%
% \codehtml
@@ -51342,12 +51664,12 @@ name = \chemmacros_translate:n {scheme-name}
% \end{macrocode}
%
%
-% ^^A % For \brand{MathJax} and \pkg{cleveref},
+% ^^A % For \MathJax\ and \pkg{cleveref},
% ^^A % but not \pkg{varioref} since \pkg{varioref} macros would only
% ^^A % be useful in math inside a \cs{text} macro, where they do not
-% ^^A % work in \brand{MathJax}.
+% ^^A % work in \MathJax.
% ^^A %
-% ^^A % \changes{v0.88}{2020/07/05}{\pkg{cleveref}: Added \brand{MathJax} emulation.}
+% ^^A % \changes{v0.88}{2020/07/05}{\pkg{cleveref}: Added \MathJax\ emulation.}
% ^^A % \begin{macrocode}
% ^^A \CustomizeMathJax{\newcommand{\cref}{\ifstar\eqref\eqref}}
% ^^A \CustomizeMathJax{\let\Cref\cref}
@@ -51426,9 +51748,9 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{cmbright}
% \pkg{cmbright} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
% \trouble[limitations]{cmbright=\pkg{cmbright}}
% except \optn{slantedGreek} is honored, and \cs{mathbold} is available.
%
@@ -51514,7 +51836,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{colonequals}
% \pkg{colonequals} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% Since \brand{Unicode} symbols are not available for each of the following,
% only two are used for the single and double colons, and the other symbols
@@ -51722,9 +52044,9 @@ name = \chemmacros_translate:n {scheme-name}
% \end{macrocode}
% \end{noindmacro}
-% For \brand{MathJax}, use the \brand{MathJax} package.
+% For \MathJax, use the \MathJax\ package.
% The unused macro options are ignored.
-% \changes{v0.894}{2020/12/22}{\pkg{colortbl}: Added \brand{MathJax} emulation.}
+% \changes{v0.894}{2020/12/22}{\pkg{colortbl}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
@@ -52264,7 +52586,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{decimal}
% \pkg{decimal} works as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.81}{2020/02/22}{\pkg{decimal}: Added.}
%
@@ -52527,7 +52849,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{DotArrow}
% \pkg{DotArrow} is patched for use by \pkg{lwarp},
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
%
% \changes{v0.81}{2020/03/03}{\pkg{DotArrow}: Added.}
%
@@ -52566,13 +52888,13 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{dotlessi}
% \pkg{dotlessi} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% Use |\usepackage{cmap}| if \cs{dotlessj} does not appear in \HTML\ in text mode.
% \watchout[\HTML\ \cs{dotlessj}]
% See \cref{sec:fonts}.
%
-% For \brand{MathJax}, use \cs{boldsymbol} instead of \cs{mathbf}.
+% For \MathJax, use \cs{boldsymbol} instead of \cs{mathbf}.
% \watchout[not bold]
%
% \changes{v0.81}{2020/02/21}{\pkg{dotlessi}: Added.}
@@ -52583,7 +52905,7 @@ name = \chemmacros_translate:n {scheme-name}
\LWR@ProvidesPackagePass{dotlessi}[1999/10/12]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\let\dotlessi\imath}
@@ -52910,7 +53232,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{econometrics}
% \pkg{econometrics} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.81}{2020/03/01}{\pkg{econometrics}: Added.}
% \changes{v0.89}{2020/09/02}{\pkg{econometrics}: Uses \pkg{lwarp-common-mathjax-letters}.}
@@ -53393,8 +53715,8 @@ name = \chemmacros_translate:n {scheme-name}
% \end{macrocode}
%
%
-% For \brand{MathJax}:
-% \changes{v0.82}{2020/03/14}{\pkg{endnotes}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.82}{2020/03/14}{\pkg{endnotes}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\def\endnotename{endnote}
@@ -53426,9 +53748,9 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{engtlc}
% \pkg{engtlc} is patched for use by \pkg{lwarp}.
-% \brand{MathJax} is emulated.
+% \MathJax\ is emulated.
%
-% For \brand{MathJax}, \cs{signt}, \cs{signf}, \cs{signn}, and \cs{signz}
+% For \MathJax, \cs{signt}, \cs{signf}, \cs{signn}, and \cs{signz}
% \watchout
% do not force letter case as they do in \SVG\ math.
%
@@ -53807,7 +54129,7 @@ name = \chemmacros_translate:n {scheme-name}
\ExplSyntaxOff
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\def\endnotename{endnote}
@@ -54457,7 +54779,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{esvect}
% \pkg{esvect} is used as-is for \SVG\ math,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
%
% \changes{v0.893}{2020/10/14}{\pkg{esvect}: Added.}
%
@@ -54766,7 +55088,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \DescribePackage{extarrows}
% \pkg{extarrows} is used as-is for \SVG\ math, and
-% emulted for \brand{MathJax}.
+% emulted for \MathJax.
%
% \changes{v0.80}{2020/02/15}{\pkg{extarrows}: Added.}
%
@@ -54864,7 +55186,7 @@ name = \chemmacros_translate:n {scheme-name}
%
% \changes{v0.34}{2017/07/27}{\pkg{fancybox}: Added.}
% \changes{v0.42}{2017/10/27}{\pkg{fancybox}: If \progcode{FormatWP} add \HTML\ styles.}
-% \changes{v0.52}{2018/03/29}{\pkg{fancyvrb}: Initial support for \cs{VerbatimFootnotes}.}
+% \changes{v0.52}{2018/03/29}{\pkg{fancybox}: Initial support for \cs{VerbatimFootnotes}.}
%
% \begin{macrocode}
\LWR@ProvidesPackagePass{fancybox}[2010/05/15]
@@ -54889,7 +55211,7 @@ name = \chemmacros_translate:n {scheme-name}
% \begin{noindmacro}{\V@@footnotetext}
% Patches in a subset of \pkg{lwarp}'s \cs{LWR@footnotetext} to the
% \pkg{fancyvrb} version of \cs{V@@footnotetext}.
-% \changes{v0.896}{2021/04/04}{Fix: \ctr{autopage} references in footnotes.}
+% \changes{v0.896}{2021/04/04}{\pkg{fancybox}: Fix: \ctr{autopage} references in footnotes.}
% \begin{macrocode}
\def\V@@footnotetext{%
\LWR@traceinfo{V@footnotetext}%
@@ -54920,14 +55242,10 @@ name = \chemmacros_translate:n {scheme-name}
\renewrobustcmd{\textsuperscript}[1]{\LWR@htmlspan{sup}{##1}}%
% \end{macrocode}
% Use paragraph tags if in a tabular data cell or a \env{lateximage}:
-% \changes{v0.66}{2019/02/02}{\pkg{fancyvrb}: Improved \HTML\ formatting.}
+% \changes{v0.66}{2019/02/02}{\pkg{fancybox}: Improved \HTML\ formatting.}
+% \changes{v0.902}{2021/09/29}{\pkg{fancybox}: Improved footnote par tags.}
% \begin{macrocode}
- \ifthenelse{%
- \boolean{LWR@doingstartpars} \AND%
- \cnttest{\value{LWR@lateximagedepth}}{=}{0}%
- }%
- {}%
- {\LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline}%
+ \LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline%
% \end{macrocode}
% Append the footnote to the list:
% \begin{macrocode}
@@ -54936,7 +55254,7 @@ name = \chemmacros_translate:n {scheme-name}
% The footnote text will follow after \cs{V@@@footnotetext} has completed.
% \begin{macrocode}
\bgroup%
- \aftergroup{\V@@@footnotetext}%
+ \aftergroup\V@@@footnotetext%
% \end{macrocode}
%
% Do not generate autopages inside the footnotes, since they are
@@ -54950,6 +55268,17 @@ name = \chemmacros_translate:n {scheme-name}
% \end{macrocode}
% \end{noindmacro}
%
+% \begin{noindmacro}{\V@@@footnotetext}
+% \changes{v0.902}{2021/09/29}{\pkg{fancybox}: Improved footnote par tags.}
+% \begin{macrocode}
+\def\V@@@footnotetext{%
+ \LWR@origtilde\LWR@orignewline%
+ \LWR@htmltagc{/\LWR@tagregularparagraph}\LWR@orignewline%
+ \strut\egroup%
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
% \begin{macrocode}
}% AfterEndPreamble
% \end{macrocode}
@@ -54993,7 +55322,7 @@ name = \chemmacros_translate:n {scheme-name}
\def\endSbox{\endLWR@nestspan\LWR@origendSbox}
% \end{macrocode}
%
-% \env{Beqnarray} is adapted for \brand{MathJax} or enclosed inside a \env{lateximage}:
+% \env{Beqnarray} is adapted for \MathJax\ or enclosed inside a \env{lateximage}:
%
% \begin{macrocode}
\RenewEnviron{Beqnarray}
@@ -55438,13 +55767,14 @@ name = \chemmacros_translate:n {scheme-name}
% Patched to use the new version.
% \begin{macrocode}
\def\VerbatimFootnotes{%
-\let\@footnotetext\V@footnotetext%
-\let\footnote\V@footnote%
-\let\LWR@footnotetext\V@footnotetext% lwarp
+ \let\@footnotetext\V@footnotetext%
+ \let\footnote\V@footnote%
+ \let\LWR@footnotetext\V@footnotetext% lwarp
}
% \end{macrocode}
% \end{noindmacro}
%
+%
% \begin{noindmacro}{\V@@footnotetext}
% Patches in a subset of \pkg{lwarp}'s \cs{LWR@footnotetext} to the
% \pkg{fancyvrb} version of \cs{V@@footnotetext}.
@@ -55457,12 +55787,12 @@ name = \chemmacros_translate:n {scheme-name}
% Place an autopage marker so that back references to citations inside
% a footnote will link closer to the footnote text, if possible.
% \begin{macrocode}
-\LWR@newautopagelabel{page}%
+ \LWR@newautopagelabel{page}%
% \end{macrocode}
%
% Take the current footnote box, then append:
% \begin{macrocode}
-\global\setbox\LWR@footnotebox=\vbox\bgroup%
+ \global\setbox\LWR@footnotebox=\vbox\bgroup%
% \end{macrocode}
% Add to any current footnotes:
% \begin{macrocode}
@@ -55480,13 +55810,9 @@ name = \chemmacros_translate:n {scheme-name}
% \end{macrocode}
% Use paragraph tags if in a tabular data cell or a \env{lateximage}:
% \changes{v0.66}{2019/02/02}{Improved \HTML\ formatting.}
+% \changes{v0.902}{2021/09/29}{\pkg{fancyvrb}: Improved footnote par tags.}
% \begin{macrocode}
- \ifthenelse{%
- \boolean{LWR@doingstartpars} \AND%
- \cnttest{\value{LWR@lateximagedepth}}{=}{0}%
- }%
- {}%
- {\LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline}%
+ \LWR@htmltagc{\LWR@tagregularparagraph}\LWR@orignewline%
% \end{macrocode}
% Append the footnote mark to the list:
% \begin{macrocode}
@@ -55494,8 +55820,8 @@ name = \chemmacros_translate:n {scheme-name}
% \end{macrocode}
% The footnote text will follow after \cs{V@@@footnotetext} has completed.
% \begin{macrocode}
- \bgroup%
- \aftergroup{\V@@@footnotetext}%
+ \bgroup%
+ \aftergroup\V@@@footnotetext%
% \end{macrocode}
%
% Do not generate autopages inside the footnotes, since they are
@@ -55504,11 +55830,22 @@ name = \chemmacros_translate:n {scheme-name}
\let\LWR@newautopagelabel\LWR@null@newautopagelabel%
% \end{macrocode}
% \begin{macrocode}
- \ignorespaces%
+ \ignorespaces%
}%
% \end{macrocode}
% \end{noindmacro}
%
+% \begin{noindmacro}{\V@@@footnotetext}
+% \changes{v0.902}{2021/09/29}{\pkg{fancyvrb}: Improved footnote par tags.}
+% \begin{macrocode}
+\def\V@@@footnotetext{%
+ \LWR@origtilde\LWR@orignewline%
+ \LWR@htmltagc{/\LWR@tagregularparagraph}\LWR@orignewline%
+ \strut\egroup%
+}
+% \end{macrocode}
+% \end{noindmacro}
+%
%
% \changes{v0.45}{2018/01/07}{\pkg{fancyvrb}: Improvements.}
% \begin{macrocode}
@@ -55977,7 +56314,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\LWR@formatted{FParBox@ii}
% \end{macrocode}
%
-% For \brand{MathJax}, absorb and ignore star and optional arguments:
+% For \MathJax, absorb and ignore star and optional arguments:
% \begin{macrocode}
\CustomizeMathJax{\let\LWRorigfbox\fbox}
\CustomizeMathJax{\newcommand{\LWRfboxpkgtwo}[2][]{\LWRorigfbox{#2}}}
@@ -56186,9 +56523,9 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% \DescribePackage{fixmath}
% \pkg{fixmath} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% \brand{MathJax} does not have full font support for bold italic Greek.
+% \MathJax\ does not have full font support for bold italic Greek.
% \watchout[limitations]
%
% \changes{v0.893}{2020/10/30}{\pkg{fixmath}: Added.}
@@ -57293,7 +57630,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% Hashed inline images are used, as there may not be Unicode support for all icons.
%
-% If using pdf\LaTeX, \prog{poppler} may issue a syntax warning
+% If using \pdfLaTeX, \prog{poppler} may issue a syntax warning
% \trouble[\prog{poppler} syntax warning]{poppler=\prog{poppler}>Syntax Warning (ligature)}
% \trouble{Syntax Warning (ligature)}
% regarding parsing a ligature component.
@@ -57302,7 +57639,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% In the following, the general strategy is to intercept \cs{symbol} and
% embed it inside a \env{lateximage}. These changes are done inside a local group.
%
-% For pdf\LaTeX, the \attribute{alt} tag includes the icon (symbol) number.
+% For \pdfLaTeX, the \attribute{alt} tag includes the icon (symbol) number.
% For \XeLaTeX\ and \LuaLaTeX, the \attribute{alt} tag is generic.
%
% \changes{v0.67}{2019/02/22}{\pkg{fontawesome}: Added.}
@@ -57486,7 +57823,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \section{fontenc}
%
% \DescribePackage{fontenc}
-% If using pdf\LaTeX, \pkg{lwarp} used to require \pkg{fontenc} be loaded
+% If using \pdfLaTeX, \pkg{lwarp} used to require \pkg{fontenc} be loaded
% before \pkg{lwarp},
% but now \pkg{lwarp} itself loads \cs{fontenc} with T1 encoding, which
% \pkg{lwarp} requires. \pkg{fontenc} is now allowed to be loaded with another
@@ -57603,8 +57940,55 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \changes{v0.36}{2017/08/15}{\pkg{footnote}: Extra \protect\HTML\ source space after paragraphs.}
%
% \codehtml
+%
+% \pkg{footnote} patches \cs{@makefntext} in a strange way.
+% It must be restored to the expected defintion before loading \pkg{footnote},
+% then replaced again after.
% \begin{macrocode}
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~#1}
+
\LWR@ProvidesPackagePass{footnote}[1997/01/28]
+
+\long\def\@makefntext#1{\textsuperscript{\@thefnmark}~{#1}}
+% \end{macrocode}
+
+
+% \changes{v0.902}{2021/09/20}{\pkg{footnote}: Improved par tags.}
+% \begin{macrocode}
+\def\spewnotes{%
+ \endgroup%
+ \if@savingnotes\else\ifvoid\fn@notes\else\begingroup%
+ \let\@makefntext\@empty%
+ \let\@finalstrut\@gobble%
+ \let\rule\@gobbletwo%
+ \booltrue{LWR@spewingnotes}% lwarp
+ \@footnotetext{\unvbox\fn@notes}%
+ \endgroup\fi\fi%
+}
+\let\endsavenotes\spewnotes
+
+
+\def\fn@fntext#1{%
+ \ifx\ifmeasuring@\@@undefined%
+ \expandafter\@secondoftwo\else\expandafter\@iden%
+ \fi%
+ {\ifmeasuring@\expandafter\@gobble\else\expandafter\@iden\fi}%
+ {%
+ \global\setbox\fn@notes\vbox{%
+ \unvbox\fn@notes%
+ \LWR@htmltagc{\LWR@tagregularparagraph}% lwarp
+ \LWR@orignewline% lwarp
+ \fn@startnote%
+ \@makefntext{%
+ \rule\z@\footnotesep%
+ \ignorespaces%
+ #1%
+ \@finalstrut\strutbox%
+ }%
+ \fn@endnote%
+ }%
+ }%
+}
% \end{macrocode}
%
% Removed print-version formatting:
@@ -57617,23 +58001,34 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \let\fn@endnote\color@endgroup% *** conflicts with lwarp
\def\fn@endnote{%
-\LWR@htmltagc{/\LWR@tagregularparagraph}%
-\LWR@orignewline%
+ \LWR@origtilde\LWR@orignewline%
+ \LWR@htmltagc{/\LWR@tagregularparagraph}\LWR@orignewline%
+ \LWR@origtilde\LWR@orignewline%
}
% \end{macrocode}
%
% Removed print-version formatting:
+% \changes{v0.902}{2021/09/18}{\pkg{footnote}: Fixed missing number.}
% \begin{macrocode}
\def\fn@startfntext{%
\setbox\z@\vbox\bgroup%
+ \LWR@htmltagc{\LWR@tagregularparagraph}% lwarp
+ \LWR@orignewline% lwarp
\fn@startnote%
+ \fn@prefntext% Req'd for numbering.
+% \rule\z@\footnotesep%
\ignorespaces%
}
+
% \end{macrocode}
%
% Removed print-version formatting, added closing paragraph tag:
+%
+% \changes{v0.902}{2021/09/20}{\pkg{footnote}: Improved par tags.}
% \begin{macrocode}
\def\fn@endfntext{%
+ \fn@postfntext%
+ \LWR@origtilde\LWR@orignewline%
\LWR@htmltagc{/\LWR@tagregularparagraph}%
\LWR@orignewline%
\egroup%
@@ -57641,6 +58036,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
\let\@makefntext\@empty%
\let\@finalstrut\@gobble%
\LetLtxMacro\rule\@gobbletwo% *8* also the optional argument?
+ \booltrue{LWR@spewingnotes}% lwarp
\@footnotetext{\unvbox\z@}%
\endgroup%
}
@@ -57706,6 +58102,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% Discard all options for \pkg{lwarp-footnotehyper}:
% \begin{macrocode}
\RequirePackage{footnote}
+
\LWR@ProvidesPackageDrop{footnotehyper}[2018/01/23]
% \end{macrocode}
%
@@ -57875,7 +58272,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% \DescribePackage{fouridx}
% \pkg{fouridx} works as-is with \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.80}{2020/02/10}{\pkg{fouridx}: Added.}
%
@@ -57914,12 +58311,12 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% \DescribePackage{fourier}
% \pkg{fourier} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
% \trouble[limitations]{fourier=\pkg{fourier}}
% except \optn{sloped} and \optn{upright} are honored for Greek characters,
-% but \brand{MathJax} cannot yet honor these for Latin characters.
+% but \MathJax\ cannot yet honor these for Latin characters.
%
% The dedicated macros for upright and italic Greek letters do work correctly.
%
@@ -58630,10 +59027,10 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
%
% \DescribePackage{gensymb}
% \pkg{gensymb} works as-is for \SVG\ math, and
-% uses the \brand{MathJax} package.
+% uses the \MathJax\ package.
%
% \changes{v0.80}{2020/02/09}{\pkg{gensymb}: Added.}
-% \changes{v0.901}{2021/08/26}{\pkg{gensymb}: Use \brand{MathJax} 3.2 package.}
+% \changes{v0.901}{2021/08/26}{\pkg{gensymb}: Use \MathJax\ 3.2 package.}
%
% \codehtml
%
@@ -59608,7 +60005,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% Temporarily prevent underfull \cs{hbox} warnings.
% \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
% \begin{macrocode}
- \hbadness=10000\relax%
+ \hbadness=10000\relax%
% \end{macrocode}
%
% Reset some defaults, possibly will be changed below if options were given:
@@ -60194,7 +60591,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
}%
\textquotedbl%
}%
- \let\item\LWR@itemizeitem%
+ \LetLtxMacro\item\LWR@itemizeitem%
\list{}{}%
}
{\endlist}
@@ -60317,7 +60714,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \credits{Andy Buckley}
%
% \DescribePackage{hepunits}
-% \pkg{hepunits} is used as-is, and emulated for \brand{MathJax}.
+% \pkg{hepunits} is used as-is, and emulated for \MathJax.
%
% \changes{v0.89}{2020/07/23}{\pkg{hepunits}: Added.}
%
@@ -60437,7 +60834,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \end{macrocode}
%
%
-% For \brand{MathJax}. A simple \cs{hline} is used.
+% For \MathJax. A simple \cs{hline} is used.
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\hhline}[1]{\hline}}
@@ -60462,7 +60859,7 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \credits{Harald Harders}
%
% \DescribePackage{hhtensor}
-% \pkg{hhtensor} is used as-is, and emulated for \brand{MathJax}.
+% \pkg{hhtensor} is used as-is, and emulated for \MathJax.
%
% \changes{v0.88}{2020/07/23}{\pkg{hhtensor}: Added.}
%
@@ -61061,6 +61458,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
}
\newcommand*{\hypertarget}{%
+ \LWR@ensuredoingapar%
\begingroup%
\LWR@linkcatcodes%
\LWR@hypertargetb%
@@ -61694,9 +62092,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \HTML\ versions of \cs{item}, etc.:
% \begin{macrocode}
\appto\theindex{%
- \let\item\LWR@indexitem%
- \let\subitem\LWR@indexsubitem%
- \let\subsubitem\LWR@indexsubsubitem%
+ \LetLtxMacro\item\LWR@indexitem%
+ \LetLtxMacro\subitem\LWR@indexsubitem%
+ \LetLtxMacro\subsubitem\LWR@indexsubsubitem%
}
% \end{macrocode}
% \end{noindmacro}
@@ -61812,9 +62210,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\renewenvironment*{theindex}{%
\imki@maybeaddtotoc
\imki@indexlevel{\indexname}
- \let\item\LWR@indexitem%
- \let\subitem\LWR@indexsubitem%
- \let\subsubitem\LWR@indexsubsubitem%
+ \LetLtxMacro\item\LWR@indexitem%
+ \LetLtxMacro\subitem\LWR@indexsubitem%
+ \LetLtxMacro\subsubitem\LWR@indexsubsubitem%
}{}
}% AtBeginDocument
% \end{macrocode}
@@ -61961,9 +62359,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\index@prologue
\bigskip
\fi
- \let\item\LWR@indexitem%
- \let\subitem\LWR@indexsubitem%
- \let\subsubitem\LWR@indexsubsubitem%
+ \LetLtxMacro\item\LWR@indexitem%
+ \LetLtxMacro\subitem\LWR@indexsubitem%
+ \LetLtxMacro\subsubitem\LWR@indexsubsubitem%
}{}
}% AtBeginDocument
% \end{macrocode}
@@ -62077,10 +62475,10 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{isomath}
% \pkg{isomath} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% \brand{MathJax} does not provide a sans math font, so sans is typeset as roman.
-% \trouble[\brand{MathJax} sans]{isomath=\pkg{isomath}}
+% \MathJax\ does not provide a sans math font, so sans is typeset as roman.
+% \trouble[\MathJax\ sans]{isomath=\pkg{isomath}}
%
% \changes{v0.895}{2021/02/08}{\pkg{isomath}: Added.}
%
@@ -62123,7 +62521,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{isotope}
% \pkg{isotope} is patched for use by \pkg{lwarp} with \SVG\ math,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
%
% \changes{v0.895}{2021/01/10}{\pkg{isotope}: Added.}
%
@@ -62949,9 +63347,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{kpfonts}
% \pkg{kpfonts} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation honors the options
+% The \MathJax\ emulation honors the options
% \trouble[limitations]{kpfonts=\pkg{kpfonts}}
% \optn{uprightRoman} for \cs{D} only,
% \optn{classicReIm},
@@ -63057,9 +63455,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{kpfonts-otf}
% \pkg{kpfonts-otf} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation honors the options
+% The \MathJax\ emulation honors the options
% \trouble[limitations]{kpfonts-otf=\pkg{kpfonts-otf}}
% \optn{fancyReIm},
% \optn{mathcal},
@@ -63070,7 +63468,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% The \pkg{unicode-math} dedicated macros for Greek work correctly.
%
-% The \brand{MathJax} emulation does not change with the use of \cs{mathversion}.
+% The \MathJax\ emulation does not change with the use of \cs{mathversion}.
% \watchout[\cs{mathversion}]
% Whatever emulation is established at the begin of the document will remain.
%
@@ -63413,7 +63811,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{leftidx}
% \pkg{leftidx} works as-is with \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.80}{2020/02/10}{\pkg{leftidx}: Added.}
%
@@ -63548,18 +63946,18 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{libertinust1math}
% \pkg{libertinust1math} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation honors
+% The \MathJax\ emulation honors
% \optn{frenchmath} for Greek but not Latin characters,
% and \optn{slantedGreek}, \optn{uprightGreek}, and \optn{ISO}
% also adjust Greek characters.
-% \brand{MathJax} cannot yet honor options for adjusting Latin characters.
+% \MathJax\ cannot yet honor options for adjusting Latin characters.
%
% The dedicated macros for upright and italic Greek letters do work correctly.
%
% Some of the symbol font macros such as \cs{mathsfbf} do not use a sans font
-% because \brand{MathJax} does not yet have sans Greek.
+% because \MathJax\ does not yet have sans Greek.
%
% \SVG\ math honors all font choices, and should appear the same as the printed output.
%
@@ -63601,7 +63999,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\let\uppartial\partial}% not upright
% \end{macrocode}
%
-% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \MathJax: Fixed for Greek, ignoring sans.}
% \begin{macrocode}
\CustomizeMathJax{\let\mathsfbf\mathbf}% not sans
% \CustomizeMathJax{\newcommand{\mathsfbf}[1]{%
@@ -63612,7 +64010,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\CustomizeMathJax{\let\mathbfit\boldsymbol}
% \end{macrocode}
%
-% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \MathJax: Fixed for Greek, ignoring sans.}
% \begin{macrocode}
% \CustomizeMathJax{\newcommand{\mathsfbfit}[1]{\boldsymbol{#1}}}% not sans
\CustomizeMathJax{\let\mathsfbfit\mathbfit}% not sans
@@ -63621,7 +64019,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% }}%
% \end{macrocode}
%
-% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \brand{MathJax}: Fixed for Greek, ignoring sans.}
+% \changes{v0.895}{2021/01/04}{\pkg{libertinust1math}: \MathJax: Fixed for Greek, ignoring sans.}
% \begin{macrocode}
\CustomizeMathJax{\let\mathsfit\mathit}% not sans
% \CustomizeMathJax{\newcommand{\mathsfit}[1]{%
@@ -64243,7 +64641,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \cs{LWR@forcenewpage} is moved to the start to avoid a spurrious bug
% with paragraph handling and conditionals.
-% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \brand{MathJax}: Moved \cs{LWR@forcenewpage} to start.}
+% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \MathJax: Moved \cs{LWR@forcenewpage} to start.}
% \begin{macrocode}
\lst@ifdisplaystyle% lwarp
\LWR@forcenewpage% lwarp
@@ -64370,7 +64768,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\LWR@traceinfo{lst@Init: About to create verbatim.}% lwarp
\let\lsthk@EveryPar\relax% lwarp
% \end{macrocode}
-% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \brand{MathJax}: Moved \cs{LWR@forcenewpage} to start.}
+% \changes{v0.891}{2020/09/16}{\pkg{listings}: Fix for \MathJax: Moved \cs{LWR@forcenewpage} to start.}
% \begin{macrocode}
\LWR@atbeginverbatim{programlisting}% lwarp
@@ -65278,11 +65676,28 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% offset and thickness control for \cs{uline}, etc.
%
% \changes{v0.82}{2020/03/22}{\pkg{luatexko}: Added.}
+% \changes{v0.902}{2021/09/30}{\pkg{luatexko}: Updated to v3.3.}
%
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackagePass{luatexko}[2020/03/20]
+\LWR@ProvidesPackagePass{luatexko}[2021/07/10]
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\protected\def\typesetvertical{}
+\protected\def\typesethorizontal{}
+
+\def\verticaltypesetting{\BlockClass{verticalrl}}
+\def\beginverticaltypesetting{\BlockClass{verticalrl}}
+\def\endverticaltypesetting{\endBlockClass}
+
+\protected\def\vertical#1{\BlockClass{verticalrl}}
+\protected\def\endvertical{\endBlockClass}
+\protected\def\horizontal#1{\BlockClass{horizontaltb}}
+\protected\def\endhorizontal{\endBlockClass}
+\DeclareDocumentCommand{\vertlatin}{m}{#1}
% \end{macrocode}
%
% \begin{macrocode}
@@ -65291,10 +65706,13 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\InlineClass[text-emphasis-style: dot]{dotemph}{#1}%
}
\LWR@formatted{dotemph}
+% \end{macrocode}
+% \changes{v0.902}{2021/09/30}{\pkg{luatexko}: Removed deprecated \element{rb}.}
+% \begin{macrocode}
\newcommand{\LWR@HTML@ruby}[2]{%
\LWR@htmltagc{ruby}%
- \LWR@htmltagc{rb}#1\LWR@htmltagc{/rb}%
+ #1%
\LWR@htmltagc{rp}(\LWR@htmltagc{/rp}%
\LWR@htmltagc{rt}#2\LWR@htmltagc{/rt}%
\LWR@htmltagc{rp})\LWR@htmltagc{/rp}%
@@ -66075,8 +66493,8 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
}
% \end{macrocode}
%
-% For \brand{MathJax}:
-% \changes{v0.82}{2020/03/14}{\pkg{marginnote}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.82}{2020/03/14}{\pkg{marginnote}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\LWRmarginnote}[1][]{}}
@@ -66147,11 +66565,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathalpha}
% \pkg{mathalpha} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
% \trouble[limitations]{mathalpha=\pkg{mathalpha}}
-% and some bold fonts may not be not supported by \brand{MathJax}.
+% and some bold fonts may not be not supported by \MathJax.
%
% \changes{v0.89}{2020/08/31}{\pkg{mathalpha}: Added.}
%
@@ -66187,7 +66605,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathastext}
% \pkg{mathastext} is used as-is for \SVG\ math,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
%
% \changes{v0.893}{2020/10/14}{\pkg{mathastext}: Added.}
%
@@ -66263,7 +66681,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathcomp}
% \pkg{mathcomp} is supported as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.80}{2020/02/09}{\pkg{mathcomp}: Added.}
%
@@ -66305,9 +66723,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathdesign}
% \pkg{mathdesign} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options
+% The \MathJax\ emulation ignores all package options
% \trouble[limitations]{mathdesign=\pkg{mathdesign}}
% except \optn{greekuppercase} and \optn{greeklowercase}.
% The dedicated macros for upright and italic greek letters work correctly,
@@ -66324,7 +66742,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\LWR@ProvidesPackagePass{mathdesign}[2013/08/29]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\LWR@origRequirePackage{lwarp-common-mathjax-letters}
@@ -66428,7 +66846,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathdots}
% \pkg{mathdots} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \changes{v0.80}{2020/02/16}{\pkg{mathdots}: Added.}
% \changes{v0.891}{2020/09/08}{\pkg{mathdots}: Added more macros, \cs{mathinner}.}
@@ -66472,7 +66890,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathfixs}
% \pkg{mathfixs} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% Greek letters are unchanged.\watchout
%
@@ -66515,9 +66933,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathpazo}
% \pkg{mathpazo} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options.
+% The \MathJax\ emulation ignores all package options.
% \trouble[limitations]{mathpazo=\pkg{mathpazo}}
% The dedicated macros for upright greek letters do work correctly.
%
@@ -66532,7 +66950,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\LWR@ProvidesPackagePass{mathpazo}[2020/03/25]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\LWR@origRequirePackage{lwarp-common-mathjax-letters}
@@ -66567,9 +66985,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathptmx}
% \pkg{mathptmx} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options.
+% The \MathJax\ emulation ignores all package options.
% \trouble[limitations]{mathptmx=\pkg{mathptmx}}
% The dedicated macros for upright greek letters do work correctly.
%
@@ -66584,7 +67002,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\LWR@ProvidesPackagePass{mathptmx}[2020/03/25]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\LWR@origRequirePackage{lwarp-common-mathjax-letters}
@@ -66618,11 +67036,11 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathspec}
% \pkg{mathspec} is used as-is with \SVG\ math,
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
%
% Double quotes (\cs{"} and the |"| character)
% \trouble[quotes]{mathspec=\pkg{mathspec}}
-% are removed during \brand{MathJax} emulation,
+% are removed during \MathJax\ emulation,
% but this also includes inside \cs{text}.
%
% \changes{v0.893}{2020/11/22}{\pkg{mathspec}: Added.}
@@ -66744,7 +67162,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mathtools}
% \pkg{mathtools} is patched for use by \pkg{lwarp}.
-% Emulation macros are provided for \brand{MathJax}.
+% Emulation macros are provided for \MathJax.
%
% \limitsmathtools
%
@@ -66792,15 +67210,15 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
% \end{macrocode}
%
%
-% For \brand{MathJax}.
+% For \MathJax.
%
-% The \brand{MathJax} package is used, and improvements are added.
+% The \MathJax\ package is used, and improvements are added.
%
-% \changes{v0.79}{2020/01/26}{\pkg{mathtools}: Added \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/26}{\pkg{mathtools}: Added \MathJax\ emulation.}
% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Updated starred macros.}
% \changes{v0.87}{2020/05/20}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
% \changes{v0.891}{2020/09/19}{\pkg{mathtools}: Improved \cs{underbraket}, \cs{overbracket}.}
-% \changes{v0.901}{2021/08/26}{\pkg{mathtools}: Uses \brand{MathJax} 3.2 package.}
+% \changes{v0.901}{2021/08/26}{\pkg{mathtools}: Uses \MathJax\ 3.2 package.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\require{mathtools}}
@@ -66968,7 +67386,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{mattens}
% \pkg{mattens} is used as-is for \SVG\ math,
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
%
% \changes{v0.895}{2021/02/11}{\pkg{mattens}: Added.}
%
@@ -67084,9 +67502,9 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
%
% \DescribePackage{maybemath}
% \pkg{maybemath} is used as-is for \SVG\ math,
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
%
-% \brand{MathJax} is not able to detect the surrounding text font,
+% \MathJax\ is not able to detect the surrounding text font,
% \trouble[no effect]{maybemath=\pkg{maybemath}}
% so all \pkg{maybemath} macros are ignored.
%
@@ -67766,7 +68184,7 @@ background:
%
% \DescribePackage{mdwmath}
% \pkg{mdwmath} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.895}{2021/01/11}{\pkg{mdwmath}: Added.}
%
@@ -68100,21 +68518,21 @@ background:
% \DescribePackage{mhchem}
% \pkg{mhchem} is patched for use by \pkg{lwarp}.
%
-% Without \brand{MathJax}, \pkg{mhchem} expressions are converted to \SVG\ math.
-% \margintag{without \brand{MathJax}}
+% Without \MathJax, \pkg{mhchem} expressions are converted to \SVG\ math.
+% \margintag{without \MathJax}
% Inline expressions use hashed filenames to allow reuse,
% and assume that any \pkg{mhchem} options are global.
%
-% For \brand{MathJax}, the \pkg{mhchem} extension is used if
-% \trouble{mathjax=\brand{MathJax}>mhchem=\pkg{mhchem}}
-% \trouble{mhchem=\pkg{mhchem}>mathjax=\brand{MathJax}}
-% \margintag{\brand{MathJax} with \pkg{mhchem} extension}
+% For \MathJax, the \pkg{mhchem} extension is used if
+% \trouble{mathjax=\MathJax>mhchem=\pkg{mhchem}}
+% \trouble{mhchem=\pkg{mhchem}>mathjax=\MathJax}
+% \margintag{\MathJax\ with \pkg{mhchem} extension}
% the \pkg{mhchem} expression is used inside a math expression:
% \begin{sourceverb}
% $\ce{C6H5-CHO}$
% \end{sourceverb}
% To force the use of \SVG\ math for an expression which does not work with
-% \brand{MathJax},
+% \MathJax,
% place the expression between \cs{displaymathother} and \cs{displaymathnormal}:
% \begin{sourcedisplay}
% \cs{displaymathother} \\
@@ -68126,7 +68544,7 @@ background:
% \marginpar{not inside math}
% expressions into \SVG\ math images.
%
-% When producing \HTML\ output without the \brand{MathJax} \pkg{mhchem} extension,
+% When producing \HTML\ output without the \MathJax\ \pkg{mhchem} extension,
% \pkg{lwarp} does not support
% \trouble[nested math]{mhchem=\pkg{mhchem}>nested dollar signs}
% the use of nested dollar signs in \pkg{mhchem} expressions.
@@ -68153,7 +68571,7 @@ background:
%
% \changes{v0.51}{2018/03/04}{\pkg{mhchem}: Added.}
% \changes{v0.74}{2019/08/26}{\pkg{mhchem}: Modified for new \env{lateximage}.}
-% \changes{v0.87}{2020/06/02}{\pkg{mhchem}: Now uses \brand{MathJax} v3 extension.}
+% \changes{v0.87}{2020/06/02}{\pkg{mhchem}: Now uses \MathJax\ v3 extension.}
%
% \codehtml
%
@@ -68598,29 +69016,29 @@ background:
%
% \DescribePackage{mismath}
% \pkg{mismath} is patched for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \cs{enumber}, \cs{inumber}, \cs{jnumber}, and \cs{pinumber} are
-% \watchout[\brand{MathJax}]
-% ignored for \brand{MathJax}, except that \cs{itpi} is made available as a
+% \watchout[\MathJax]
+% ignored for \MathJax, except that \cs{itpi} is made available as a
% clone of \cs{pi}.
%
-% For \brand{MathJax}, \cs{boldvect} and \cs{arrowvect} are honored if
+% For \MathJax, \cs{boldvect} and \cs{arrowvect} are honored if
% in the preamble.
%
% If \cs{boldvectcommand} is set to \cs{mathbf} in the preamble,
-% it will be used for \brand{MathJax}, otherwise it will default to \cs{mathit}.
+% it will be used for \MathJax, otherwise it will default to \cs{mathit}.
% \cs{boldvectcommand} may also be set with \cs{CustomizeMathJax} in
% the preamble. See \cref{sec:limitscustomizemathjax}.
% Note that as of this writing there is not a bold italic font across all
-% \brand{MathJax} fonts.
+% \MathJax\ fonts.
%
% If \cs{probastyle} is set to \cs{mathbb} in the preamble,
-% it will be used for \brand{MathJax}, otherwise it will default to \cs{mathrm}.
+% it will be used for \MathJax, otherwise it will default to \cs{mathrm}.
% \cs{probastyle} may be set with \cs{CustomizeMathJax} in the preamble.
%
% If \cs{mathset} is set to \cs{mathbb} in the preamble,
-% it will be used for \brand{MathJax}, otherwise it will default to \cs{mathbf}.
+% it will be used for \MathJax, otherwise it will default to \cs{mathbf}.
% \cs{mathset} may be set with \cs{CustomizeMathJax} in the preamble.
%
% \changes{v0.80}{2020/02/14}{\pkg{mismath}: Added.}
@@ -68632,7 +69050,7 @@ background:
\LWR@ProvidesPackagePass{mismath}[2019/12/27]
% \end{macrocode}
%
-% For \brand{MathJax}, used in the \HTML\ comment before the environment.
+% For \MathJax, used in the \HTML\ comment before the environment.
% \begin{macrocode}
\ifbool{mathjax}{
\RenewEnviron{mathcols}{%
@@ -68820,7 +69238,7 @@ background:
% \credits{Heiko Oberdiek}
%
% \DescribePackage{mleftright}
-% \pkg{mleftright} is used as-is, and is emulated for \brand{MathJax}.
+% \pkg{mleftright} is used as-is, and is emulated for \MathJax.
%
% \changes{v0.88}{2020/07/22}{\pkg{mleftright}: Added.}
%
@@ -69280,6 +69698,7 @@ background:
% \limitsmultimedia
%
% \changes{v0.71}{2019/04/22}{\pkg{multimedia}: Added.}
+% \changes{v0.902}{2021/09/07}{\pkg{multimedia}: Added \cs{hyperlinksound}, \cs{hyperlinkmute}.}
%
% \codehtml
%
@@ -69294,6 +69713,10 @@ background:
\LetLtxMacro\sound\LWR@multimedia
\newcommand{\hyperlinkmovie}[3][]{}
+
+\newcommand{\hyperlinksound}[3][]{}
+
+\newcommand{\hyperlinkmute}
% \end{macrocode}
%
% \iffalse
@@ -69315,7 +69738,7 @@ background:
%
% \DescribePackage{multiobjective}
% \pkg{multiobjective} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.81}{2020/03/03}{\pkg{multiobjective}: Added.}
%
@@ -69582,9 +70005,9 @@ class=\textquotedbl{}td%
% \end{macro}
%
%
-% For \brand{MathJax}.
+% For \MathJax.
% Only the text is used. All other parameters are ignored.
-% \changes{v0.79}{2020/01/27}{\pkg{multirow}: Add: \brand{MathJax} emulation.}
+% \changes{v0.79}{2020/01/27}{\pkg{multirow}: Add: \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
% \multirow[vpos]{num}[bigstruts]{width}[vmove]{text}
@@ -70137,9 +70560,9 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \credits{Alexander I. Rozhenko}
%
% \DescribePackage{nccfoots}
-% \pkg{nccfoots} is used as-is, and emulated for \brand{MathJax}.
+% \pkg{nccfoots} is used as-is, and emulated for \MathJax.
%
-% \changes{v0.82}{2020/03/14}{\pkg{nccfoots}: Added \brand{MathJax} emulation.}
+% \changes{v0.82}{2020/03/14}{\pkg{nccfoots}: Added \MathJax\ emulation.}
%
% \codehtml
%
@@ -70147,7 +70570,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\LWR@ProvidesPackagePass{nccfoots}[2005/02/03]
% \end{macrocode}
%
-% For \brand{MathJax}.
+% For \MathJax.
% There is no way to test for an empty argument, \watchout
% so the mark is not automatically duplicated.
% \begin{macrocode}
@@ -70177,7 +70600,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
% \DescribePackage{nccmath}
% \pkg{nccmath} is patched for use by \pkg{lwarp}, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \changes{v0.80}{2020/02/13}{\pkg{nccmath}: Added.}
%
@@ -70230,7 +70653,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\CustomizeMathJax{\newcommand{\dmulticolumn}[3]{#3}}
% \end{macrocode}
%
-% As of v0.86, \brand{MathJax} v3 does not offer \cs{\textbackslash*}, so
+% As of v0.86, \MathJax\ v3 does not offer \cs{\textbackslash*}, so
% the unstarred version is used here.
% \changes{v0.86}{2020/05/10}{\pkg{nccmath}: Fixed \cs{nr}, added starred.}
% \changes{v0.87}{2020/05/20}{\pkg{nccmath}: Updated starred, improved \cs{underref}.}
@@ -70254,7 +70677,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\CustomizeMathJax{\newcommand{\displaybreak}[1][]{}}
% \end{macrocode}
%
-% \cs{eq}, \cs{eqs}, \cs{eqalign} are created by \LaTeX, not \brand{MathJax}.
+% \cs{eq}, \cs{eqs}, \cs{eqalign} are created by \LaTeX, not \MathJax.
%
% \begin{macrocode}
\end{warpMathJax}
@@ -70311,9 +70734,9 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
% \DescribePackage{newpxmath}
% \pkg{newpxmath} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
% \trouble[limitations]{newpxmath=\pkg{newpxmath}}
% except \optn{slantedGreek} is honored.
% The dedicated macros for upright and italic Greek do work correctly.
@@ -70325,7 +70748,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
% \codehtml
%
-% The \brand{MathJax} code from \pkg{newtxmath} is used:
+% The \MathJax\ code from \pkg{newtxmath} is used:
% \begin{macrocode}
\LWR@ProvidesPackagePass{newpxmath}[2020/01/09]
@@ -70373,12 +70796,12 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
% \DescribePackage{newtxmath}
% \pkg{newtxmath} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
% \trouble[limitations]{newtxmath=\pkg{newtxmath}}
% except \optn{slantedGreek} is honored, and
-% except that bold italic Latin letters are not defined for \brand{MathJax} if
+% except that bold italic Latin letters are not defined for \MathJax\ if
% the option is not selected.
%
% The dedicated macros for upright and italic Greek and bold italic Latin letters
@@ -70451,9 +70874,9 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
% \DescribePackage{newtxsf}
% \pkg{newtxsf} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation ignores all package options,
+% The \MathJax\ emulation ignores all package options,
% \trouble[limitations]{newtxsf=\pkg{newtxsf}}
% except \optn{slantedGreek} is honored.
% The dedicated macros for upright and italic Greek and bold italic Latin letters
@@ -71055,12 +71478,12 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
% \DescribePackage{nicematrix}
% \pkg{nicematrix} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
-% Keys/values are ignored in \brand{MathJax}.
-% \trouble[\brand{MathJax}]{nicematrix=\pkg{nicematrix}}
+% Keys/values are ignored in \MathJax.
+% \trouble[\MathJax]{nicematrix=\pkg{nicematrix}}
% \cs{Cdots}, etc. do not span multiple cells.
-% \env{AutoNiceMatrix}, etc. are not supported for \brand{MathJax}.
+% \env{AutoNiceMatrix}, etc. are not supported for \MathJax.
% \SVG\ math output preserves all nicematrix features.
% To force \SVG\ output for one or more consecutive
% math expressions, for inline math use
@@ -71203,7 +71626,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
\CustomizeMathJax{\newcommand{\Vdotsfor}[1]{\vdots}}
% \end{macrocode}
%
-% There is no way to emulate \env{AutoNiceMatrix} in \brand{MathJax}.
+% There is no way to emulate \env{AutoNiceMatrix} in \MathJax.
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\AutoNiceMatrix}[2]{\text{(AutoNiceMatrix #1)}}}
\CustomizeMathJax{\let\pAutoNiceMatrix\AutoNiceMatrix}
@@ -71232,7 +71655,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
%
% \DescribePackage{noitcrul}
% \pkg{noitcrul} is used as-is for \SVG\, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \changes{v0.80}{2020/02/13}{\pkg{noitcrul}: Added.}
%
@@ -72526,8 +72949,8 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \end{macrocode}
%
%
-% For \brand{MathJax}:
-% \changes{v0.82}{2020/03/14}{\pkg{pagenote}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.82}{2020/03/14}{\pkg{pagenote}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\appto\LWR@syncnotenumbers{\LWR@synconenotenumber{LWRpagenote}{\thepagenote}}
@@ -72898,7 +73321,7 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackagePass{parnotes}[2016/08/15]
+\LWR@ProvidesPackagePass{parnotes}[2019/07/23]
% \end{macrocode}
%
% \begin{macrocode}
@@ -72948,8 +73371,8 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \end{macrocode}
%
%
-% For \brand{MathJax}:
-% \changes{v0.82}{2020/03/15}{\pkg{parnotes}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.82}{2020/03/15}{\pkg{parnotes}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\providecommand{\parnotename}{parnote}
@@ -73303,8 +73726,8 @@ do not attempt to patch lwarp's version of `nameref'.)\MessageBreak
% \end{macrocode}
%
%
-% For \brand{MathJax}:
-% \changes{v0.80}{2020/02/08}{\pkg{pdfcomment}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.80}{2020/02/08}{\pkg{pdfcomment}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\pdfmarkupcomment}[3][]{#2}}
@@ -73932,7 +74355,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \limitsphysics
%
% \changes{v0.79}{2020/01/29}{\pkg{physics}: Added.}
-% \changes{v0.87}{2020/06/02}{\pkg{physics}: Now uses \brand{MathJax} v3 extension.}
+% \changes{v0.87}{2020/06/02}{\pkg{physics}: Now uses \MathJax\ v3 extension.}
%
% \codehtml
%
@@ -73966,7 +74389,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{physunits}
% \pkg{physunits} is supported as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.81}{2020/02/29}{\pkg{physunits}: Added.}
% \changes{v0.83}{2020/03/26}{\pkg{physunits}: Updated to v1.0.4.}
@@ -74480,10 +74903,10 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{plimsoll}
% \pkg{plimsoll} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% The \optn{circ} option is honored.
-% For \brand{MathJax}, \cs{plimsollsans} is the same as \cs{plimsollroman}.
+% For \MathJax, \cs{plimsollsans} is the same as \cs{plimsollroman}.
%
% \changes{v0.893}{2020/10/12}{\pkg{plimsoll}: Added.}
%
@@ -74900,7 +75323,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{pxfonts}
% \pkg{pxfonts} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \changes{v0.89}{2020/08/10}{\pkg{pxfonts}: Added.}
%
@@ -74910,7 +75333,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@ProvidesPackagePass{pxfonts}[2008/01/22]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\LWR@origRequirePackage{lwarp-common-mathjax-letters}
@@ -75486,7 +75909,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{relsize}
% \pkg{relsize} is patched for use by \pkg{lwarp}, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \limitsrelsize
%
@@ -75541,8 +75964,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
%
-% For \brand{MathJax}:
-% \changes{v0.80}{2020/02/06}{\pkg{relsize}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.80}{2020/02/06}{\pkg{relsize}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\mathlarger}[1]{#1}}
@@ -75646,7 +76069,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\newcommand*{\prevrepl}{}
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\repltext}[2]{#2}}
@@ -75779,7 +76202,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{rmathbr}
% \pkg{rmathbr} is used as-is for \SVG\ math, and
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \changes{v0.80}{2020/02/17}{\pkg{rmathbr}: Added.}
% \changes{v0.894}{2020/12/16}{\pkg{rmathbr}: Updated to v1.1.}
@@ -76140,7 +76563,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{scalerel}
% \pkg{scalerel} is used as-is for \SVG\ math, and is
-% emulated and ignored for \brand{MathJax}.
+% emulated and ignored for \MathJax.
%
% \changes{v0.891}{2020/09/10}{\pkg{scalerel}: Added.}
%
@@ -76150,7 +76573,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@ProvidesPackagePass{scalerel}[2016/12/29]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\LWR@infoprocessingmathjax{scalerel}
@@ -76283,7 +76706,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\DeclareDocumentCommand{\maketitle}{o}{\LWR@koma@orig@maketitle}
}
-\DeclareDocumentCommand{\@maketitle}{}{%
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
\ifdefvoid{\@titlehead}{}{%
\begin{BlockClass}{titlehead}%
\@titlehead%
@@ -77098,7 +77522,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% output differs from print mode in that the contents
% are formatted in a minipage, which is then inline with the surrounding math.
%
-% For \brand{MathJax}, the contents are used as-is.
+% For \MathJax, the contents are used as-is.
%
% \changes{v0.893}{2020/10/16}{\pkg{seqsplit}: Added.}
%
@@ -77452,13 +77876,13 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{shuffle}
% \pkg{shuffle} is emulated for \SVG\ math, and
-% also emulated for \brand{MathJax}.
+% also emulated for \MathJax.
%
% The font used for \pkg{shuffle} may not render correctly when
% converted to \SVG\ math, so a \env{picture} environment drawing
% is used instead.
%
-% For \brand{MathJax}, the Unicode character is used, and for
+% For \MathJax, the Unicode character is used, and for
% \cs{cshuffle} a \cs{bar} is added.
%
% \changes{v0.89}{2020/07/26}{\pkg{shuffle}: Added.}
@@ -77673,13 +78097,13 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
%
-% For \brand{MathJax}:
+% For \MathJax:
%
% Note that \pkg{sidenotes} does not support \cs{sidenote} inside math in print mode.
% \watchout
% Use \cs{sidenotemark} and \cs{sidenotetext} instead.
%
-% \changes{v0.82}{2020/03/14}{\pkg{sidenotes}: Added \brand{MathJax} emulation.}
+% \changes{v0.82}{2020/03/14}{\pkg{sidenotes}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\providecommand{\sidenotename}{sidenote}
@@ -77805,16 +78229,16 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% and each will have the \attribute{alt} tag set according to \cs{MathImageAltText},
% which defaults to \optn{(math image)}.
%
-% For \brand{MathJax}, individual units used in text will appear as \SVG\ images,
+% For \MathJax, individual units used in text will appear as \SVG\ images,
% since \cs{ensuremath} is used in the original defintions,
-% and \cs{ensuremath} often has expressions which do not work well in \brand{MathJax},
+% and \cs{ensuremath} often has expressions which do not work well in \MathJax,
% so it is always forced to an \SVG\ image.
-% If, however, \cs{unit} is used, the result is expressed with \brand{MathJax}
+% If, however, \cs{unit} is used, the result is expressed with \MathJax
% instead of an \SVG\ image.
%
% \changes{v0.59}{2018/07/11}{\pkg{SIunits}: Added.}
% \changes{v0.81}{2020/02/23}{\pkg{SIunits}: Improved \cs{unit}. Fixed in math mode.
-% Added \brand{MathJax} emulation.}
+% Added \MathJax\ emulation.}
%
% \codehtml
%
@@ -77859,7 +78283,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\LWR@infoprocessingmathjax{SIunits}
@@ -78291,7 +78715,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{siunitx}
% \pkg{siunitx-v2} is patched for use by \pkg{lwarp},
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
% Use as:
% \begin{sourceverb}
% \usepackage{siunitx}[=v2]
@@ -78348,7 +78772,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{siunitx-v2}
% \pkg{siunitx-v2} is patched for use by \pkg{lwarp},
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
%
% \limitssiunitx
%
@@ -78481,7 +78905,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% For |parse-numbers=false|:
% \changes{v0.48}{2018/02/14}{\pkg{siunitx}: Improved \SVG\ math.}
% \changes{v0.50}{2018/02/24}{\pkg{siunitx}: Improved \SVG\ math \attribute{alt} tags.}
-% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \brand{MathJax}.}
+% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \MathJax.}
% \begin{macrocode}
\__siunitx_unit_output_pre_print:
\begingroup% lwarp
@@ -78504,7 +78928,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
% For |parse-numbers=false|:
-% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \brand{MathJax}.}
+% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \MathJax.}
% \begin{macrocode}
\cs_set_protected:Npn \__siunitx_range_numbers_aux:n #1
{
@@ -78536,7 +78960,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
% For |parse-numbers=false|:
-% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \brand{MathJax}.}
+% \changes{v0.79}{2020/01/21}{\pkg{siunitx}: Improved \MathJax.}
% \begin{macrocode}
\cs_set_protected:Npn \__siunitx_angle_print_direct_aux:nn #1#2 {
\tl_if_empty:nF {#1}
@@ -78728,7 +79152,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
-% For \brand{MathJax}.
+% For \MathJax.
% (The following runs much faster as separate \cs{CusomizeMathJax} calls instead
% of one single call.)
% \begin{macrocode}
@@ -78736,14 +79160,14 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@infoprocessingmathjax{siunitx}
% \end{macrocode}
%
-% \changes{v0.89}{2020/07/23}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{tothe}, \cs{raiseto}.}
+% \changes{v0.89}{2020/07/23}{\pkg{siunitx}: Fix: \MathJax\ for \cs{tothe}, \cs{raiseto}.}
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\tothe}[1]{^{#1}}}
\CustomizeMathJax{\newcommand{\raiseto}[2]{{#2}^{#1}}}
% \end{macrocode}
%
% Used as an end marker when parsing values:
-% \changes{v0.895}{2021/01/13}{\pkg{siunitx}: Fix: \brand{MathJax} for \cs{ang}.}
+% \changes{v0.895}{2021/01/13}{\pkg{siunitx}: Fix: \MathJax\ for \cs{ang}.}
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\LWRsiunitxEND}{}}
% \end{macrocode}
@@ -78761,7 +79185,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% Processes scientific notation.
% Special handling for a mantissa which is either empty or only a minus sign.
-% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \brand{MathJax}: Scientific notation.}
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \MathJax: Scientific notation.}
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\LWRsiunitxnumscientific}[2]{%
\ifblank{#1}%
@@ -78783,7 +79207,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% of the arguments of each macro when used, and
% the final argument of each collects any extra unused delimiters.
%
-% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \brand{MathJax}:
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}, \MathJax:
% \cs{num} sci notation, multiples, +-, decimals, comma.}
% \begin{macrocode}
\ExplSyntaxOn
@@ -78916,7 +79340,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{noindmacro}{\SI} \oarg{options} \marg{value} \oarg{prefix} \marg{unit}
%
% \cs{SI} has a second optional arg, which is parsed using \cs{ifnextchar}.
-% \changes{v0.895}{2021/01/14}{\pkg{siunitx}: \brand{MathJax}: \cs{SI} prefix parsing.}
+% \changes{v0.895}{2021/01/14}{\pkg{siunitx}: \MathJax: \cs{SI} prefix parsing.}
% \begin{macrocode}
\CustomizeMathJax{\def\LWRsiunitxSIopt#1[#2]#3{%
{#2}\num{#1}{#3}%
@@ -78939,7 +79363,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{noindmacro}{\numlist} \oarg{options} \marg{list}
%
% \cs{numlist} should only be used in text mode.
-% If used in \brand{MathJax}, it is merely printed as input.
+% If used in \MathJax, it is merely printed as input.
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\numlist}[2][]{\mathrm{#2}}}
% \end{macrocode}
@@ -78948,7 +79372,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{noindmacro}{\numrange} \oarg{options} \marg{value1} \marg{value2}
%
% \cs{numrange} should only be used in text mode.
-% If used in \brand{MathJax} math, an en-dash is used instead of the \optn{range-phase}.
+% If used in \MathJax\ math, an en-dash is used instead of the \optn{range-phase}.
% \changes{v0.89}{2020/08/02}{\pkg{siunitx}: Unicode for endash.}
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\numrange}[3][]{\num{#2}\,\unicode{x2013}\,\num{#3}}}
@@ -78958,7 +79382,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \begin{noindmacro}{\SIlist} \oarg{options} \marg{list}
%
% \cs{SIlist} and \cs{SIrange} should only be used in text mode.
-% If used in \brand{MathJax}, a simple emulation is provided.
+% If used in \MathJax, a simple emulation is provided.
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\SIlist}[3][]{\mathrm{#2\,#3}}}
% \end{macrocode}
@@ -79212,7 +79636,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{skmath}
% \pkg{skmath} is used as-is for \SVG\ math,
-% and is emulated for \brand{MathJax}.
+% and is emulated for \MathJax.
%
% \changes{v0.895}{2021/01/13}{\pkg{skmath}: Added.}
%
@@ -79268,7 +79692,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \pkg{skmath} uses \cs{DeclarePairedDelimiter} from \pkg{mathtools}
% for \cs{abs} and \cs{norm},
-% and \pkg{lwarp} uses this to automatically define \brand{MathJax} definitions for
+% and \pkg{lwarp} uses this to automatically define \MathJax\ definitions for
% each.
%
% If \optn{notation=english}, use slanted, else upright:
@@ -79626,7 +80050,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{slashed}
% \pkg{slashed} works as-s for \HTML\ \SVG\ math.
-% For \brand{MathJax}, emulation is provided.
+% For \MathJax, emulation is provided.
%
% \changes{v0.79}{2020/01/30}{\pkg{slashed}: Added.}
%
@@ -80267,7 +80691,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{stackrel}
% \pkg{stackrel} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.81}{2020/03/03}{\pkg{stackrel}: Added.}
%
@@ -80307,16 +80731,16 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{statex2}
% \pkg{statex2} is patched for use by \pkg{lwarp},
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
%
% As of this version, option \optn{autobold} does not appear to work for \PDF\ output.
% \watchout
%
-% For \brand{MathJax}, the tilde character |~| does not create \cs{sim}.
+% For \MathJax, the tilde character |~| does not create \cs{sim}.
% \watchout
% Use \cs{sim} directly.
%
-% Because \brand{MathJax} has limited conditional processing:
+% Because \MathJax\ has limited conditional processing:
% \watchout
% \begin{itemize}
% \item \cs{wrap} only creates square braces, no matter what its optional arguments.
@@ -80940,7 +81364,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{statmath}
% \pkg{statmath} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.81}{2020/02/28}{\pkg{statmath}: Added.}
% \changes{v0.89}{2020/09/01}{\pkg{statmath}: Fixed \optn{abcbm},
@@ -81059,7 +81483,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{steinmetz}
% \pkg{steinmetz} is patched for use by \pkg{lwarp}.
-% Emulation is provided for \brand{MathJax}
+% Emulation is provided for \MathJax
%
% \changes{v0.79}{2020/01/31}{\pkg{steinmetz}: Added.}
%
@@ -81590,7 +82014,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{subsupscripts}
% \pkg{subsupscripts} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
% \changes{v0.80}{2020/02/13}{\pkg{subsupscripts}: Added.}
%
@@ -81852,6 +82276,58 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
%
%
+% \iffalse
+%<*sympytex>
+% \fi
+%
+% \part{lwarp-sympytex.sty}
+%
+% \section{sympytex}
+%
+% \credits{Tim Molteno}
+%
+% \DescribePackage{sympytex}
+% \pkg{sympytex} is patched for use by \pkg{lwarp}.
+%
+% \changes{v0.20}{2017/01/11}{\pkg{sympytex}: Added.}
+% \changes{v0.84}{2020/04/16}{\pkg{sympytex}: Added print mode.}
+% \changes{v0.902}{2021/09/29}{\pkg{sympytex}: Improved \env{sympyblock}.}
+%
+% \codehtml
+%
+% \begin{macrocode}
+\LWR@ProvidesPackagePass{sympytex}[2014/05/16]
+% \end{macrocode}
+%
+% \begin{macrocode}
+\AfterEndPreamble{
+
+\AtBeginEnvironment{sympyblock}{%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@forcenewpage%
+ \LWR@atbeginverbatim{verbatim}%
+ }%
+}
+
+\AfterEndEnvironment{sympyblock}{%
+ \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}%
+ {}%
+ {%
+ \LWR@afterendverbatim%
+ }%
+}
+
+}
+% \end{macrocode}
+%
+% \iffalse
+%</sympytex>
+% \fi
+%
+%
+%
%
% \iffalse
%<*syntonly>
@@ -82123,7 +82599,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \codehtml
%
% \begin{macrocode}
-\LWR@ProvidesPackageDrop{tagpdf}[2019/07/02]
+\LWR@ProvidesPackageDrop{tagpdf}[2021-08-27]
% \end{macrocode}
%
% \begin{macrocode}
@@ -82131,53 +82607,111 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\tl_new:N \l__uftag_mc_key_label_tl
-\keys_define:nn { uftag / mc }
+\keys_define:nn { __tag / mc }
+ {
+ stash .bool_set:N = \l__tag_mc_key_stash_bool,
+ __artifact-bool .bool_set:N = \l__tag_mc_artifact_bool,
+ __artifact-type .choice:,
+ __artifact-type / pagination .code:n =
+ {},
+ __artifact-type / pagination/header .code:n =
+ {},
+ __artifact-type / pagination/footer .code:n =
+ {},
+ __artifact-type / layout .code:n =
+ {},
+ __artifact-type / page .code:n =
+ {},
+ __artifact-type / background .code:n =
+ {},
+ __artifact-type / notype .code:n =
+ {},
+ __artifact-type / .code:n =
+ {},
+ }
+
+\keys_define:nn { __tag / mc }
+ {
+ tag .code:n = % the name (H,P,Span) etc
+ {},
+ raw .code:n =
+ {},
+ alttext .code:n = % Alt property
+ {
+ \gdef\LWR@ThisAltText{\detokenize\expandafter{#1}}%
+ },
+ actualtext .code:n = % ActualText property
+ {},
+ label .tl_set:N = \l__tag_mc_key_label_tl,
+ artifact .code:n =
+ {},
+ artifact .default:n = {notype}
+ }
+
+\keys_define:nn { __tag / struct }
+ {
+ label .tl_set:N = \l__tag_struct_key_label_tl,
+ stash .bool_set:N = \l__tag_struct_elem_stash_bool,
+ tag .code:n = % S property
+ {},
+ title .code:n = % T property
+ {},
+ title-o .code:n = % T property
+ {},
+ alttext .code:n = % Alt property
+ {
+ \gdef\LWR@ThisAltText{\detokenize\expandafter{#1}}%
+ },
+ actualtext .code:n = % ActualText property
+ {},
+ lang .code:n = % Lang property
+ {},
+ ref .code:n = % Lang property
+ {},
+ E .code:n = % E property
+ {},
+ }
+
+\keys_define:nn { __tag / struct }
{
- tag .code:n = % the name (H,P,Span etc
- {},
- raw .code:n =
- {}
- ,
- alttext .code:n = % Alt property
- {
- \gdef\LWR@ThisAltText{\detokenize\expandafter{#1}}%
- },
- alttext-o .code:n = % Alt property
- {
- \gdef\LWR@ThisAltText{\detokenize\expandafter{#1}}%
- },
- actualtext .code:n = % ActualText property
- {},
- actualtext-o .code:n = % ActualText property
- {},
- label .tl_set:N = \l__uftag_mc_key_label_tl,
- artifact .code:n = {},
- artifact .default:n = {notype}
+ AF .code:n = % AF property
+ {},
+ ,AFinline .code:n =
+ {}
+ ,AFinline-o .code:n =
+ {}
}
-\keys_define:nn { uftag / struct }
- {
- label .tl_set:N = \l__uftag_struct_key_label_tl,
- stash .bool_set:N = \l__uftag_struct_elem_stash_bool,
- tag .code:n = % S property
- {},
- title .code:n = % T property
- {},
- title-o .code:n = % T property
- {},
- alttext .code:n = % Alt property
- {
- \gdef\LWR@ThisAltText{\detokenize\expandafter{#1}}%
- },
- alttext-o .code:n = % Alt property
- {
- \gdef\LWR@ThisAltText{\detokenize\expandafter{#1}}%
- },
- actualtext .code:n = % ActualText property
- {},
- actualtext-o .code:n = % ActualText property
- {},
-}
+\keys_define:nn { __tag / struct }
+ {
+ attribute-class .code:n =
+ {}
+ }
+
+\keys_define:nn { __tag / struct }
+ {
+ attribute .code:n = % A property (attribute, value currently a dictionary)
+ {},
+ }
+
+\cs_new_protected:Npn \__tag_ref_label:nn #1 #2 %#1 label, #2 name of list mc or struct
+ {
+ \@bsphack
+ \ref_label:nv {#1}{c__tag_ref#2_clist}
+ \@esphack
+ }
+\cs_generate_variant:Nn \__tag_ref_label:nn {en}
+
+\cs_new:Npn \__tag_ref_value:nnn #1 #2 #3 %#1 label, #2 attribute, #3 default
+ {
+ \ref_value:nnn {#1}{#2}{#3}
+ }
+\cs_generate_variant:Nn \__tag_ref_value:nnn {enn}
+\cs_new:Npn \__tag_ref_value_lastpage:nn #1 #2
+ {
+ \ref_value:nnn {__tag_LastPage}{#1}{#2}
+ }
+
\NewDocumentCommand \tagpdfsetup { m }{}
@@ -82189,51 +82723,57 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\NewDocumentCommand \tagmcifinTF { m m }{}
-\NewDocumentCommand \tagmcbegin { m }{\uftag_mc_begin:n {#1}\ignorespaces}
-\cs_new_protected:Nn \uftag_mc_begin:n {
- \group_begin:
- \keys_set:nn { uftag / mc } {#1}
- \group_end:
+\NewDocumentCommand \tagmcbegin { m }{%
+ \tag_mc_begin:n {#1}%\ignorespaces
}
-\NewDocumentCommand \tagmcend {}{\ThisAltText{}}
+\cs_new_protected:Npn \tag_mc_begin:n #1 %#1 keyval
+ {
+ \keys_set:nn { __tag / mc } {#1}
+ }
-\cs_new_protected:Nn \uftag_mc_end: {\ThisAltText{}}
+\NewDocumentCommand \tagmcend {}{\ThisAltText{}}
\NewDocumentCommand \tagmcuse { m }{}
\cs_new_protected:Nn \uftag_mc_use:n {}
-\NewDocumentCommand \tagstructbegin { m }{
- \uftag_struct_begin:n {#1}
-}
+\NewDocumentCommand \tagstructbegin { m }
+ {
+ \tag_struct_begin:n {#1}
+ }
-\cs_new_protected:Nn \uftag_struct_begin:n
-{
- \group_begin:
- \keys_set:nn {uftag / struct} { #1 }
- \group_end:
-}
+\cs_new_protected:Npn \tag_struct_begin:n #1 %#1 key-val
+ {
+ \keys_set:nn { __tag / struct} { #1 }
+ }
-\NewDocumentCommand \tagstructend { }{\ThisAltText{}}
-\cs_new_protected:Nn \uftag_struct_end: {\ThisAltText{}}
+\NewDocumentCommand \tagstructend { }
+ {
+ \tag_struct_end:
+ }
-\NewDocumentCommand \tagstructuse { m }{}
+\cs_new_protected:Nn \tag_struct_end:
+ {\ThisAltText{}}
-% \NewDocumentCommand\showtagpdfmcdata { O {\__uftag_get_mc_abs_cnt:} }{}
-% What is the second argument?
+\NewDocumentCommand \tagstructuse { m }{}
-\NewDocumentCommand\showtagpdfattributes { }{}
+\NewDocumentCommand\ShowTagging { m }
+ {}
\sys_if_engine_luatex:T
{
\NewDocumentCommand\pdffakespace { }
- {
- \__uftag_fakespace:
- }
+ {}
}
+\newcommand\tagpdfparaOn {}
+
+\newcommand\tagpdfparaOff{}
+
+\NewDocumentCommand\tagpdfsuppressmarks{m}{}
+
\ExplSyntaxOff
% \end{macrocode}
%
@@ -82674,7 +83214,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
}% AtBeginDocument
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\tcbset}[1]{}}
\CustomizeMathJax{\newcommand{\tcbsetforeverylayer}[1]{}}
@@ -82707,12 +83247,12 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{tensor}
% \pkg{tensor} is used as-is for \SVG\ math, and
-% is emulated for \brand{MathJax}.
+% is emulated for \MathJax.
%
-% Compressed spacing and left justification are not possible with \brand{MathJax}.
+% Compressed spacing and left justification are not possible with \MathJax.
% \trouble[spacing]{tensor=\pkg{tensor}}
%
-% \changes{v0.895}{2021/01/23}{\pkg{tensor}: Added \brand{MathJax}.}
+% \changes{v0.895}{2021/01/23}{\pkg{tensor}: Added \MathJax.}
%
% \codehtml
%
@@ -82720,7 +83260,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@ProvidesPackagePass{tensor}[2004/12/20]
% \end{macrocode}
%
-% For \brand{MathJax}.
+% For \MathJax.
% Special handling is required to parse the superscript and subscript arguments.
%
% When a superscript or subscript is seen, it is processed and then the
@@ -82915,7 +83455,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \DescribePackage{textcomp}
% \pkg{textcomp} is patched for use by \pkg{lwarp}.
%
-% For \brand{MathJax}, the \brand{MathJax} packge is used.
+% For \MathJax, the \MathJax\ packge is used.
%
%
% \subsection{Limitations}
@@ -83111,7 +83651,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \end{macrocode}
%
%
-% For \brand{MathJax}:
+% For \MathJax:
% \changes{v0.901}{2021/08/26}{\pkg{textcomp}: Uses \pkg{MathJax} 3.2 package.}
% \begin{macrocode}
\CustomizeMathJax{\require{textcomp}}
@@ -84858,7 +85398,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% Print the text:
% \begin{macrocode}
- ##1%
+ {##1}%
}% \@makefntext
}
% \end{macrocode}
@@ -84930,7 +85470,8 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \changes{v0.39}{2017/09/04}{\pkg{titling} version.}
%
% \begin{macrocode}
-\DeclareDocumentCommand{\@maketitle}{}{%
+\providecommand*{\@maketitle}{}
+\renewrobustcmd{\@maketitle}{%
\maketitlehooka
{
\LWR@stoppars\LWR@htmltag{\LWR@tagtitle}%
@@ -85133,9 +85674,9 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\fi
\fi
\fi
-\let\item\LWR@indexitem%
-\let\subitem\LWR@indexsubitem%
-\let\subsubitem\LWR@indexsubsubitem%
+\LetLtxMacro\item\LWR@indexitem%
+\LetLtxMacro\subitem\LWR@indexsubitem%
+\LetLtxMacro\subsubitem\LWR@indexsubsubitem%
}{}
% \end{macrocode}
%
@@ -86288,7 +86829,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{txfonts}
% \pkg{txfonts} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \changes{v0.89}{2020/08/10}{\pkg{txfonts}: Added.}
%
@@ -86298,7 +86839,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@ProvidesPackagePass{txfonts}[2008/01/22]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\LWR@origRequirePackage{lwarp-common-mathjax-letters}
@@ -86327,9 +86868,9 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{txgreeks}
% \pkg{txgreeks} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
-% The \brand{MathJax} emulation honors all package options.
+% The \MathJax\ emulation honors all package options.
%
% \changes{v0.891}{2020/09/14}{\pkg{txgreeks}: Added.}
%
@@ -86682,17 +87223,17 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \pkg{unicode-math} is supported as-is for \HTML\ with \SVG math.
%
% If the document source includes embedded Unicode characters,
-% \trouble[\brand{MathJax}]{unicode-math=\pkg{unicode-math}}
-% \trouble{mathjax=\brand{MathJax}>unicode-math=\pkg{unicode-math}}
+% \trouble[\MathJax]{unicode-math=\pkg{unicode-math}}
+% \trouble{mathjax=\MathJax>unicode-math=\pkg{unicode-math}}
% these may not be reproduced correctly for \prog{pdftotext},
-% and thus not display correctly in \brand{MathJax}.
+% and thus not display correctly in \MathJax.
%
% Symbol font commands are emulated, but not all combinations are
-% supported by \brand{MathJax}, especially with the dedicated Greek macros.
+% supported by \MathJax, especially with the dedicated Greek macros.
% Symbol macros such as \cs{symbfsf} may not be sans or bold.
% For Greek, use the Unicode equivalent, if necessary.
%
-% The \brand{MathJax} emulation does not change with the use of \cs{mathversion}.
+% The \MathJax\ emulation does not change with the use of \cs{mathversion}.
% \watchout[\cs{mathversion}]
% Whatever emulation is established at the begin of the document will remain.
%
@@ -86700,11 +87241,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% but \optn{italic} will not be sans, in order to support Greek macros.
%
% Greek macros such as \cs{alpha} respond to the \optn{math-style} option.
-% Latin symbols does not, per \brand{MathJax} limitations, unless placed inside
+% Latin symbols does not, per \MathJax\ limitations, unless placed inside
% \cs{symbit} or similar.
%
% Macros from the categories \cs{mathopen}, \cs{mathclose}, and \cs{mathfence}
-% are emulated. Due to current \brand{MathJax} limitations, not all
+% are emulated. Due to current \MathJax\ limitations, not all
% stretch to the correct height.
%
% Also emulated are macros from the categories
@@ -86713,11 +87254,11 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% The individual \pkg{unicode-math} macros
% of categories \cs{mathbin}, \cs{mathord}, and \cs{mathrel}
-% are not emulated for \brand{MathJax},
+% are not emulated for \MathJax,
% as there are more than two thousand of them, but they may be added as needed.
% Place the following in the document preamble after loading \pkg{unicode-math},
% including a definition for each macro which is used in the document
-% but undefined in \brand{MathJax}:
+% but undefined in \MathJax:
%
% \begin{sourceverb}
% \begin{warpMathJax}
@@ -86730,7 +87271,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% For a list of macro names and symbols, see \cmds{texdoc unimath-symbols}.
%
% \changes{v0.79}{2020/01/30}{\pkg{unicode-math}: Added.}
-% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \brand{MathJax}.}
+% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \MathJax.}
%
% \codehtml
%
@@ -86846,7 +87387,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% or \optn{literal},
% which set |\g__um_upGreek_bool| and |\g__um_upgreek_bool|.
%
-% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \brand{MathJax}.}
+% \changes{v0.80}{2020/02/15}{\pkg{unicode-math}: Improved \MathJax.}
% \begin{macrocode}
\ExplSyntaxOn
@@ -86876,7 +87417,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% Many \cs{mathopen} \Slash \cs{mathclose} delimiters are
% defined in \filenm{lwarp_mathjax.txt}, where
% \cs{left} \Slash \cs{right} support is added.
-% \changes{v0.892}{2020/09/26}{\pkg{unicode-math}: Adeed \brand{MathJax} support for \cs{left} \Slash \cs{right}.}
+% \changes{v0.892}{2020/09/26}{\pkg{unicode-math}: Adeed \MathJax\ support for \cs{left} \Slash \cs{right}.}
% \begin{macrocode}
\CustomizeMathJax{\newcommand{\longdivision}[1]{\mathord{\unicode{x027CC}#1}}}
@@ -87110,10 +87651,10 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{upgreek}
% \pkg{upgreek} is used as-is for \SVG\ math, and is
-% emulated for \brand{MathJax}.
+% emulated for \MathJax.
%
% \changes{v0.89}{2020/08/10}{\pkg{upgreek}: Added.}
-% \changes{v0.901}{2021/08/26}{\pkg{upgreek}: Use \brand{MathJax} package.}
+% \changes{v0.901}{2021/08/26}{\pkg{upgreek}: Use \MathJax\ package.}
%
% \codehtml
%
@@ -87121,7 +87662,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
\LWR@ProvidesPackagePass{upgreek}[2003/02/12]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\require{upgreek}}
@@ -87222,7 +87763,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% \credits{Martin V\"ath}
%
% \DescribePackage{ushort}
-% \pkg{ushort} is used as-is, and emulated for \brand{MathJax}.
+% \pkg{ushort} is used as-is, and emulated for \MathJax.
%
% \changes{v0.88}{2020/07/23}{\pkg{ushort}: Added.}
%
@@ -87928,7 +88469,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
%
% \DescribePackage{witharrows}
% \pkg{witharrows} is patched for use by \pkg{lwarp}.
-% Emulation is provided for \brand{MathJax}.
+% Emulation is provided for \MathJax.
%
% \changes{v0.79}{2020/01/31}{\pkg{witharrows}: Added.}
%
@@ -88953,20 +89494,29 @@ height:\LWR@printlength{\LWR@tempheight}%
% \pkg{xetexko} is patched for use by \pkg{lwarp}.
%
% \changes{v0.20}{2017/01/11}{\pkg{xetexko}: Added.}
+% \changes{v0.902}{2021/09/30}{\pkg{xetexko}: Updated to v4.0.}
%
% \codehtml
%
% \begin{macrocode}
\LWR@loadbefore{xetexko}
-\LWR@ProvidesPackagePass{xetexko}[2021/03/22]
+\LWR@ProvidesPackagePass{xetexko}[2021/09/06]
% \end{macrocode}
%
% \begin{macrocode}
-\renewcommand{\verticaltypesetting}{}
-\renewenvironment{vertical}[1]{\BlockClass{verticalrl}}{\endBlockClass}
-\renewenvironment{horizontal}[1]{\BlockClass{horizontaltb}}{\endBlockClass}
-\renewcommand{\vertlatin}[1]{#1}
+\protected\def\typesetvertical{}
+\protected\def\typesethorizontal{}
+
+\def\verticaltypesetting{\BlockClass{verticalrl}}
+\def\beginverticaltypesetting{\BlockClass{verticalrl}}
+\def\endverticaltypesetting{\endBlockClass}
+
+\protected\def\vertical#1{\BlockClass{verticalrl}}
+\protected\def\endvertical{\endBlockClass}
+\protected\def\horizontal#1{\BlockClass{horizontaltb}}
+\protected\def\endhorizontal{\endBlockClass}
+\DeclareDocumentCommand{\vertlatin}{m}{#1}
% \end{macrocode}
%
% \iffalse
@@ -89052,7 +89602,7 @@ height:\LWR@printlength{\LWR@tempheight}%
}
% \end{macrocode}
%
-% For \brand{MathJax}, \pkg{xfakebold} is ignored.
+% For \MathJax, \pkg{xfakebold} is ignored.
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\setBold}[1][]{}}
@@ -89079,7 +89629,7 @@ height:\LWR@printlength{\LWR@tempheight}%
% \credits{The \LaTeX3 Project}
%
% \DescribePackage{xfrac} Supported by adding \pkg{xfrac} instances,
-% and emulated for \brand{MathJax}.
+% and emulated for \MathJax.
%
% \codehtml
% \begin{macrocode}
@@ -89215,8 +89765,8 @@ height:\LWR@printlength{\LWR@tempheight}%
% \end{macrocode}
-% For \brand{MathJax}:
-% \changes{v0.80}{2020/02/08}{\pkg{xfrac}: Added \brand{MathJax} emulation.}
+% For \MathJax:
+% \changes{v0.80}{2020/02/08}{\pkg{xfrac}: Added \MathJax\ emulation.}
% \begin{macrocode}
\begin{warpMathJax}
\CustomizeMathJax{\newcommand{\LWRsfrac}[2][/]{{}^\LWRsfracnumerator\!#1{}_{#2}}}
@@ -89445,7 +89995,9 @@ height:\LWR@printlength{\LWR@tempheight}%
% \end{macrocode}
%
% The original's boxes are not used, instead the contents are used with
-% \element{ruby}, \element{rb}, and \element{rt} tags per modern \HTML.
+% \element{ruby},
+% ^^A deprecated: \element{rb}, and
+% \element{rt}, and \element{rp} tags per modern \HTML.
% Color is detected. \optn{ratio} is ignored for \prog{pdftotext} to work correctly.
% Extra spaces are placed inside the tags to allow line breaks in the \HTML\
% text.
@@ -89466,14 +90018,15 @@ height:\LWR@printlength{\LWR@tempheight}%
\color_group_end:
}
\LWR@formatted{__xpinyin_make_pinyin_box:nnn}
+% \end{macrocode}
+% \changes{v0.902}{2021/09/30}{\pkg{xpinyin}: Removed deprecated \element{rb}.}
+% \begin{macrocode}
\cs_new_protected_nopar:Npn \LWR@HTML@__xpinyin_CJKsymbol:nn #1#2
{
\__xpinyin_leavevmode:
\LWR@htmltagc{ruby}
- \LWR@htmltagc{rb}
\__xpinyin_save_CJKsymbol:n {#2}\null% \null removes extra space
- \LWR@htmltagc{/rb\space}
\LWR@htmltagc{rp}(\LWR@htmltagc{/rp\space}
\LWR@htmltagc{rt}
\__xpinyin_make_pinyin_box:nnn {#1} {#2} { \use:c { c__xpinyin_ #1 _tl } }
@@ -89482,14 +90035,15 @@ height:\LWR@printlength{\LWR@tempheight}%
\LWR@htmltagc{/ruby\space}\null
}
\LWR@formatted{__xpinyin_CJKsymbol:nn}
+% \end{macrocode}
+% \changes{v0.902}{2021/09/30}{\pkg{xpinyin}: Removed deprecated \element{rb}.}
+% \begin{macrocode}
\cs_new_protected_nopar:Npn \LWR@HTML@__xpinyin_single_CJKsymbol:nn #1#2
{
\__xpinyin_leavevmode:
\LWR@htmltagc{ruby}
- \LWR@htmltagc{rb}
\__xpinyin_save_CJKsymbol:n {#1}\null% \null removes extra space
- \LWR@htmltagc{/rb\space}
\LWR@htmltagc{rp}(\LWR@htmltagc{/rp\space}
\LWR@htmltagc{rt}
\__xpinyin_make_pinyin_box:xnn
@@ -90085,9 +90639,9 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewenvironment{theindex}{%
\idx@heading%
\index@preamble\par\nobreak
- \let\item\LWR@indexitem%
- \let\subitem\LWR@indexsubitem%
- \let\subsubitem\LWR@indexsubsubitem%
+ \LetLtxMacro\item\LWR@indexitem%
+ \LetLtxMacro\subitem\LWR@indexsubitem%
+ \LetLtxMacro\subsubitem\LWR@indexsubsubitem%
}
{}
@@ -90203,6 +90757,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\ProvidesPackage{lwarp-patch-memoir}
% \end{macrocode}
%
+%
% \subsection{Packages}
% \label{sec:patch-memoir-packages}
%
@@ -90307,7 +90862,6 @@ height:\LWR@printlength{\LWR@tempheight}%
}
}
% \end{macrocode}
-
%
%
% \subsection{Page layout}
@@ -90460,6 +91014,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand{\setpagecc}[3]{}
% \end{macrocode}
%
+%
% \subsection{Text and fonts}
% \begin{macrocode}
\let\miniscule\tiny
@@ -90506,6 +91061,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\sloppybottom}{}
% \end{macrocode}
%
+%
% \subsection{Titles}
%
% \changes{v0.54}{2018/04/06}{\pkg{lwarp-patch-memoir}: Update for v3.7g.}
@@ -90543,7 +91099,6 @@ height:\LWR@printlength{\LWR@tempheight}%
%
% \subsection{Docment divisions}
%
-%
% \begin{noindmacro}{\book} * \parg{2:PDF name} \oarg{3:TOC name}
% \oarg{4:PDF name} \parg{5:PDF name} \marg{6:name}
% \changes{v0.73}{2019/06/21}{\pkg{lwarp-patch-memoir}: Added \cs{book}.}
@@ -90715,6 +91270,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\headstyles}[1]{}
% \end{macrocode}
%
+%
% \subsection{Pagination and headers}
% \begin{macrocode}
\renewcommand*{\savepagenumber}{}
@@ -90781,6 +91337,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\showtextblocklocoff}{}
% \end{macrocode}
%
+%
% \subsection{Paragraphs and lists}
% \begin{macrocode}
\renewcommand{\hangfrom}[1]{#1}
@@ -90789,7 +91346,12 @@ height:\LWR@printlength{\LWR@tempheight}%
% \newlength{\ragrparindent}
\renewcommand{\sourceatright}[2][]{\attribution{#2}}
\let\memorigdbs\LWR@endofline
-\let\memorigpar\par
+% \end{macrocode}
+% \changes{v0.902}{2021/09/30}{\pkg{memoir}: Fixed \cs{memorigpar}.}
+% \begin{macrocode}
+\renewcommand*{\memorigpar}{\par}
+% \end{macrocode}
+% \begin{macrocode}
\let\atcentercr\LWR@endofline
\renewcommand*{\linenottooshort}[1][]{}
@@ -90822,6 +91384,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\restoretrivseps}{}
% \end{macrocode}
%
+%
% \subsection{Contents lists}
%
% \changes{v0.82}{2020/03/24}{\pkg{lwarp-patch-memoir}: Supports \pkg{tocvsec2}.}
@@ -91300,6 +91863,7 @@ height:\LWR@printlength{\LWR@tempheight}%
}
% \end{macrocode}
%
+%
% \subsection{Footnotes and page notes}
%
% \begin{macrocode}
@@ -91475,6 +92039,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\PoemTitlefont}{}
% \end{macrocode}
%
+%
% \subsection{Boxes, verbatims and files}
%
% \begin{macrocode}
@@ -91526,6 +92091,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\bvnumbersoutside}{}
% \end{macrocode}
%
+%
% \subsection{Cross referencing}
%
% \begin{macrocode}
@@ -91561,6 +92127,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\namerefoff}{}
% \end{macrocode}
%
+%
% \subsection{Back matter}
% \label{sec:memoirbackmatter}
%
@@ -91665,6 +92232,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\renewcommand*{\xindyindex}{}
% \end{macrocode}
%
+%
% \subsection{Miscellaneous}
%
% \begin{macrocode}
@@ -92240,7 +92808,7 @@ height:\LWR@printlength{\LWR@tempheight}%
%
% \DescribePackage{lwarp-common-mathjax-letters}
% Common code used by a number of packages to generate Greek math characters
-% for \brand{MathJax}.
+% for \MathJax.
%
% \changes{v0.89}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added.}
% \changes{v0.893}{2020/08/10}{\pkg{lwarp-common-mathjax-letters}: Added \cs{varbeta}.}
@@ -92700,7 +93268,7 @@ height:\LWR@printlength{\LWR@tempheight}%
%
% \DescribePackage{lwarp-common-mathjax-newpxtxmath}
% Common code used by \pkg{newpxmath}, \pkg{newtxmath}, and \pkg{newtxsf}
-% for \brand{MathJax}.
+% for \MathJax.
%
% \changes{v0.89}{2020/08/31}{\pkg{lwarp-common-mathjax-newpxtxmath}: Added.}
% \changes{v0.891}{2020/09/20}{\pkg{lwarp-common-mathjax-newpxtxmath}: Reverse factored out Greek, non-\brand{Unicode}.}
@@ -92711,7 +93279,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\ProvidesPackage{lwarp-common-mathjax-newpxtxmath}[2020/09/20]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\LWR@origRequirePackage{lwarp-common-mathjax-nonunicode}
\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
@@ -93060,7 +93628,7 @@ height:\LWR@printlength{\LWR@tempheight}%
% \DescribePackage{lwarp-common-mathjax-nonunicode}
% Common code used by \pkg{newpxmath}, \pkg{newtxmath}, \pkg{newtxsf},
% \pkg{kpfonts-otf}
-% for \brand{MathJax}.
+% for \MathJax.
% These are symbols not found in \brand{Unicode}.
%
% Factored from \pkg{lwarp-common-mathjax-newpxtxmath}.
@@ -93073,7 +93641,7 @@ height:\LWR@printlength{\LWR@tempheight}%
\ProvidesPackage{lwarp-common-mathjax-nonunicode}[2020/09/20]
% \end{macrocode}
%
-% For \brand{MathJax}:
+% For \MathJax:
% \begin{macrocode}
\LWR@origRequirePackage{lwarp-common-mathjax-overlaysymbols}
@@ -93229,7 +93797,7 @@ height:\LWR@printlength{\LWR@tempheight}%
%
% \DescribePackage{lwarp-common-mathjax-overlaysymbols}
% Common code used by a number of packages to overlay two symbols
-% for \brand{MathJax}.
+% for \MathJax.
%
% \changes{v0.89}{2020/08/17}{\pkg{lwarp-common-mathjax-overlaysymbols}: Added.}
%
diff --git a/macros/latex/contrib/lwarp/lwarp.ins b/macros/latex/contrib/lwarp/lwarp.ins
index 5d3ad912df..b78c0027ad 100644
--- a/macros/latex/contrib/lwarp/lwarp.ins
+++ b/macros/latex/contrib/lwarp/lwarp.ins
@@ -75,6 +75,7 @@ version 2005/12/01 or later.
\file{lwarp-backref.sty}{\from{lwarp.dtx}{backref}}
\file{lwarp-balance.sty}{\from{lwarp.dtx}{balance}}
\file{lwarp-bbding.sty}{\from{lwarp.dtx}{bbding}}
+\file{lwarp-beamerarticle.sty}{\from{lwarp.dtx}{beamerarticle}}
\file{lwarp-biblatex.sty}{\from{lwarp.dtx}{biblatex}}
\file{lwarp-bibunits.sty}{\from{lwarp.dtx}{bibunits}}
\file{lwarp-bigdelim.sty}{\from{lwarp.dtx}{bigdelim}}
@@ -507,6 +508,7 @@ version 2005/12/01 or later.
\file{lwarp-supertabular.sty}{\from{lwarp.dtx}{supertabular}}
\file{lwarp-svg.sty}{\from{lwarp.dtx}{svg}}
\file{lwarp-swfigure.sty}{\from{lwarp.dtx}{swfigure}}
+\file{lwarp-sympytex.sty}{\from{lwarp.dtx}{sympytex}}
\file{lwarp-syntonly.sty}{\from{lwarp.dtx}{syntonly}}
\file{lwarp-tabfigures.sty}{\from{lwarp.dtx}{tabfigures}}
\file{lwarp-tablefootnote.sty}{\from{lwarp.dtx}{tablefootnote}}
diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf
index ccdf3d87da..e6119bc4e8 100644
--- a/macros/latex/contrib/lwarp/lwarp.pdf
+++ b/macros/latex/contrib/lwarp/lwarp.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua
index 0b276a9301..eddb459816 100755
--- a/macros/latex/contrib/lwarp/lwarpmk.lua
+++ b/macros/latex/contrib/lwarp/lwarpmk.lua
@@ -2,7 +2,7 @@
-- Copyright 2016-2021 Brian Dunn
-printversion = "v0.901"
+printversion = "v0.902"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
diff --git a/macros/latex/contrib/tabularray/tabularray.pdf b/macros/latex/contrib/tabularray/tabularray.pdf
index 198b6fd211..450375620e 100644
--- a/macros/latex/contrib/tabularray/tabularray.pdf
+++ b/macros/latex/contrib/tabularray/tabularray.pdf
Binary files differ
diff --git a/macros/latex/contrib/tabularray/tabularray.sty b/macros/latex/contrib/tabularray/tabularray.sty
index 2e3fa4eb5d..db63c63a3c 100644
--- a/macros/latex/contrib/tabularray/tabularray.sty
+++ b/macros/latex/contrib/tabularray/tabularray.sty
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
-\ProvidesExplPackage{tabularray}{2021-09-01}{2021N}
+\ProvidesExplPackage{tabularray}{2021-10-01}{2021P}
{Typeset tabulars and arrays with LaTeX3}
\RequirePackage{xparse}
@@ -52,6 +52,7 @@
\cs_generate_variant:Nn \tl_const:Nn { ce }
\cs_generate_variant:Nn \tl_log:n { x }
\cs_generate_variant:Nn \tl_gput_right:Nn { Nf }
+\cs_generate_variant:Nn \tl_put_left:Nn { Nv }
\prg_generate_conditional_variant:Nnn \clist_if_in:Nn { Nx } { TF }
\prg_generate_conditional_variant:Nnn \prop_if_in:Nn { c } { T }
\prg_generate_conditional_variant:Nnn \str_if_eq:nn { xn } { TF }
@@ -105,11 +106,13 @@
\cs_new_eq:NN \__tblr_halign_command_c: \centering
\cs_new_eq:NN \__tblr_halign_command_r: \raggedleft
-%% Some counters for row and column numbering
-\newcounter{rownum}
-\newcounter{colnum}
-\newcounter{rowcount}
-\newcounter{colcount}
+%% Some counters for row and column numbering.
+%% We may need to restore all LaTeX counters in measuring and building cells,
+%% so we must not define these counters with \newcounter command.
+\int_new:N \c@rownum
+\int_new:N \c@colnum
+\int_new:N \c@rowcount
+\int_new:N \c@colcount
%% Some dimensions for row and column spacing
\dim_new:N \abovesep
@@ -369,7 +372,10 @@
\__tblr_data_new_key:nnn { cell } { halign } { str }
\__tblr_data_new_key:nnn { cell } { valign } { str }
\__tblr_data_new_key:nnn { cell } { background } { str }
+\__tblr_data_new_key:nnn { cell } { foreground } { str }
\__tblr_data_new_key:nnn { cell } { font } { str }
+\__tblr_data_new_key:nnn { cell } { mode } { str }
+\__tblr_data_new_key:nnn { cell } { cmd } { str }
\__tblr_data_new_key:nnn { cell } { omit } { int }
\__tblr_data_new_key:nnn { cell } { @cell-width } { dim }
\__tblr_data_new_key:nnn { cell } { @cell-height } { dim }
@@ -1634,11 +1640,14 @@
f .meta:n = { valign = f },
wd .code:n = \__tblr_cell_gput:ne { width } {#1},
bg .code:n = \__tblr_cell_gput:ne { background } {#1},
+ fg .code:n = \__tblr_cell_gput:ne { foreground } {#1},
+ font .code:n = \__tblr_cell_gput:nn { font } { #1 \selectfont },
+ mode .code:n = \__tblr_cell_gput:nn { mode } {#1},
+ $ .meta:n = { mode = math },
+ $$ .meta:n = { mode = dmath },
+ cmd .code:n = \__tblr_cell_gput:nn { cmd } {#1},
preto .code:n = \__tblr_cell_preto_text:n {#1},
appto .code:n = \__tblr_cell_appto_text:n {#1},
- cmd .code:n = \__tblr_cell_process_text:n {#1},
- fg .code:n = \__tblr_cell_preto_text:n { \color{#1} },
- font .code:n = \__tblr_cell_gput:nn { font } { #1 \selectfont },
unknown .code:n = \__tblr_cell_unknown_key:V \l_keys_key_str,
}
@@ -1686,23 +1695,6 @@
}
\cs_generate_variant:Nn \__tblr_cell_appto_text:nnn { nen, enn, een }
-\cs_new_protected:Npn \__tblr_cell_process_text:n #1
- {
- \__tblr_cell_process_text:een
- { \int_use:N \c@rownum } { \int_use:N \c@colnum } {#1}
- }
-
-\cs_new_protected:Npn \__tblr_cell_process_text:nnn #1 #2 #3
- {
- \tl_set:Nx \l__tblr_cell_text_tl
- {
- { \__tblr_spec_item:nn { text } { [#1][#2] } }
- }
- \tl_put_left:Nn \l__tblr_cell_text_tl {#3}
- \__tblr_spec_gput:nnV { text } { [#1][#2] } \l__tblr_cell_text_tl
- }
-\cs_generate_variant:Nn \__tblr_cell_process_text:nnn { nen, enn, een }
-
\cs_new_protected:Npn \__tblr_cell_unknown_key:n #1
{
\regex_match:NnTF \c__tblr_is_color_key_regex {#1}
@@ -1911,13 +1903,16 @@
h .meta:n = { valign = h },
f .meta:n = { valign = f },
bg .code:n = \__tblr_column_gput_cell:nn { background } {#1},
- fg .code:n = \__tblr_preto_text_for_every_column_cell:n { \color{#1} },
+ fg .code:n = \__tblr_column_gput_cell:nn { foreground } {#1},
font .code:n = \__tblr_column_gput_cell:nn { font } { #1 \selectfont },
+ mode .code:n = \__tblr_column_gput_cell:nn { mode } {#1},
+ $ .meta:n = { mode = math },
+ $$ .meta:n = { mode = dmath },
+ cmd .code:n = \__tblr_column_gput_cell:nn { cmd } {#1},
wd .code:n = \__tblr_column_gput:ne { width } { \dim_eval:n {#1} },
co .code:n = \__tblr_column_gput:ne { coefficient } {#1},
preto .code:n = \__tblr_preto_text_for_every_column_cell:n {#1},
appto .code:n = \__tblr_appto_text_for_every_column_cell:n {#1},
- cmd .code:n = \__tblr_process_text_for_every_column_cell:n {#1},
leftsep .code:n = \__tblr_column_gput:ne { leftsep } { \dim_eval:n {#1} },
rightsep .code:n = \__tblr_column_gput:ne { rightsep } { \dim_eval:n {#1} },
colsep .meta:n = { leftsep = #1, rightsep = #1},
@@ -1969,14 +1964,6 @@
}
}
-\cs_new_protected:Npn \__tblr_process_text_for_every_column_cell:n #1
- {
- \int_step_inline:nn { \c@rowcount }
- {
- \__tblr_cell_process_text:nen {##1} { \int_use:N \c@colnum } {#1}
- }
- }
-
\regex_const:Nn \c__tblr_is_number_key_regex { ^[\+\-]? (\d+|\d*\.\d+)$ }
\cs_new_protected:Npn \__tblr_column_unknown_key:n #1
@@ -2071,13 +2058,16 @@
h .meta:n = { valign = h },
f .meta:n = { valign = f },
bg .code:n = \__tblr_row_gput_cell:nn { background } {#1},
- fg .code:n = \__tblr_preto_text_for_every_row_cell:n { \color{#1} },
+ fg .code:n = \__tblr_row_gput_cell:nn { foreground } {#1},
font .code:n = \__tblr_row_gput_cell:nn { font } { #1 \selectfont },
+ mode .code:n = \__tblr_row_gput_cell:nn { mode } {#1},
+ $ .meta:n = { mode = math },
+ $$ .meta:n = { mode = dmath },
+ cmd .code:n = \__tblr_row_gput_cell:nn { cmd } {#1},
ht .code:n = \__tblr_row_gput:ne { height } { \dim_eval:n {#1} },
co .code:n = \__tblr_row_gput:ne { coefficient } {#1},
preto .code:n = \__tblr_preto_text_for_every_row_cell:n {#1},
appto .code:n = \__tblr_appto_text_for_every_row_cell:n {#1},
- cmd .code:n = \__tblr_process_text_for_every_row_cell:n {#1},
abovesep .code:n = \__tblr_row_gput:ne { abovesep } { \dim_eval:n {#1} },
belowsep .code:n = \__tblr_row_gput:ne { belowsep } { \dim_eval:n {#1} },
rowsep .meta:n = { abovesep = #1, belowsep = #1},
@@ -2142,14 +2132,6 @@
}
}
-\cs_new_protected:Npn \__tblr_process_text_for_every_row_cell:n #1
- {
- \int_step_inline:nn { \c@colcount }
- {
- \__tblr_cell_process_text:enn { \int_use:N \c@rownum } {##1} {#1}
- }
- }
-
\cs_new_protected:Npn \__tblr_row_unknown_key:n #1
{
\regex_match:NnTF \c__tblr_is_number_key_regex {#1}
@@ -3397,7 +3379,9 @@
\cs_new_protected:Npn \__tblr_measure_cell_update_sizes:nnNNNN #1 #2 #3 #4 #5 #6
{
\__tblr_get_cell_alignments:nn {#1} {#2}
+ \__tblr_save_counters:n { trial }
\hbox_set:Nn \l_tmpa_box { \__tblr_get_cell_text:nn {#1} {#2} }
+ \__tblr_restore_counters:n { trial }
\__tblr_update_cell_size:nnNNNN {#1} {#2} #3 #4 #5 #6
\__tblr_update_row_size:nnNNN {#1} {#2} #4 #5 #6
\__tblr_update_col_size:nN {#2} #3
@@ -3416,13 +3400,45 @@
{ \__tblr_get_cell_text_real:nn { #1 } { #2 } }
}
+\tl_new:N \l__tblr_cell_fg_tl
+\tl_new:N \l__tblr_cell_cmd_tl
+\tl_new:N \l__tblr_cell_mode_tl
+\bool_new:N \l__tblr_cell_math_mode_bool
+\tl_const:Nn \l__tblr_cell_math_style_tl { \relax }
+\tl_const:Nn \l__tblr_cell_imath_style_tl { \textstyle }
+\tl_const:Nn \l__tblr_cell_dmath_style_tl { \displaystyle }
+
%% Get cell text, #1: row number, #2: column number
%% If the width of the cell is not set, split it with \\ and compute the width
%% Therefore we always get a vbox for any cell
\cs_new_protected:Npn \__tblr_get_cell_text_real:nn #1 #2
{
\group_begin:
- \tl_set:Nx \l__tblr_c_tl { \__tblr_spec_item:ne { text } {[#1][#2]} }
+ \tl_set:Nx \l__tblr_cell_cmd_tl
+ { \__tblr_data_item:neen { cell } {#1} {#2} { cmd } }
+ \tl_if_empty:NTF \l__tblr_cell_cmd_tl
+ { \tl_set:Nx \l__tblr_c_tl { \__tblr_spec_item:ne { text } {[#1][#2]} } }
+ {
+ \tl_set:Nx \l__tblr_c_tl { { \__tblr_spec_item:ne { text } {[#1][#2]} } }
+ \tl_put_left:NV \l__tblr_c_tl \l__tblr_cell_cmd_tl
+ }
+ \tl_set:Nx \l__tblr_cell_mode_tl
+ { \__tblr_data_item:neen { cell } {#1} {#2} { mode } }
+ \tl_if_empty:NT \l__tblr_cell_mode_tl
+ {
+ \bool_if:NTF \l__tblr_math_mode_bool
+ { \tl_set:Nn \l__tblr_cell_mode_tl { math } }
+ { \tl_set:Nn \l__tblr_cell_mode_tl { text } }
+ }
+ \tl_if_eq:NnTF \l__tblr_cell_mode_tl { text }
+ { \bool_set_false:N \l__tblr_cell_math_mode_bool }
+ {
+ \bool_set_true:N \l__tblr_cell_math_mode_bool
+ \tl_put_left:Nv \l__tblr_c_tl
+ { l__tblr_cell_ \l__tblr_cell_mode_tl _style_tl }
+ \tl_put_left:Nn \l__tblr_c_tl { $ }
+ \tl_put_right:Nn \l__tblr_c_tl { $ }
+ }
\tl_set:Nx \l__tblr_f_tl { \__tblr_data_item:neen { cell } {#1} {#2} { font } }
\tl_set:Nx \l__tblr_w_tl
{ \__tblr_data_item:neen { cell } {#1} {#2} { width } }
@@ -3437,15 +3453,17 @@
}
\dim_compare:nNnT { \l__tblr_w_tl } < { 0pt } % column width unset
{
- \bool_if:NTF \l__tblr_math_mode_bool
+ \bool_if:NTF \l__tblr_cell_math_mode_bool
{
- \hbox_set:Nn \l_tmpa_box { $\l__tblr_c_tl$ }
+ \hbox_set:Nn \l_tmpa_box { \l__tblr_c_tl }
\tl_set:Nx \l__tblr_w_tl { \box_wd:N \l_tmpa_box }
}
{
\__tblr_get_cell_size_with_box:
}
}
+ \tl_set:Nx \l__tblr_cell_fg_tl
+ { \__tblr_data_item:neen { cell } {#1} {#2} { foreground } }
\tl_put_left:NV \l__tblr_c_tl \l__tblr_f_tl
\__tblr_get_vcell_and_sizes:NN \l__tblr_c_tl \l__tblr_w_tl
\group_end:
@@ -3453,9 +3471,11 @@
\cs_new_protected:Npn \__tblr_get_cell_size_with_box:
{
+ \__tblr_save_counters:n { cell }
\tl_if_eq:NnTF \l__tblr_inner_spec_measure_tl { vbox }
{ \__tblr_get_cell_size_with_vbox: }
{ \__tblr_get_cell_size_with_hbox: }
+ \__tblr_restore_counters:n { cell }
}
%% Varwidth won't work as expected when \color command occurs in it,
@@ -3503,7 +3523,9 @@
\cs_new_protected:Npn \__tblr_get_vcell_and_sizes:NN #1 #2
{
\group_begin:
+ \__tblr_save_counters:n { cell }
\vbox_set_top:Nn \l_tmpa_box { \__tblr_make_vcell_text:NN #1 #2 }
+ \__tblr_restore_counters:n { cell }
\vbox_set:Nn \l_tmpb_box { \__tblr_make_vcell_text:NN #1 #2 }
\dim_gset:Nn \g__tblr_cell_wd_dim { \box_wd:N \l_tmpb_box }
\dim_gset:Nn \g__tblr_cell_ht_dim
@@ -3555,8 +3577,9 @@
\cs:w __tblr_halign_command_ \g__tblr_cell_halign_tl : \cs_end:
\mode_leave_vertical:
\box_use:N \l__tblr_strut_ht_box
- \bool_if:NTF \l__tblr_math_mode_bool
- { $#1$ }
+ \tl_if_empty:NF \l__tblr_cell_fg_tl { \exp_args:NV \color \l__tblr_cell_fg_tl }
+ \bool_if:NTF \l__tblr_cell_math_mode_bool
+ { #1 }
{ \__tblr_rescan_cell_tokens:N #1 }
\box_use:N \l__tblr_strut_dp_box
}
@@ -3571,6 +3594,8 @@
\tl_if_empty:NTF \l__tblr_inner_spec_verb_tl
{ #1 }
{
+ %% insert space characters after some control sequences first (issue #112)
+ \regex_replace_all:nnN { (\c{[A-Za-z]*}) ([A-Za-z]) } { \1 \ \2 } #1
\regex_replace_all:nnN { . } { \c{string} \0 } #1
\tl_set:Nx #1 { #1 \noexpand \empty }
\exp_args:NV \tex_scantokens:D #1
@@ -4644,7 +4669,7 @@
%% since we want a correct hangindent caption paragraph.
\DefTblrTemplate { caption-tag } { empty } { }
-\DefTblrTemplate { caption-tag } { normal } { Table \hspace{0.25em} \thetable }
+\DefTblrTemplate { caption-tag } { normal } { \tablename\hspace{0.25em}\thetable }
\SetTblrTemplate { caption-tag } { normal }
\DefTblrTemplate { caption-sep } { empty } { }
@@ -5386,11 +5411,7 @@
\vbox_set:Nn \l__tblr_table_box
{
\box_use:N \l__tblr_table_head_box
- \hrule height ~ 0pt
- \box_use:N \l__tblr_row_head_box
- \hrule height ~ 0pt
- \box_use:N \l__tblr_table_box
- \hrule height ~ 0pt
+ \__tblr_cover_two_vboxes:NN \l__tblr_row_head_box \l__tblr_table_box
\box_use:N \l__tblr_row_foot_box
\hrule height ~ 0pt
\box_use:N \l__tblr_table_foot_box
@@ -5399,6 +5420,22 @@
}
\cs_generate_variant:Nn \__tblr_build_page_table:nnn { nnx }
+%% To solve the problem of missing hlines of long tables in some PDF readers,
+%% We need to draw body rows before head rows (see issue #88).
+\cs_new_protected:Npn \__tblr_cover_two_vboxes:NN #1 #2
+ {
+ \dim_set:Nn \l_tmpa_dim { \box_ht:N #1 + \box_dp:N #1 }
+ \dim_set:Nn \l_tmpb_dim { \box_ht:N #2 + \box_dp:N #2 }
+ \skip_vertical:N \l_tmpa_dim
+ \hrule height ~ 0pt
+ \box_use:N #2
+ \skip_vertical:n { - \l_tmpa_dim - \l_tmpb_dim }
+ \hrule height ~ 0pt
+ \box_use:N #1
+ \skip_vertical:N \l_tmpb_dim
+ \hrule height ~ 0pt
+ }
+
\cs_new_protected:Npn \__tblr_halign_whole:Nn #1 #2
{
\noindent
@@ -6451,6 +6488,72 @@
\clist_map_inline:nn {#1} { \use:c { __tblr_use_lib_ ##1: } }
}
+%% Library amsmath and environments +array, +matrix, +cases, ...
+
+\NewTblrLibrary { amsmath }
+ {
+ \RequirePackage { amsmath, environ }
+ \NewTblrEnviron { +array }
+ \SetTblrInner[+array]{colsep = 5pt}
+ \NewEnviron { +matrix } [1] [] {
+ \begin{+array}[expand = \BODY]{
+ column{1} = {leftsep = 0pt}, column{Z} = {rightsep = 0pt},
+ cells = {c}, ##1
+ }
+ \BODY
+ \end{+array}
+ }
+ \NewEnviron { +bmatrix } [1] [] {
+ \left[\begin{+array}[expand = \BODY]{
+ column{1} = {leftsep = 0pt}, column{Z} = {rightsep = 0pt},
+ cells = {c}, ##1
+ }
+ \BODY
+ \end{+array}\right]
+ \ignorespacesafterend
+ }
+ \NewEnviron { +Bmatrix } [1] [] {
+ \left\lbrace\begin{+array}[expand = \BODY]{
+ column{1} = {leftsep = 0pt}, column{Z} = {rightsep = 0pt},
+ cells = {c}, ##1
+ }
+ \BODY
+ \end{+array}\right\rbrace
+ }
+ \NewEnviron { +pmatrix } [1] [] {
+ \left(\begin{+array}[expand = \BODY]{
+ column{1} = {leftsep = 0pt}, column{Z} = {rightsep = 0pt},
+ cells = {c}, ##1
+ }
+ \BODY
+ \end{+array}\right)
+ }
+ \NewEnviron { +vmatrix } [1] [] {
+ \left\lvert\begin{+array}[expand = \BODY]{
+ column{1} = {leftsep = 0pt}, column{Z} = {rightsep = 0pt},
+ cells = {c}, ##1
+ }
+ \BODY
+ \end{+array}\right\rvert
+ }
+ \NewEnviron { +Vmatrix } [1] [] {
+ \left\lVert\begin{+array}[expand = \BODY]{
+ column{1} = {leftsep = 0pt}, column{Z} = {rightsep = 0pt},
+ cells = {c}, ##1
+ }
+ \BODY
+ \end{+array}\right\rVert
+ }
+ \NewEnviron { +cases } [1] [] {
+ \left\lbrace\begin{+array}[expand = \BODY]{
+ column{1} = {leftsep = 0pt}, column{Z} = {rightsep = 0pt},
+ colspec = {ll}, stretch = 1.2, ##1
+ }
+ \BODY
+ \end{+array}\right.
+ }
+ }
+
%% Library booktabs and commands \toprule, \midrule, \bottomrule
\NewTblrLibrary { booktabs }
@@ -6507,6 +6610,32 @@
{ \SetVspace { abovespace+ = (##1) / 2, belowspace+ = (##1) / 2 } }
}
+%% Library counter for resetting all counters
+
+\tl_new:N \__tblr_saved_trial_counters_tl
+\tl_new:N \__tblr_saved_cell_counters_tl
+
+\cs_new_protected:Npn \__tblr_save_counters:n #1 { }
+\cs_new_protected:Npn \__tblr_restore_counters:n #1 { }
+
+%% We use code from tabularx package for resetting all LaTeX counters,
+%% where internal macro \cl@@ckpt looks like the following:
+%% \@elt{page} \@elt{equation} \@elt{enumi} \@elt{enumii} \@elt{enumiii} ...
+
+\NewTblrLibrary { counter }
+ {
+ \cs_set_protected:Npn \__tblr_save_counters:n ##1
+ {
+ \def \@elt ####1 { \global\value{####1} = \the\value{####1} \relax }
+ \tl_set:cx { __tblr_saved_ ##1 _counters_tl } { \cl@@ckpt }
+ \let \@elt = \relax
+ }
+ \cs_set_protected:Npn \__tblr_restore_counters:n ##1
+ {
+ \tl_use:c { __tblr_saved_ ##1 _counters_tl }
+ }
+ }
+
%% Library diagbox and command \diagbox
\NewTblrLibrary { diagbox }
@@ -6538,7 +6667,7 @@
\cs_new_protected:Npn \__tblr_lib_diagbox_math_or_text:n #1
{
- \bool_if:NTF \l__tblr_math_mode_bool {$#1$} {#1}
+ \bool_if:NTF \l__tblr_cell_math_mode_bool {$#1$} {#1}
}
\box_new:N \l__tblr_diag_box
@@ -6566,7 +6695,7 @@
\cs_new_protected:Npn \__tblr_siunitx_setcolumn:n ##1
{
\__tblr_column_gput_cell:nn { si } {##1}
- \__tblr_process_text_for_every_column_cell:n { \TblrNum }
+ \__tblr_column_gput_cell:nn { cmd } { \TblrNum }
}
\NewDocumentCommand \TblrNum { m }
{
diff --git a/macros/latex/contrib/tabularray/tabularray.tex b/macros/latex/contrib/tabularray/tabularray.tex
index 0d502f3bbc..bda64717b4 100644
--- a/macros/latex/contrib/tabularray/tabularray.tex
+++ b/macros/latex/contrib/tabularray/tabularray.tex
@@ -1,6 +1,9 @@
% -*- coding: utf-8 -*-
% !TEX program = lualatex
\documentclass[oneside]{book}
+\newcommand*{\myversion}{2021P}
+\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
+
\usepackage[a4paper,margin=2.5cm]{geometry}
\usepackage{codehigh} % https://ctan.org/pkg/codehigh
@@ -11,7 +14,7 @@
\usepackage[firstpage=true]{background}
\backgroundsetup{contents={}}
-\UseTblrLibrary{booktabs,diagbox,siunitx,varwidth}
+\UseTblrLibrary{amsmath,booktabs,counter,diagbox,siunitx,varwidth}
\usepackage{hyperref}
\hypersetup{
@@ -58,10 +61,7 @@
\end{tcolorbox}
}
-\renewcommand*{\thefootnote}{*}
-
-\newcommand*{\myversion}{2021N}
-\newcommand*{\mylpad}[1]{\ifnum#1<10 0\the#1\else\the#1\fi}
+%\renewcommand*{\thefootnote}{*}
\colorlet{highback}{azure9}
\CodeHigh{language=latex/table,style/main=highback,style/code=highback}
@@ -353,6 +353,9 @@ therefore it always avoids vertical overflow:
\end{tblr}
\end{demohigh}
+If you want to distribute extra vertical space evenly to two rows,
+you may use \verb!vspan! option described in Chapter \ref{chap:extra}.
+
\section{Multi Rows and Columns}
It was a hard job to typeset cells with multiple rows and multiple columns. For example:
@@ -607,6 +610,7 @@ All available keys for hlines and vlines are described in Table \ref{key:hline}
\underline{\K{fg}} & rule color name & \None \\
\K{leftpos} & crossing or trimming position at the left side & \V{1} \\
\K{rightpos} & crossing or trimming position at the right side & \V{1} \\
+ \K{endpos} & adjust leftpos/rightpos for only the leftmost/rightmost column & \V{false} \\
\K{abovespace} & set \V{belowsep} of previous row (see Table \ref{key:row}) & \V{2pt} \\
\K{belowspace} & set \V{abovesep} of current row (see Table \ref{key:row}) & \V{2pt} \\
\K{abovespace+} & increase \V{belowsep} of previous row & \None \\
@@ -657,14 +661,13 @@ Another pair of braces before will select segments in all hlines/vlines.
\begin{demohigh}
\begin{tblr}{
vlines = {1,3,5}{dashed},
- vlines = {2,4,6}{solid},
+ vlines = {2,4}{solid},
}
Alpha & Beta & Gamma & Delta \\
Epsilon & Zeta & Eta & Theta \\
Iota & Kappa & Lambda & Mu \\
Nu & Xi & Omicron & Pi \\
Rho & Sigma & Tau & Upsilon \\
- Phi & Chi & Psi & Omega \\
\end{tblr}
\end{demohigh}
@@ -682,7 +685,6 @@ Advanced users could read the source code for this.)
Iota & Kappa & Lambda & Mu \\
Nu & Xi & Omicron & Pi \\
Rho & Sigma & Tau & Upsilon \\
- Phi & Chi & Psi & Omega \\
\end{tblr}
\end{demohigh}
@@ -795,6 +797,22 @@ Here is an example for these four keys:
\end{tblr}
\end{demohigh}
+There is also an \verb!endpos! option for adjusting \verb!leftpos!/\verb!rightpos!
+for only the leftmost/rightmost column:
+
+\begin{demohigh}
+\begin{tblr}{
+ hline{1,4} = {1}{-}{},
+ hline{1,4} = {2}{-}{},
+ hline{2,3} = {leftpos = -1, rightpos = -1, endpos},
+ vline{1,4} = {abovepos = 1, belowpos = 1},
+}
+ Alpha & Beta & Gamma \\
+ Epsilon & Zeta & Eta \\
+ Iota & Kappa & Lambda \\
+\end{tblr}
+\end{demohigh}
+
\subsection{Hlines and Vlines in Old Interfaces}
The \verb!\hline! command has an optional argument which accepts key-value options.
@@ -882,7 +900,7 @@ All available keys for cells are described in Table \ref{key:cell} and Table \re
caption = {Keys for the Content of Cells},
label = {key:cell},
remark{Note} = {In most cases, you can omit the underlined key names and write only their values.}
-]{}
+]{verb}
Key & Description and Values & Initial Value \\
\underline{\K{halign}}
& horizontal alignment: \V{l} (left), \V{c} (center), \V{r} (right) or \V{j} (justify)
@@ -895,9 +913,12 @@ All available keys for cells are described in Table \ref{key:cell} and Table \re
\underline{\K{bg}} & background color name & \None \\
\K{fg} & foreground color name & \None \\
\K{font} & font commands & \None \\
+ \K{mode} & set cell mode: \V{math}, \V{imath}, \V{dmath} or \V{text} & \None \\
+ \verb!$! & same as \V{mode=math} & \None \\
+ \verb!$$! & same as \V{mode=dmath} & \None \\
+ \K{cmd} & execute command for the cell text & \None \\
\K{preto} & prepend text to the cell & \None \\
\K{appto} & append text to the cell & \None \\
- \K{cmd} & execute command for the cell text & \None \\
\end{spectblr}
\vspace{-2em}
\begin{spectblr}[
@@ -922,7 +943,16 @@ Option \verb!cells! is for setting all cells.
\end{tblr}
\end{demohigh}
-Option \verb!cell{i}{j}! is for setting some cells.
+Option \verb!cell{i}{j}! is for setting some cells,
+where \verb!i! stands for the row numbers and \verb!j! stands for the column numbers.
+\nopagebreak
+\begin{demohigh}
+\begin{tblr}{
+ cell{1}{2-4} = {cmd=\fbox}
+}
+ Alpha & Beta & Gamma & Delta
+\end{tblr}
+\end{demohigh}
\begin{demohigh}
\begin{tblr}{
@@ -1007,7 +1037,7 @@ All available keys for rows and columns are described in Table \ref{key:row} and
caption = {Keys for Rows},
label = {key:row},
remark{Note} = {In most cases, you can omit the underlined key names and write only their values.}
-]{}
+]{verb}
Key & Description and Values & Initial Value \\
\underline{\K{halign}}
& horizontal alignment: \V{l} (left), \V{c} (center), or \V{r} (right)
@@ -1020,6 +1050,10 @@ All available keys for rows and columns are described in Table \ref{key:row} and
\underline{\K{bg}} & background color name & \None \\
\K{fg} & foreground color name & \None \\
\K{font} & font commands & \None \\
+ \K{mode} & set mode for row cells: \V{math}, \V{imath}, \V{dmath} or \V{text} & \None \\
+ \verb!$! & same as \V{mode=math} & \None \\
+ \verb!$$! & same as \V{mode=dmath} & \None \\
+ \K{cmd} & execute command for every cell text & \None \\
\K{abovesep} & set vertical space above the row & \V{2pt} \\
\K{abovesep+} & increase vertical space above the row & \None \\
\K{belowsep} & set vertical space below the row & \V{2pt} \\
@@ -1028,14 +1062,13 @@ All available keys for rows and columns are described in Table \ref{key:row} and
\K{rowsep+} & increase vertical space above and below the row & \None \\
\K{preto} & prepend text to every cell (like \V{>} specifier in \K{rowspec}) & \None \\
\K{appto} & append text to every cell (like \V{<} specifier in \K{rowspec}) & \None \\
- \K{cmd} & execute command for every cell text & \None \\
\end{spectblr}
\vspace{-2em}
\begin{spectblr}[
caption = {Keys for Columns},
label = {key:column},
remark{Note} = {In most cases, you can omit the underlined key names and write only their values.}
-]{}
+]{verb}
Key & Description and Values & Initial Value \\
\underline{\K{halign}}
& horizontal alignment: \V{l} (left), \V{c} (center), or \V{r} (right)
@@ -1049,6 +1082,10 @@ All available keys for rows and columns are described in Table \ref{key:row} and
\underline{\K{bg}} & background color name & \None \\
\K{fg} & foreground color name & \None \\
\K{font} & font commands & \None \\
+ \K{mode} & set mode for column cells: \V{math}, \V{imath}, \V{dmath} or \V{text} & \None \\
+ \verb!$! & same as \V{mode=math} & \None \\
+ \verb!$$! & same as \V{mode=dmath} & \None \\
+ \K{cmd} & execute command for every cell text & \None \\
\K{leftsep} & set horizontal space to the left of the column & \V{6pt} \\
\K{leftsep+} & increase horizontal space to the left of the column & \None \\
\K{rightsep} & set horizontal space to the right of the column & \V{6pt} \\
@@ -1057,7 +1094,6 @@ All available keys for rows and columns are described in Table \ref{key:row} and
\K{colsep+} & increase horizontal space to both sides of the column & \None \\
\K{preto} & prepend text to every cell (like \V{>} specifier in \K{colspec}) & \None \\
\K{appto} & append text to every cell (like \V{<} specifier in \K{colspec}) & \None \\
- \K{cmd} & execute command for every cell text & \None \\
\end{spectblr}
\subsection{Rows and Columns in New Interfaces}
@@ -1093,7 +1129,7 @@ Options \verb!row{i}! and \verb!column{j}! are for setting some rows and columns
\end{tblr}
\end{demohigh}
-The following example demonstrates the usages of \verb!bg!, \verb!fg! and \verb!font! keys.
+The following example demonstrates the usages of \verb!bg!, \verb!fg! and \verb!font! keys:
\nopagebreak
\begin{demohigh}
\begin{tblr}{
@@ -1108,8 +1144,23 @@ The following example demonstrates the usages of \verb!bg!, \verb!fg! and \verb!
\end{tblr}
\end{demohigh}
+The following example demonstrates the usages of \verb!mode! key:
+\nopagebreak
+\begin{demohigh}
+$\begin{tblr}{
+ column{1} = {mode=text},
+ column{3} = {mode=dmath},
+}
+\hline
+ Alpha & \frac12 & \frac12 \\
+ Epsilon & \frac34 & \frac34 \\
+ Iota & \frac56 & \frac56 \\
+\hline
+\end{tblr}$
+\end{demohigh}
+
The following example demonstrates the usages of
-\verb!abovesep!, \verb!belowsep!, \verb!leftsep!, \verb!rightsep! keys.
+\verb!abovesep!, \verb!belowsep!, \verb!leftsep!, \verb!rightsep! keys:
%\nopagebreak
\begin{demohigh}
\begin{tblr}{
@@ -1180,6 +1231,19 @@ The following example demonstrates the usage of \verb!width! option.
\end{tblr}
\end{demohigh}
+You can omit \verb!colspec! name if it is the only key you use inside the mandatory argument.
+The following example demonstrates the usages of \verb!$! and \verb!$$! keys:
+\nopagebreak
+\begin{demohigh}
+\begin{tblr}{Q[l]Q[r,$]Q[r,$$]}
+\hline
+ Alpha & \frac12 & \frac12 \\
+ Epsilon & \frac34 & \frac34 \\
+ Iota & \frac56 & \frac56 \\
+\hline
+\end{tblr}
+\end{demohigh}
+
\subsection{Column Types}
The \verb!tabularray! package has only one type of primitive column: the \verb!Q! column.
@@ -1236,6 +1300,7 @@ Any new row type must be defined with \verb!\NewRowType! command.
It can have an optional argument when it's defined.
\chapter{Extra Interfaces}
+\label{chap:extra}
\section{Table Specifications}
@@ -1408,7 +1473,9 @@ The following example demonstrates how to define a new table command:
\verb!Tabularray! need to see every \verb!&! and \verb!\\! when splitting the table body
with \verb!l3regex!. And you can not put cell text inside any table command defined with
\verb!\NewTableCommand!. But you could use outer specification \verb!expand! to make \verb!tabularray!
-expand every occurrence of a specified macro \underline{once} before splitting the table body:
+expand every occurrence of a specified macro \underline{once} before splitting the table body.
+The macro \underline{can not} be defined with \verb!\NewDocumentCommand! or
+\verb!\NewExpandableDocumentCommand!, and \underline{can not} have optional argument.
\begin{demohigh}
\def\tblrbody{
@@ -1487,14 +1554,12 @@ All tracing messages will be written to the log files.
\chapter{Use Long Tables}
\label{chap:long}
-\mywarning{chapter}
-
\section{A Simple Example}
-In fact, to make a decent long table with header and footer, it is better to separate header/footer as
+To make a decent long table with header and footer, it is better to separate header/footer as
\underline{table head/foot} (which includes caption, footnotes, continuation text)
and \underline{row head/foot} (which includes some rows of the table that should appear in every page).
-By this approach, alternating row colors should work as expected.
+By this approach, alternating row colors work as expected.
\NewTblrTheme{fancy}{
\SetTblrStyle{firsthead}{font=\bfseries}
@@ -1689,25 +1754,25 @@ Alpha & Beta & Gamma \\
Rho & Sigma & Tau \\
\hline
Phi & Chi & Psi \\
-%\hline
-% Alpha & Beta & Gamma \\
-%\hline
-% Epsilon & Zeta & Eta \\
-%\hline
-% Iota & Kappa & Lambda \\
-%\hline
-% Nu & Xi & Omicron \\
-%\hline
-% Rho & Sigma & Tau \\
-%\hline
-% Phi & Chi & Psi \\
+\hline
+ Alpha & Beta & Gamma \\
+\hline
+ Epsilon & Zeta & Eta \\
+\hline
+ Iota & Kappa & Lambda \\
+\hline
+ Nu & Xi & Omicron \\
+\hline
+ Rho & Sigma & Tau \\
+\hline
+ Phi & Chi & Psi \\
\hline
Foot & Foot & Foot \\
\hline
\end{longtblr}
As you can see in the above example, the appearance of long tables of \verb!tabularray! package
-is similar to that of \verb!threeparttable! and \verb!threeparttablex! packages.
+is similar to that of \verb!threeparttablex! packages.
We support table footnotes, but not page footnotes in \verb!tabularray! package.
\newpage
@@ -1782,7 +1847,7 @@ In the above example, We set \verb!rowhead=2! and \verb!rowfoot=1!.
\begin{spectblr}[
caption = {Inner Specifications for Row Heads and Row Foots}
]{}
- Key Nama & Key Description & Initial Value \\
+ Key Name & Key Description & Initial Value \\
\V{rowhead} & number of the first rows of the table appear in every page & \V{0} \\
\V{rowfoot} & number of the last rows of the table appear in every page & \V{0} \\
\end{spectblr}
@@ -1793,7 +1858,7 @@ Their options are outer specifications and should be put in the optional argumen
\begin{spectblr}[
caption = {Outer Specifications for Table Heads and Table Foots}
]{verb}
- Key Nama & Key Description & Initial Value \\
+ Key Name & Key Description & Initial Value \\
\V{headsep} & vertical space between table head and table body & \V{6pt} \\
\V{footsep} & vertical space between table foot and table body & \V{6pt} \\
\V{presep} & vertical space between table head and the above text & \verb!1.5\bigskipamount! \\
@@ -2084,6 +2149,49 @@ TEXT\begin{talltblr}[
The \verb!tabularray! package emulates or fixes some commands in other packages.
To avoid potential conflict, you need to enable them with \verb!\UseTblrLibrary! command.
+\section{Library \texttt{amsmath}}
+
+With \verb!\UseTblrLibrary{amsmath}! in the preamble of the document,
+\verb!tabularray! will load \verb!amsmath! package, and define \verb!+array!, \verb!+matrix!,
+\verb!+bmatrix!, \verb!+Bmatrix!, \verb!+pmatrix!, \verb!+vmatrix!, \verb!+Vmatrix! and \verb!+cases!
+environments. Each of the environments is similar to the environment without \verb!+! prefix in its name,
+but has default \verb!rowsep=2pt! just as \verb!tblr! environment. Every environment
+except \verb!+array! accepts an optional argument, where you can write inner specifications.
+
+\begin{demo}
+$\begin{pmatrix}
+ \dfrac{2}{3} & \dfrac{2}{3} & \dfrac{1}{3} \\
+ \dfrac{2}{3} & -\dfrac{1}{3} & -\dfrac{2}{3} \\
+ \dfrac{1}{3} & -\dfrac{2}{3} & \dfrac{2}{3} \\
+\end{pmatrix}$
+\end{demo}
+
+\begin{demohigh}
+$\begin{+pmatrix}[cells={r},row{2}={purple8}]
+ \dfrac{2}{3} & \dfrac{2}{3} & \dfrac{1}{3} \\
+ \dfrac{2}{3} & -\dfrac{1}{3} & -\dfrac{2}{3} \\
+ \dfrac{1}{3} & -\dfrac{2}{3} & \dfrac{2}{3} \\
+\end{+pmatrix}$
+\end{demohigh}
+
+\begin{demo}
+$f(x)=\begin{cases}
+ 0, & x=1; \\
+ \dfrac{1}{3}, & x=2; \\
+ \dfrac{2}{3}, & x=3; \\
+ 1, & x=4. \\
+\end{cases}$
+\end{demo}
+
+\begin{demohigh}
+$f(x)=\begin{+cases}
+ 0, & x=1; \\
+ \dfrac{1}{3}, & x=2; \\
+ \dfrac{2}{3}, & x=3; \\
+ 1, & x=4. \\
+\end{+cases}$
+\end{demohigh}
+
\section{Library \texttt{booktabs}}
With \verb!\UseTblrLibrary{booktabs}! in the preamble of the document,
@@ -2212,6 +2320,21 @@ and the other half to \verb!abovesep! of current row.
\end{booktabs}
\end{demohigh}
+\section{Library \texttt{counter}}
+
+You need to load \verb!counter! library with \verb!\UseTblrLibrary{counter}!,
+if you want to modify some LaTeX counters inside \verb!tabularray! tables.
+
+\begin{demohigh}
+\newcounter{mycnta}
+\newcommand{\mycnta}{\stepcounter{mycnta}\arabic{mycnta}}
+\begin{tblr}{hlines}
+ \mycnta & \mycnta & \mycnta \\
+ \mycnta & \mycnta & \mycnta \\
+ \mycnta & \mycnta & \mycnta \\
+\end{tblr}
+\end{demohigh}
+
\section{Library \texttt{diagbox}}
When writing \verb!\UseTblrLibrary{diagbox}! in the preamble of the document,
@@ -2297,11 +2420,12 @@ Also you must use \verb!l!, \verb!c! or \verb!r! to set horizontal alignment for
\end{tblr}
\end{demohigh}
-Both \verb!S! and \verb!s! columns are supported. In fact, These two columns are defined as follows:
+Both \verb!S! and \verb!s! columns are supported. In fact, These two columns have been defined as follows:
\begin{codehigh}
-\NewColumnType{S}[1][]{Q[si={##1},c]}
-\NewColumnType{s}[1][]{Q[si={##1},c,cmd=\TblrUnit]}
+\NewColumnType{S}[1][]{Q[si={#1},c]}
+\NewColumnType{s}[1][]{Q[si={#1},c,cmd=\TblrUnit]}
\end{codehigh}
+You don't need to and are not allowed to define them again.
\section{Library \texttt{varwidth}}
diff --git a/macros/unicodetex/latex/njuthesis/README_ZH_CN.md b/macros/unicodetex/latex/njuthesis/README_ZH_CN.md
deleted file mode 100644
index a3e0d04645..0000000000
--- a/macros/unicodetex/latex/njuthesis/README_ZH_CN.md
+++ /dev/null
@@ -1,77 +0,0 @@
-# NJU Thesis
-
-[![njuthesis](https://img.shields.io/badge/njuthesis-latex-blue)](https://git.nju.edu.cn/nju-lug/nju-latex-templates)
-[![overleaf](https://img.shields.io/badge/overleaf-supported-brightgreen)](https://tex.nju.edu.cn)
-![build status](https://github.com/nju-lug/NJUThesis/actions/workflows/build.yml/badge.svg)
-
-> 此项目是基于[NJU thesis 2021](https://github.com/FengChendian/NJUThesis2021)的重构版本,目前本科生版本**已经基本重构完成**,硕博论文**正在**根据研究生院的文件重构,但研究生院的规定并不完善,因此部分格式可能会参考本科的,**如果院系另有要求,请自行修改或者提交issue**。
-
-原来的[NJU thesis 2021](https://github.com/FengChendian/NJUThesis2021)模板太过古老并且不支持硕士、博士论文,目前难以维护,因此为了模板的可持续发展,现在将对该项目进行重构,项目挂载于[NJU-LUG](https://github.com/nju-lug)组织仓库下,目前已[发布在CTAN](https://ctan.org/pkg/njuthesis)。
-
-相关文档请参见[本项目wiki](https://github.com/nju-lug/NJUThesis/wiki)。
-
-## 快速开始
-
-从0.9.0版以后,本模板以DocStrip(`.dtx`)格式进行维护。常规的`.cls`格式文件可从Releases页面下载或使用以下方法提取。
-
-### 关于DocStrip文件
-
-DocStrip格式合并了LaTeX源代码和说明文档,更有利于宏包的发布。要使用该文件,请在当前工作目录下打开终端:
-
-- 输入`xetex njuthesis.dtx`以提取宏包内容
-- 输入`latexmk njuthesis.dtx`以生成并查看内置的文档
-
-请注意,由于文件重名原因,项目中的示例论文模板已被重命名为`njuthesis-sample.tex`。
-
-### 本地编译
-
-1. [从南大镜像站下载](https://mirror.nju.edu.cn/download/app/TeX%20%E6%8E%92%E7%89%88%E7%B3%BB%E7%BB%9F)并安装TeXLive或者MiKTeX最新版
-2. 下载包含[模板全部文件](https://github.com/nju-lug/NJUThesis/releases/latest)的压缩包`njuthesis.zip`
-3. 根据需要更改`njuthesis-sample.tex`文件中的内容
-4. 在模板根目录下运行`latexmk`编译文件,得到对应的PDF
-
-#### **关于本地编译**
-
-- 模板支持`latexmk`、`xelatex`、`lualatex`三种编译方式
-- 如果使用`latexmk`,请务必使用完整的命令`latexmk -xelatex`以免产生不必要的问题
-- 如果使用`xelatex`或`lualatex`,需要按照`xelatex/lualatex` -> `biber` -> `xelatex/lualatex` -> `xelatex/lualatex`的顺序编译四次
-- 仓库中`.vscode`附带一份VScode的LaTeX WorkShop的配置文件,可根据需要使用
-
-### [南大TeX](https://tex.nju.edu.cn)编译
-
-1. 下载包含[模板全部文件](https://github.com/nju-lug/NJUThesis/releases/latest)的压缩包`njuthesis.zip`
-2. 登录[南大TeX](https://tex.nju.edu.cn),点击New Project -> Upload Project上传刚刚得到的压缩包,上传后`njuthesis-sample.tex`、`njuthesis.cls`等文件应在根目录,0.9.0以后的目录结构如下所示:
-
- ```shell
- NJUThesis-master/
- │
- ├─figure/
- │ njulogo.pdf
- │ njuname.pdf
- │
- │ njuthesis.bib
- │ njuthesis.cls
- │ njuthesis-sample.tex
- ```
-
-3. 在南大TeX项目内页面左上角的`Menu`中,将编译器改为`XeLaTeX`
-4. 编写TeX文档
-
-### 其他
-
-更多内容请参见项目Wiki中的[使用说明](https://github.com/nju-lug/NJUThesis/wiki/%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)。
-
-你也可以下载[Release](https://github.com/nju-lug/NJUThesis/releases/latest)中附带的`njuthesis.pdf`,里面详尽阐述了模板的特性和使用方法。
-
-## 常见问题
-
-请参见[常见问题](https://github.com/nju-lug/NJUThesis/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)。
-
-## 贡献
-
-如果你发现了模板的问题,欢迎在Github中[提交issue](https://github.com/nju-lug/NJUThesis/issues)或者PR。
-
-## 许可
-
-本模板的发布遵守 LaTeX Project Public License(版本 1.3c 或更高)。
-
diff --git a/macros/unicodetex/latex/njuthesis/figure/njulogo.pdf b/macros/unicodetex/latex/njuthesis/figure/njulogo.pdf
deleted file mode 100644
index a298271f5b..0000000000
--- a/macros/unicodetex/latex/njuthesis/figure/njulogo.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/unicodetex/latex/njuthesis/figure/njuname-large.pdf b/macros/unicodetex/latex/njuthesis/figure/njuname-large.pdf
deleted file mode 100644
index f7e71662e5..0000000000
--- a/macros/unicodetex/latex/njuthesis/figure/njuname-large.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/unicodetex/latex/njuthesis/figure/njuname.pdf b/macros/unicodetex/latex/njuthesis/figure/njuname.pdf
deleted file mode 100644
index 150958a0ec..0000000000
--- a/macros/unicodetex/latex/njuthesis/figure/njuname.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.dtx b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
index 008b7173f7..42cf9a9e77 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.dtx
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
@@ -24,115 +24,6 @@
\iffalse
%</internal>
%
-%<*readme-zh>
-# NJU Thesis
-
-[![njuthesis](https://img.shields.io/badge/njuthesis-latex-blue)](https://git.nju.edu.cn/nju-lug/nju-latex-templates)
-[![overleaf](https://img.shields.io/badge/overleaf-supported-brightgreen)](https://tex.nju.edu.cn)
-![build status](https://github.com/nju-lug/NJUThesis/actions/workflows/build.yml/badge.svg)
-
-> 此项目是基于[NJU thesis 2021](https://github.com/FengChendian/NJUThesis2021)的重构版本,目前本科生版本**已经基本重构完成**,硕博论文**正在**根据研究生院的文件重构,但研究生院的规定并不完善,因此部分格式可能会参考本科的,**如果院系另有要求,请自行修改或者提交issue**。
-
-原来的[NJU thesis 2021](https://github.com/FengChendian/NJUThesis2021)模板太过古老并且不支持硕士、博士论文,目前难以维护,因此为了模板的可持续发展,现在将对该项目进行重构,项目挂载于[NJU-LUG](https://github.com/nju-lug)组织仓库下,目前已[发布在CTAN](https://ctan.org/pkg/njuthesis)。
-
-相关文档请参见[本项目wiki](https://github.com/nju-lug/NJUThesis/wiki)。
-
-## 快速开始
-
-从0.9.0版以后,本模板以DocStrip(`.dtx`)格式进行维护。常规的`.cls`格式文件可从Releases页面下载或使用以下方法提取。
-
-### 关于DocStrip文件
-
-DocStrip格式合并了LaTeX源代码和说明文档,更有利于宏包的发布。要使用该文件,请在当前工作目录下打开终端:
-
-- 输入`xetex njuthesis.dtx`以提取宏包内容
-- 输入`latexmk njuthesis.dtx`以生成并查看内置的文档
-
-请注意,由于文件重名原因,项目中的示例论文模板已被重命名为`njuthesis-sample.tex`。
-
-### 本地编译
-
-1. [从南大镜像站下载](https://mirror.nju.edu.cn/download/app/TeX%20%E6%8E%92%E7%89%88%E7%B3%BB%E7%BB%9F)并安装TeXLive或者MiKTeX最新版
-2. 下载包含[模板全部文件](https://github.com/nju-lug/NJUThesis/releases/latest)的压缩包`njuthesis.zip`
-3. 根据需要更改`njuthesis-sample.tex`文件中的内容
-4. 在模板根目录下运行`latexmk`编译文件,得到对应的PDF
-
-#### **关于本地编译**
-
-- 模板支持`latexmk`、`xelatex`、`lualatex`三种编译方式
-- 如果使用`latexmk`,请务必使用完整的命令`latexmk -xelatex`以免产生不必要的问题
-- 如果使用`xelatex`或`lualatex`,需要按照`xelatex/lualatex` -> `biber` -> `xelatex/lualatex` -> `xelatex/lualatex`的顺序编译四次
-- 仓库中`.vscode`附带一份VScode的LaTeX WorkShop的配置文件,可根据需要使用
-
-### [南大TeX](https://tex.nju.edu.cn)编译
-
-1. 下载包含[模板全部文件](https://github.com/nju-lug/NJUThesis/releases/latest)的压缩包`njuthesis.zip`
-2. 登录[南大TeX](https://tex.nju.edu.cn),点击New Project -> Upload Project上传刚刚得到的压缩包,上传后`njuthesis-sample.tex`、`njuthesis.cls`等文件应在根目录,0.9.0以后的目录结构如下所示:
-
- ```shell
- NJUThesis-master/
- │
- ├─figure/
- │ njulogo.pdf
- │ njuname.pdf
- │
- │ njuthesis.bib
- │ njuthesis.cls
- │ njuthesis-sample.tex
- ```
-
-3. 在南大TeX项目内页面左上角的`Menu`中,将编译器改为`XeLaTeX`
-4. 编写TeX文档
-
-### 其他
-
-更多内容请参见项目Wiki中的[使用说明](https://github.com/nju-lug/NJUThesis/wiki/%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)。
-
-你也可以下载[Release](https://github.com/nju-lug/NJUThesis/releases/latest)中附带的`njuthesis.pdf`,里面详尽阐述了模板的特性和使用方法。
-
-## 常见问题
-
-请参见[常见问题](https://github.com/nju-lug/NJUThesis/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)。
-
-## 贡献
-
-如果你发现了模板的问题,欢迎在Github中[提交issue](https://github.com/nju-lug/NJUThesis/issues)或者PR。
-
-## 许可
-
-本模板的发布遵守 LaTeX Project Public License(版本 1.3c 或更高)。
-
-%</readme-zh>
-%
-%<*readme-en>
-# The njuthesis class
-
-## Overview
-
-This package is intended for typesetting Nanjing University thesis with LaTeX, providing support for bachelor, master, and doctoral thesis. Compilation of this class requires either `xelatex` or `lualatex` engine.
-
-## License
-
------
- This work may be distributed and/or modified under the conditions of
- the [LaTeX Project Public License](http://www.latex-project.org/lppl.txt),
- either version 1.3c of this license or (at your option) any later
- version.
------
-
-## Contributing
-
-If you run into any problem with the template, please contact us via Github issue or submit Pull Request.
-
-## Wiki
-
-Please see [Chinese wiki](https://github.com/nju-lug/NJUThesis/wiki)。
-
------
-
-Copyright © NJU-LUG
-%</readme-en>
-%
%<*internal>
\fi
\begingroup
@@ -169,16 +60,15 @@ through XeTeX.
\generate{
\usedir{tex/latex/njuthesis}
\file{\jobname.cls} {\from{\jobname.dtx}{class}}
+ \file{njuvisual.sty}
+ {\from{\jobname.dtx}{visual}
+ \from{njuvisual.dtx}{visual}}
%</install>
%<*internal>
\usedir{source/latex/njuthesis}
\file{\jobname.ins} {\from{\jobname.dtx}{install}}
%</internal>
%<*install>
- \usedir{doc/latex/njuthesis}
- \nopreamble\nopostamble
- \file{README_EN.md} {\from{\jobname.dtx}{readme-en}}
- \file{README.md} {\from{\jobname.dtx}{readme-zh}}
}
\obeyspaces
@@ -191,8 +81,7 @@ through XeTeX.
\Msg{* *}
\Msg{* njuthesis.cls *}
\Msg{* njuthesis.ins *}
-\Msg{* README.md *}
-\Msg{* README_EN.md *}
+\Msg{* njuvisual.sty *}
\Msg{* *}
\Msg{* To produce the documentation, run the file njuthesis.dtx *}
\Msg{* through XeLaTeX. *}
@@ -208,22 +97,33 @@ through XeTeX.
\fi
%</internal>
%
-%<class>\NeedsTeXFormat{LaTeX2e}
-%<class>\RequirePackage{expl3}
-%<!(readme-zh|readme-en)> \GetIdInfo $Id: njuthesis.dtx 0.9.2 2021-09-17 22:00:00 +0800 NJU LUG <nju.lug@yaoge123.cn> $
-%<class> {Thesis template for Nanjing University}
-%<class>\ProvidesExplClass{\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+%<class|visual>\NeedsTeXFormat{LaTeX2e}
+%<class|visual>\RequirePackage{expl3}
+%<class|visual>\GetIdInfo $Id: njuthesis.dtx 0.11.0 2021-10-01 19:00:00 +0800 NJU LUG <nju.lug@yaoge123.cn> $
+%<class> { Thesis template for Nanjing University }
+%<class>\ProvidesExplClass{njuthesis}
+%<visual> { LaTeX3 Package for NJU Visual Identity }
+%<visual>\ProvidesExplPackage{njuvisual}
+%<class|visual>{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
%
%<*driver>
\ProvidesFile{njuthesis.dtx}
\documentclass{ctxdoc}
-\usepackage{listings,xcolor}
+\usepackage{listings,xcolor,tabularray}
+\setlist[1]{labelindent=0.5em}
+\UseTblrLibrary{booktabs,siunitx,diagbox}
+\DefTblrTemplate{caption-tag}{default}{表\hspace{0.25em}\thetable}
+\SetTblrStyle{caption-tag}{font=\bfseries}
+\DefTblrTemplate{caption-sep}{default}{\quad}
\definecolor{njuviolet}{cmyk}{0.5,1,0,0.4}
\definecolor{njumagenta}{cmyk}{0.05,1,0.55,0}
\definecolor{njublue}{cmyk}{0.8,0.5,0,0}
\definecolor{njuyellow}{cmyk}{0,0.3,1,0}
\begin{document}
- \DocInput{njuthesis.dtx}
+ \DocInput{njuthesis.dtx}
+ \DocInput{njuvisual.dtx}
+ \PrintChanges
+ \PrintIndex
\end{document}
%</driver>
% \fi
@@ -234,23 +134,43 @@ through XeTeX.
% Nanjing University Linux User Group
% \thanks{E-mail: \href{mailto:nju.lug@yaoge123.cn}{nju.lug@yaoge123.cn}}}
%
-% \date{v0.9.2 \\ Released 2021-09-17}
+% \date{v0.11.0 \\ Released 2021-10-01}
+%
+% \changes{v0.1}{2021/09/04}{开始开发。}
+% \changes{v0.2}{2021/09/07}{初步搭建了可用的模板。}
+% \changes{v0.3}{2021/09/09}{使用自动构建工具进行测试。}
+% \changes{v0.4}{2021/09/09}{将个人信息使用内置命令输入。}
+% \changes{v0.5}{2021/09/10}{新增了对第二导师的支持。}
+% \changes{v0.6}{2021/09/10}{封装个人信息}
+% \changes{v0.6}{2021/09/10}{实现自动打包发布。}
+% \changes{v0.7}{2021/09/11}{增加对研究生模板的支持}
+% \changes{v0.7}{2021/09/12}{将njuthesis发布在CTAN。}
+% \changes{v0.8}{2021/09/12}{修复已知问题,进行公开宣传。}
+% \changes{v0.9}{2021/09/15}{使用DocStrip合并模板文件。}
+% \changes{v0.9}{2021/09/15}{大幅度修改宏名称以符合\hologo{LaTeX3}规范。}
+% \changes{v0.9}{2021/09/15}{进一步完善文档。}
+% \changes{v0.10}{2021/09/24}{删除了生成自述文件的代码。}
%
% \maketitle
%
% \begin{abstract}
-% 南京大学学位论文\hologo{LaTeX}模板基于本科生院的论文撰写规范制作,同时参考研究生院提供的硕士、博士学位材料包,用于生成符合南京大学学位论文排版要求和相应的国家规范、行业标准的学位论文,旨在为同学提供毕业论文书写的方便。
+% 南京大学学位论文\hologo{LaTeX}模板基于本科生院的论文撰写规范制作,
+% 同时参考研究生院提供的硕士、博士学位材料包,
+% 用于生成符合南京大学学位论文排版要求和相应的国家规范、行业标准的学位论文,
+% 旨在为同学提供毕业论文书写的方便。
% \end{abstract}
%
% \def\abstractname{Abstract}
% \begin{abstract}
-% The \textsc{NJuThesis} class is intended for typesetting Nanjing University thesis with LaTeX, providing support for bachelor, master, and doctoral thesis.
+% The \textsc{NJuThesis} class is intended for
+% typesetting Nanjing University thesis with \hologo{LaTeX},
+% providing support for bachelor, master, and doctoral thesis.
% \end{abstract}
%
+% \vspace{2cm}
% \def\abstractname{特别声明}
% \begin{abstract}
% 请注意,本模板仍未完成开发,出现bug或者文档不完善属于正常情况,提issue或Pull Request即可。
-%
% \href{https://git.nju.edu.cn/nju-lug/lug-introduction}{NJU LUG}始终欢迎您的加入与贡献!
% \end{abstract}
%
@@ -276,22 +196,24 @@ through XeTeX.
% \item 杨文博(\href{http://yangwenbo.com/}{@solrex})的\href{https://github.com/solrex/njuthesis}{南京大学学位论文\hologo{LaTeX}模板}(2010)
% \item \href{https://github.com/fireblue}{@fireblue}基于solrex模板的的\href{https://github.com/fireblue/NJUThesis}{南京大学学位论文\hologo{LaTeX}模板}(2013)
% \item \href{https://github.com/wenhai-zheng}{@wenhai-zheng}的\href{https://github.com/wenhai-zheng/NJUThesis}{NJUThesis}(2013)
+% \item 曹增乐(\href{https://github.com/ZLCao}{@ZLCao})的\href{https://github.com/ZLCao/NJUBachelor}{NJUBachelor}(2013-2016)
% \item 胡海星(\href{http://haixing-hu.github.io/}{@Haixing-Hu})的\href{https://github.com/Haixing-Hu/nju-thesis}{NJU-Thesis}(2013 - 2018)
% \item 张楚珩(\href{https://github.com/zhangchuheng123}{@zhangchuheng123})基于胡海星模板的\href{https://github.com/zhangchuheng123/NJUThesis}{NJUThesis}(2016)
% \item 蒋炎岩(\href{http://ics.nju.edu.cn/~jyy/}{@jiangyy})的\href{https://github.com/jiangyy/njuthesis}{南京大学山寨\hologo{LyX}研究生毕业论文模板}(2017)
-% \item 饶安逸(\href{https://anyirao.com/}{@AnyiRao})基于胡海星模板的\href{https://github.com/jiangyy/njuthesis}{NJU-Thesis}(2018)
% \item \href{https://github.com/njuHan}{@njuHan}基于胡海星模板的\href{https://github.com/njuHan/njuthesis-nju-thesis-template/}{NJU-Thesis}(2018 - 2021)
-% \item 赵懿晨(\href{https://fengchendian.github.io/about.html}{@FengChendian})基于AnyiRao模板的\href{https://github.com/FengChendian/NJUThesis2021}{NJU Thesis 2021}(2021)
+% \item 饶安逸(\href{https://anyirao.com/}{@AnyiRao})基于张楚珩模板的\href{https://github.com/AnyiRao/NJUThesis2018/}{NJU Thesis 2018}(2018)
+% \item 赵懿晨(\href{https://fengchendian.github.io/about.html}{@FengChendian})基于饶安逸模板的\href{https://github.com/FengChendian/NJUThesis2021}{NJU Thesis 2021}(2021)
% \end{enumerate}
% 至于不幸而未进行代码版本管理的,甚至于说以压缩包形式流传于各人硬盘中的,就更不可计数了。
%
-% 与其让一千个学生做一千种不同的模板,不如有人牵起头来,集中力量办大事。因此,南京大学 Linux User Group 的有志之士在2021年暑期联合起来,参考以上的现成模板,兼顾友校thuthesis、fduthesis等优秀项目,构建了这一全新模板,力求通过\hologo{LaTeX3}语法和清淅的接口实现良好的易用性和可维护性。
+% 与其让一千个学生做一千种不同的模板,不如有人牵起头来,集中力量办大事。因此,南京大学 Linux User Group 的有志之士在2021年暑期联合起来,参考以上的现成模板,兼顾友校\href{https://ctan.org/pkg/thuthesis}{thuthesis}、\href{https://ctan.org/pkg/fduthesis}{fduthesis}等优秀项目,构建了这一全新模板,力求通过\hologo{LaTeX3}语法和清晰的接口实现良好的易用性和可维护性。
%
% 目前,本模板的主要维护者包括:
%
% \begin{itemize}
% \item 赵懿晨
% \item 熊煜
+% \item 马畅
% \end{itemize}
%
% \subsection{君\hologo{LaTeX}本当上手}
@@ -302,59 +224,117 @@ through XeTeX.
% 本模板通过\textsc{DocStrip}进行维护,实际上是一种\emph{文学编程}。文学编程的本体是那些用来说明的文字,按写书写文章的方式组织。
% \file{njuthesis.dtx}包含njuthesis模板的所有信息。前半部分为模板说明,即各种常用命令与必要的使用方法;后半部分为代码实现,为带有详细注释的\hologo{TeX}源代码。后者配合附录,为有意了解本模板细节的同学提供简明的指引。
%
-% 下文中将出现若干特殊格式,包括\file{file-example.xxx}等。
+% 下文中将出现若干特殊格式,用来指示代码组件。譬如,\file{file-example.xxx}为文件名,\pkg{pkg-example}为宏包名,\opt{opt-example}为选项名,\env{env-example}为需要|\begin{}|和|\end{}|的环境名,等。
%
% 如果您在使用最新版模板时发现了任何问题,抑或有意向参与本模板的维护,请通过GitHub issue或者QQ群聊联系LUG。
%
% \section{安装}
% \label{sec:setup}
+% 本节主要介绍本宏包的获取、安装以及编译方式。
+%
+% \subsection{获取模板}
+%
+% \subsubsection{自动安装}
+%
+% \pkg{njuthesis}已经于2021年9月12日\href{https://ctan.org/pkg/njuthesis}{发布在CTAN}(Comprehensive \hologo{TeX} Archive Network),将在明年进入\hologo{TeX}\,Live 2022。
+% 目前,南大\hologo{TeX}已预置本模板,详见\ref{subsec:onlinecompile}。
+% 您可以通过 \hologo{TeX}\,Live Manager 或者 \hologo{MiKTeX} Console 等
+% 图形化包管理器直接安装并使用最新的稳定版,也可以使用 \pkg{tlmgr}
+% \begin{ctexexam}
+% tlmgr install njuthesis
+% \end{ctexexam}
+%
+% 我们强烈建议使用这一类安装方式。
%
-% 本节主要介绍本宏包的获取、安装以及编译方式
-% \subsection{下载模板}
+% 另一方面,CTAN版需要开发者手动上传,版本更新具有滞后性。如果使用时遇到了问题,推荐使用以下方式获取最新正式版。
+%
+% \subsubsection{下载正式版}
+% \label{subsubsec:downloadrtm}
%
-% 本宏包已经发布在CTAN,将在明年进入\hologo{TeX}\,Live 2022 发行版。然而CTAN版更新不及时,更推荐使用以下方式下载。
+% 本模板不定期将已有的新功能和问题修复打包为新的正式发行版,下载方式包括:
+% \begin{itemize}
+% \item \href{https://github.com/nju-lug/NJUThesis/releases/latest}{Github Releases页面}
+% \item \href{https://mirror.nju.edu.cn/download/app/NJUThesis%20%E8%AE%BA%E6%96%87%E6%A8%A1%E6%9D%BF}{南大镜像下载页}
+%\end{itemize}
+% 在国内使用时,后者具有显著更快的速度。
%
-% 从本模板的Github Releases页面下载最新的发布版
+% \subsubsection{下载源代码}
%
-% 从本模板的Github仓库下载最新的dtx文件自行安装
+% 最新开发进度会提交在位于Github仓库的源代码。
+% 请注意,如果仅仅是希望使用这个模板写论文,请无论如何都不要从编译源代码开始,这样做只会浪费生命中宝贵的数分钟时间。
+% 我们只推荐希望参与开发的同学下载\file{dtx}文件。
+% \begin{itemize}
+% \item \href{https://github.com/nju-lug/NJUThesis/}{Github 仓库}
+% \item \href{https://git.nju.edu.cn/nju-lug/nju-latex-templates/njuthesis}{NJU Git 同步镜像}
+%\end{itemize}
+%
+% \subsection{文件构成}
+%
+% \cls{njuthesis}由数量众多的文件组成,\emph{所有可能遇到的}文件如表 \ref{tab:njuthesisfiles} 所示。
+% 其中标注为黄色的内容仅供开发使用,并不会在发行版中出现。
+%
+% \begin{table}[ht]
+% \caption{\cls{njuthesis}文件构成}
+% \label{tab:njuthesisfiles}
+% \centering
+% \begin{tabular}{lp{18em}}
+% \toprule
+% 名称 & 说明 \\
+% \midrule
+% \file{.vscode} & Visual Studio Code 配置文件 \\
+% \file{latexmkrc} & latexmk 配置文件 \\
+% \file{LICENSE} & 许可证 \\
+% \file{njuthesis.bib} & 示例参考文献列表 \\
+% \file{njuthesis.cls} & 模板文档类 \\
+% \color{njuyellow}\file{njuthesis.dtx} & 文档类源代码 \\
+% \color{njuyellow}\file{njuthesis.ins} & 文档类安装脚本 \\
+% \file{njuthesis.pdf} & 用户手册(本文档) \\
+% \file{njuthesis-sample.tex} & 示例文档,不妨以此为基础撰写论文 \\
+% \color{njuyellow}\file{njuvisual.dtx} & 视觉识别系统源代码 \\
+% \file{njuvisual.sty} & 南京大学视觉识别系统 \\
+% \file{README.md} & 自述文件 \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
%
% \subsection{本地编译}
+% \label{subsec:localcompile}
%
% \subsubsection{安装\hologo{TeX}发行版}
%
-% 首先需要下载\hologo{TeX}软件发行版,校园网环境中使用\href{https://mirror.nju.edu.cn/download/app/TeX%20%E6%8E%92%E7%89%88%E7%B3%BB%E7%BB%9F}{南大镜像站}可以获得最好的体验。\textbf{推荐使用最新的\hologo{TeX}\,Live 2021或者\hologo{MiKTeX} 21以避免潜在的兼容性问题。}
+% 首先需要下载\hologo{TeX}软件发行版,校园网环境中使用\href{https://mirror.nju.edu.cn/download/app/TeX%20%E6%8E%92%E7%89%88%E7%B3%BB%E7%BB%9F}{南大镜像站}可以获得最好的体验。\textbf{推荐使用最新的\hologo{TeX}\,Live 2021或者\hologo{MiKTeX} 21以避免潜在的兼容性问题。使用\hologo{LuaLaTeX}编译需要将\pkg{LuaTeX-ja}包更新至2021-09-19或更新的版本}
%
% \begin{itemize}
% \item 为了避免不必要的麻烦,请尽可能下载 full 版本,如 texlive-full。简而言之,下载大的那个。
-% \item 并且,尽可能使用最新版(截至目前是 2021)。2020 及之前版本使用 PDF 格式的图片可能会出现加粗问题。
+% \item 并且,尽可能使用最新版(截至目前是 2021)。2020 及之前版本使用 PDF 格式的图片可能会出现加粗问题以及l3语法解释错误。
% \end{itemize}
%
% 下表是目前经过测试的环境。如果有其他可用不可用的环境,欢迎补充。
% \begin{table}[ht]
% \centering
% \caption{经过测试的环境}
-% % \label{tab:1}
+% \label{tab:1}
% \begin{tabular}{ccc}
-% \toprule
-% OS & TeX & 测试情况 \\
-% \midrule
-% Windows 10 & \hologo{TeX}\,Live 2020 & cref存在格式问题 \\
-% Windows 10 & \hologo{TeX}\,Live 2021 & 通过 \\
-% Windows 10 & \hologo{MiKTeX} & 通过 \\
-% macOS 10.15 & mac\hologo{TeX} 2021 & 通过 \\
-% Ubuntu 20.04 & \hologo{TeX}\,Live 2021 & 通过 \\
-% Arch Linux & \hologo{TeX}\,Live 2021 & 通过 \\
-% \bottomrule
+% \toprule
+% OS & TeX & 测试情况 \\
+% \midrule
+% Windows 10 & \hologo{TeX}\,Live 2020 & cref存在格式问题 \\
+% Windows 10 & \hologo{TeX}\,Live 2021 & 通过 \\
+% Windows 10 & \hologo{MiKTeX} & 通过 \\
+% macOS 10.15 & mac\hologo{TeX} 2021 & 通过 \\
+% Ubuntu 20.04 & \hologo{TeX}\,Live 2021 & 通过 \\
+% Arch Linux & \hologo{TeX}\,Live 2021 & 通过 \\
+% \bottomrule
% \end{tabular}
% \end{table}
%
% \subsubsection{选择编辑器}
%
-% 配置完编译器后,还需要一个\textbf{文本编辑器}作为前端来完成\texttt{.tex}文件内容的写作。
+% 配置完编译器后,还需要一个\textbf{文本编辑器}作为前端来完成\file{.tex}文件内容的写作。
%
-% 至今仍有相当一部分人认为Windows自带的\textit{记事本}是最好的文本编辑器,但对于本项目而言,在此诚心诚意地推荐你使用\textbf{更现代更美观更多功能}的编辑器,譬如\emph{安装了 LaTeX Workshop 插件 的 \href{https://code.visualstudio.com/}{Visual Studio Code}},来完成论文编写。你也可以根据个人的喜好随便使用其他编辑器,如 TeXworks、TeX Studio 等,顺手就行。
+% 至今仍有相当一部分人认为Windows自带的\emph{记事本}是最好的文本编辑器,但对于本项目而言,在此诚心诚意地推荐你使用\textbf{更现代更美观更多功能}的编辑器,譬如\emph{安装了 LaTeX Workshop 插件 的 \href{https://code.visualstudio.com/}{Visual Studio Code}},来完成论文编写。你也可以根据个人的喜好随便使用其他编辑器,如 TeXworks、TeX Studio 等,顺手就行。
%
-% 若使用 LaTeX Workshop 插件,本项目在|.vscode/|中提供一份简易配置,可以省略初始配置步骤直接使用。
+% 若使用 \hologo{LaTeX} Workshop 插件,本项目在|.vscode/|中提供一份简易配置,可以省略初始配置步骤直接使用。
%
% \subsubsection{编译顺序}
% 假设即将使用的文件名为\file{mynjuthesis.tex}
@@ -388,48 +368,64 @@ through XeTeX.
% \end{ctexexam}
%
% \subsection{在线编译}
+% \label{subsec:onlinecompile}
%
% 相信你在接触了本地编译以后,很快就会意识到一些十分显然的事实,譬如\hologo{TeX}编译器安装过程较为漫长,占用空间过大,而且在一部分处理器性能不佳的电脑上需要较长编译时间\footnote{其实这三点都是对广大的Windows用户说的,同一个模板在Linux编译可以节省一半耗时}。拒绝接受这些麻烦的同学不妨尝试本节介绍的在线编译方法。
%
% \subsubsection{南大\hologo{TeX}平台简介}
+% \changes{v0.2}{2021/09/07}{添加对南大\hologo{TeX}的支持。}
%
% \href{https://tex.nju.edu.cn}{南大\hologo{TeX}}基于开源的ShareLaTeX平台\footnote{理论上在\href{https://doc.nju.edu.cn/books/latex}{这个网站}能找到一段平台简介,实际上大家都有意无意地鸽了,下次一定补上。},于2021年3月4日正式上线,面向南京大学全体师生开放,首次使用需凭学校邮箱自助注册账号。
%
% \subsubsection{操作步骤}
%
% \begin{enumerate}
-% \item 下载\href{https://github.com/nju-lug/NJUThesisUndergraduate/archive/refs/heads/master.zip}{模板全部文件}
% \item 访问\href{https://tex.nju.edu.cn}{南大\hologo{TeX}},点击界面右上方Register,使用\emph{南京大学邮箱}注册账号并登录
-% \item 点击New Project -> Upload Project上传刚刚得到的zip文件,上传后njuthesis.tex、njuthesis.cls等文件应在根目录,目录结构如{{sec:directory}}所示
% \item 在项目页面左上角的Menu中,将编译器改为\hologo{XeLaTeX}或者\hologo{LuaLaTeX}
-% \item 编写论文
+% \item 仿照\file{njuthesis-sample.tex}编写论文
% \item 点击Compile按钮进行编译和预览
-% \item 点击编译按钮右侧第三个按钮下载产物
% \end{enumerate}
%
-% \subsubsection{关于Overleaf平台}
+% 注意,由于南大\hologo{TeX}已预装\cls{njuthesis},可以直接编写正文,无需\file{.cls}等格式文件。如果需要使用新版模板,也可以点击New Project -> Upload Project上传 \ref{subsubsec:downloadrtm} 得到的压缩文件。
%
-% 由于\href{https://www.overleaf.com/}{Overleaf平台}的\hologo{TeX}\,Live版本停留在2020,\texttt{cleveref}包在引用章节时会生成错误的标签,引发格式错误;而南大\hologo{TeX}通过及时更新规避了这一问题。因此\emph{请务必不要使用Overleaf官网进行编译}。
+% \subsubsection{关于Overleaf}
+%
+% 由于\href{https://www.overleaf.com/}{Overleaf平台}的\hologo{TeX}\,Live版本停留在2020,\texttt{cleveref}包在引用章节时会生成错误的标签,引发格式错误;而南大\hologo{TeX}通过及时更新规避了若干问题。因此\emph{请务必不要使用Overleaf官网进行编译}。
%
%
%
% \section{使用方法}
%
-% \subsection{自定义选项}
+% \subsection{标准结构}
%
-% 尖括号内列出了若干个允许的选项,其中加粗的为默认选项。
+% 典型的\cls{njuthesis}主文件结构应该如下所示:
%
-% 封面标题留空即可自动化换行
+% \begin{ctexexam}
+% \documentclass[<options>]{njuthesis}
+% \njusetup { info = {<info>} }
+% \graphicspath{{figure/}}
+% \addbibresource{njuthesis.bib}
+% \begin{document}
+% \maketitle
+% <abstract>
+% <preface>
+% \tableofcontents
+% \listoffigures
+% \listoftables
+% \mainmatter
+% <text>
+% \printbibliography[heading=bibintoc,title=参考文献]
+% <acknowledgement>
+% \appendix
+% <appendix>
+% \end{document}
+% \end{ctexexam}
%
-% 第二导师不填则留空,目前来说拥有两位指导老师并不是一种普遍状况。
+% \subsection{模板选项}
%
-% \begin{function}[added=2021-09-07]{nlcover}
-% \begin{syntax}
-% nlcover = <\TTF>
-% \end{syntax}
+% 模板选项位于\tn{documentclass}后的方括号内,用于指定模板的行为。
+% 下文中尖括号内列出了若干个允许的选项,其中加粗的为默认选项。
%
-% 通过此项可选择是否添加国家图书馆封面,本选项仅对于研究生有效
-% \end{function}
%
%
% \subsubsection{学位信息}
@@ -438,248 +434,793 @@ through XeTeX.
% degree = <(ug)|mg|mf|phd>
% \end{syntax}
%
-% 选择学位,可选:
-% \opt{ug}(默认本科),\opt{mg}即学术硕士,\opt{mf},\opt{phd}。
+% 选择学位,分别为本科、学术型硕士、专业硕士、博士。
% \end{function}
-%
+%
+% \begin{function}[added=2021-09-07]{nlcover}
+% \begin{syntax}
+% nlcover = <\TTF>
+% \end{syntax}
+%
+% 通过此项可选择是否添加国家图书馆封面。由于本科生院文件中并未提及相关规定,故本选项仅对于研究生有效。
+% \end{function}
%
% \begin{function}[added=2021-09-07]{type}
% \begin{syntax}
% type = <(thesis)|design>
% \end{syntax}
%
-% 用于选择文档类型并将相关字段输出在封面和摘要页。可选值包括thesis(表示毕业论文)和design(表示毕业设计),缺省值为thesis。
-% \opt{thesis}(默认),\opt{design}。
+% 用于选择文档类型并将相关字段输出在封面和摘要页,可选值分别为毕业论文和毕业设计。
+%
% \end{function}
%
%
%
% \subsubsection{指定字体}
%
-%
% 学校论文格式要求使用的字体一般已经预装在各个操作系统,本模板针对不同平台进行了自动检测适配,可以开箱即用。
%
-% 如果希望更改本模板使用的字体,请填写以下两个选项覆盖检测操作系统得到的设置
+% 如果希望更改本模板使用的字体,请填写以下两个选项以覆盖操作系统检测得到的设置。
+%
+% \begin{function}[added=2021-09-07]{customchinesefont,customlatinfont}
+% \begin{syntax}
+% customchinesefont = <(windows)|macos|fandol|founder|noto|none>
+% customlatinfont = <(windows)|macos|gyre|none>
+% \end{syntax}
+%
+% 手动指定字体。
+% \end{function}
+%
+%
+% 根据学校论文格式的要求,本模板使用的中文字体主要有{\songti 宋体}、{\heiti 黑体}、{\kaishu 楷体}、{\fangsong 仿宋}四种;
+% 西文字体主要有衬线体(\textup{serif})、无衬线体(\textsf{sans-serif})和等宽字体(\texttt{monospace})三种。
+% 在生成论文时,需要将每一种字体(宋体、楷体)与一种字库(操作系统中的 ttf 文件)相对应。
+% 由于不同操作系统自带的字库不同,在不同的操作系统上使用同一套配置会导致缺字、编译出错等后果。
+% 因此,本模板对于中文字体和西文字体都提供了多种字体配置。
+%
+% 本模板提供的中文字体配置如表 \ref{tab:chinesefontset} 所示。
+% 在不指定字体配置的情况下,本模板默认使用与操作系统相对应的字体配置
+% (见表中前三行,Windows 和 macOS 以外的系统采用 Fandol 配置)。
+% 此外,我们也单独提供了方正和思源两套中文字体配置。
+%
+% \begin{table}[htbp]
+% \centering
+% \begin{talltblr}[
+% caption = {中文字体配置列表},
+% label = {tab:chinesefontset},
+% note{a} = {使用
+% \href{http://www.foundertype.com/index.php/FontInfo/index/id/164}{方正小标宋}
+% 作为方正书宋的粗体,使用
+% \href{http://www.foundertype.com/index.php/FontInfo/index/id/131}{方正黑体}
+% 作为方正细黑一的粗体},
+% note{b} = {思源字体并不包含楷书和仿宋,而Adobe楷体和仿宋难以直接下载,
+% 因此使用方正字体代替;考虑到获取字体的难易程度,采用
+% \href{https://www.google.com/get/noto}{noto} 字体表示思源字体},
+% ] { cell{2}{2,4} = {njuyellow}, cell{4}{4} = {njuyellow}, colspec = {ccccc} }
+% \toprule
+% 配置名称 & 宋体 & 黑体 & 楷书 & 仿宋 \\
+% \midrule
+% Windows & 中易宋体 & 中易黑体 & 中易楷体 & 中易仿宋 \\
+% macOS & 华文宋体 & 华文黑体 & 华文楷体 & 华文仿宋 \\
+% \href{https://www.ctan.org/pkg/fandol} {Fandol}
+% & Fandol宋体 & Fandol黑体 & Fandol楷体 & Fandol仿宋 \\
+% \href{https://www.foundertype.com} {方正}\TblrNote{a}
+% & \href{http://www.foundertype.com/index.php/FontInfo/index/id/151}{方正书宋}
+% & \href{http://www.foundertype.com/index.php/FontInfo/index/id/161}{方正细黑一}
+% & \href{http://www.foundertype.com/index.php/FontInfo/index/id/137}{方正楷体}
+% & \href{http://www.foundertype.com/index.php/FontInfo/index/id/128}{方正仿宋} \\
+% \href{https://github.com/adobe-fonts} {思源}\TblrNote{b}
+% & \href{https://fonts.google.com/noto/specimen/Noto+Serif+SC}{思源宋体}
+% & \href{https://fonts.google.com/noto/specimen/Noto+Sans+SC}{思源黑体}
+% & 方正楷体 & 方正仿宋 \\
+% \bottomrule
+% \end{talltblr}
+% \end{table}
+%
+% 由于各操作系统对自带字体的支持程度不同,本模板对不同字体加粗的方式有所差别,
+% 表 \ref{tab:chinesefontset} 中,黄色底色的字体采用算法加粗。
+% 除此以外,各种字体在设计上也存在差异,因此本模板在不同操作系统下编译的结果可能存在细微不同,使用时请注意。
+% 若想要获得与 Word 版本模板最为贴近的体验,
+% 可以通过手动安装 Windows 自带的中易宋体、中易黑体、中易楷体和中易仿宋,并设置使用 Windows 字体来实现。
+%
+% 本模板提供的西文字体配置如表 \ref{tab:latinfontset} 所示。
+% 在不指定字体配置的情况下,本模板默认使用与操作系统相对应的字体配置
+% (见表中前三行,Windows 和 macOS 以外的系统采用 \opt{gyre} 配置)。
+%
+% \begin{table}[htbp]
+% \centering
+% \caption{西文字体清单}
+% \label{tab:latinfontset}
+% \begin{tabular}{cccc}
+% \toprule
+% 配置名称 & 衬线体 & 无衬线体 & 等宽字体 \\
+% \midrule
+% Windows & Times~New~Roman & Arial & Courier~New \\
+% macOS & Times~New~Roman & Arial & Menlo \\
+% \href{http://www.gust.org.pl/projects/e-foundry/tex-gyre}{gyre}
+% & \Hologo{TeX}~Gyre~Termes & \Hologo{TeX}~Gyre~Heros & \Hologo{TeX}~Gyre~Cursor \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+%
+% 若要手动选择字体,则需将字体设置为 \opt{none},再通过 \pkg{fontspec} 宏包或 \pkg{ctex} 宏包中给出的命令来实现。
+%
+% 最后,出于统一格式的需要,本模板还选取了与正文字体相似度最高的数学字体(\href{https://www.stixfonts.org}{STIX 字体})用于公式排版。
+%
+% 本节提及的字库中,中文字库只有方正书宋、方正黑体、方正楷体、方正仿宋、两种思源字体和四种Fandol字体能够\emph{免费商用};
+% 英文字库中只有 Times New Roman、STIX 和三种\Hologo{TeX} Gyre字体能够\emph{免费商用}。
+% 因此,若需要将本模板用于商业相关的活动,请咨询专业人士。
+%
+% \subsection{个人信息}
+%
+% \begin{function}[added=2021-09-10]{\njusetup}
+% \begin{syntax}
+% \tn{njusetup}\Arg{键值列表}
+% \end{syntax}
%
%
-% \begin{function}[added=2021-09-07]{customlatinfont}
+% 以下为各项个人信息,其中带星号的为对应的英文名称。
+% 有空格的内容需要将空格替换为波浪线或者两端加上大括号,不需要的项目不填即可。
+%
+% \end{function}
+%
+% \begin{function}{info/titlea,info/titleb,info/titlec,info/title*}
+% \begin{syntax}
+% titlea = \Arg{第一行标题}
+% titleb = \Arg{第二行标题}
+% titlec = \Arg{第三行标题}
+% title* = \Arg{英文标题}
+% \end{syntax}
+% 题目。由于封面上提供给中文题目的横线长度有限(单行最长为15个汉字),这里将中文题目进行手动拆分,请自行选择合适的断行处。如果题目较短不需要二三行,留空即可。
+% \end{function}
+%
+% \begin{function}{info/keywords,info/keywords*}
+% \begin{syntax}
+% keywords = \Arg{关键词}
+% keywords* = \Arg{英文关键词}
+% \end{syntax}
+% 关键词列表。关键词之间需要使用英文半角逗号隔开,含有空格的关键字需要使用花括号包裹以避免歧义。可以参照示例模板中的填写方式。
+% \end{function}
+%
+% \begin{function}{info/grade}
% \begin{syntax}
-% customlatinfont = <(windows)|macos|gyre|null>
+% grade = \Arg{20XX}
% \end{syntax}
+% 年级,推荐格式为“20XX”。
+% \end{function}
%
-% 手动指定英文字体,可选:
-% \opt{windows}(默认), \opt{macos}, \opt{gyre}, \opt{null}。
+% \begin{function}{info/student-id}
+% \begin{syntax}
+% student-id = \Arg{学号}
+% \end{syntax}
+% 学号。南京大学本科生为9位数字学号,研究生为两位大写字母标识加上八位数字组成的学号。
% \end{function}
%
+% \begin{function}{info/author,info/author*}
+% \begin{syntax}
+% author = \Arg{你的名字}
+% author* = \Arg{姓名拼音}
+% \end{syntax}
+% 姓名。
+% \end{function}
+%
+% \begin{function}{info/department,info/department*}
+% \begin{syntax}
+% department = \Arg{院系}
+% department* = \Arg{院系}
+% \end{syntax}
+% 院系。
+% \end{function}
+%
+% \begin{function}{info/major,info/major*}
+% \begin{syntax}
+% major = \Arg{专业}
+% major* = \Arg{专业}
+% \end{syntax}
+% 专业。
+% \end{function}
%
-% \begin{function}[added=2021-09-07]{customchinesefont}
+% \begin{function}{info/field,info/field*}
+% \begin{syntax}
+% field = \Arg{方向}
+% field* = \Arg{方向}
+% \end{syntax}
+% 研究领域。只有研究生有研究领域的说法。
+% \end{function}
+%
+% \begin{function}{info/supervisora,info/supervisora*,info/supervisora-title,info/supervisora-title*}
+% \begin{syntax}
+% supervisora = \Arg{导师}
+% supervisora* = \Arg{导师}
+% supervisora-title = \Arg{导师职称}
+% supervisora-title* = \Arg{导师职称}
+% \end{syntax}
+% 导师,如果有第二导师,填写第二导师时将A替换为B即可。
+% \end{function}
+%
+%
+% \begin{function}{info/submit-date,info/submit-date*}
% \begin{syntax}
-% customchinesefont = <(windows)|macos|fandol|founder|noto|null>
+% submit-date = \Arg{提交日期}
+% submit-date* = \Arg{提交日期}
% \end{syntax}
+% 提交日期。
+% \end{function}
%
-% 手动指定中文字体,可选:
-% \opt{windows}(默认), \opt{macos}, \opt{fandol}, \opt{founder},\opt{noto},\opt{null}。
+% \begin{function}{info/defend-date,info/chairman,info/reviewer}
+% \begin{syntax}
+% defend-date = \Arg{答辩日期}
+% chairman = \Arg{答辩主席}
+% reviewer = \Arg{评委姓名职称}
+% \end{syntax}
+% 答辩相关的内容,只对研究生有效,包括答辩日期,评审委员会主席及四位成员的姓名加职称。其中,四位评审成员是以列表的形式存储的,填写方法同关键词。
+% \end{function}
+%
+% \begin{function}{info/clc,info/secret-level,info/udc,info/supervisor-contact}
+% \begin{syntax}
+% clc = \Arg{中图分类号}
+% secret-level = <不涉密|秘密|机密|绝密>
+% udc = \Arg{udc}
+% supervisor-contact = \Arg{导师联系方式}
+% \end{syntax}
+% 国家图书馆封面相关,包括中图分类号、密级和udc。
+% \end{function}
%
-% 方正字体(简繁扩展)系列
-% FZSSK \href{http://www.foundertype.com/index.php/FontInfo/index/id/151}{方正书宋} 免费商用
+% 本科生可以参考如下列表输入个人信息。注意不能有空行。
%
-% FZXBSK \href{http://www.foundertype.com/index.php/FontInfo/index/id/164}{方正小标宋} 设计师非商免费
%
-% FZKTK \href{http://www.foundertype.com/index.php/FontInfo/index/id/137}{方正楷体} 免费商用
+% \begin{ctexexam}
+% \njusetup {
+% info = {
+% titlea = 第一行标题,
+% titleb = 第二行标题,
+% title* = {My title in English},
+% keywords = {我,就是,充数的,关键词},
+% keywords* = {Dummy,Keywords,Here,{it is}},
+% grade = 2018,
+% student-id = 189114514,
+% author = 周煜华,
+% author* = Zhou~Yuhua,
+% department = 拉太赫科学与技术学院,
+% department* = School~of~\hologo{LaTeX},
+% major = 拉太赫语言学,
+% major* = \hologo{LaTeX}~Linguistics,
+% supervisora = 李成殿,
+% supervisora*= Li~Chengdian,
+% supervisora-title = 教授,
+% supervisora-title* = Professor,
+% supervisorb = 孙赫弥,
+% supervisorb* = Sun~Hemi,
+% supervisorb-title = 副教授,
+% supervisorb-title* = Associate professor,
+% submit-date = 2021年8月10日,
+% }
+% }
+% \end{ctexexam}
%
-% FZXH1K \href{http://www.foundertype.com/index.php/FontInfo/index/id/161}{方正细黑一} 设计师非商免费
+% 研究生可以参考如下列表输入个人信息
%
-% FZHTK \href{http://www.foundertype.com/index.php/FontInfo/index/id/131}{方正黑体} 免费商用
+% \begin{ctexexam}
+% \njusetup {
+% info = {
+% titlea = 第一行标题,
+% titleb = 第二行标题,
+% titlec = 第三行标题,
+% title* = {My title in English},
+% keywords = {我,就是,充数的,关键词},
+% keywords* = {Dummy,Keywords,Here,{it is}},
+% grade = 2018,
+% student-id = dz18114514,
+% author = 周煜华,
+% author* = Zhou~Yuhua,
+% department = 拉太赫科学与技术学院,
+% department* = School~of~\hologo{LaTeX},
+% major = 拉太赫语言学,
+% major* = \hologo{LaTeX}~Linguistics,
+% field = 拉太赫语言在现当代的使用,
+% field* = Contemporary~Usage~of~the~\hologo{LaTeX}~Language,
+% supervisora = 李成殿,
+% supervisora*= Li~Chengdian,
+% supervisora-title = 教授,
+% supervisora-title* = Professor,
+% submit-date = 2021年8月10日,
+% submit-date* = {Aug 10, 2021},
+% defend-date = 2021年9月19日,
+% chairman = 张晓山~教授,
+% reviewer = {王瑞希~教授,郭德纲~副教授,华芈库~教授,戴菲菲~教授},
+% clc = 0175.2,
+% secret-level = 限制,
+% udc = 004.72,
+% supervisor-contact = {拉太赫科学与技术学院 枝江市结丘路 19 号 114514},
+% }
+% }
+% \end{ctexexam}
%
-% FZFSK \href{http://www.foundertype.com/index.php/FontInfo/index/id/128}{方正仿宋}
%
-% FZYouHK_508R \href{http://www.foundertype.com/index.php/FontInfo/index/id/244}{方正悠黑508R} 设计师非商免费
%
-% FZYouHK_511M \href{http://www.foundertype.com/index.php/FontInfo/index/id/244}{方正悠黑511M} 设计师非商免费
+% \subsection{编写正文}
%
-% 思源字体\footnote{思源宋体和思源黑体有两种英文命名,本模板采用Google的noto系列}:
-% \href{https://www.google.com/get/noto/#serif-hans}{思源宋体}、
-% \href{https://www.google.com/get/noto/#sans-hans}{思源黑体}
+% 与导言区相对的是正文,位于\env{document}环境内。
%
+% \begin{ctexexam}
+% \begin{document}
+% text
+% \end{document}
+% \end{ctexexam}
+%
+% 加上空行就可以另起一段。
%
%
-% 方正楷体、方正仿宋为免费商用字体,且支持CJK字符集
-% \href{http://www.foundertype.com/index.php/FontInfo/index/id/128.html}{方正仿宋}
-% \href{http://www.foundertype.com/index.php/FontInfo/index/id/137.html}{方正楷体}
+% 在页面布局方面,本科生无页眉,页面编号居中位于页脚;研究生无页脚,页眉包括章节名和页面编号(尚未确定)。
+%
+% \subsubsection{文字}
+%
+% \begin{function}[added=2021-09-22]{\njuline}
+% \begin{syntax}
+% \tn{njuline}\Arg{文字}
+% \end{syntax}
+%
+% 为了避免原生\tn{uline}命令在中文环境下不能正常换行的问题,本模板使用\tn{njuline}作为替代方案,分别对\hologo{XeLaTeX} 的\pkg{xeCJKfntef}包和\hologo{LuaLaTeX}的\pkg{lua-ul}包中的下划线命令进行了包装。
+% \end{function}
+%
+% \begin{function}{\footnote}
+% \begin{syntax}
+% \tn{footnote}\Arg{脚注}
+% \end{syntax}
+%
+% 添加脚注
+% \end{function}
%
-% 各个系统的默认字体请参考。可以看到,不同系统上使用的字体有所差别,实际输出结果可能存在细微不同, 使用时请注意。例如,在Linux平台或者使用了Ubuntu后端的南大\hologo{TeX}上,宋体加粗效果更明显;另一方面,在Windows平台进行编译的效果更接近Word加粗\footnote{因为SimSun没有原生粗体,通过AutoFakeBold=2.17进行模仿},符合视觉习惯。
%
+% \subsubsection{图片}
+%
+% \begin{function}{\graphicspath}
+% \begin{syntax}
+% \tn{graphicspath}\{\marg{路径1}\marg{路径2}\}
+% \end{syntax}
+% 使用自己的图片时,需要在导言区通过本命令添加图片存放路径,允许的文件名包括\file{*.jpg}, \file{*.png}, \file{*.pdf}, \file{*.eps}。
% \end{function}
%
%
-% \subsection{封面信息}
+% 下面这个例子展示了如何插入一张名称为\file{myfig.jpg},宽度占页面文字宽度一半的图片。注意标签命令\tn{label}必须放在图注命令\tn{caption}之后。
%
-% \subsection{输入个人信息}
+% \begin{ctexexam}
+% \begin{figure}[h]
+% \includegraphics[width=0.5\textwidth]{myfig}
+% \caption{我的图}
+% \label{fig:myfig}
+% \end{figure}
+% \end{ctexexam}
%
-% \begin{function}{\njusetup}
%
-% 定义了用于文档封面的诸多属性参数,
-% 写作时修改相应字符串即可。注意不要有空行,否则可能报错
+% 文字环绕图像,\env{wrapfigure}后面不能有空行
+%
+% \begin{ctexexam}
+% \begin{wrapfigure}{r}{0cm}
+% \includegraphics[width=0.15\textwidth]{myfig}
+% \caption{我的图}
+% \label{fig:myfig}
+% \end{wrapfigure}
+% <text>
+% \end{ctexexam}
+%
+% TODO:使用\pkg{subcaption}的\env{subfigure}实现多张图片并排的效果
+%
+% \begin{ctexexam}
+% \begin{figure}
+% \begin{subfigure}{.32\textwidth}
+% \centering
+% \includegraphics[width=\textwidth]{fig1}
+% \caption{fig1}
+% \end{subfigure}
+% \begin{subfigure}{.32\textwidth}
+% \centering
+% \includegraphics[width=\textwidth]{fig2}
+% \caption{fig2}
+% \end{subfigure}
+% \begin{subfigure}{.32\textwidth}
+% \centering
+% \includegraphics[width=\textwidth]{fig3}
+% \caption{fig3}
+% \end{subfigure}
+% \caption{subfigures}
+% \end{figure}
+% \end{ctexexam}
+%
+% \subsubsection{表格}
+%
+% 下面这个例子展示了如何插入一张表格。
+%
+% 通过\pkg{booktabs}提供的\tn{toprule}、\tn{midrule}和\tn{bottomrule},我们可以很轻松地绘制出一张漂亮规范的三线表。
+% \begin{ctexexam}
+% \begin{table}[htbp]
+% \caption{我的表}
+% \label{tab:testtab}
+% \begin{tabular}{ccc}
+% \toprule
+% OS & TeX & 测试情况 \\
+% \midrule
+% 南大TeX & Overleaf & √ \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+% \end{ctexexam}
+%
+% \begin{function}{\multirow,\multicolumn}
+% \begin{syntax}
+% \tn{multirow}\Arg{nrows}\oarg{bigstructs}\Arg{width}[\oarg{fixup}\Arg{text}
+% \tn{multicolumn}\Arg{nrows}\Arg{width}\Arg{text}
+% \end{syntax}
+%
+% TODO:\pkg{multirow}\pkg{multicol}合并单元格
+% \url{http://www.ctex.org/documents/packages/table/multirow.htm}
%
% \end{function}
%
-% 本科生可以参考如下列表输入个人信息。注意不能有空行,有空格的内容需要将空格替换为波浪线或者两端加上大括号
+% \subsubsection{代码}
%
+% 由\pkg{listings}提供代码排版。代码块\env{lstlisting},注意这个环境中的缩进空格会如实输出
% \begin{ctexexam}
-% \njusetup {
-% info = {
-% TitleA = 一种使用南京大学\hologo{LaTeX}模版,
-% TitleB = 编写毕业论文的经验性方法,
-% Title* = {An Empirical Way of Composing Thesis with NJU \hologo{LaTeX} Template},
-% Grade = 2018,
-% StudentID = 189114514,
-% StudentName = 周煜华,
-% StudentName* = Zhou~Yuhua,
-% Department = 拉太赫科学与技术学院,
-% Department* = School~of~\hologo{LaTeX},
-% Major = 拉太赫语言学,
-% Major* = \hologo{LaTeX}~Linguistics,
-% SupervisorA = 李成殿,
-% SupervisorA*= Li~Chengdian,
-% SupervisorATitle = 教授,
-% SupervisorATitle* = Professor,
-% SupervisorB = 孙赫弥,
-% SupervisorB* = Sun~Hemi,
-% SupervisorBTitle = 副教授,
-% SupervisorBTitle* = Associate professor,
-% SubmitDate = 2021年8月10日,
-% }
-% }
+% \begin{lstlisting}
+% <code>
+% \end{lstlisting}
% \end{ctexexam}
%
-% 研究生可以参考如下列表输入个人信息
+% 行间代码|\lstinline!<code>!|,其中包裹代码的两个感叹号并不是绝对的,可以替换成任何两个相同的没有在这段代码中出现过的符号。
+%
+%
+% \subsubsection{数学}
%
+% 符号表可以参考\url{https://www.caam.rice.edu/~heinken/latex/symbols.pdf}。单位请参考\pkg{siunitx}。
+%
+% 行内公式形如|$\mathrm{e}^{(a+2b)x}$|
+%
+% 带有编号的行间公式\env{equation}
+% \begin{ctexexam}
+% \begin{equation}\label{eq:myeqlabel}
+% \pi
+% \end{equation}
+% \end{ctexexam}
+%
+% 如不需要编号,可以用\env{equation*}或者 |\[<eq>\]|
+%
+% 本模板也提供了一系列的数学环境。证明环境会在结尾添加证毕符号
% \begin{ctexexam}
-% \njusetup {
-% info = {
-% TitleA = 一种使用南京大学\hologo{LaTeX}模版,
-% TitleB = 编写毕业论文的经验性方法,
-% TitleC = (内容已经过时,详见说明手册),
-% Title* = {An Empirical Way of Composing Thesis with NJU \hologo{LaTeX} Template},
-% Grade = 2018,
-% StudentID = dz18114514,
-% StudentName = 周煜华,
-% StudentName* = Zhou~Yuhua,
-% Department = 拉太赫科学与技术学院,
-% Department* = School~of~\hologo{LaTeX},
-% Major = 拉太赫语言学,
-% Major* = \hologo{LaTeX}~Linguistics,
-% Field = 拉太赫语言在现当代的使用,
-% Field* = Contemporary~Usage~of~the~\hologo{LaTeX}~Language,
-% SupervisorA = 李成殿,
-% SupervisorA*= Li~Chengdian,
-% SupervisorATitle = 教授,
-% SupervisorATitle* = Professor,
-% SubmitDate = 2021年8月10日,
-% SubmitDate* = {Aug 10, 2021},
-% DefendDate = 2021年9月19日,
-% ReviewerChairman = 张晓山~教授,
-% ReviewerA = 王瑞希~教授,
-% ReviewerB = 郭德纲~副教授,
-% ReviewerC = 华芈库~教授,
-% ReviewerD = 戴菲菲~教授,
-% Classification = 0175.2,
-% SecurityLevel = 限制,
-% UDC = 004.72,
-% SupervisorContact = {拉太赫科学与技术学院 枝江市结丘路 19 号 114514},
-% }
-% }
+% \begin{proof}
+% 证明我是我
+% \end{proof}
% \end{ctexexam}
%
-% \subsection{摘要页}
+% 普通环境
+% \begin{ctexexam}
+% \begin{definition}[他人]
+% 定义他人即地狱
+% \end{definition}
+% \end{ctexexam}
+%
+%
+% \subsubsection{引用}
+%
+% \begin{function}{\cref}
+% \begin{syntax}
+% \tn{cref}\Arg{标签}
+% \end{syntax}
%
-% 摘要页一般不插入目录,默认只添加pdf书签。如确实有插入目录的需求,请在\texttt{abstract.sty}文件中定位到如下语句
+% 使用\pkg{cleveref}宏包实现了带图、表等项目名称的智能引用。
+%
+% \end{function}
%
-% 在使用\hologo{LuaLaTeX}编译时,研究生中文摘要页的标题会出现空格无下划线的问题,目前正在积极寻求解决方法。
+% \begin{function}{\href,\url}
+% \begin{syntax}
+% \tn{href}\Arg{链接}\Arg{名称}
+% \tn{url}\Arg{链接}
+% \end{syntax}
%
-% {前言页}
-% 使用\env{preface}环境定义
+% 超链接。\tn{href}会将特定字符显示为可点击的超链接,\tn{url}会输出可点击的链接原文。
+%
+% \end{function}
+%
+%
+% \subsection{特殊页面}
+%
+% 本模板还提供一系列环境用于生成所需的特殊页面
+%
+% \subsubsection{封面}
+%
+% \begin{function}{\maketitle}
+%
+% 用于生成封面。
+% 本科生仅会生成中文封面;研究生会生成中英文封面。
+% 如果选择了\opt{nlcover},也会生成研究生的国家图书馆封面。
+%
+% \end{function}
%
%
-% \subsection{正文格式}
+% \subsubsection{摘要页}
+% \changes{v0.11}{2021/10/01}{简化了摘要的编写方式。}
+%
+%
+% \begin{ctexexam}
+% \begin{abstract}
+% 我的中文摘要
+% \end{abstract}
+%
+% \begin{abstract*}
+% My abstract in English
+% \end{abstract*}
+% \end{ctexexam}
%
-% 本科生无页眉,页面编号居中位于页脚;研究生无页脚,页眉包括章节名和页面编号。
%
+% \subsubsection{前言页}
%
-% 对中文加下划线请使用xeCJKfntef包的CJKunderline命令代替uline,以解决中文的换行问题
+% \begin{function}{preface}
+% 使用\env{preface}环境定义
+% \end{function}
+%
+% \begin{ctexexam}
+% \begin{preface}
+% 我的前言
+% \vspace{1cm}
+% \begin{flushright}
+% 我的名字\\
+% 时间地点
+% \end{flushright}
+% \end{preface}
+% \end{ctexexam}
%
-% {参考文献页}
+% \subsubsection{目录页}
%
-% 需要使用biber手动编译才会显示,具体内容参考
+% \begin{function}{\tableofcontents,\listoffigures,\listoftables}
%
-% {致谢页}
+% 分别生成目录、图片清单和表格清单。
+%
+% \end{function}
+%
+%
+% \subsubsection{致谢页}
+%
+% \begin{function}{acknowledgement}
% 同前言,使用\env{acknowledgement}环境
+% \end{function}
%
-% {附录页}
+% \begin{ctexexam}
+% \begin{acknowledgement}
+% 感谢NJU LUG
+% \end{acknowledgement}
+% \end{ctexexam}
+%
+% \subsubsection{参考文献页}
+%
+% 使用以下命令,\opt{bibintoc}可以将参考文献页插入目录
+%
+% \begin{ctexexam}
+% \printbibliography[heading=bibintoc,title=参考文献]
+% \end{ctexexam}
+%
+% \subsubsection{附录页}
+%
+% \begin{function}{\appendix}
+%
+% 附录放在本命令后,以英文字母进行编号,编写方式同正文
+% \end{function}
+%
+% 是否需要索引?
+%
+%
+% \subsubsection{成果列表}
+%
+% \begin{function}{\njupaperlist,\njupaperlist*}
+% \begin{syntax}
+% \tn{njupaperlist}\Arg{文献}
+% \end{syntax}
+% 成果列表,分别为发表文章目录与合作文章目录。\Arg{文献}的填写方式同\tn{cite},多个文献需要使用英文半角逗号隔开。
+% \end{function}
+%
+% \subsection{参考文献}
+%
+% 符合GB7714-2015规范。使用\hologo{biber}作为\hologo{BibTeX}后端。需要使用|biber|命令手动编译才会显示
+%
+% \begin{function}{\addbibresource}
+% \begin{syntax}
+% \tn{addbibresource}\Arg{文件}
+% \end{syntax}
+%
+% 默认参考文献存储于主目录下的\file{njuthesis.bib},直接向其中粘贴新的参考文献即可。如果希望额外添加参考文献列表,可以在导言区中多次调用\tn{addbibresource}命令。注意本命令与|\bibliography{bibfile1,bibfile2}|不同,不可以用逗号分隔多个输入文件,且必须使用带扩展名的完整文件名。
+% \end{function}
+%
+%
+% \subsubsection{使用EndNote}
+%
+% 南京大学信息化建设管理服务中心已购买\href{https://itsc.nju.edu.cn/EndNote/list.htm}{EndNote}供全校师生免费试用,最新版为EndNote 20。
+%
+%
+% \subsubsection{使用Zotero}
+%
+% \href{https://www.zotero.org/}{Zotero}是一款免费的文献管理软件,支持所有桌面平台。
+%
+% 在保持Zotero程序运行的情况下,点击浏览器工具栏的Zotero Connector插件即可自动从网页抓取参考文件信息。Zotero可以通过\href{https://github.com/l0o0/jasminum}{jasminum插件}支持中文参考文献的识别。在选中希望使用的文献后右键导出文献条目即可生成\file{.bib}文件。
+%
+% \subsubsection{文段内引用}
+%
+% \begin{function}{\cite,\citeauthor,\citeyear}
+% \begin{syntax}
+% \tn{cite}\Arg{文献}
+% \tn{citeauthor}\Arg{文献}
+% \tn{citeyear}\Arg{文献}
+% \end{syntax}
+% 引用文献
+% \end{function}
+%
+% \subsection{视觉识别系统}
+%
+% \begin{function}[added=2021-09-24]{njuviolet,njumagenta,njublue,njuyellow}
+% \begin{syntax}
+% \tn{color}\Arg{颜色}
+% \end{syntax}
+% 定义并使用南京大学视觉形象规范化标准中给定的四种标准色:
+%
+% {\color{njuviolet}紫色}\hspace{1em}{\color{njumagenta}洋红}\hspace{1em}
+% {\color{njublue}蓝色}\hspace{1em}{\color{njuyellow}黄色}
+%
+% \end{function}
+%
+% \begin{function}[added=2021-09-24]{\njuemblem}
+% \begin{syntax}
+% \tn{njuemblem}\oarg{颜色}\Arg{宽度}\Arg{高度}
+% \end{syntax}
+% 生成指定颜色和大小的南京大学校徽。
+% \end{function}
+%
+% \begin{function}[added=2021-09-24]{\njuname,\njuname*}
+% \begin{syntax}
+% \tn{njuname}\oarg{颜色}\Arg{宽度}\Arg{高度}
+% \tn{njuname*}\oarg{颜色}\Arg{宽度}\Arg{高度}
+% \end{syntax}
+% 生成指定颜色和大小的南京大学校名,加星号的为英文校名。
+% \end{function}
+%
+%
+% \begin{function}[added=2021-09-24]{\njumotto}
+% \begin{syntax}
+% \tn{njumotto}\oarg{颜色}\Arg{宽度}\Arg{高度}
+% \end{syntax}
+% 生成指定颜色和大小的南京大学校训。
+% \end{function}
+%
+%
+% \begin{function}[added=2021-09-24]{\njuspirit}
+% \begin{syntax}
+% \tn{njuspirit}\oarg{颜色}\Arg{宽度}\Arg{高度}
+% \end{syntax}
+% 生成指定颜色和大小的南京大学校徽。
+% \end{function}
+%
%
-% 附录放在|\appendix|命令后,以英文字母进行编号
%
% \end{documentation}
%
% \begin{implementation}
%
% \section{代码实现}
-% @@在l3docstrip中表示名空间,在生成cls时会被相应字段替换,譬如在njuthesis中@@=nju。
+% \changes{v0.10}{2021/09/26}{对代码实现部分进行了整理。}
+%
+% |@@| 在 \pkg{l3docstrip} 中表示名空间,在删除注释生成格式文件时会被等号后的字段替换,譬如在本模板\pkg{njuthesis}中 |@@=nju|。
% 尖括号包裹的|<*class>||</class>|用来指定某段代码属于哪个文件。
%
% \begin{macrocode}
%<@@=nju>
%<*class>
-\LoadClass[
- a4paper,
- twoside,
- UTF8,
- scheme=chinese,
% \end{macrocode}
%
-% 关于行距,\hologo{LaTeX}默认1.2行距,word默认行距是1.3,要求1.5倍word行距,故
-% \[ 1.5\times\frac{1.3}{1.2} = 1.625\]
+% \subsection{定义常量}
+%
+% \begin{macro}{\@@_define_name:nn,\@@_define_name:nnn}
+% 用来定义默认名称的辅助函数。
% \begin{macrocode}
- linespread=1.625,
- fontset=none,
- zihao=-4
- ]{ctexbook}[2018/04/01]
+\cs_new_protected:Npn \@@_define_name:nn #1#2
+ { \tl_const:cn { c_@@_name_ #1 _tl } {#2} }
+\cs_new_protected:Npn \@@_define_name:nnn #1#2#3
+ {
+ \tl_const:cn { c_@@_name_ #1 _tl } {#2}
+ \tl_const:cn { c_@@_name_ #1 _en_tl } {#3}
+ }
% \end{macrocode}
+% \end{macro}
%
-% 宏包\pkg{l3keys2e}用于配置模板选项。
+% 默认名称。注意空格是忽略掉的。
% \begin{macrocode}
-\RequirePackage{l3keys2e}
+\clist_map_inline:nn
+ {
+ { pdf_creator } { LaTeX~ with~ njuthesis~ class },
+ }
+ { \@@_define_name:nn #1 }
+\clist_map_inline:nn
+ {
+ { keywords } { 关键词: } { Keywords: },
+ }
+ { \@@_define_name:nnn #1 }
% \end{macrocode}
-% 用于存储学位名称的全局变量,注意宏的命名,l代表局部变量,g代表全局变量
+%
+% \subsection{模板选项}
+%
+% 用于配置模板选项的宏包。
+% \begin{macrocode}
+\RequirePackage{xparse,xtemplate,l3keys2e}
+% \end{macrocode}
+%
+% \begin{variable}{\l_@@_info_degree_tl,\l_@@_info_type_tl}
+% 用于存储学位名称的变量,注意宏的命名,l代表局部变量,g代表全局变量
% \begin{macrocode}
\tl_new:N \l_@@_info_degree_tl
\tl_new:N \l_@@_info_type_tl
% \end{macrocode}
+% \end{variable}
%
-% 是否需要国家图书馆封面的设置
+% \begin{variable}{\g_@@_latin_fontset_tl,\g_@@_cjk_fontset_tl}
+% 用于存储所使用字体名称的全局变量
% \begin{macrocode}
-\keys_define:nn { nju }
-{
- nlcover .bool_set:N = \g_@@_nlcover_bool,
- nlcover .initial:n = false,
-}
+\tl_new:N \g_@@_latin_fontset_tl
+\tl_new:N \g_@@_cjk_fontset_tl
% \end{macrocode}
+% \end{variable}
%
% 学位信息的设置
% \begin{macrocode}
\keys_define:nn { nju }
{
+% \end{macrocode}
+%
+% \begin{macro}{degree}
+% 学位类型。
+% \begin{macrocode}
degree .choices:nn =
{ ug, mg, mg, phd }
{ \tl_set_eq:NN \l_@@_info_degree_tl \l_keys_choice_tl },
degree .initial:n = ug,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{type}
+% 论文类型。
+% \begin{macrocode}
type .choices:nn =
{ thesis, design }
{ \tl_set_eq:NN \l_@@_info_type_tl \l_keys_choice_tl },
type .initial:n = thesis,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{nlcover}
+% 是否需要国家图书馆封面的设置。
+% \begin{macrocode}
+ nlcover .bool_set:N = \g_@@_nlcover_bool,
+ nlcover .initial:n = false,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{customlatinfont,customchinesefont}
+% 定义字体选项
+% \begin{macrocode}
+ customlatinfont .choices:nn =
+ { gyre, macos, windows, none }
+ { \tl_set_eq:NN \g_@@_latin_fontset_tl \l_keys_choice_tl },
+ customchinesefont .choices:nn =
+ { fandol, founder, macos, noto, windows, none }
+ { \tl_set_eq:NN \g_@@_cjk_fontset_tl \l_keys_choice_tl },
}
% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ProcessKeysOptions}
+% 在定义完全部设置以后从tex文件导言区输入参数
+% \begin{macrocode}
+\ProcessKeysOptions { nju }
+% \end{macrocode}
+% \end{macro}
+%
%
+%
+%
% \subsection{个人信息}
% 输入个人信息的区域。
% \begin{macrocode}
@@ -689,139 +1230,154 @@ through XeTeX.
}
% \end{macrocode}
%
-% 题目
% \begin{macrocode}
\keys_define:nn { nju / info }
{
- TitleA .tl_set:N = \l_@@_info_title_a_tl,
- TitleB .tl_set:N = \l_@@_info_title_b_tl,
- TitleC .tl_set:N = \l_@@_info_title_c_tl,
- Title* .tl_set:N = \l_@@_info_title_en_tl,
-}
% \end{macrocode}
%
-% 年级、学号、姓名
+% \begin{macro}{info/titlea,info/titleb,info/titlec,info/title*}
+% 题目
% \begin{macrocode}
-\keys_define:nn { nju / info }
-{
- Grade .tl_set:N = \l_@@_info_grade_tl,
- StudentID .tl_set:N = \l_@@_info_id_tl,
- StudentName .tl_set:N = \l_@@_info_author_tl,
- StudentName* .tl_set:N = \l_@@_info_author_en_tl,
-}
+ titlea .tl_set:N = \l_@@_info_title_a_tl,
+ titleb .tl_set:N = \l_@@_info_title_b_tl,
+ titlec .tl_set:N = \l_@@_info_title_c_tl,
+ title* .tl_set:N = \l_@@_info_title_en_tl,
% \end{macrocode}
+% \end{macro}
%
-% 院系、专业、方向
+% \begin{macro}{info/keywords,info/keywords*}
+% \changes{v0.11}{2021/10/01}{修改了添加关键词的方式。}
+% 关键词
% \begin{macrocode}
-\keys_define:nn { nju / info }
-{
- Department .tl_set:N = \l_@@_info_dept_tl,
- Department* .tl_set:N = \l_@@_info_dept_en_tl,
- Major .tl_set:N = \l_@@_major_tl,
- Major* .tl_set:N = \l_@@_major_en_tl,
- Field .tl_set:N = \l_@@_field_tl,
- Field* .tl_set:N = \l_@@_field_en_tl,
-}
+keywords .clist_set:N = \l_@@_info_keywords_clist,
+keywords* .clist_set:N = \l_@@_info_keywords_en_clist,
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/grade,info/student-id,info/author,info/author*}
+% 年级、学号、姓名
+% \begin{macrocode}
+ grade .tl_set:N = \l_@@_info_grade_tl,
+ student-id .tl_set:N = \l_@@_info_id_tl,
+ author .tl_set:N = \l_@@_info_author_tl,
+ author* .tl_set:N = \l_@@_info_author_en_tl,
% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{info/department,info/department*,info/major,info/major*,info/field,info/field*}
+% 院系、专业、方向。
+% \begin{macrocode}
+ department .tl_set:N = \l_@@_info_dept_tl,
+ department* .tl_set:N = \l_@@_info_dept_en_tl,
+ major .tl_set:N = \l_@@_major_tl,
+ major* .tl_set:N = \l_@@_major_en_tl,
+ field .tl_set:N = \l_@@_field_tl,
+ field* .tl_set:N = \l_@@_field_en_tl,
+% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{info/supervisora,info/supervisora*,info/supervisora-title,info/supervisora-title*}
% 导师
-%
% \begin{macrocode}
-\keys_define:nn { nju / info }
-{
- SupervisorA .tl_set:N = \l_@@_info_supv_a_tl,
- SupervisorA* .tl_set:N = \l_@@_info_supv_a_en_tl,
- SupervisorATitle .tl_set:N = \l_@@_info_supv_a_title_tl,
- SupervisorATitle* .tl_set:N = \l_@@_info_supv_a_title_en_tl,
-}
+ supervisora .tl_set:N = \l_@@_info_supv_a_tl,
+ supervisora* .tl_set:N = \l_@@_info_supv_a_en_tl,
+ supervisora-title .tl_set:N = \l_@@_info_supv_a_title_tl,
+ supervisora-title*.tl_set:N = \l_@@_info_supv_a_title_en_tl,
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{info/supervisorb,info/supervisorb*,info/supervisorb-title,info/supervisorb-title*}
% 第二导师
-%
% \begin{macrocode}
-\keys_define:nn { nju / info }
-{
- SupervisorB .tl_set:N = \l_@@_info_supv_b_tl,
- SupervisorB* .tl_set:N = \l_@@_info_supv_b_en_tl,
- SupervisorBTitle .tl_set:N = \l_@@_info_supv_b_title_tl,
- SupervisorBTitle* .tl_set:N = \l_@@_info_supv_b_title_en_tl,
-}
+ supervisorb .tl_set:N = \l_@@_info_supv_b_tl,
+ supervisorb* .tl_set:N = \l_@@_info_supv_b_en_tl,
+ supervisorb-title .tl_set:N = \l_@@_info_supv_b_title_tl,
+ supervisorb-title*.tl_set:N = \l_@@_info_supv_b_title_en_tl,
% \end{macrocode}
+% \end{macro}
%
-% 提交日期
+% \begin{macro}{info/submit-date,info/submit-date*}
+ % 提交日期
% \begin{macrocode}
-\keys_define:nn { nju / info }
-{
- SubmitDate .tl_set:N = \l_@@_submit_date_tl,
- SubmitDate* .tl_set:N = \l_@@_submit_date_en_tl,
-}
+ submit-date .tl_set:N = \l_@@_submit_date_tl,
+ submit-date* .tl_set:N = \l_@@_submit_date_en_tl,
% \end{macrocode}
+% \end{macro}
%
-% 答辩
+% \begin{macro}{info/defend-date,info/chairman,info/reviewer}
+% 答辩 TODO: 用clist处理答辩委员会成员名称
% \begin{macrocode}
-\keys_define:nn { nju / info }
-{
- DefendDate .tl_set:N = \l_@@_defend_date_tl,
- ReviewerChairman .tl_set:N = \l_@@_info_chairman_tl,
- ReviewerA .tl_set:N = \l_@@_info_reviewer_a_tl,
- ReviewerB .tl_set:N = \l_@@_info_reviewer_b_tl,
- ReviewerC .tl_set:N = \l_@@_info_reviewer_c_tl,
- ReviewerD .tl_set:N = \l_@@_info_reviewer_d_tl,
-}
+ defend-date .tl_set:N = \l_@@_defend_date_tl,
+ chairman .tl_set:N = \l_@@_info_chairman_tl,
+ reviewer .clist_set:N = \l_@@_info_reviewer_clist,
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{info/clc,info/secret-level,info/udc,info/supervisor-contact}
% 国家图书馆封面相关
% \begin{macrocode}
-\keys_define:nn { nju / info }
-{
- Classification .tl_set:N = \l_@@_info_classif_tl,
- SecurityLevel .tl_set:N = \l_@@_info_seclv_tl,
- UDC .tl_set:N = \l_@@_info_udc_tl,
- SupervisorContact .tl_set:N = \l_@@_info_supv_cont_tl,
+ clc .tl_set:N = \l_@@_info_clc_tl,
+ secret-level .tl_set:N = \l_@@_info_seclv_tl,
+ udc .tl_set:N = \l_@@_info_udc_tl,
+ supervisor-contact.tl_set:N = \l_@@_info_supv_cont_tl,
}
% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\njusetup}
+% \changes{v0.6}{2021/09/10}{改用键值对输入信息。}
+% \changes{v0.11}{2021/10/01}{将个人信息变量名改为小写字母加连字符的形式。}
% 定义用于设置个人信息的命令
% \begin{macrocode}
\NewDocumentCommand \njusetup { m }
{ \keys_set:nn { nju } { #1 } }
% \end{macrocode}
+% \end{macro}
%
-% 使用\pkg{geometry}设置页边距。
-% \begin{macrocode}
-\RequirePackage[
- top=2.5cm,
- bottom=2.5cm,
- left=3.2cm,
- right=3.2cm
-]{geometry}
-% \end{macrocode}
%
+% \subsection{载入宏包}
%
+% 使用\pkg{ctexbook}文档类。
% \begin{macrocode}
-\RequirePackage{xparse}
-\RequirePackage{titletoc} % 修改目录内标题格式
-\RequirePackage[hyphens]{url} % generate better linebreaks in the url
-% \RequirePackage[normalem]{ulem} % 绘制下划线
-\RequirePackage{dashundergaps}
-\RequirePackage{setspace}
-\RequirePackage{lastpage}
-\RequirePackage{emptypage} % 清除空白页的页码
+\LoadClass[
+ a4paper,
+ twoside,
+ UTF8,
+ scheme=chinese,
+% \end{macrocode}
+% 关于行距,\hologo{LaTeX}默认1.2行距,word默认行距是1.3,要求1.5倍word行距,故
+% \[ 1.5\times\frac{1.3}{1.2} = 1.625\]
+% \begin{macrocode}
+ linespread=1.625,
+% \end{macrocode}
+% 默认不载入任何字体,供模板自行设置
+% \begin{macrocode}
+ fontset=none,
+ zihao=-4
+ ]{ctexbook}[2018/04/01]
% \end{macrocode}
%
-%
+% 载入各种宏包。
+% \pkg{emptypage}用于清除空白页的页码。
% \begin{macrocode}
-\RequirePackage{listings} % 代码环境
-\RequirePackage{enumitem} % 用于修改列表环境
-\RequirePackage{caption}
-\RequirePackage{floatrow} % 用于图表等页面元素的定位
-\RequirePackage{booktabs} % 用于绘制三线表
-\RequirePackage{multirow} % Cells occupying multiple rows in tables
-\RequirePackage{multicol} % Multiple columns in dictionary
-\RequirePackage{siunitx} % 用于书写单位符号
+\RequirePackage
+{
+ geometry,
+ caption,
+ floatrow,
+ setspace,
+ lastpage,
+ emptypage,
+ fancyhdr,
+}
+\RequirePackage[titles]{tocloft}
+\RequirePackage[hyphens]{url} % generate better linebreaks in the url
% \end{macrocode}
%
-% 用于化学
+%
+% 用于特定学科的包。
% \begin{macrocode}
+\RequirePackage{siunitx} % 用于书写单位符号
\RequirePackage[version=4]{mhchem} % 用于绘制分子式
% \end{macrocode}
%
@@ -830,126 +1386,77 @@ through XeTeX.
\RequirePackage{hologo}
% \end{macrocode}
%
-%
% \begin{macrocode}
% Required to prevent page break right after a sectioning command
% \RequirePackage{needspace}
-
% \RequirePackage{xspace} % Better print trailing whitespace
% \end{macrocode}
%
-% 针对编译引擎,使用不同的宏包重构下划线命令
+% \begin{macro}{\njuline}
+% 针对编译引擎,使用不同的宏包构建可以对中文正常换行的下划线命令。\pkg{lua-ul}中需要在结尾使用\tn{null}保护尾部空白。
% \begin{macrocode}
\sys_if_engine_xetex:T
{
- \RequirePackage{microtype}
-
- % 加中文下划线,不能用于lualatex
- \RequirePackage{xeCJKfntef}
- \cs_new:Npn \nju_underline:n #1 {\CJKunderline{#1}}
+ \RequirePackage{xeCJKfntef,microtype}
+ \newcommand{\njuline}[1]{\CJKunderline{#1}}
}
-\sys_if_engine_luatex:T{
- % 加中文下划线
- \RequirePackage{lua-ul}
- \cs_new:Npn \nju_underline:n #1 {\underLine{#1}}
-
- % emoji支持
- % \RequirePackage{emoji}
- % \setemojifont{Segoe~UI~Emoji} % windows
- % \setemojifont{Apple~Color~Emoji} % macos
- % \setemojifont{Noto~Color~Emoji}
- % For windows.
- % Shipped with the best `grinning-face-with-sweat' support.
+\sys_if_engine_luatex:T
+{
+ \RequirePackage{lua-ul,dashundergaps}
+ \newcommand{\njuline}[1]{\underLine{#1}\null}
}
% \end{macrocode}
+% \end{macro}
%
-% 生成用于测试的大段无意义英文文字
-% \begin{macrocode}
-\RequirePackage{blindtext}
-\RequirePackage{zhlipsum}
-% \end{macrocode}
-%
-% 加载以后展示内容边界
-% \begin{macrocode}
-% \RequirePackage{showframe}
-% \end{macrocode}
-%
-% 数学
+% 数学,\pkg{amsmath}必须在\pkg{unicode-math}前加载。
+% \pkg{unicode-math}指定了\hologo{XeTeX}和\hologo{LuaTeX}下所使用的数学字体。
+% 用于配置数学环境的\pkg{mathtools}会与\pkg{unicode-math}发生冲突,此处手动消除其警告。
% \begin{macrocode}
-\RequirePackage{amsmath} % Must be loaded before unicode-math
-\RequirePackage{amsthm} % Mathematical environments
-\RequirePackage{mathtools} % Mathematical tools to use with amsmath
-\RequirePackage{thmtools} % Theorem styles
+\RequirePackage{amsmath,amsthm,mathtools,thmtools}
\RequirePackage[
- warnings-off={% 消除与mathtools合用产生的警告
+ warnings-off={
mathtools-colon,
mathtools-overbracket}
- ]{unicode-math} % Math fonts in xetex or luatex
+ ]{unicode-math}
% \end{macrocode}
%
-%
+% 配置图片、表格、代码、列表环境
% \begin{macrocode}
-\RequirePackage{graphicx}
+\RequirePackage{graphicx,subcaption,wrapfig,tikz}
\DeclareGraphicsExtensions{.pdf,.eps,.jpg,.png}
-\graphicspath{{figure/}} % 图片路径
-\RequirePackage{wrapfig} % Wrap text around figures
+\RequirePackage{booktabs,multirow,multicol,listings,enumitem}
% \end{macrocode}
%
-% 必须以该顺序加载以下三个包
+% 必须以该顺序加载以下两个关于引用的包。
% \begin{macrocode}
-% \RequirePackage{varioref}
\RequirePackage[hidelinks,bookmarksnumbered=true]{hyperref}
\RequirePackage[capitalise,nameinlink,noabbrev]{cleveref}
% \end{macrocode}
%
-% \subsection{字体设置}
-%
-% 加载设置字体所需的包\pkg{fontspec}
+% 载入南京大学识别视觉系统。
% \begin{macrocode}
-\RequirePackage{fontspec}
+\RequirePackage{njuvisual}
% \end{macrocode}
-%
%
-%
-% \begin{variable}{\g_@@_latin_fontset_tl,\g_@@_cjk_fontset_tl}
-% 用于存储所使用字体名称的全局变量
+% 生成用于测试的大段填充文字。
% \begin{macrocode}
-\tl_new:N \g_@@_latin_fontset_tl
-\tl_new:N \g_@@_cjk_fontset_tl
+\RequirePackage{blindtext,zhlipsum}
% \end{macrocode}
-% \end{variable}
%
-% 定义字体选项
-% \begin{macrocode}
-\keys_define:nn { nju }
-{
- customlatinfont .choices:nn =
- { gyre, macos, windows, null }
- { \tl_set_eq:NN \g_@@_latin_fontset_tl \l_keys_choice_tl },
- customchinesefont .choices:nn =
- { fandol, founder, macos, noto, windows, null }
- { \tl_set_eq:NN \g_@@_cjk_fontset_tl \l_keys_choice_tl },
-}
-% \end{macrocode}
+% \subsection{字体设置}
%
-% \begin{macro}{\ProcessKeysOptions}
-% 在定义完全部设置以后从tex文件导言区输入参数
-% \begin{macrocode}
-\ProcessKeysOptions { nju }
-% \end{macrocode}
-% \end{macro}
+% \pkg{fontspec}已在C\hologo{TeX}套件中包含,无需另外载入。
%
-% 如果未进行设置则使用系统默认字体覆盖输入参数
+% \subsubsection{操作系统检测}
%
% \begin{variable}{\g_@@_load_system_fontset_bool}
-% 用于判断是否需要载入系统预装字体的全局变量
+% 定义用于判断是否需要载入系统预装字体的变量。
% \begin{macrocode}
\bool_new:N \g_@@_load_system_fontset_bool
% \end{macrocode}
% \end{variable}
-%
-% 判断用户是否自定义了中英文字体,如果其中任意一种未被定义,
-% 则使用系统预装字体覆盖字体选项
+% 判断用户是否自定义了中英文字体。如果其中任意一种未被定义,
+% 则使用系统预装字体覆盖字体选项。
% \begin{macrocode}
\tl_if_empty:NTF \g_@@_latin_fontset_tl
{ \bool_gset_true:N \g_@@_load_system_fontset_bool }
@@ -957,22 +1464,26 @@ through XeTeX.
\tl_if_empty:NT \g_@@_cjk_fontset_tl
{ \bool_gset_true:N \g_@@_load_system_fontset_bool }
}
+% \end{macrocode}
+%
+% 进行系统检测。
+% 检测 Windows 的命令由\pkg{l3kernal}提供,
+% 检测 macOS 的命令由\pkg{ctex}提供,
+% 这两种情况外的系统被判断为 Linux,一律使用自由字体。
+% \begin{macrocode}
\bool_if:NT \g_@@_load_system_fontset_bool
{
- % 检测是否是 Windows
\sys_if_platform_windows:TF
{
\tl_set:Nn \g_@@_latin_fontset_tl { windows }
\tl_set:Nn \g_@@_cjk_fontset_tl { windows }
}
{
- % 检测是否是 macOS
\ctex_if_platform_macos:TF
{
\tl_set:Nn \g_@@_latin_fontset_tl { macos }
\tl_set:Nn \g_@@_cjk_fontset_tl { macos }
}
- % 其余系统一律使用自由字体
{
\tl_set:Nn \g_@@_latin_fontset_tl { gyre }
\tl_set:Nn \g_@@_cjk_fontset_tl { fandol }
@@ -981,7 +1492,9 @@ through XeTeX.
}
% \end{macrocode}
%
-% 接下来逐个定义所需要使用的字符集
+% \subsubsection{定义英文字库}
+%
+% 接下来逐个定义所需要使用的字库。
%
% \begin{macro}{\@@_load_latin_font_windows:}
% Windows 西文字体
@@ -997,49 +1510,51 @@ through XeTeX.
%
%
% \begin{macro}{\@@_load_latin_font_macos:}
-% macOS 西文字体
+% macOS 西文字体。
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_latin_font_macos:
{
-\setmainfont{Times~New~Roman}
-\setsansfont{Arial}
-\setmonofont{Menlo}[Scale=MatchLowercase]
+ \setmainfont{Times~New~Roman}
+ \setsansfont{Arial}
+ \setmonofont{Menlo}[Scale=MatchLowercase]
}
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\@@_load_latin_font_gyre:}
-% 开源的 gyre 西文字体
+% 开源的 gyre 西文字体。
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_latin_font_gyre:
{
-\setmainfont{texgyretermes}[
- Extension=.otf,
- UprightFont=*-regular,
- BoldFont=*-bold,
- ItalicFont=*-italic,
- BoldItalicFont=*-bolditalic]
-\setsansfont{texgyreheros}[
- Extension=.otf,
- UprightFont=*-regular,
- BoldFont=*-bold,
- ItalicFont=*-italic,
- BoldItalicFont=*-bolditalic]
-\setmonofont{texgyrecursor}[
- Extension=.otf,
- UprightFont=*-regular,
- BoldFont=*-bold,
- ItalicFont=*-italic,
- BoldItalicFont=*-bolditalic,
- Scale=MatchLowercase,
- Ligatures=CommonOff]
+ \setmainfont{texgyretermes}[
+ Extension=.otf,
+ UprightFont=*-regular,
+ BoldFont=*-bold,
+ ItalicFont=*-italic,
+ BoldItalicFont=*-bolditalic]
+ \setsansfont{texgyreheros}[
+ Extension=.otf,
+ UprightFont=*-regular,
+ BoldFont=*-bold,
+ ItalicFont=*-italic,
+ BoldItalicFont=*-bolditalic]
+ \setmonofont{texgyrecursor}[
+ Extension=.otf,
+ UprightFont=*-regular,
+ BoldFont=*-bold,
+ ItalicFont=*-italic,
+ BoldItalicFont=*-bolditalic,
+ Scale=MatchLowercase,
+ Ligatures=CommonOff]
}
% \end{macrocode}
% \end{macro}
%
+% \subsubsection{定义中文字库}
+%
% \begin{macro}{\@@_load_cjk_font_windows:}
-% Windows 中文字体
+% Windows 中文字体。
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_cjk_font_windows:
{
@@ -1052,16 +1567,16 @@ through XeTeX.
\setCJKfamilyfont{zhhei}{SimHei}
\setCJKfamilyfont{zhfs}{FangSong}
\setCJKfamilyfont{zhkai}{KaiTi}[AutoFakeBold=2.17]
- \setCJKfamilyfont{zhnewhei}{Microsoft~YaHei}[
- BoldFont=Microsoft~YaHei~Bold]
+ % \setCJKfamilyfont{zhnewhei}{Microsoft~YaHei}[
+ % BoldFont=Microsoft~YaHei~Bold]
}
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\@@_load_cjk_font_macos:}
-% macOS 字体
-% 参考CTeX手册第9节 LuaLATEX 下的中文支持方式解决issue问题
+% macOS 字体。
+% TODO: 参考CTeX手册第9节 LuaLATEX 下的中文支持方式解决 issue \#5 问题。
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_cjk_font_macos:
{
@@ -1076,16 +1591,7 @@ through XeTeX.
\setCJKfamilyfont{zhsong}{Songti~SC~Light}[BoldFont=Songti~SC~Bold]
\setCJKfamilyfont{zhhei}{Heiti~SC~Light}[BoldFont=Heiti~SC~Medium]
\setCJKfamilyfont{zhfs}{STFangsong}
- \setCJKfamilyfont{zhkai}{Kaiti~SC}
- [
- BoldFont=Kaiti~SC~Bold,
- % AlternateFont =
- % {
- % {character range1} {alternate font name1}
- % {alternate font features2} ,
- % ......
- % }
- ]
+ \setCJKfamilyfont{zhkai}{Kaiti~SC}[BoldFont=Kaiti~SC~Bold]
\setCJKfamilyfont{zhnewhei}{PingFang~SC}
}
% \end{macrocode}
@@ -1123,7 +1629,9 @@ through XeTeX.
%
%
% \begin{macro}{\@@_load_cjk_font_founder:}
-% 方正字符集(简繁扩展)
+% 方正字库(简繁扩展)
+% FZYouHK_508R \href{http://www.foundertype.com/index.php/FontInfo/index/id/244}{方正悠黑508R} 设计师非商免费,
+% FZYouHK_511M \href{http://www.foundertype.com/index.php/FontInfo/index/id/244}{方正悠黑511M} 设计师非商免费
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_cjk_font_founder:
{
@@ -1147,103 +1655,118 @@ through XeTeX.
{FZFSK}[Extension=.ttf]
\setCJKfamilyfont{zhkai}
{FZKTK}[Extension=.ttf]
- \setCJKfamilyfont{zhnewhei}
- {FZYouHK_508R}[% 方正悠黑508R
- Extension=.ttf,
- BoldFont=FZYouHK_511M]% 方正悠黑511M
+ % \setCJKfamilyfont{zhnewhei}
+ % {FZYouHK_508R}[% 方正悠黑508R
+ % Extension=.ttf,
+ % BoldFont=FZYouHK_511M]% 方正悠黑511M
}
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\@@_load_cjk_font_noto:}
-% 思源字体
+% 思源字体。
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_cjk_font_noto:
{
% 思源宋体
\setCJKmainfont[
- UprightFont=NotoSerifCJKsc-Regular,
- BoldFont=NotoSerifCJKsc-Bold,
- ItalicFont=NotoSerifCJKsc-Regular,
- BoldItalicFont=NotoSerifCJKsc-Bold,
+ UprightFont=NotoSerifSC-Regular,
+ BoldFont=NotoSerifSC-Bold,
+ ItalicFont=NotoSerifSC-Regular,
+ BoldItalicFont=NotoSerifSC-Bold,
ItalicFeatures=FakeSlant,
- BoldItalicFeatures=FakeSlant]{Noto~Serif~CJK~SC}
+ BoldItalicFeatures=FakeSlant]{Noto~Serif~SC}
% 思源黑体
\setCJKsansfont[
- UprightFont=NotoSansCJKsc-Regular,
- BoldFont=NotoSansCJKsc-Bold,
- ItalicFont=NotoSansCJKsc-Regular,
- BoldItalicFont=NotoSansCJKsc-Bold,
+ UprightFont=NotoSansSC-Regular,
+ BoldFont=NotoSansSC-Bold,
+ ItalicFont=NotoSansSC-Regular,
+ BoldItalicFont=NotoSansSC-Bold,
ItalicFeatures=FakeSlant,
- BoldItalicFeatures=FakeSlant]{Noto~Sans~CJK~SC}
+ BoldItalicFeatures=FakeSlant]{Noto~Sans~SC}
- % 包含于思源黑体
- \setCJKmonofont[
- UprightFont=NotoSansMonoCJKsc-Regular,
- BoldFont=NotoSansMonoCJKsc-Bold,
- ItalicFont=NotoSansMonoCJKsc-Regular,
- BoldItalicFont=NotoSansMonoCJKsc-Bold,
- ItalicFeatures=FakeSlant,
- BoldItalicFeatures=FakeSlant]{Noto~Sans~Mono~SC}
+ \setCJKmonofont{FZFSK}[Extension=.ttf]% 方正仿宋
- \setCJKfamilyfont{zhsong}{Noto~Serif~CJK~SC}
- \setCJKfamilyfont{zhhei}{Noto~Sans~CJK~SC}
- \setCJKfamilyfont{zhfs}{方正仿宋简体}[AutoFakeBold=2.17]
- \setCJKfamilyfont{zhkai}{方正楷体简体}[AutoFakeBold=2.17]
+ \setCJKfamilyfont{zhsong}{Noto~Serif~SC}
+ \setCJKfamilyfont{zhhei}{Noto~Sans~SC}
+ \setCJKfamilyfont{zhfs}
+ {FZFSK}[Extension=.ttf]
+ \setCJKfamilyfont{zhkai}
+ {FZKTK}[Extension=.ttf]
}
% \end{macrocode}
% \end{macro}
%
-% 载入设置的字体
+% \subsubsection{载入指定字库}
+%
+% 载入字体命令。
% \begin{macrocode}
\cs_new_protected:Npn \@@_load_font:
{
\use:c { @@_load_latin_font_ \g_@@_latin_fontset_tl : }
\use:c { @@_load_cjk_font_ \g_@@_cjk_fontset_tl : }
-
+% \end{macrocode}
+% 自行定义C\hologo{TeX}中的四类字体命令。
+% \begin{macrocode}
\NewDocumentCommand\songti{}{\CJKfamily{zhsong}}
\NewDocumentCommand\heiti{}{\CJKfamily{zhhei}}
\NewDocumentCommand\fangsong{}{\CJKfamily{zhfs}}
\NewDocumentCommand\kaishu{}{\CJKfamily{zhkai}}
}
+% \end{macrocode}
+%
+% 载入设置的字体。
+% \begin{macrocode}
\@@_load_font:
% \end{macrocode}
%
+% \changes{v0.10}{2021/09/28}{修正了数学字体。}
+%
% 设置数学字体 (XITS, 或者 STIX, 与 Times New Roman 最为相近)
% \begin{macrocode}
% \setmathfont{STIXTwoMath-Regular}[Extension = .otf]
\setmathfont{XITSMath-Regular}[
BoldFont = XITSMath-Bold,
Extension = .otf]
+\setmathfont{latinmodern-math.otf}[range={cal,bb,frak}]
% \end{macrocode}
%
%
-% \subsection{页面样式}
+% \subsection{页面布局}
+%
+% \subsubsection{页边距}
+%
+% 使用\pkg{geometry}设置页边距。
+% \begin{macrocode}
+\geometry{
+ vmargin = 2.5 cm,
+ hmargin = 3.2 cm,
+}
+% \end{macrocode}
%
% \subsubsection{页眉页脚}
%
%
+% 本科生页眉页脚。要求无页眉,页脚居中,页码使用五号新罗马体数字。
% \begin{macrocode}
-\RequirePackage{fancyhdr} % 调整页眉页脚
-% 本科生页眉页脚
-\fancypagestyle{njuplain}{%
+\fancypagestyle{njuplain}{
\fancyhead{}
- \fancyfoot[C]{\zihao{5}\thepage} % 页脚居中 五号新罗马体数字
+ \fancyfoot[C]{\zihao{5}\thepage}
}
% \end{macrocode}
%
%
-% \begin{macrocode}
% TODO: 研究生页眉页脚
+% \begin{macrocode}
\fancypagestyle{njuheadings}{%
\fancyhead{}
\fancyfoot[C]{\zihao{5}\thepage}
}
% \end{macrocode}
%
-%
+% 载入页眉页脚设置。此处\tn{flushbottom}是为了防止目录页出现underfull \tn{vbox}信息。
% \begin{macrocode}
\str_if_eq:NNTF {\l_@@_info_degree_tl} { ug }
{
@@ -1251,115 +1774,118 @@ through XeTeX.
\tl_set:Nn \headrulewidth {0pt}
% the footer line
\tl_set:Nn \footrulewidth {0pt}
-
- \AtBeginDocument{\pagestyle{njuplain}} % 本科无页眉页脚
+ \AtBeginDocument{\pagestyle{njuplain}\flushbottom} % 本科无页眉页脚
}
{
% the header line
\tl_set:Nn \headrulewidth {1pt}
% the footer line
\tl_set:Nn \footrulewidth {0pt}
-
- % \AtBeginDocument{\pagestyle{njuplain}} % 无页眉页脚
- \AtBeginDocument{\pagestyle{headings}} % 研究生有页眉页脚
+ \setlength{\headheight}{20pt}
+ \AtBeginDocument{\pagestyle{fancy}\flushbottom} % 研究生有页眉页脚
}
% \end{macrocode}
%
+% \subsection{章节标题格式}
%
% \begin{macrocode}
-% ctex格式设置
-% 目录标题 三号宋体加粗
-% 各部分标题 四号黑体
\ctexset{
- contentsname = 目录,
- listfigurename = 插图清单,
- listtablename = 表格清单,
- chapter/format = \zihao{4}\heiti\centering,
+ chapter/format = \zihao{4}\heiti\centering\selectfont,
chapter/beforeskip = 10pt,
chapter/afterskip = 60pt,
- section/format = \zihao{4}\heiti\raggedright,
- subsection/format = \zihao{4}\heiti\raggedright,
- subsubsection/format = \zihao{4}\heiti\raggedright
+ section/format = \zihao{4}\heiti\raggedright\selectfont,
+ subsection/format = \zihao{4}\heiti\raggedright\selectfont,
+ subsubsection/format = \zihao{4}\heiti\raggedright\selectfont,
}
-
-% 重定义目录中章节标题样式
-% 目录内容中章的标题 四号黑体
-% 目录中其他内容 小四号宋体
-\titlecontents{chapter}% 标题级别
- [5em]% 标题左间距
- {\heiti\zihao{4}\vspace{10pt}}% 标题格式
- {\contentslabel{4em}}% 标题标志
- {\hspace*{-4em}}% 无序号标题
- {~\titlerule*[0.6pc]{$.$}~\contentspage}% 指引线与页码
-
- \titlecontents{section}
- [5em]
- {\zihao{-4}\vspace{0pt}}
- {\contentslabel{2.5em}}
- {\hspace*{-4em}}
- {~\titlerule*[0.6pc]{$.$}~\contentspage}
-
-\titlecontents{subsection}
- [8em]
- {\zihao{-4}\vspace{0pt}}
- {\contentslabel{3em}}
- {\hspace*{-4em}}
- {~\titlerule*[0.6pc]{$.$}~\contentspage}
% \end{macrocode}
%
-%
+% \subsection{目录格式}
+% 设定目录标题名称。
% \begin{macrocode}
-\cs_set:Npn \CTEX@addtocline #1#2
-{
- \addcontentsline { toc } {#1}
- { \use:c { CTEX@#1@tocline } {#1} {#2} }
+\ctexset{
+ contentsname = 目录,
+ listfigurename = 插图清单,
+ listtablename = 表格清单,
}
% \end{macrocode}
%
-%
+% 使用\pkg{tocloft}定制目录文字格式。
% \begin{macrocode}
-% 目录页面格式修改
-\cs_new:Npn \nju_tocpagestyle:nnn #1 #2 #3
-{
- \newpage
- \hspace{0pt}
- \vskip 10pt
- \begin{center}
- \mbox{\songti\bf\zihao{3}{#1}} % 目录页面标题
- \phantomsection
- \addcontentsline{toc}{chapter}{#2} % 插入目录
- \end{center}
- \vskip 40pt
- \@starttoc{#3}%
+\cftsetpnumwidth{2em}
+\renewcommand{\cftchapleader}{\cftdotfill{\cftchapdotsep}}
+\renewcommand{\cftchapdotsep}{\cftdotsep}
+\renewcommand{\cftchapfont}{\heiti\zihao{4}}
+\setlength{\cftsecindent}{2em}
+\setlength{\cftsubsecindent}{52pt}
+\setlength{\cftsubsecnumwidth}{2em}
+% \end{macrocode}
+%
+% \begin{macro}{\tableofcontents}
+ % 重定义目录命令,修改标题格式并插入书签。
+% \begin{macrocode}
+\renewcommand\tableofcontents{%
\cleardoublepage
+ \raggedbottom
+ \begingroup
+ \ctexset{
+ contentsname = {目\hspace{2em}录},
+ chapter/format = {\centering\songti\bf\zihao{3}\selectfont},
+ }%
+ \chapter*{\contentsname}%
+ \endgroup
+ \addcontentsline{toc}{chapter}{\contentsname}
+ \vskip 20pt
+ \@starttoc{toc}%
}
% \end{macrocode}
+% \end{macro}
%
-%
+% \begin{macro}{\listoffigures}
+% 重定义插图目录命令,修改标题格式并插入书签。
% \begin{macrocode}
-\tl_set:Nn \tableofcontents
-{
- \nju_tocpagestyle:nnn {目\hspace{2em}录}{\contentsname}{toc}
-}
-\tl_set:Nn \listoffigures
-{
- \nju_tocpagestyle:nnn {\listfigurename}{\listfigurename}{lof}
+\renewcommand\listoffigures{%
+ \cleardoublepage
+ \begingroup
+ \ctexset{
+ chapter/format = {\centering\songti\bf\zihao{3}\selectfont},
+ }%
+ \chapter*{\listfigurename}%
+ \endgroup
+ \addcontentsline{toc}{chapter}{\listfigurename}
+ \vskip 20pt
+ \@starttoc{lof}%
}
-\tl_set:Nn \listoftables
-{
- \nju_tocpagestyle:nnn {\listtablename}{\listtablename}{lot}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\listoftables}
+% 重定义表格目录命令,修改标题格式并插入书签。
+% \begin{macrocode}
+\renewcommand\listoftables{%
+ \cleardoublepage
+ \begingroup
+ \ctexset{
+ chapter/format = {\centering\songti\bf\zihao{3}\selectfont},
+ }%
+ \chapter*{\listtablename}%
+ \endgroup
+ \addcontentsline{toc}{chapter}{\listtablename}
+ \vskip 20pt
+ \@starttoc{lot}%
}
% \end{macrocode}
+% \end{macro}
%
-% \begin{environment}{preface}
+% \subsection{前言致谢}
%
+% \begin{environment}{preface}
+% 单独制作的前言页。
% \begin{macrocode}
-% 定制前言、致谢环境
\NewDocumentEnvironment{preface}{}
{%
\chapter*{前言}
\addcontentsline{toc}{chapter}{前言}
-}{}
+}{\cleardoublepage}
% \end{macrocode}
% \end{environment}
%
@@ -1370,13 +1896,31 @@ through XeTeX.
{%
\chapter*{致谢}
\addcontentsline{toc}{chapter}{致谢}
-}{}
+}{\cleardoublepage}
% \end{macrocode}
% \end{environment}
%
-%
+%
+% \begin{macro}{\njupaperlist}
+% \changes{v0.10}{2021/09/29}{新增了成果列表页面。}
+% 发表文章目录与合作文章目录。
% \begin{macrocode}
+\NewDocumentCommand\njupaperlist { t* m }
+{
+ \begin{refsection}
+ \nocite{#2}
+ \IfBooleanTF {#1}
+ { \printbibliography[heading=subbibliography,title=合作文章目录] }
+ { \printbibliography[heading=subbibliography,title=发表文章目录] }
+ \end{refsection}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{参考文献}
+%
% biblatex设置
+% \begin{macrocode}
\RequirePackage[
style=gb7714-2015,
%style=numeric-comp,
@@ -1404,9 +1948,8 @@ through XeTeX.
]{biblatex}
% \end{macrocode}
%
-%
+% 忽略不需要的文献信息。
% \begin{macrocode}
-% Remove some unwanted entries from the bibliography
\AtEveryBibitem{
\clearfield{abstract}
\clearfield{issn}
@@ -1420,24 +1963,21 @@ through XeTeX.
}
% \end{macrocode}
%
+% \subsection{引用}
%
+% 修改标签名称。默认在名称后面添加空格,删除公式编号的括号
% \begin{macrocode}
-% 修改标签名称
-\crefdefaultlabelformat{#2#1#3\,} % 默认在名称后面添加空格
+\crefdefaultlabelformat{#2#1#3\,}
\crefname{figure}{图}{图}
\crefname{table}{表}{表}
% \crefname{equation}{公式}{公式}
-\crefformat{equation}{公式~#2#1#3~} % 删除公式编号的括号
+\crefformat{equation}{公式~#2#1#3~}
\crefformat{chapter}{第#2#1#3章}
\crefformat{section}{第~#2#1#3~节}
\crefformat{subsection}{第~#2#1#3~小节}
\crefformat{subsubsection}{第~#2#1#3~小节}
-% \crefname{chapter}{§}{§}
-% \crefname{section}{§}{§}
-% \crefname{subsection}{§}{§}
-% \crefname{subsubsection}{§}{§}
\crefname{appendix}{附录}{附录}
% \crefname{definition}{定义}{定义}
@@ -1452,14 +1992,33 @@ through XeTeX.
% \crefname{assumption}{假设}{假设}
% \end{macrocode}
%
-% soifjsojfosjfos
+% \pkg{hyperref}
+% \changes{v0.11}{2021/10/01}{写入PDF元数据。}
% \begin{macrocode}
-% 图表位置调整
-\floatsetup[lstlisting]{ % Captions for lstlistings
- capposition=above,%
- margins=centering,%
- floatwidth=\textwidth%
+\ctex_at_end_preamble:n
+{
+ \hypersetup
+ {
+ bookmarksnumbered = true,
+ psdextra = true,
+ unicode = true,
+% \end{macrocode}
+% 填写 PDF 元信息。
+% \begin{macrocode}
+ pdftitle = \l_@@_info_title_tl,
+ pdfauthor = \l_@@_info_author_tl,
+ pdfkeywords = \l_@@_info_keywords_clist,
+ pdfcreator = \c_@@_name_pdf_creator_tl
+ }
}
+% \end{macrocode}
+%
+% \subsection{图表浮动体}
+%
+% \subsubsection{图片表格}
+%
+% 图表位置调整
+% \begin{macrocode}
\floatsetup[figure]{ % Captions for figures
capposition=bottom,%
margins=centering,%
@@ -1471,10 +2030,33 @@ through XeTeX.
floatwidth=\textwidth%
}
% \end{macrocode}
-%
%
+% 图表标题样式
% \begin{macrocode}
+\DeclareCaptionFont{songticap}{\zihao{5}\bf\songti}
+\captionsetup{
+ font=small,%
+ labelfont=songticap,
+ textfont=songticap,
+ strut=no,%
+ hypcap=true, % Links point to the top of the figure
+ % indention=0pt, % Suppress indentation
+ % % parindent=0pt, % Suppress space between paragraphs
+ aboveskip=6pt, % Increase the space between the figure and the caption
+ belowskip=6pt, % Increase the space between the caption and the table
+}
+% \end{macrocode}
+%
+%
+% \subsubsection{代码}
+%
% 代码样式
+% \begin{macrocode}
+\floatsetup[lstlisting]{ % Captions for lstlistings
+ capposition=above,%
+ margins=centering,%
+ floatwidth=\textwidth%
+}
\lstset{
basicstyle=\ttfamily\linespread{1}\small\selectfont,
keywordstyle=\bfseries,% use bold style for keywords
@@ -1504,25 +2086,10 @@ through XeTeX.
% \end{macrocode}
%
%
-% \begin{macrocode}
-% 图表标题样式
-\DeclareCaptionFont{songticap}{\zihao{5}\bf\songti}
-\captionsetup{
- font=small,%
- labelfont=songticap,
- textfont=songticap,
- strut=no,%
- hypcap=true, % Links point to the top of the figure
- % indention=0pt, % Suppress indentation
- % % parindent=0pt, % Suppress space between paragraphs
- aboveskip=6pt, % Increase the space between the figure and the caption
- belowskip=6pt, % Increase the space between the caption and the table
-}
-% \end{macrocode}
-%
+% \subsubsection{列表}
%
+% 列表环境
% \begin{macrocode}
-% list configuration
\renewcommand{\labelitemi}{\tiny$\blacktriangleright$}
\renewcommand{\labelitemii}{\textbullet}
@@ -1532,8 +2099,16 @@ through XeTeX.
% \end{macrocode}
%
%
+% \subsection{定理环境}
+%
+% \begin{macro}{\mathbi}
+% Math bold italic letters
+% \begin{macrocode}
+\NewDocumentCommand\mathbi{m}{\textbf{\em #1}}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
-% 数学环境
\declaretheoremstyle[
%spaceabove=.5\thm@preskip,
%spacebelow=.5\thm@postskip,
@@ -1549,10 +2124,10 @@ through XeTeX.
\theoremstyle{njuthm}
% \end{macrocode}
%
-%
+% 修改证明环境标题
% \begin{macrocode}
\let\oldproofname=\proofname
-\renewcommand*{\proofname}{\rm\bf\songti{\oldproofname}} % 修改证明环境标题
+\renewcommand*{\proofname}{\rm\bf\songti{\oldproofname}}
% \end{macrocode}
%
%
@@ -1650,9 +2225,11 @@ through XeTeX.
]{theorem}
% \end{macrocode}
%
-% \subsection{封面绘制}
-% \begin{macrocode}
+% \subsection{封面}
+%
+% \subsubsection{内部命令}
% 拼合标题
+% \begin{macrocode}
\tl_const:Nn \l_@@_info_title_tl
{
\l_@@_info_title_a_tl
@@ -1660,8 +2237,8 @@ through XeTeX.
\l_@@_info_title_c_tl
}
% \end{macrocode}
-% 双导师的处理
-%% \begin{variable}{\l_@@_info_supv_full_tl,\l_@@_info_supv_full_en_tl}
+%
+% \begin{variable}{\l_@@_info_supv_full_tl,\l_@@_info_supv_full_en_tl}
% 用于存储导师姓名加职称的变量,旧版编译器不支持字符串中含有|\hspace{.5em}|这样的空白空间命令
% \begin{macrocode}
\tl_new:N \l_@@_info_supv_full_tl
@@ -1669,7 +2246,7 @@ through XeTeX.
% \end{macrocode}
% \end{variable}
%
-% 拼合导师
+% 拼合双导师的姓名和职称。
% \begin{macrocode}
\tl_set:Nn \l_@@_info_supv_full_tl
{
@@ -1680,17 +2257,18 @@ through XeTeX.
}
\tl_set:Nn \l_@@_info_supv_full_en_tl
{
- \l_@@_info_supv_a_en_tl\
- \l_@@_info_supv_a_title_en_tl\ \
- \l_@@_info_supv_b_en_tl\
- \l_@@_info_supv_b_title_en_tl
+ \l_@@_info_supv_a_title_en_tl\
+ \l_@@_info_supv_a_en_tl\ \
+ \l_@@_info_supv_b_title_en_tl\
+ \l_@@_info_supv_b_en_tl
}
% \end{macrocode}
-% \begin{variable}{\c_@@_name_degree_tl,\c_@@_name_degree_en_tl}
+%
+% \begin{variable}{\l_@@_name_degree_tl,\l_@@_name_degree_en_tl}
% 用于存储学位名称的变量
% \begin{macrocode}
-\tl_new:N \c_@@_name_degree_tl
-\tl_new:N \c_@@_name_degree_en_tl
+\tl_new:N \l_@@_name_degree_tl
+\tl_new:N \l_@@_name_degree_en_tl
% \end{macrocode}
% \end{variable}
%
@@ -1699,7 +2277,7 @@ through XeTeX.
\str_if_eq:NNTF {\l_@@_info_degree_tl} { ug }
{
% 本科
- \tl_const:Nn \l_@@_name_diploma_tl { 本\hfill 科\hfill }
+ \tl_const:Nn \l_@@_name_diploma_tl { 本科 }
\tl_const:Nn \c_@@_name_title_tl { 题\hfill 目 }
\tl_const:Nn \c_@@_cover_uline_len_a_tl { 250pt }
@@ -1715,7 +2293,7 @@ through XeTeX.
}
{
% 本科以外都是研究生
- \tl_const:Nn \l_@@_name_diploma_tl { 研\hfill 究\hfill 生\hfill }
+ \tl_const:Nn \l_@@_name_diploma_tl { 研究生 }
\tl_const:Nn \c_@@_name_title_tl { 论\hfill 文\hfill 题\hfill 目 }
\tl_const:Nn \c_@@_cover_uline_len_a_tl { 250pt }
@@ -1729,17 +2307,36 @@ through XeTeX.
% 研究生学位名称
\str_if_eq:NNTF { \l_@@_info_degree_tl } { phd }
{
- \tl_set:Nn \c_@@_name_degree_tl { 博士 }
- \tl_set:Nn \c_@@_name_degree_en_tl { Doctor~of~Philosophy }
+ \tl_set:Nn \l_@@_name_degree_tl { 博士 }
+ \tl_set:Nn \l_@@_name_degree_en_tl { Doctor~of~Philosophy }
}
{
- \tl_set:Nn \c_@@_name_degree_en_tl { Master }
+ \tl_set:Nn \l_@@_name_degree_en_tl { Master }
\str_if_eq:NNTF { \l_@@_info_degree_tl } { mg }
- { \tl_set:Nn \c_@@_name_degree_tl { 硕士 } }
- { \tl_set:Nn \c_@@_name_degree_tl { 硕士专业 } }
+ { \tl_set:Nn \l_@@_name_degree_tl { 硕士 } }
+ { \tl_set:Nn \l_@@_name_degree_tl { 硕士专业 } }
}
}
% \end{macrocode}
+% \begin{macro}{\@@_spread_box:nn}
+% 来自\cls{fduthesis}:分散对齐的水平盒子。
+% \begin{arguments}
+% \item 宽度
+% \item 内容
+% \end{arguments}
+% 利用 \cs{tl_map_inline:nn} 在字符间插入 \tn{hfil};紧随其后的 \tn{unskip}
+% 将会去掉最后一个 \tn{hfil}。见 \url{https://tex.stackexchange.com/q/169689}。
+% |#2| 需要完全展开以避免 underfull 警告。
+% \begin{macrocode}
+\cs_generate_variant:Nn \tl_map_inline:nn { xn }
+\cs_new_protected:Npn \@@_spread_box:nn #1#2
+ {
+ \mode_leave_vertical:
+ \hbox_to_wd:nn {#1}
+ { \tl_map_inline:xn {#2} { ##1 \hfil } \unskip }
+ }
+% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\@@_cover_uline_a:n}
% 在封面绘制下划线
@@ -1774,29 +2371,31 @@ through XeTeX.
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\l_@@_name_diploma_tl}
% 判断类型
-%
% \begin{macrocode}
\str_if_eq:NNTF { \l_@@_info_type_tl } { thesis }
{
\tl_const:Nn \l_@@_info_type_tl_name
- { \l_@@_name_diploma_tl 毕\hfill 业\hfill 论\hfill 文 }
+ { \l_@@_name_diploma_tl 毕业论文 }
}
{
\tl_const:Nn \l_@@_info_type_tl_name
- { \l_@@_name_diploma_tl 毕\hfill 业\hfill 设\hfill 计 }
+ { \l_@@_name_diploma_tl 毕业设计 }
}
% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{封面组件}
%
% \begin{macro}{\@@_cover_title_breakline:}
-% 对多行标题进行自动判断,并输出换行后的结果
+% 对标题进行自动判断,如果某行标题空则不输出接下来的若干行,得到多行标题。
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_title_breakline:
{
\@@_cover_box:n {\c_@@_name_title_tl}
& \@@_cover_uline_a:n
{ \c_@@_cover_uline_style_tl \l_@@_info_title_a_tl } \\
- % 如果某行标题空则不输出接下来的若干行
\tl_if_empty:NF \l_@@_info_title_b_tl
{
\tl_if_empty:NTF \l_@@_info_title_c_tl
@@ -1866,7 +2465,7 @@ through XeTeX.
\begin{tabular}{p{6em}c}
\@@_cover_title_breakline:
\@@_cover_box:n {作\hfill 者\hfill 姓\hfill 名}
- & \@@_cover_uline_a:n {\l_@@_info_author_tl}\\
+ & \@@_cover_uline_a:n {\@@_spread_box:nn {4em}{\l_@@_info_author_tl}}\\
\@@_cover_box:n {专\hfill 业\hfill 名\hfill 称}
& \@@_cover_uline_a:n {\l_@@_major_tl}\\
\@@_cover_box:n {研\hfill 究\hfill 方\hfill 向}
@@ -1881,10 +2480,11 @@ through XeTeX.
%
%
%
+% \subsubsection{绘制封面}
+%
%
% \begin{macro}{\@@_print_cover_nl:}
% 按需绘制国家图书馆封面,修改自胡海星模板
-%
% \begin{macrocode}
\cs_new_protected:Npn \@@_print_cover_nl:
{
@@ -1892,16 +2492,15 @@ through XeTeX.
\pdfbookmark[0]{国家图书馆封面}{nl}
{
% 顶端
- \hspace{0mm}
- \vskip -20mm \hskip -15mm
+ \noindent\null\vskip -20mm \hskip -15mm
\songti\zihao{-4}
\makebox[40pt][l]{分类号}
- \@@_cover_uline_b:n {\l_@@_info_classif_tl}
+ \@@_cover_uline_b:n {\l_@@_info_clc_tl}
\hfill
\makebox[40pt][l]{密级}
\@@_cover_uline_b:n {\l_@@_info_seclv_tl}
\vskip 10pt \hskip -15mm
- \makebox[40pt][l]{UDC}
+ \makebox[40pt][l]{udc}
\@@_cover_uline_b:n {\l_@@_info_udc_tl}
}
@@ -1926,41 +2525,42 @@ through XeTeX.
\end{center}
% 底部
- \vskip\stretch{1}
- {
- \kaishu\zihao{4}
- \noindent 指导教师姓名、职务、职称、学位、单位名称及地址%
- \@@_cover_uline_nl:nn {94pt}{\l_@@_info_supv_a_tl}\par
- \noindent\@@_cover_uline_nl:nn {\textwidth}{%
- \l_@@_info_supv_cont_tl}\par
- \noindent 申请学位级别%
- \@@_cover_uline_nl:nn {9em}{\c_@@_name_degree_tl}%
- \noindent 专业名称%
- \uline{\hfill\l_@@_major_tl\hfill}\par% 需要调整下划线长度
- \noindent 论文提交日期%
- \@@_cover_uline_nl:nn {9em}{\l_@@_submit_date_tl}%
- 论文答辩日期%
- \uline{\hfill\l_@@_defend_date_tl\hfill}\par% 需要调整下划线长度
- \noindent 学位授予单位和日期\uline{\hfill}\par
- \noindent\hfill 答辩委员会主席:%
- \@@_cover_uline_nl:nn {9em}{\l_@@_info_chairman_tl}\par
- \noindent\hfill 评阅人:%
- \@@_cover_uline_nl:nn {9em}{\l_@@_info_reviewer_a_tl}\par
- \noindent\hfill\@@_cover_uline_nl:nn {9em}{\l_@@_info_reviewer_b_tl}\par
- \noindent\hfill\@@_cover_uline_nl:nn {9em}{\l_@@_info_reviewer_c_tl}\par
- \noindent\hfill\@@_cover_uline_nl:nn {9em}{\l_@@_info_reviewer_d_tl}\par
-
- \begin{center}
- \kaishu\zihao{3}\hspace{2em} 年\hspace{1em} 月\hspace{1em} 日
- \end{center}
- \vskip -10mm
- }
+ \vskip\stretch{1}\kaishu\zihao{4}
+ \noindent 指导教师姓名、职务、职称、学位、单位名称及地址%
+ \@@_cover_uline_nl:nn {94pt}{\l_@@_info_supv_a_tl}\par
+ \noindent \@@_cover_uline_nl:nn {\textwidth}{%
+ \l_@@_info_supv_cont_tl}\par
+ \noindent 申请学位级别%
+ \@@_cover_uline_nl:nn {9em}{\l_@@_name_degree_tl}%
+ \noindent 专业名称%
+ \uline{\hfill\l_@@_major_tl\hfill}\par
+ \noindent 论文提交日期%
+ \@@_cover_uline_nl:nn {9em}{\l_@@_submit_date_tl}%
+ \noindent 论文答辩日期%
+ \uline{\hfill\l_@@_defend_date_tl\hfill}\par
+ \noindent 学位授予单位和日期\uline{\hfill}\par
+ \begin{flushright}
+ 答辩委员会主席:
+ \@@_cover_uline_nl:nn {9em}{ \l_@@_info_chairman_tl }\par
+ 评阅人:
+ \@@_cover_uline_nl:nn {9em}
+ { \clist_item:Nn \l_@@_info_reviewer_clist {1} }\par
+ \@@_cover_uline_nl:nn {9em}
+ { \clist_item:Nn \l_@@_info_reviewer_clist {2} }\par
+ \@@_cover_uline_nl:nn {9em}
+ { \clist_item:Nn \l_@@_info_reviewer_clist {3} }\par
+ \@@_cover_uline_nl:nn {9em}
+ { \clist_item:Nn \l_@@_info_reviewer_clist {4} }\par
+ \end{flushright}
+ \begin{center}
+ \kaishu\zihao{3}\hspace{2em} 年\hspace{1em} 月\hspace{1em} 日
+ \end{center}
+ \vskip -10mm
\cleardoublepage
}
% \end{macrocode}
% \end{macro}
%
-%
% \begin{macro}{\@@_print_cover_ug:}
% 本科封面
% \begin{macrocode}
@@ -1969,15 +2569,14 @@ through XeTeX.
\thispagestyle{empty}
\pagenumbering{Roman}
% Start
- \pdfbookmark{封面}{封面} % 将封面插入pdf书签
+ \pdfbookmark{封面}{cover} % 将封面插入pdf书签
\begin{spacing}{1.25}
- \vskip 0mm
- \hspace{-10mm}
- \includegraphics[height=3cm]{njulogo}\smallskip
+ \noindent\null\hspace{-10mm}
+ \njuemblem{!}{3cm}\smallskip
\begin{center}
- \includegraphics[height=3.35cm]{njuname}
+ \njuname{!}{3.35cm}
\vskip 10mm
- {\zihao{1}\makebox[9em][s]{\bf{\songti\l_@@_info_type_tl_name}}}
+ {\zihao{1}\bf\songti\@@_spread_box:nn {9em}{\l_@@_info_type_tl_name}}
\vfill
\vskip\stretch{0}
{\bgroup
@@ -1991,8 +2590,6 @@ through XeTeX.
\end{center}
\end{spacing}
\cleardoublepage
- % \vfill
- % \newpage
}
% \end{macrocode}
% \end{macro}
@@ -2006,27 +2603,30 @@ through XeTeX.
\thispagestyle{empty}
\pagenumbering{Roman}
% Start
- \pdfbookmark{封面}{封面} % 将封面插入pdf书签
+ \pdfbookmark{封面}{cover} % 将封面插入pdf书签
\begin{spacing}{1.25}
\begin{center}
- \hspace{0pt} \vskip 5mm
- \includegraphics[height=1.9cm]{njulogo}
+ \noindent\null\vskip 5mm
+ \njuemblem{!}{1.9cm}
\vskip 10mm
- \includegraphics[height=2cm]{njuname-large}
+ \njuname{4.4cm}{!}
+ \par\vskip -2mm
+ \njuname*{4.4cm}{!}
\vskip 15mm
- {\zihao{1}\makebox[10em][s]{\bf{\kaishu\l_@@_info_type_tl_name}}}
- \vskip 5mm
- {\zihao{1}\bf{\kaishu{(申请\c_@@_name_degree_tl 学位)}}}
- \par\vfill
- \vskip\stretch{0}
- {\bgroup
- \bf\kaishu\zihao{3}
- \def\tabcolsep{1pt}
- \def\arraystretch{1.5}
- \vskip 10mm
- % 绘制信息框
- \@@_print_covertab:
- \egroup}
+ \bgroup
+ \zihao{1}\bf\kaishu
+ \@@_spread_box:nn {10em}{\l_@@_info_type_tl_name}
+ \vskip 5mm
+ {(申请\l_@@_name_degree_tl 学位)}
+ \egroup
+ \par\vfill\vskip\stretch{0}
+ \bgroup
+ \bf\kaishu\zihao{3}
+ \def\tabcolsep{1pt}
+ \def\arraystretch{1.5}
+ \vskip 10mm
+ \@@_print_covertab:
+ \egroup
\vfill
\vskip 10mm
\bf\kaishu\zihao{4}\l_@@_submit_date_tl
@@ -2038,7 +2638,7 @@ through XeTeX.
\thispagestyle{empty}
\begin{spacing}{1.625}
% TODO: 等待调整格式
- \hspace{0pt} \vfill
+ \null\vfill
{\bgroup
\kaishu\zihao{3}
\makebox[6em][s]{\bf\kaishu 学\hfill 号}:\MakeUppercase{\l_@@_info_id_tl}
@@ -2061,9 +2661,9 @@ through XeTeX.
\cs_new_protected:Npn \@@_print_cover_en:
{
\thispagestyle{empty}
- \pdfbookmark{英文封面}{English~cover} % 将封面插入pdf书签
+ \pdfbookmark{英文封面}{cover-en} % 将封面插入pdf书签
\begin{center}
- \vspace*{20pt}
+ \noindent\vspace*{20pt}
\bf\sffamily\zihao{2}\l_@@_info_title_en_tl
\vskip \stretch{1}
\normalfont\rmfamily\zihao{4}{by}
@@ -2072,19 +2672,22 @@ through XeTeX.
\vskip\stretch{1}
\normalfont\rmfamily\zihao{4}{Supervised~by}
\vskip 3pt
- \normalfont\sffamily\zihao{4}\l_@@_info_supv_a_title_en_tl
- \hspace{.5em}\l_@@_info_supv_a_en_tl
+ \normalfont\sffamily\zihao{4}
+ \l_@@_info_supv_a_title_en_tl
+ \hspace{.5em}\l_@@_info_supv_a_en_tl\\
+ \l_@@_info_supv_b_title_en_tl
+ \hspace{.5em}\l_@@_info_supv_b_en_tl
\vskip\stretch{1}
\normalsize\rmfamily{%
A~dissertation~submitted~to\\
the~graduate~school~of~Nanjing~University\\
in~partial~fulfilment~of~the~requirements~for~the~degree~of\\
- {\textsc{\c_@@_name_degree_en_tl}}\\
+ {\textsc{\l_@@_name_degree_en_tl}}\\
in\\
{\l_@@_major_en_tl}
}
\vskip\stretch{2}
- \includegraphics[width=2.5cm]{njulogo} \\
+ \njuemblem{2.5cm}{!}\par
\vskip 3mm
\normalfont\l_@@_info_dept_en_tl\\
{Nanjing~University}
@@ -2098,6 +2701,7 @@ through XeTeX.
% \end{macro}
%
%
+% \begin{macro}{\maketitle}
% 重定义maketitle生成封面
% \begin{macrocode}
\tl_set:Nn \maketitle
@@ -2113,147 +2717,143 @@ through XeTeX.
}
}
% \end{macrocode}
+% \end{macro}
%
% \subsection{摘要绘制}
%
-% 中文关键词
+% \begin{macro}{\@@_print_keywords:,\@@_print_keywords_en:}
+% 中英文关键词
% \begin{macrocode}
-\NewDocumentCommand \keywords {m} {%
- \par\vspace{2ex}\noindent%
- {\kaishu\zihao{-4}\makebox[4em][s]{关键词{:}}}~{#1}%
+\cs_new_protected:Npn \@@_print_keywords:
+{
+ \par\vspace{2ex}
+ \bgroup
+ \noindent
+ \c_@@_name_keywords_tl
+ \clist_use:Nn \l_@@_info_keywords_clist {;}
+ \par
+ \egroup
+}
+\cs_new_protected:Npn \@@_print_keywords_en:
+{
+ \par\vspace{2ex}
+ \bgroup
+ \noindent
+ \c_@@_name_keywords_en_tl\hspace{0.5em}
+ \clist_use:Nn \l_@@_info_keywords_en_clist {;}
+ \par
+ \egroup
}
% \end{macrocode}
+% \end{macro}
%
-%
-% 英文关键词
-%
+%
+% \begin{macro}{\@@_print_abstract_ug:,\@@_print_abstract_en_ug:}
+% 输出本科摘要格式。
% \begin{macrocode}
-\NewDocumentCommand \englishkeywords {m} {%
- \par\vspace{2ex}\noindent%
- {KEYWORDS{:}}~~{#1}%
+\cs_new_protected:Npn \@@_print_abstract_ug:
+{
+ \thispagestyle{plain}
+ \pdfbookmark[0]{中文摘要}{abstract-zh}
+ \begin{center}
+ \kaishu\zihao{-2}{\textbf{
+ \uuline{南京大学本科生毕业论文(设计、作品)中文摘要}}}
+ \end{center}
+ \bgroup
+ \noindent\kaishu\zihao{-4}
+ 题目: \l_@@_info_title_tl \\
+ 院系: \l_@@_info_dept_tl \\
+ 专业: \l_@@_major_tl \\
+ 本科生姓名: \l_@@_info_author_tl \\
+ 指导教师(姓名、职称):\l_@@_info_supv_full_tl \\
+ 摘要:
+ \egroup
+ \kaishu\zihao{-4}\par%
+}
+\cs_new_protected:Npn \@@_print_abstract_en_ug:
+{
+ \thispagestyle{plain}
+ \pdfbookmark[0]{英文摘要}{abstract-en}
+ \begin{center}
+ \kaishu\zihao{-2}{\textbf{\uuline{
+ 南京大学本科生毕业论文(设计、作品)英文摘要}}}
+ \end{center}
+ {
+ \bgroup
+ THESIS: ~~\l_@@_info_title_en_tl \\
+ DEPARTMENT: ~~\l_@@_info_dept_en_tl \\
+ SPECIALIZATION: ~~\l_@@_major_en_tl \\
+ UNDERGRADUATE:~~\l_@@_info_author_en_tl \\
+ MENTOR:~~\l_@@_info_supv_full_en_tl \\
+ ABSTRACT:
+ \egroup
+ }
+ \zihao{-4}\par%
}
% \end{macrocode}
+% \end{macro}
%
%
-%
+% \begin{macro}{\@@_print_abstract_g:,\@@_print_abstract_en_g:}
+% 输出研究生摘要格式。
% \begin{macrocode}
-% 判断学位
-\str_if_eq:NNTF {\l_@@_info_degree_tl} { ug }
-{
- % 本科摘要环境
- \NewDocumentEnvironment{abstract} {}
- {%
- % \pagestyle{plain}
- % \pagenumbering{Roman}
- % \phantomsection\addcontentsline{toc}{chapter}{中文摘要} % 将摘要插入目录和pdf书签
- \pdfbookmark[0]{中文摘要}{中文摘要} % 将摘要插入pdf书签,与上一行不可共存
- \begin{center}
- \kaishu\zihao{-2}{\textbf{
- \uuline{南京大学本科生毕业论文(设计、作品)中文摘要}}}
- \end{center}
- {\bgroup
- \kaishu\zihao{-4}
- \tl_set:Nn \tabcolsep {0pt}
- \tl_set:Nn \arraystretch {0.8}
- \noindent
- 题目: \l_@@_info_title_tl \\
- 院系: \l_@@_info_dept_tl \\
- 专业: \l_@@_major_tl \\
- 本科生姓名: \l_@@_info_author_tl \\
- 指导教师(姓名、职称):\l_@@_info_supv_full_tl \\
- 摘要:
- \egroup
- }
- \kaishu\zihao{-4}\par%
- }{%
- \newpage
- }
-
- % 英文摘要
- \NewDocumentEnvironment{englishabstract} {}
- {%
- \pagestyle{plain}
- % \phantomsection\addcontentsline{toc}{chapter}{英文摘要} % 将摘要插入目录和pdf书签
- \pdfbookmark[0]{英文摘要}{英文摘要} % 将摘要插入pdf书签,与上一行不可共存
- \begin{center}
- \kaishu\zihao{-2}{\textbf{\uuline{
- 南京大学本科生毕业论文(设计、作品)英文摘要}}}
- \end{center}
- {
- \bgroup
- THESIS: ~~\l_@@_info_title_en_tl \\
- DEPARTMENT: ~~\l_@@_info_dept_en_tl \\
- SPECIALIZATION: ~~\l_@@_major_en_tl \\
- UNDERGRADUATE:~~\l_@@_info_author_en_tl \\
- MENTOR:~~\l_@@_info_supv_full_en_tl \\
- ABSTRACT:
- \egroup
- }
- \zihao{-4}\par%
- }{%
- \cleardoublepage
- \newpage
+\cs_new_protected:Npn \@@_print_abstract_g:
+{
+ \thispagestyle{plain}
+ \pdfbookmark[0]{中文摘要}{abstract-zh}
+ \begin{center}
+ \kaishu\zihao{-2}{\textbf{\uuline{
+ 南京大学研究生毕业论文中文摘要首页用纸}}}
+ \end{center}
+ \bgroup
+ \noindent\kaishu\zihao{4}
+ 毕业论文题目:\hspace{0.5em}\njuline{\l_@@_info_title_tl\hfill}\\
+ \njuline{\makebox[11em]{\l_@@_major_tl}}专业
+ \njuline{\makebox[4em]{\l_@@_info_grade_tl}}级
+ \str_if_eq:NNTF {\l_@@_info_degree_tl} { phd } {博}{硕}
+ 士生姓名:\njuline{\hfill\l_@@_info_author_tl\hfill}\\
+ 指导教师(姓名、职称):\njuline{\hfill\l_@@_info_supv_full_tl\hfill}\par
+ \egroup
+ \kaishu\zihao{4}\par%
+}
+\cs_new_protected:Npn \@@_print_abstract_en_g:
+{
+ \thispagestyle{plain}
+ \pdfbookmark[0]{英文摘要}{abstract-en}
+ \begin{center}
+ \kaishu\zihao{-2}{\textbf{\uuline{
+ 南京大学研究生毕业论文英文摘要首页用纸}}}
+ \end{center}
+ {
+ \bgroup
+ \zihao{4}
+ THESIS: ~~\l_@@_info_title_en_tl \\
+ SPECIALIZATION: ~~\l_@@_major_en_tl \\
+ POSTGRADUATE:~~\l_@@_info_author_en_tl \\
+ MENTOR:~~\l_@@_info_supv_full_en_tl\par
+ \egroup
}
+ \zihao{4}\par%
}
% \end{macrocode}
+% \end{macro}
%
%
+% 判断学位
+%
% \begin{macrocode}
-{
- % 研究生摘要环境
+\str_if_eq:NNTF {\l_@@_info_degree_tl} { ug }
+{
\NewDocumentEnvironment{abstract} {}
- {%
- \pagestyle{plain}
- \pagenumbering{Roman}
- % \phantomsection\addcontentsline{toc}{chapter}{中文摘要} % 将摘要插入目录和pdf书签
- \pdfbookmark[0]{中文摘要}{中文摘要} % 将摘要插入pdf书签,与上一行不可共存
- \begin{center}
- \kaishu\zihao{-2}{\textbf{\uuline{
- 南京大学研究生毕业论文中文摘要首页用纸}}}
- \end{center}
-
- \bgroup
- \kaishu\zihao{4}
- \tl_set:Nn \tabcolsep {0pt}
- \tl_set:Nn \arraystretch {0.8}
- \noindent
- 毕业论文题目:\hspace{0.5em}\nju_underline:n {\l_@@_info_title_tl\hfill}\\
- \uline{\makebox[9em]{\l_@@_major_tl}}专业
- \uline{\makebox[4em]{\l_@@_info_grade_tl}}级
- \str_if_eq:NNTF {\l_@@_info_degree_tl} { phd } {博}{硕}
- 士生姓名:\uline{\hfill\l_@@_info_author_tl\hfill} \\
- 指导教师(姓名、职称):\uline{\hfill\l_@@_info_supv_full_tl\hfill}\par
- \egroup
-
- \kaishu\zihao{4}\par%
- }{%
- \newpage
- }
-
- % 英文摘要
- \NewDocumentEnvironment{englishabstract} {}
- {%
- \pagestyle{plain}
- % \phantomsection\addcontentsline{toc}{chapter}{英文摘要} % 将摘要插入目录和pdf书签
- \pdfbookmark[0]{英文摘要}{英文摘要} % 将摘要插入pdf书签,与上一行不可共存
- \begin{center}
- \kaishu\zihao{-2}{\textbf{\uuline{
- 南京大学研究生毕业论文英文摘要首页用纸}}}
- \end{center}
- {
- \bgroup
- \zihao{4}
- THESIS: ~~\l_@@_info_title_en_tl \\
- SPECIALIZATION: ~~\l_@@_major_en_tl \\
- POSTGRADUATE:~~\l_@@_info_author_en_tl \\
- MENTOR:~~\l_@@_info_supv_full_en_tl\par
- \egroup
- }
- \zihao{4}\par%
- }{%
- \cleardoublepage
- \newpage
- }
+ {\@@_print_abstract_ug:}{\@@_print_keywords:\newpage}
+ \NewDocumentEnvironment{abstract*} {}
+ {\@@_print_abstract_en_ug:}{\@@_print_keywords_en:\cleardoublepage}
+}
+{
+ \NewDocumentEnvironment{abstract} {}
+ {\@@_print_abstract_g:}{\@@_print_keywords:\newpage}
+ \NewDocumentEnvironment{abstract*} {}
+ {\@@_print_abstract_en_g:}{\@@_print_keywords_en:\cleardoublepage}
}
%</class>
% \end{macrocode}
@@ -2263,4 +2863,3 @@ through XeTeX.
%
% \end{implementation}
%
-% \PrintIndex
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.ins b/macros/unicodetex/latex/njuthesis/njuthesis.ins
new file mode 100644
index 0000000000..3c1216de41
--- /dev/null
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.ins
@@ -0,0 +1,79 @@
+%%
+%% This is file `njuthesis.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% njuthesis.dtx (with options: `install')
+%%
+%% Copyright (C) 2021
+%% by Nanjing University Linux User Group <nju.lug@yaoge123.cn>
+%%
+%% 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
+%% 2005/12/01 or later.
+%%
+%% To produce the documentation run the original source files ending with `.dtx'
+%% through XeTeX.
+%%
+\input l3docstrip.tex
+\keepsilent
+\askforoverwritefalse
+
+\preamble
+
+Copyright (C) 2021
+by Nanjing University Linux User Group <nju.lug@yaoge123.cn>
+
+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
+2005/12/01 or later.
+
+To produce the documentation run the original source files ending with `.dtx'
+through XeTeX.
+
+\endpreamble
+
+\generate{
+ \usedir{tex/latex/njuthesis}
+ \file{\jobname.cls} {\from{\jobname.dtx}{class}}
+ \file{njuvisual.sty}
+ {\from{\jobname.dtx}{visual}
+ \from{njuvisual.dtx}{visual}}
+}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* files into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* The recommended directory is TDS:tex/latex/njuthesis *}
+\Msg{* *}
+\Msg{* njuthesis.cls *}
+\Msg{* njuthesis.ins *}
+\Msg{* njuvisual.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation, run the file njuthesis.dtx *}
+\Msg{* through XeLaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile
+\endinput
+%%
+%% End of file `njuthesis.ins'.
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.pdf b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
index a254258dd5..4c07e666a6 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.pdf
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/njuthesis/njuvisual.dtx b/macros/unicodetex/latex/njuthesis/njuvisual.dtx
new file mode 100644
index 0000000000..0dad1405ba
--- /dev/null
+++ b/macros/unicodetex/latex/njuthesis/njuvisual.dtx
@@ -0,0 +1,5203 @@
+% \iffalse meta-comment
+% !TeX program = XeLaTeX
+% !TeX encoding = UTF-8
+%
+% Copyright (C) 2021
+% by Nanjing University Linux User Group <nju.lug@yaoge123.cn>
+%
+% It may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License (LPPL), either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in the file
+%
+% https://www.latex-project.org/lppl.txt
+%
+% -----------------------------------------------------------------------
+%
+% The development version of the template can be found at
+%
+% https://github.com/nju-lug/NJUThesis
+%
+% for those people who are interested.
+%
+% -----------------------------------------------------------------------
+%
+% TODO: 用 l3keys 提供清晰明了的接口
+%
+% -----------------------------------------------------------------------
+%
+% \fi
+%
+% \EnableImplementation
+%
+% \begin{implementation}
+%
+% \subsection{视觉识别系统 \pkg{njuvisual}}
+% \changes{v0.10}{2021/09/24}{添加南京大学视觉识别系统。}
+%
+% 南京大学视觉形象规范化标准(\pkg{njuvisual})宏包是 \pkg{njuthesis} 文档类的子宏包,负责实现
+% \href{https://www.nju.edu.cn/3647/list.htm}{南京大学视觉形象规范化标准}
+% 中定义的配色方案和标识。
+%
+% \begin{macrocode}
+%<@@=njuvis>
+%<*visual>
+% \end{macrocode}
+%
+% \subsubsection{内部命令}
+%
+% 导入 \pkg{tikz} 宏包,其中已包含 \pkg{xcolor},无需单独加载。
+% \begin{macrocode}
+\RequirePackage { tikz }
+% \end{macrocode}
+%
+%
+% \begin{macro}{njuviolet,njumagenta,njublue,njuyellow}
+% 定义南京大学视觉形象规范化标准中给定的四种标准色:紫色、洋红、蓝色、黄色。
+% \begin{macrocode}
+\definecolor { njuviolet } { cmyk } { 0.50, 1 , 0 , 0.40 }
+\definecolor { njumagenta } { cmyk } { 0.05, 1 , 0.55, 0 }
+\definecolor { njublue } { cmyk } { 0.80, 0.50, 0 , 0 }
+\definecolor { njuyellow } { cmyk } { 0 , 0.30, 1 , 0 }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_tikz_wrapper}
+% 可变大小的 tikz 容器。
+% \begin{arguments}
+% \item 颜色
+% \item 路径
+% \item 宽度
+% \item 高度
+% \end{arguments}
+% 封装 resizebox 和 tikzpicture 环境,减少重复。
+% \begin{macrocode}
+\NewDocumentCommand \@@_tikz_wrapper { m m m m }
+{ \resizebox { #3 } { #4 } {
+ \begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-1,
+ xscale=1, inner~sep=0pt, outer~sep=0pt]
+ \path[fill=#1,nonzero~rule] #2
+ \end{tikzpicture} } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_colon}
+% 定义类别为 other 的冒号,用于在 Expl3 中表示路径
+% \begin{macrocode}
+\def \@@_colon { \char_generate:nn { 58 } { 12 } }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{用户接口}
+%
+% \begin{macro}{\njuemblem}
+% 定义南京大学盾形校徽。
+% \begin{macrocode}
+\NewDocumentCommand \njuemblem { O { black } m m }
+{ \@@_tikz_wrapper
+ { #1 } { \@@_path_emblem } { #2 } { #3 } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\njuname,\njuname*}
+% 定义南京大学中英文校名。
+% \begin{macrocode}
+\NewDocumentCommand \njuname { t* O { black } m m }
+{
+ \IfBooleanTF {#1}
+ { \@@_tikz_wrapper
+ { #2 } { \@@_path_name_en } { #3 } { #4 } }
+ { \@@_tikz_wrapper
+ { #2 } { \@@_path_name_cn } { #3 } { #4 } } }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\njumotto}
+% 定义南京大学校训。在筹备百年校庆过程中,经过广泛征求意见和反复遴选比较,学校决定将“诚朴雄伟,励学敦行”作为南京大学新的校训。
+% \begin{macrocode}
+\NewDocumentCommand \njumotto { O { black } m m }
+{ \@@_tikz_wrapper
+ { #1 } { \@@_path_motto } { #2 } { #3 } }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\njuspirit}
+% 定义南京大学校风。1991年,在广泛征求师生意见和总结南大办学传统的基础上,曲钦岳校长确定将“严谨、求实、勤奋、创新”作为南大校风。
+% \begin{macrocode}
+\NewDocumentCommand \njuspirit { O { black } m m }
+{ \@@_tikz_wrapper
+ { #1 } { \@@_path_spirit } { #2 } { #3 } }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{图形绘制}
+%
+% 本部分绘制命令来自于\href{https://xiaoban.nju.edu.cn/c7/7b/c684a509819/page.psp}{南京大学视觉形象规范化标准矢量图}。
+%
+% \begin{macro}{\@@_path_emblem,\@@_path_name_en,
+% \@@_path_name_cn,\@@_path_motto,\@@_path_spirit}
+% 定义用到的各种路径。由于路径本身长达数千行,故在此文档中隐去,有兴趣的同学可以自行查阅\file{njuvisual.dtx}。
+% \begin{macrocode}
+%</visual>
+% \end{macrocode}
+% \end{macro}
+% \end{implementation}
+%
+% \DisableImplementation
+%
+% \begin{implementation}
+% \begin{macrocode}
+%<*visual>
+\def \@@_path_emblem{
+ (217.2400,100.3700)
+-- (51.2000,100.3700)
+.. controls (50.9800,100.3700) and (51.0300,100.6600) .. (50.9300,100.8200)
+.. controls (50.7700,122.1600) and (51.0100,144.1300) .. (50.9300,164.9000)
+.. controls (50.7700,185.9000) and (53.8200,204.9700) .. (60.6600,219.9000)
+.. controls (67.3700,234.7200) and (78.3800,245.3900) .. (90.8800,254.3500)
+.. controls (103.6000,263.3500) and (119.5100,268.2100) .. (134.1900,275.7900)
+.. controls (148.8200,268.1600) and (164.6800,263.4000) .. (177.3400,254.1600)
+.. controls (189.8400,245.1600) and (201.1500,234.7500) .. (207.7700,219.7700)
+.. controls (214.3900,204.7900) and (217.3500,186.2300) .. (217.3500,164.5700)
+.. controls (217.3500,143.7000) and (217.5100,121.5200) .. (217.2400,100.3700)
+-- cycle(89.2400,194.6200)
+.. controls (100.5200,188.7700) and (111.8200,182.3300) .. (120.6500,173.8200)
+arc(76.633 \@@_colon 91.924 \@@_colon 58.050)
+.. controls (106.0800,174.0800) and (107.4100,173.2800) .. (108.4700,172.2500)
+.. controls (115.9200,165.2500) and (124.2700,158.6300) .. (128.3200,148.0700)
+arc(70.952 \@@_colon 89.502 \@@_colon 31.070)
+arc(38.240 \@@_colon 12.515 \@@_colon 83.850)
+-- (134.8700,116.0400)
+arc(167.513 \@@_colon 141.732 \@@_colon 83.670)
+arc(90.754 \@@_colon 110.364 \@@_colon 29.000)
+arc(169.667 \@@_colon 148.710 \@@_colon 13.000)
+.. controls (146.4300,158.9700) and (152.2000,164.2100) .. (157.5800,169.2900)
+arc(309.925 \@@_colon 316.776 \@@_colon 74.000)
+.. controls (158.0100,175.8900) and (155.3400,175.3600) .. (148.8000,173.6800)
+.. controls (150.9200,176.2100) and (153.7200,178.0700) .. (156.3000,180.1200)
+.. controls (163.3000,185.8700) and (171.7200,190.1200) .. (180.1800,194.6200)
+.. controls (180.8500,194.9700) and (181.8900,195.2000) .. (182.1800,196.0800)
+arc(82.304 \@@_colon 107.905 \@@_colon 50.730)
+.. controls (150.5300,190.8900) and (141.7900,190.7000) .. (135.2600,196.7700)
+.. controls (128.0200,190.9400) and (120.8700,190.8600) .. (109.2600,193.9200)
+arc(73.280 \@@_colon 95.744 \@@_colon 57.170)
+.. controls (87.4300,195.1200) and (88.5400,195.0000) .. (89.2600,194.6200)
+-- cycle(114.9300,250.0000)
+-- (113.2000,250.0000)
+-- (113.2000,239.0000)
+arc(46.038 \@@_colon 66.740 \@@_colon 5.580)
+arc(53.363 \@@_colon 68.257 \@@_colon 7.910)
+-- (109.7400,239.4900)
+arc(63.077 \@@_colon 49.126 \@@_colon 12.550)
+arc(49.556 \@@_colon 29.691 \@@_colon 7.000)
+-- (114.9300,235.9300)
+-- cycle(130.3100,247.0000)
+arc(19.534 \@@_colon 52.521 \@@_colon 5.270)
+arc(54.644 \@@_colon 90.527 \@@_colon 4.610)
+arc(86.955 \@@_colon 130.797 \@@_colon 3.850)
+arc(132.725 \@@_colon 174.858 \@@_colon 4.000)
+-- (123.5000,246.6000)
+arc(172.573 \@@_colon 135.095 \@@_colon 3.000)
+arc(133.313 \@@_colon 86.043 \@@_colon 2.000)
+arc(89.869 \@@_colon 59.965 \@@_colon 2.830)
+arc(58.633 \@@_colon 31.367 \@@_colon 3.000)
+arc(30.803 \@@_colon 12.071 \@@_colon 5.380)
+arc(15.082 \@@_colon -0.566 \@@_colon 7.850)
+-- (129.1800,243.3400)
+arc(28.684 \@@_colon 63.754 \@@_colon 3.310)
+arc(59.040 \@@_colon 89.943 \@@_colon 3.720)
+arc(89.045 \@@_colon 137.167 \@@_colon 4.000)
+arc(136.978 \@@_colon 182.098 \@@_colon 4.660)
+arc(177.948 \@@_colon 222.981 \@@_colon 4.780)
+arc(224.674 \@@_colon 271.157 \@@_colon 4.280)
+arc(269.710 \@@_colon 300.460 \@@_colon 5.000)
+arc(303.727 \@@_colon 337.665 \@@_colon 4.760)
+arc(-17.707 \@@_colon 1.528 \@@_colon 11.910)
+arc(-0.891 \@@_colon 15.731 \@@_colon 15.000)
+-- cycle(143.4800,247.0800)
+arc(15.738 \@@_colon 50.275 \@@_colon 4.700)
+arc(53.237 \@@_colon 138.832 \@@_colon 4.270)
+.. controls (135.2600,247.6700) and (134.7800,245.7500) .. (134.7800,243.1200)
+arc(178.756 \@@_colon 196.339 \@@_colon 13.200)
+arc(195.886 \@@_colon 231.494 \@@_colon 4.540)
+arc(229.835 \@@_colon 273.295 \@@_colon 3.630)
+arc(268.585 \@@_colon 295.135 \@@_colon 4.450)
+arc(297.779 \@@_colon 327.573 \@@_colon 3.730)
+arc(329.132 \@@_colon 346.985 \@@_colon 7.330)
+arc(-12.330 \@@_colon 1.417 \@@_colon 14.060)
+arc(-1.045 \@@_colon 15.620 \@@_colon 13.600)
+-- cycle(157.0600,250.0800)
+-- (147.7600,250.0800)
+arc(177.694 \@@_colon 202.657 \@@_colon 2.750)
+arc(201.085 \@@_colon 222.434 \@@_colon 6.000)
+arc(220.947 \@@_colon 231.137 \@@_colon 17.520)
+arc(52.106 \@@_colon 39.773 \@@_colon 20.080)
+arc(40.650 \@@_colon 3.048 \@@_colon 3.460)
+arc(0.852 \@@_colon -49.587 \@@_colon 2.190)
+arc(314.690 \@@_colon 267.983 \@@_colon 2.600)
+arc(272.235 \@@_colon 225.652 \@@_colon 2.710)
+arc(222.001 \@@_colon 177.696 \@@_colon 2.890)
+-- (148.0700,240.0000)
+arc(183.277 \@@_colon 226.128 \@@_colon 4.520)
+arc(231.149 \@@_colon 274.345 \@@_colon 4.580)
+arc(266.177 \@@_colon 311.553 \@@_colon 4.370)
+arc(-47.159 \@@_colon 0.960 \@@_colon 3.720)
+arc(-0.312 \@@_colon 23.328 \@@_colon 4.160)
+arc(25.943 \@@_colon 40.823 \@@_colon 8.000)
+arc(44.328 \@@_colon 51.018 \@@_colon 31.180)
+.. controls (151.8800,246.5800) and (151.1800,247.2200) .. (150.8800,247.4900)
+arc(220.373 \@@_colon 211.134 \@@_colon 7.650)
+-- (157.0400,248.4900)
+-- cycle(142.8400,210.8600)
+-- (143.2900,214.5900)
+-- (127.1700,214.5900)
+-- (127.6500,210.8600)
+-- (77.1000,210.8600)
+-- (83.4100,203.1200)
+arc(86.332 \@@_colon 70.599 \@@_colon 91.350)
+.. controls (125.0900,191.6800) and (135.5200,200.5200) .. (135.5200,200.5200)
+.. controls (143.7400,193.6300) and (154.0600,195.0600) .. (163.6100,198.5800)
+.. controls (172.6100,201.8800) and (186.3600,202.8900) .. (186.3600,202.8900)
+-- (192.2900,210.8100)
+-- cycle(139.3500,237.2900)
+arc(270.625 \@@_colon 213.608 \@@_colon 2.240)
+.. controls (136.9000,239.1200) and (136.5800,240.7200) .. (136.5800,243.0600)
+.. controls (136.5800,245.4000) and (136.8500,246.8600) .. (137.3900,247.6300)
+arc(150.852 \@@_colon 29.148 \@@_colon 2.290)
+.. controls (141.9200,246.8600) and (142.2100,245.3700) .. (142.2100,243.0600)
+.. controls (142.2100,240.7500) and (141.9200,239.2000) .. (141.3900,238.4300)
+arc(326.470 \@@_colon 271.925 \@@_colon 2.550)
+-- cycle(126.2400,237.2900)
+arc(269.009 \@@_colon 217.861 \@@_colon 2.590)
+arc(222.347 \@@_colon 176.484 \@@_colon 3.320)
+arc(182.618 \@@_colon 137.079 \@@_colon 3.000)
+arc(136.557 \@@_colon 88.520 \@@_colon 2.660)
+arc(92.692 \@@_colon 42.231 \@@_colon 2.540)
+arc(40.468 \@@_colon -3.893 \@@_colon 3.250)
+arc(4.088 \@@_colon -42.994 \@@_colon 3.120)
+arc(322.770 \@@_colon 270.361 \@@_colon 2.380)
+-- cycle(229.3700,151.4400)
+arc(345.890 \@@_colon 351.762 \@@_colon 8.060)
+arc(158.989 \@@_colon 149.093 \@@_colon 4.900)
+arc(150.912 \@@_colon 144.053 \@@_colon 7.930)
+arc(131.171 \@@_colon 124.021 \@@_colon 10.120)
+.. controls (232.5000,155.4100) and (233.5700,156.1000) .. (234.6600,156.7900)
+.. controls (235.7500,157.4800) and (237.1600,158.2300) .. (238.8100,159.2400)
+arc(124.262 \@@_colon 108.263 \@@_colon 6.090)
+arc(109.693 \@@_colon 86.274 \@@_colon 4.080)
+-- (245.9700,160.2800)
+arc(93.309 \@@_colon 61.876 \@@_colon 1.890)
+arc(55.356 \@@_colon 27.262 \@@_colon 1.810)
+arc(21.572 \@@_colon 10.319 \@@_colon 5.940)
+arc(9.220 \@@_colon 2.378 \@@_colon 10.780)
+-- (249.0700,157.0000)
+-- (248.8600,166.7400)
+-- (247.8600,166.6800)
+.. controls (247.8600,166.4200) and (247.8000,166.0500) .. (247.7500,165.4900)
+arc(357.961 \@@_colon 343.276 \@@_colon 4.560)
+arc(340.537 \@@_colon 305.229 \@@_colon 1.530)
+arc(298.936 \@@_colon 267.141 \@@_colon 1.780)
+-- (240.9900,163.3800)
+.. controls (240.8300,163.3300) and (240.5600,163.3800) .. (240.1400,163.6200)
+.. controls (239.7200,163.8600) and (239.2400,163.9900) .. (238.7500,164.2600)
+.. controls (237.5800,164.8400) and (236.3400,165.4800) .. (235.0300,166.1500)
+.. controls (233.7200,166.8200) and (232.5600,167.4600) .. (231.6000,167.9900)
+arc(247.321 \@@_colon 225.506 \@@_colon 4.060)
+arc(231.922 \@@_colon 216.609 \@@_colon 4.140)
+arc(210.678 \@@_colon 189.397 \@@_colon 2.450)
+arc(199.388 \@@_colon 185.529 \@@_colon 3.650)
+-- (228.0500,171.3400)
+-- (228.1900,162.4500)
+-- (229.2600,162.4500)
+arc(182.100 \@@_colon 170.028 \@@_colon 10.390)
+.. controls (229.5200,165.0100) and (229.6800,165.2200) .. (229.8900,165.2400)
+arc(86.205 \@@_colon 60.786 \@@_colon 0.640)
+.. controls (230.3100,165.1600) and (230.5300,165.0100) .. (230.7400,164.9200)
+.. controls (230.9500,164.8300) and (231.3300,164.6300) .. (231.6200,164.4700)
+arc(67.166 \@@_colon 59.704 \@@_colon 8.590)
+.. controls (233.5000,163.5200) and (234.4000,163.0900) .. (235.2500,162.6100)
+.. controls (236.1000,162.1300) and (237.2500,161.5500) .. (238.6600,160.8000)
+.. controls (236.2100,159.2600) and (234.3200,158.0300) .. (232.9100,157.2100)
+arc(306.049 \@@_colon 287.460 \@@_colon 8.390)
+arc(276.761 \@@_colon 216.841 \@@_colon 0.610)
+arc(219.956 \@@_colon 195.406 \@@_colon 1.620)
+arc(199.106 \@@_colon 182.802 \@@_colon 3.340)
+arc(2.336 \@@_colon 8.720 \@@_colon 8.390)
+-- (228.2000,158.7000)
+-- (228.3600,151.4600)
+-- cycle(233.6800,174.1400)
+-- (233.6300,175.1400)
+arc(256.557 \@@_colon 243.845 \@@_colon 6.000)
+.. controls (231.8700,175.8100) and (231.3800,176.0500) .. (230.9700,176.2800)
+arc(236.460 \@@_colon 222.981 \@@_colon 6.590)
+arc(232.065 \@@_colon 192.357 \@@_colon 1.740)
+.. controls (229.1600,178.5700) and (229.0500,178.9400) .. (229.0000,179.3900)
+.. controls (228.9500,179.8400) and (228.9500,180.3000) .. (228.9500,180.6700)
+-- (228.8900,181.5500)
+-- (245.5200,182.1300)
+arc(93.762 \@@_colon 65.628 \@@_colon 1.840)
+arc(67.287 \@@_colon 17.508 \@@_colon 1.110)
+arc(26.507 \@@_colon 11.932 \@@_colon 4.550)
+.. controls (247.5100,179.6400) and (247.5900,179.1900) .. (247.6200,178.9100)
+-- (248.6200,178.9100)
+-- (248.2200,188.7300)
+-- (247.2200,188.6800)
+.. controls (247.2200,188.4300) and (247.1600,187.9600) .. (247.1400,187.4200)
+arc(0.845 \@@_colon -19.293 \@@_colon 3.390)
+arc(344.019 \@@_colon 307.889 \@@_colon 1.440)
+arc(300.117 \@@_colon 270.102 \@@_colon 2.000)
+-- (228.7100,184.6000)
+-- (228.7100,185.4800)
+-- (228.7100,186.6000)
+.. controls (228.7100,187.0200) and (228.7100,187.4800) .. (228.7100,187.8500)
+arc(171.051 \@@_colon 134.957 \@@_colon 1.920)
+arc(137.162 \@@_colon 125.352 \@@_colon 7.370)
+arc(126.550 \@@_colon 117.461 \@@_colon 10.120)
+arc(117.314 \@@_colon 105.322 \@@_colon 6.320)
+-- (232.9200,192.2400)
+-- (227.2800,192.0300)
+-- (228.0000,173.9000)
+-- cycle(246.8800,198.7700)
+-- (245.6000,208.0000)
+-- (244.6000,207.8600)
+.. controls (244.6000,207.5400) and (244.6500,207.2000) .. (244.6800,206.6900)
+arc(9.363 \@@_colon -9.363 \@@_colon 3.350)
+arc(346.040 \@@_colon 315.463 \@@_colon 1.630)
+arc(307.234 \@@_colon 275.015 \@@_colon 1.700)
+-- (228.4500,202.5100)
+arc(273.095 \@@_colon 266.905 \@@_colon 7.780)
+arc(245.527 \@@_colon 202.836 \@@_colon 1.360)
+arc(210.092 \@@_colon 199.313 \@@_colon 5.860)
+arc(203.802 \@@_colon 194.349 \@@_colon 6.870)
+-- (225.0900,205.1500)
+-- (226.3700,195.9000)
+-- (227.3700,196.0300)
+.. controls (227.3700,196.3000) and (227.3700,196.6700) .. (227.3700,197.0900)
+arc(180.338 \@@_colon 171.634 \@@_colon 7.530)
+arc(169.146 \@@_colon 129.553 \@@_colon 1.390)
+arc(123.032 \@@_colon 90.983 \@@_colon 1.610)
+-- (243.6800,201.3800)
+arc(98.113 \@@_colon 71.134 \@@_colon 1.830)
+arc(67.223 \@@_colon 22.777 \@@_colon 1.290)
+arc(31.448 \@@_colon 16.009 \@@_colon 3.700)
+arc(21.806 \@@_colon 8.787 \@@_colon 5.350)
+-- cycle(234.5300,212.5500)
+arc(241.231 \@@_colon 265.783 \@@_colon 4.390)
+arc(265.421 \@@_colon 286.567 \@@_colon 5.480)
+arc(281.977 \@@_colon 334.946 \@@_colon 5.570)
+arc(-25.691 \@@_colon 16.057 \@@_colon 7.520)
+arc(15.765 \@@_colon 30.041 \@@_colon 11.270)
+arc(31.595 \@@_colon 47.450 \@@_colon 9.400)
+-- (240.8000,226.1200)
+-- (240.5000,227.2900)
+-- (233.5900,225.6700)
+-- (233.9100,224.5200)
+arc(89.856 \@@_colon 78.269 \@@_colon 12.450)
+arc(81.196 \@@_colon 64.418 \@@_colon 8.000)
+arc(61.178 \@@_colon 42.849 \@@_colon 7.090)
+arc(39.992 \@@_colon 13.558 \@@_colon 5.340)
+arc(15.233 \@@_colon -3.554 \@@_colon 5.420)
+arc(358.333 \@@_colon 326.332 \@@_colon 2.570)
+arc(330.020 \@@_colon 307.934 \@@_colon 3.460)
+arc(299.552 \@@_colon 286.652 \@@_colon 6.920)
+arc(282.413 \@@_colon 252.874 \@@_colon 4.770)
+arc(249.144 \@@_colon 214.541 \@@_colon 4.490)
+.. controls (234.0100,217.5900) and (233.5600,218.2000) .. (233.0600,218.9500)
+.. controls (232.5600,219.7000) and (232.0600,220.2700) .. (231.6700,220.8100)
+arc(37.724 \@@_colon 66.911 \@@_colon 6.720)
+arc(69.041 \@@_colon 106.656 \@@_colon 5.370)
+arc(106.200 \@@_colon 129.647 \@@_colon 5.570)
+arc(130.122 \@@_colon 153.905 \@@_colon 5.480)
+arc(152.291 \@@_colon 174.454 \@@_colon 6.000)
+arc(173.966 \@@_colon 194.832 \@@_colon 6.840)
+arc(193.811 \@@_colon 214.383 \@@_colon 7.270)
+arc(214.091 \@@_colon 230.624 \@@_colon 8.000)
+-- (223.4200,210.5400)
+-- (223.6900,209.3700)
+-- (230.4200,211.0200)
+-- (230.1300,212.1900)
+.. controls (229.3300,212.1900) and (228.5300,212.1900) .. (227.7600,212.2900)
+arc(264.112 \@@_colon 249.319 \@@_colon 8.620)
+arc(247.206 \@@_colon 223.720 \@@_colon 5.070)
+arc(221.334 \@@_colon 194.513 \@@_colon 4.880)
+arc(194.474 \@@_colon 153.745 \@@_colon 3.640)
+arc(151.823 \@@_colon 106.388 \@@_colon 3.120)
+arc(106.424 \@@_colon 71.127 \@@_colon 3.860)
+arc(67.879 \@@_colon 38.975 \@@_colon 4.640)
+.. controls (229.6700,217.9600) and (230.1700,217.3500) .. (230.5500,216.7400)
+.. controls (230.9300,216.1300) and (231.4000,215.5700) .. (231.8300,215.0100)
+arc(217.013 \@@_colon 226.103 \@@_colon 11.890)
+arc(225.510 \@@_colon 242.670 \@@_colon 6.000)
+-- cycle(239.8800,230.2900)
+-- (237.2200,235.1300)
+.. controls (234.9100,235.3500) and (232.8800,235.5300) .. (231.2200,235.7700)
+.. controls (229.5600,236.0100) and (227.7100,236.2000) .. (225.8500,236.5200)
+-- (224.8500,238.3800)
+-- (230.6200,241.5200)
+arc(118.202 \@@_colon 99.475 \@@_colon 2.760)
+arc(91.472 \@@_colon 48.562 \@@_colon 1.280)
+arc(44.710 \@@_colon 34.289 \@@_colon 5.280)
+arc(39.020 \@@_colon 24.577 \@@_colon 4.680)
+-- (234.5100,240.2500)
+-- (230.2200,248.0000)
+-- (229.3200,247.4900)
+.. controls (229.4300,247.2800) and (229.5300,246.9600) .. (229.7200,246.4900)
+arc(26.241 \@@_colon 7.775 \@@_colon 2.770)
+arc(7.707 \@@_colon -33.494 \@@_colon 1.210)
+arc(323.004 \@@_colon 302.625 \@@_colon 2.620)
+-- (215.8600,237.0000)
+arc(292.886 \@@_colon 281.974 \@@_colon 4.740)
+arc(277.509 \@@_colon 227.247 \@@_colon 1.050)
+.. controls (213.9400,237.2100) and (213.7300,237.4800) .. (213.4900,237.7700)
+arc(225.495 \@@_colon 209.156 \@@_colon 3.540)
+-- (211.9500,238.1100)
+-- (216.5500,229.6300)
+arc(205.886 \@@_colon 223.712 \@@_colon 7.860)
+arc(220.524 \@@_colon 239.612 \@@_colon 7.000)
+arc(241.958 \@@_colon 269.050 \@@_colon 4.520)
+arc(270.067 \@@_colon 300.530 \@@_colon 4.400)
+arc(297.861 \@@_colon 319.458 \@@_colon 5.810)
+arc(318.536 \@@_colon 345.669 \@@_colon 4.100)
+arc(-14.552 \@@_colon 1.478 \@@_colon 6.930)
+arc(4.876 \@@_colon 12.291 \@@_colon 16.580)
+.. controls (228.2000,233.0800) and (229.6400,232.8700) .. (230.7600,232.7400)
+.. controls (231.8800,232.6100) and (233.2500,232.3700) .. (234.9100,232.1500)
+arc(83.275 \@@_colon 71.740 \@@_colon 8.510)
+arc(66.949 \@@_colon 54.586 \@@_colon 5.800)
+arc(52.137 \@@_colon 40.202 \@@_colon 5.000)
+.. controls (238.6500,230.1600) and (238.8100,229.8900) .. (238.9500,229.7100)
+-- cycle(222.5900,229.6500)
+arc(302.048 \@@_colon 254.819 \@@_colon 4.000)
+arc(250.570 \@@_colon 204.692 \@@_colon 4.150)
+-- (215.8100,233.5600)
+-- (223.6800,237.7700)
+-- (224.5800,236.0900)
+arc(30.190 \@@_colon -14.875 \@@_colon 4.700)
+arc(342.514 \@@_colon 296.053 \@@_colon 4.800)
+-- cycle(222.6400,249.6600)
+-- (227.0800,253.8600)
+-- (216.0000,267.1100)
+-- (215.2000,266.4700)
+.. controls (215.3900,266.2300) and (215.6000,265.8900) .. (215.9000,265.4700)
+arc(33.127 \@@_colon 16.423 \@@_colon 3.450)
+arc(19.139 \@@_colon -19.139 \@@_colon 1.220)
+arc(334.642 \@@_colon 305.905 \@@_colon 1.860)
+-- (204.2700,253.4400)
+arc(312.365 \@@_colon 281.934 \@@_colon 1.670)
+arc(284.518 \@@_colon 241.391 \@@_colon 1.220)
+arc(241.616 \@@_colon 233.927 \@@_colon 8.110)
+.. controls (201.3100,254.0300) and (201.0500,254.2700) .. (200.8300,254.4500)
+-- (200.0600,253.8400)
+-- (210.3600,241.4400)
+-- (214.1900,244.6700)
+-- (213.5000,245.5100)
+arc(294.302 \@@_colon 268.656 \@@_colon 6.000)
+arc(277.200 \@@_colon 236.403 \@@_colon 3.330)
+.. controls (208.3900,245.7300) and (208.1700,245.9900) .. (207.8600,246.2600)
+.. controls (207.5500,246.5300) and (207.2700,246.9500) .. (206.8600,247.3500)
+-- (204.8600,249.8800)
+-- (211.1400,255.1400)
+-- (212.6800,253.3600)
+arc(41.003 \@@_colon 25.220 \@@_colon 6.000)
+arc(16.559 \@@_colon -16.559 \@@_colon 2.000)
+arc(348.800 \@@_colon 323.541 \@@_colon 3.000)
+arc(327.247 \@@_colon 320.200 \@@_colon 11.000)
+-- (212.9500,247.7200)
+-- (219.1700,252.9400)
+-- (218.5000,253.7300)
+arc(299.599 \@@_colon 292.508 \@@_colon 12.150)
+arc(294.683 \@@_colon 277.085 \@@_colon 4.180)
+arc(272.493 \@@_colon 235.493 \@@_colon 2.000)
+arc(237.805 \@@_colon 213.750 \@@_colon 3.750)
+-- (212.0400,255.9200)
+-- (216.8800,259.9200)
+arc(133.440 \@@_colon 117.182 \@@_colon 5.200)
+arc(115.811 \@@_colon 82.370 \@@_colon 1.760)
+arc(68.899 \@@_colon 47.416 \@@_colon 3.000)
+.. controls (220.3000,260.0500) and (220.7200,259.5400) .. (221.2800,258.9100)
+.. controls (221.4400,258.6600) and (221.7400,258.4000) .. (222.0600,257.9100)
+arc(46.910 \@@_colon 31.105 \@@_colon 4.680)
+arc(36.182 \@@_colon 22.019 \@@_colon 4.920)
+arc(33.260 \@@_colon -8.344 \@@_colon 1.240)
+arc(354.929 \@@_colon 332.938 \@@_colon 6.820)
+arc(336.566 \@@_colon 330.304 \@@_colon 20.470)
+-- cycle(199.4200,256.4200)
+arc(224.131 \@@_colon 217.579 \@@_colon 8.560)
+arc(214.867 \@@_colon 196.161 \@@_colon 3.000)
+arc(204.597 \@@_colon 170.041 \@@_colon 1.850)
+.. controls (198.2700,259.4700) and (198.3600,259.9300) .. (198.4600,260.3800)
+.. controls (198.9400,262.0300) and (199.6800,264.5300) .. (200.7000,267.8800)
+.. controls (201.7200,271.2300) and (202.8200,274.7700) .. (203.9400,278.4400)
+-- (203.0100,279.1900)
+.. controls (199.5500,277.1400) and (196.2300,275.1900) .. (193.0100,273.1900)
+.. controls (189.7900,271.1900) and (187.6100,270.0000) .. (186.4700,269.3100)
+arc(297.585 \@@_colon 285.793 \@@_colon 4.610)
+arc(273.583 \@@_colon 266.417 \@@_colon 8.000)
+arc(261.351 \@@_colon 246.271 \@@_colon 3.690)
+.. controls (183.3700,269.3600) and (183.1000,269.5200) .. (182.8600,269.6200)
+-- (182.1900,268.8300)
+-- (188.9000,263.4800)
+-- (189.5900,264.2800)
+arc(229.257 \@@_colon 220.743 \@@_colon 12.670)
+.. controls (187.9400,266.0100) and (187.8800,266.3000) .. (188.0500,266.5100)
+arc(153.676 \@@_colon 118.486 \@@_colon 0.620)
+arc(133.395 \@@_colon 120.345 \@@_colon 1.760)
+.. controls (189.4800,267.5500) and (190.9200,268.3500) .. (192.9100,269.5500)
+.. controls (194.9000,270.7500) and (197.7300,272.4400) .. (201.4000,274.6000)
+.. controls (200.8100,272.7400) and (200.1800,270.5300) .. (199.4000,268.0000)
+.. controls (198.6200,265.4700) and (198.0500,263.7700) .. (197.7300,262.8400)
+arc(344.163 \@@_colon 332.799 \@@_colon 9.500)
+.. controls (196.8500,260.7700) and (196.6900,260.5300) .. (196.5900,260.3400)
+arc(322.453 \@@_colon 259.869 \@@_colon 0.640)
+arc(269.604 \@@_colon 245.195 \@@_colon 2.060)
+arc(247.883 \@@_colon 238.505 \@@_colon 6.510)
+.. controls (193.9000,260.9300) and (193.6300,261.0900) .. (193.3700,261.2700)
+-- (192.6800,260.4500)
+-- (198.7400,255.6300)
+-- cycle(189.2300,289.0600)
+-- (180.8200,293.1500)
+-- (180.3700,292.2200)
+.. controls (180.6100,292.1100) and (180.9300,291.8800) .. (181.3700,291.6600)
+arc(60.196 \@@_colon 45.848 \@@_colon 4.260)
+arc(42.154 \@@_colon 9.853 \@@_colon 1.640)
+arc(5.625 \@@_colon -28.746 \@@_colon 1.520)
+-- (175.7800,275.8100)
+arc(342.748 \@@_colon 313.104 \@@_colon 1.730)
+arc(295.909 \@@_colon 262.271 \@@_colon 1.750)
+.. controls (173.9900,274.9000) and (173.6200,275.0100) .. (173.1900,275.0600)
+arc(254.927 \@@_colon 248.528 \@@_colon 10.000)
+-- (171.6500,274.4800)
+-- (180.0800,270.3800)
+-- (180.5400,271.3100)
+.. controls (180.2700,271.4500) and (179.9800,271.6600) .. (179.6000,271.8700)
+arc(239.952 \@@_colon 221.469 \@@_colon 3.540)
+arc(228.278 \@@_colon 182.750 \@@_colon 1.260)
+arc(174.968 \@@_colon 156.303 \@@_colon 2.610)
+-- (185.1100,287.8000)
+arc(159.207 \@@_colon 119.029 \@@_colon 1.290)
+arc(125.695 \@@_colon 80.294 \@@_colon 1.210)
+arc(87.356 \@@_colon 68.924 \@@_colon 3.190)
+.. controls (188.0300,288.3600) and (188.4200,288.2300) .. (188.7200,288.1200)
+-- cycle(168.4300,277.0000)
+arc(238.035 \@@_colon 228.225 \@@_colon 7.310)
+arc(234.410 \@@_colon 219.745 \@@_colon 5.350)
+arc(205.455 \@@_colon 158.338 \@@_colon 1.890)
+arc(167.379 \@@_colon 155.065 \@@_colon 12.310)
+-- (173.3200,296.6300)
+-- (172.1300,297.1900)
+-- (153.8200,286.6300)
+-- (158.1100,296.4500)
+arc(159.939 \@@_colon 143.573 \@@_colon 9.650)
+arc(150.157 \@@_colon 110.884 \@@_colon 2.290)
+arc(106.287 \@@_colon 73.713 \@@_colon 2.710)
+arc(84.883 \@@_colon 74.075 \@@_colon 7.560)
+-- (163.9300,300.5600)
+-- (156.0800,304.0000)
+-- (155.6600,303.0000)
+arc(60.297 \@@_colon 48.248 \@@_colon 6.690)
+arc(52.896 \@@_colon 39.091 \@@_colon 5.090)
+arc(24.558 \@@_colon -14.450 \@@_colon 2.210)
+arc(345.738 \@@_colon 335.625 \@@_colon 16.290)
+-- (152.7600,287.7800)
+arc(334.714 \@@_colon 319.309 \@@_colon 5.070)
+arc(317.321 \@@_colon 291.891 \@@_colon 2.760)
+arc(286.558 \@@_colon 266.987 \@@_colon 4.740)
+arc(268.439 \@@_colon 249.087 \@@_colon 4.580)
+-- (147.5100,285.0600)
+-- (152.9400,282.6900)
+-- (169.9400,292.5400)
+-- (166.0000,283.5000)
+arc(337.388 \@@_colon 326.204 \@@_colon 14.440)
+arc(330.647 \@@_colon 285.447 \@@_colon 1.900)
+arc(283.558 \@@_colon 256.442 \@@_colon 3.050)
+arc(260.853 \@@_colon 252.032 \@@_colon 9.430)
+-- (160.2800,279.4600)
+-- (168.0200,276.1300)
+-- cycle(144.3000,287.5700)
+arc(267.905 \@@_colon 254.602 \@@_colon 5.110)
+arc(260.808 \@@_colon 241.005 \@@_colon 4.000)
+arc(228.372 \@@_colon 182.147 \@@_colon 2.000)
+arc(189.981 \@@_colon 179.435 \@@_colon 13.920)
+-- (140.9500,301.1700)
+arc(-1.402 \@@_colon 28.394 \@@_colon 6.000)
+arc(29.125 \@@_colon 54.042 \@@_colon 6.600)
+arc(54.338 \@@_colon 76.916 \@@_colon 6.870)
+arc(72.156 \@@_colon 90.212 \@@_colon 7.900)
+arc(88.876 \@@_colon 108.591 \@@_colon 9.810)
+arc(107.359 \@@_colon 129.242 \@@_colon 7.390)
+arc(128.888 \@@_colon 157.085 \@@_colon 4.910)
+arc(152.785 \@@_colon 180.591 \@@_colon 4.790)
+-- (125.6800,289.5900)
+arc(2.798 \@@_colon -22.742 \@@_colon 2.090)
+arc(331.896 \@@_colon 291.061 \@@_colon 1.320)
+arc(303.531 \@@_colon 279.860 \@@_colon 2.440)
+arc(282.924 \@@_colon 272.824 \@@_colon 5.390)
+-- (122.9600,286.5000)
+-- (131.5900,286.5000)
+-- (131.5900,287.5700)
+arc(269.845 \@@_colon 258.733 \@@_colon 5.190)
+arc(257.961 \@@_colon 252.176 \@@_colon 9.230)
+arc(260.233 \@@_colon 199.988 \@@_colon 0.870)
+arc(201.882 \@@_colon 178.526 \@@_colon 2.510)
+-- (128.8400,300.9100)
+arc(180.141 \@@_colon 167.979 \@@_colon 8.210)
+arc(166.732 \@@_colon 148.075 \@@_colon 5.780)
+arc(142.813 \@@_colon 115.127 \@@_colon 4.220)
+arc(115.782 \@@_colon 87.738 \@@_colon 5.670)
+arc(90.991 \@@_colon 65.658 \@@_colon 6.310)
+arc(67.500 \@@_colon 37.689 \@@_colon 4.160)
+arc(36.911 \@@_colon 18.381 \@@_colon 5.890)
+arc(14.427 \@@_colon 1.369 \@@_colon 7.680)
+-- (139.5300,292.4000)
+arc(0.281 \@@_colon -10.516 \@@_colon 14.300)
+arc(349.548 \@@_colon 318.678 \@@_colon 2.840)
+arc(300.415 \@@_colon 284.304 \@@_colon 5.440)
+arc(282.622 \@@_colon 274.561 \@@_colon 10.000)
+-- (135.8300,286.5000)
+-- (144.3200,286.5000)
+-- cycle(92.1600,284.1900)
+.. controls (91.9500,284.0800) and (91.6200,283.9500) .. (91.3100,283.7600)
+arc(294.456 \@@_colon 283.519 \@@_colon 5.160)
+arc(273.700 \@@_colon 242.713 \@@_colon 1.740)
+arc(235.654 \@@_colon 211.800 \@@_colon 2.310)
+-- (87.9000,285.6500)
+.. controls (87.2600,286.6500) and (86.7900,287.2700) .. (86.6000,287.6500)
+arc(215.326 \@@_colon 205.606 \@@_colon 5.820)
+arc(98.042 \@@_colon 110.031 \@@_colon 19.740)
+arc(111.054 \@@_colon 121.942 \@@_colon 20.080)
+arc(126.474 \@@_colon 147.035 \@@_colon 11.000)
+arc(145.152 \@@_colon 169.196 \@@_colon 9.220)
+arc(169.382 \@@_colon 192.870 \@@_colon 10.000)
+arc(190.967 \@@_colon 216.161 \@@_colon 10.380)
+arc(212.803 \@@_colon 235.180 \@@_colon 11.390)
+arc(235.264 \@@_colon 257.035 \@@_colon 11.000)
+arc(258.333 \@@_colon 281.667 \@@_colon 9.890)
+arc(282.028 \@@_colon 320.035 \@@_colon 11.110)
+arc(323.164 \@@_colon 332.141 \@@_colon 15.880)
+-- (95.8000,271.6500)
+-- (96.8000,272.3400)
+-- (92.8000,278.4300)
+-- (91.8500,277.7400)
+arc(18.722 \@@_colon 11.051 \@@_colon 18.330)
+arc(14.458 \@@_colon -4.539 \@@_colon 7.360)
+arc(356.534 \@@_colon 331.229 \@@_colon 5.180)
+arc(329.869 \@@_colon 304.661 \@@_colon 5.740)
+arc(303.067 \@@_colon 277.718 \@@_colon 6.540)
+arc(276.651 \@@_colon 248.555 \@@_colon 5.920)
+arc(251.009 \@@_colon 225.914 \@@_colon 7.480)
+arc(229.283 \@@_colon 214.902 \@@_colon 16.150)
+arc(213.657 \@@_colon 199.201 \@@_colon 15.000)
+arc(199.028 \@@_colon 180.234 \@@_colon 10.250)
+arc(179.658 \@@_colon 123.152 \@@_colon 6.400)
+arc(127.075 \@@_colon 102.209 \@@_colon 5.570)
+arc(107.485 \@@_colon 83.268 \@@_colon 4.070)
+arc(44.992 \@@_colon 34.619 \@@_colon 8.640)
+.. controls (85.1700,284.5400) and (85.4300,284.1600) .. (85.6200,283.9000)
+-- (86.2300,282.9000)
+arc(40.449 \@@_colon 10.833 \@@_colon 2.170)
+arc(21.331 \@@_colon -39.512 \@@_colon 1.000)
+arc(325.817 \@@_colon 311.487 \@@_colon 5.340)
+arc(312.990 \@@_colon 304.329 \@@_colon 8.480)
+-- (85.2500,278.1500)
+-- (92.8300,283.2800)
+-- cycle(80.4000,262.8000)
+arc(308.934 \@@_colon 299.438 \@@_colon 7.740)
+arc(299.010 \@@_colon 283.943 \@@_colon 5.000)
+arc(271.741 \@@_colon 230.703 \@@_colon 2.260)
+arc(230.808 \@@_colon 222.272 \@@_colon 17.680)
+-- (64.1700,274.9200)
+-- (63.2700,274.0400)
+-- (65.8800,253.0400)
+-- (58.4800,260.7800)
+arc(224.358 \@@_colon 212.139 \@@_colon 13.280)
+arc(212.536 \@@_colon 180.286 \@@_colon 2.740)
+arc(171.805 \@@_colon 142.783 \@@_colon 3.050)
+arc(151.398 \@@_colon 139.876 \@@_colon 7.060)
+-- (56.9900,267.7800)
+-- (50.7900,261.8800)
+-- (51.5400,261.1600)
+arc(129.423 \@@_colon 112.947 \@@_colon 4.650)
+arc(123.850 \@@_colon 103.255 \@@_colon 3.570)
+arc(92.245 \@@_colon 49.397 \@@_colon 2.000)
+arc(53.974 \@@_colon 41.809 \@@_colon 13.230)
+-- (64.4400,252.5800)
+arc(40.898 \@@_colon 26.008 \@@_colon 5.180)
+arc(26.077 \@@_colon -1.954 \@@_colon 2.470)
+arc(355.396 \@@_colon 332.333 \@@_colon 4.140)
+arc(336.404 \@@_colon 321.542 \@@_colon 6.000)
+-- (64.8600,246.6200)
+-- (69.1800,250.7500)
+-- (66.7300,270.2700)
+-- (73.5400,263.1400)
+arc(43.846 \@@_colon 33.985 \@@_colon 16.300)
+arc(30.307 \@@_colon 2.213 \@@_colon 3.090)
+arc(338.802 \@@_colon 328.775 \@@_colon 8.290)
+arc(329.764 \@@_colon 323.520 \@@_colon 13.190)
+-- (74.9800,256.2800)
+-- (81.0900,262.1000)
+-- cycle(44.6800,255.4300)
+-- (39.0000,248.0000)
+-- (39.8000,247.3600)
+arc(314.465 \@@_colon 323.163 \@@_colon 7.710)
+.. controls (40.9200,248.5900) and (41.1800,248.8500) .. (41.3400,248.9800)
+arc(118.238 \@@_colon 90.784 \@@_colon 1.850)
+arc(77.660 \@@_colon 55.294 \@@_colon 2.390)
+-- (55.0400,239.6700)
+arc(56.962 \@@_colon 31.219 \@@_colon 2.000)
+arc(18.461 \@@_colon -18.461 \@@_colon 1.500)
+arc(341.790 \@@_colon 335.152 \@@_colon 10.120)
+.. controls (55.0400,236.5900) and (54.8800,236.3000) .. (54.7200,235.9900)
+-- (55.5500,235.3500)
+-- (61.2100,242.7700)
+-- (60.3700,243.4100)
+arc(322.013 \@@_colon 311.042 \@@_colon 5.550)
+arc(318.146 \@@_colon 303.382 \@@_colon 4.470)
+arc(309.285 \@@_colon 261.226 \@@_colon 1.120)
+arc(257.503 \@@_colon 232.770 \@@_colon 2.110)
+-- (45.1000,251.2300)
+arc(235.809 \@@_colon 204.819 \@@_colon 1.620)
+arc(197.209 \@@_colon 162.791 \@@_colon 1.690)
+.. controls (44.6200,253.0500) and (44.7800,253.4200) .. (44.9600,253.7900)
+arc(154.335 \@@_colon 144.583 \@@_colon 6.830)
+-- cycle(52.0000,231.6500)
+.. controls (51.8400,231.4100) and (51.6300,231.1200) .. (51.3900,230.8200)
+.. controls (51.1500,230.5200) and (50.8800,230.2900) .. (50.6700,230.0800)
+arc(317.375 \@@_colon 260.302 \@@_colon 0.940)
+arc(265.608 \@@_colon 236.715 \@@_colon 1.800)
+-- (38.2700,236.2000)
+arc(59.962 \@@_colon 83.513 \@@_colon 5.160)
+arc(79.242 \@@_colon 100.758 \@@_colon 6.000)
+arc(102.178 \@@_colon 123.232 \@@_colon 7.090)
+arc(127.906 \@@_colon 150.450 \@@_colon 7.200)
+arc(147.202 \@@_colon 191.006 \@@_colon 5.460)
+arc(192.953 \@@_colon 243.725 \@@_colon 4.550)
+arc(239.365 \@@_colon 270.451 \@@_colon 3.440)
+arc(276.660 \@@_colon 332.895 \@@_colon 1.860)
+arc(-29.631 \@@_colon 13.037 \@@_colon 2.000)
+arc(9.646 \@@_colon 61.335 \@@_colon 1.620)
+arc(62.189 \@@_colon 80.211 \@@_colon 3.170)
+arc(82.171 \@@_colon 91.470 \@@_colon 5.560)
+arc(272.950 \@@_colon 267.050 \@@_colon 9.230)
+arc(275.098 \@@_colon 264.902 \@@_colon 5.120)
+arc(205.275 \@@_colon 178.548 \@@_colon 2.830)
+arc(176.280 \@@_colon 148.505 \@@_colon 3.650)
+arc(148.148 \@@_colon 112.918 \@@_colon 3.000)
+arc(115.231 \@@_colon 81.421 \@@_colon 2.850)
+arc(82.768 \@@_colon 65.993 \@@_colon 6.620)
+.. controls (36.1900,233.6800) and (36.9400,233.3600) .. (37.7100,232.9100)
+-- (47.2600,227.4000)
+arc(55.955 \@@_colon 44.787 \@@_colon 4.270)
+arc(29.947 \@@_colon -4.499 \@@_colon 1.610)
+arc(352.704 \@@_colon 341.729 \@@_colon 6.380)
+.. controls (47.6800,224.3200) and (47.5200,224.0000) .. (47.3900,223.7000)
+-- (48.3200,223.2000)
+-- (52.8700,231.1300)
+-- cycle(45.5000,219.4400)
+arc(344.885 \@@_colon 331.512 \@@_colon 5.550)
+arc(332.245 \@@_colon 319.383 \@@_colon 5.720)
+arc(304.796 \@@_colon 264.324 \@@_colon 2.300)
+arc(266.280 \@@_colon 256.294 \@@_colon 15.170)
+-- (25.2800,220.4500)
+-- (25.0000,219.2200)
+-- (38.9100,203.2200)
+-- (28.4300,205.5100)
+arc(259.874 \@@_colon 245.220 \@@_colon 10.850)
+arc(245.902 \@@_colon 215.417 \@@_colon 3.000)
+arc(204.403 \@@_colon 176.412 \@@_colon 3.090)
+arc(186.861 \@@_colon 173.139 \@@_colon 5.860)
+-- (23.3000,210.4800)
+-- (21.4300,202.1500)
+-- (22.4300,201.9200)
+.. controls (22.5400,202.1800) and (22.7500,202.5800) .. (23.0500,203.1600)
+arc(157.658 \@@_colon 133.131 \@@_colon 2.860)
+arc(130.443 \@@_colon 84.893 \@@_colon 1.830)
+arc(87.836 \@@_colon 75.180 \@@_colon 13.210)
+-- (38.0000,202.0000)
+arc(77.543 \@@_colon 60.675 \@@_colon 4.780)
+arc(55.423 \@@_colon 33.899 \@@_colon 3.200)
+arc(29.831 \@@_colon 8.131 \@@_colon 4.410)
+arc(5.451 \@@_colon -5.451 \@@_colon 8.000)
+-- (41.6900,197.3500)
+-- (43.0000,203.1300)
+-- (30.0000,218.0000)
+-- (39.6300,215.8200)
+arc(80.287 \@@_colon 65.657 \@@_colon 11.130)
+arc(72.821 \@@_colon 27.769 \@@_colon 1.900)
+arc(17.356 \@@_colon 2.099 \@@_colon 5.350)
+arc(6.217 \@@_colon -6.217 \@@_colon 6.510)
+-- (44.7000,210.9800)
+-- (46.5400,219.2500)
+-- cycle(20.8100,197.7000)
+-- (19.9100,189.1400)
+-- (20.9100,189.0300)
+arc(171.031 \@@_colon 158.303 \@@_colon 8.700)
+.. controls (21.5800,191.3700) and (21.7900,191.5900) .. (22.0600,191.5900)
+arc(84.032 \@@_colon 62.959 \@@_colon 0.770)
+arc(78.517 \@@_colon 54.224 \@@_colon 0.830)
+-- (27.1100,189.2200)
+-- (26.4300,182.0000)
+arc(288.255 \@@_colon 280.987 \@@_colon 15.000)
+arc(285.824 \@@_colon 279.233 \@@_colon 12.830)
+.. controls (22.6800,181.0900) and (22.3600,181.0900) .. (22.0900,181.0400)
+-- (21.4500,181.0400)
+.. controls (21.0500,181.0900) and (20.8100,181.3900) .. (20.6300,182.0400)
+arc(191.443 \@@_colon 177.397 \@@_colon 8.490)
+-- (19.4700,184.2200)
+-- (18.6700,176.4000)
+-- (19.6700,176.3500)
+arc(168.919 \@@_colon 161.933 \@@_colon 8.480)
+arc(160.471 \@@_colon 137.601 \@@_colon 2.500)
+arc(145.826 \@@_colon 122.857 \@@_colon 3.090)
+arc(118.655 \@@_colon 105.736 \@@_colon 6.000)
+.. controls (25.2800,180.3400) and (28.3200,181.1300) .. (31.6700,182.1200)
+.. controls (35.0200,183.1100) and (38.0000,183.8400) .. (40.6700,184.5900)
+-- (40.7800,185.7300)
+-- (23.6200,194.4600)
+arc(249.284 \@@_colon 225.774 \@@_colon 2.560)
+arc(222.779 \@@_colon 187.717 \@@_colon 3.230)
+arc(191.598 \@@_colon 178.341 \@@_colon 4.000)
+-- cycle(28.3700,188.5500)
+-- (36.1100,184.6200)
+-- (27.7800,182.3300)
+-- cycle(38.8500,174.0000)
+arc(353.071 \@@_colon 343.978 \@@_colon 8.560)
+arc(349.294 \@@_colon 327.624 \@@_colon 3.260)
+arc(322.861 \@@_colon 273.157 \@@_colon 1.900)
+arc(278.127 \@@_colon 269.764 \@@_colon 17.940)
+-- (18.8700,170.6000)
+-- (18.8700,169.2900)
+-- (35.8700,156.7400)
+-- (25.1500,156.7400)
+arc(272.052 \@@_colon 259.182 \@@_colon 12.260)
+arc(263.759 \@@_colon 221.474 \@@_colon 2.170)
+arc(216.677 \@@_colon 188.916 \@@_colon 3.120)
+arc(199.658 \@@_colon 186.823 \@@_colon 6.250)
+-- (19.1200,160.4100)
+-- (19.1200,151.9200)
+-- (20.1200,151.9200)
+arc(170.888 \@@_colon 161.658 \@@_colon 8.380)
+arc(168.785 \@@_colon 150.857 \@@_colon 4.000)
+arc(141.501 \@@_colon 97.482 \@@_colon 1.870)
+arc(100.583 \@@_colon 88.783 \@@_colon 14.300)
+-- (35.2300,155.3300)
+arc(88.291 \@@_colon 68.758 \@@_colon 4.000)
+arc(74.534 \@@_colon 45.628 \@@_colon 2.450)
+arc(38.126 \@@_colon 21.792 \@@_colon 5.850)
+arc(22.723 \@@_colon 7.331 \@@_colon 5.760)
+-- (39.8500,151.5200)
+-- (39.8500,157.5200)
+-- (24.0000,169.1400)
+-- (33.9000,169.1400)
+arc(92.789 \@@_colon 78.226 \@@_colon 11.080)
+arc(85.891 \@@_colon 38.193 \@@_colon 1.820)
+arc(32.998 \@@_colon 11.363 \@@_colon 3.740)
+.. controls (38.6900,166.2900) and (38.8000,165.8100) .. (38.8500,165.5200)
+-- (39.8500,165.5200)
+-- (39.8500,174.0000)
+-- cycle(140.5200,89.7600)
+.. controls (137.3300,85.6000) and (147.5200,86.0300) .. (148.8200,83.8800)
+arc(293.078 \@@_colon 274.740 \@@_colon 17.100)
+arc(278.470 \@@_colon 271.074 \@@_colon 44.730)
+.. controls (137.9100,84.9700) and (139.1900,89.8600) .. (136.1100,90.7400)
+.. controls (133.9200,91.3000) and (127.2200,90.7400) .. (126.9000,89.1400)
+.. controls (126.2400,85.6000) and (132.0100,87.9200) .. (134.6200,87.5700)
+.. controls (135.3100,86.0300) and (134.7000,83.4500) .. (134.1900,82.0900)
+.. controls (129.0600,81.6700) and (124.1900,82.6500) .. (119.8800,83.5800)
+.. controls (121.1500,85.5800) and (124.8800,85.0700) .. (125.1700,87.0200)
+.. controls (125.8900,91.3000) and (118.5000,86.9600) .. (117.4300,86.2700)
+arc(119.506 \@@_colon 144.340 \@@_colon 30.940)
+.. controls (106.3900,75.8700) and (104.0800,72.9400) .. (104.2400,71.3800)
+.. controls (104.4000,69.8200) and (107.7700,68.9600) .. (109.9800,68.3800)
+.. controls (122.8900,64.9000) and (137.7600,63.5700) .. (152.1200,66.5000)
+arc(283.113 \@@_colon 289.435 \@@_colon 60.830)
+.. controls (160.4500,68.9700) and (163.9600,69.7400) .. (164.2000,71.1000)
+.. controls (164.4900,72.8800) and (161.2000,77.1000) .. (160.4500,78.1000)
+arc(35.592 \@@_colon 66.803 \@@_colon 28.000)
+.. controls (146.3200,88.6400) and (143.6100,89.8300) .. (140.5200,89.7600)
+-- cycle(108.2300,72.3900)
+arc(150.865 \@@_colon 127.525 \@@_colon 29.390)
+arc(250.013 \@@_colon 261.236 \@@_colon 35.630)
+.. controls (121.7500,78.7500) and (120.5900,78.2200) .. (119.2900,77.2100)
+.. controls (118.2900,76.4900) and (116.4800,75.4300) .. (116.5600,73.9400)
+.. controls (116.6400,72.4500) and (120.0400,71.5700) .. (122.3000,71.0700)
+arc(258.413 \@@_colon 282.074 \@@_colon 57.410)
+.. controls (148.0800,71.7100) and (151.8400,72.2900) .. (151.8400,74.0700)
+.. controls (151.8400,75.0700) and (150.1300,76.5500) .. (149.2300,77.2100)
+.. controls (148.0000,78.2100) and (146.6200,78.3300) .. (145.8200,79.6600)
+arc(276.838 \@@_colon 291.470 \@@_colon 27.780)
+arc(54.790 \@@_colon 24.445 \@@_colon 22.320)
+.. controls (146.4800,66.6700) and (122.0900,67.0600) .. (108.2300,72.3900)
+-- cycle(121.7400,74.8600)
+.. controls (127.3300,79.7300) and (140.9500,79.7300) .. (146.5300,74.8600)
+.. controls (139.8800,72.6800) and (128.3700,72.6800) .. (121.7400,74.8600)
+-- cycle(162.3100,49.0000)
+.. controls (163.1900,48.8700) and (163.4500,47.8500) .. (164.6200,48.0000)
+.. controls (166.4300,48.1400) and (166.8600,53.0000) .. (167.0700,55.4500)
+.. controls (167.3900,59.7100) and (167.0700,71.1500) .. (162.7600,67.3500)
+arc(172.737 \@@_colon 201.513 \@@_colon 4.380)
+.. controls (161.0300,63.9900) and (156.9600,63.0900) .. (153.4300,62.7400)
+.. controls (151.6400,62.6100) and (149.1400,62.8500) .. (149.8300,60.4500)
+.. controls (150.3900,58.5400) and (154.8900,59.7600) .. (156.7200,60.0000)
+arc(279.645 \@@_colon 287.102 \@@_colon 53.190)
+.. controls (163.9300,61.2200) and (163.6700,60.1300) .. (163.9000,59.4400)
+.. controls (162.2300,58.1900) and (156.5600,56.7000) .. (152.9000,56.4400)
+.. controls (151.1000,56.3100) and (149.2900,56.5200) .. (149.2900,54.7100)
+.. controls (149.2900,53.8900) and (149.9300,53.6500) .. (150.4600,53.1200)
+arc(271.003 \@@_colon 289.790 \@@_colon 41.080)
+.. controls (164.7200,51.9200) and (159.9800,51.4700) .. (157.3200,50.8000)
+arc(280.989 \@@_colon 274.301 \@@_colon 64.440)
+arc(122.344 \@@_colon 264.647 \@@_colon 1.630)
+arc(271.604 \@@_colon 289.659 \@@_colon 38.000)
+-- cycle(236.0000,81.3000)
+.. controls (234.6100,80.3900) and (232.8000,81.6700) .. (231.3600,81.9900)
+.. controls (229.6300,82.4100) and (228.0900,82.3800) .. (227.3600,83.8800)
+.. controls (227.0400,84.5700) and (227.2000,85.3400) .. (226.9400,86.0000)
+.. controls (225.7700,88.8000) and (223.0500,89.5100) .. (220.9400,91.3000)
+.. controls (219.5100,91.5700) and (217.8100,91.0000) .. (216.0800,91.3000)
+.. controls (214.9100,91.5100) and (214.3500,92.3000) .. (212.4900,91.8900)
+.. controls (209.8300,91.4000) and (206.1800,89.6500) .. (205.5900,88.1600)
+.. controls (204.4500,85.2900) and (207.5900,84.8100) .. (209.4800,84.0100)
+.. controls (209.9900,81.1400) and (207.9100,81.5900) .. (205.4800,81.3000)
+.. controls (204.3100,81.1400) and (202.9500,80.6800) .. (202.3100,80.8400)
+.. controls (201.6700,81.0000) and (199.9200,83.2400) .. (199.3100,84.5900)
+.. controls (198.9900,85.2900) and (199.0400,86.2400) .. (198.7300,86.8800)
+arc(34.837 \@@_colon 85.941 \@@_colon 8.000)
+.. controls (190.3600,90.2100) and (189.9600,88.1000) .. (187.2700,87.7600)
+.. controls (186.6600,86.5600) and (186.4500,84.8600) .. (187.2700,84.1400)
+.. controls (187.9300,83.5800) and (189.7500,83.8800) .. (190.5700,83.2600)
+.. controls (191.5700,82.5700) and (193.7900,76.8500) .. (193.0200,74.1100)
+.. controls (192.5100,72.3600) and (190.2200,70.8100) .. (189.8500,69.4100)
+arc(172.400 \@@_colon 180.217 \@@_colon 18.230)
+.. controls (189.6900,63.4700) and (189.8000,58.7700) .. (191.8700,56.2100)
+.. controls (192.7300,55.1200) and (194.2700,54.5600) .. (195.3300,53.4700)
+.. controls (197.2400,51.3900) and (197.5100,48.0400) .. (200.3300,47.3300)
+arc(354.702 \@@_colon 342.940 \@@_colon 25.170)
+.. controls (200.4000,40.9700) and (201.5100,39.6600) .. (204.2000,39.9500)
+.. controls (204.6500,39.3200) and (203.6400,38.5700) .. (204.3300,37.9500)
+.. controls (205.4800,37.5300) and (207.5800,37.4200) .. (208.3300,38.1100)
+arc(250.405 \@@_colon 264.067 \@@_colon 21.120)
+.. controls (216.2300,36.5500) and (217.8500,39.5300) .. (218.9400,41.5000)
+arc(323.636 \@@_colon 353.300 \@@_colon 9.260)
+.. controls (220.7800,46.9100) and (220.6800,48.2300) .. (220.6800,49.5300)
+arc(-3.441 \@@_colon 3.441 \@@_colon 27.240)
+.. controls (220.1700,55.6500) and (216.0700,58.8000) .. (219.6800,60.6800)
+.. controls (221.5700,60.4400) and (223.7800,61.0500) .. (225.8000,60.6800)
+.. controls (226.8600,60.4900) and (227.8700,59.6800) .. (228.5400,59.5300)
+arc(262.265 \@@_colon 277.735 \@@_colon 24.000)
+.. controls (239.2100,60.0900) and (242.5000,62.8300) .. (245.1600,65.2800)
+.. controls (245.2200,66.9500) and (246.4700,68.3900) .. (246.7600,70.2800)
+arc(-6.320 \@@_colon 7.720 \@@_colon 43.530)
+.. controls (246.3900,82.4100) and (245.8600,83.8200) .. (246.3400,85.9200)
+.. controls (246.5500,86.9200) and (247.4000,87.4400) .. (247.3400,88.2400)
+.. controls (247.2000,90.1300) and (244.8100,90.1300) .. (242.7900,90.6900)
+.. controls (239.1700,91.6900) and (235.3400,93.4500) .. (233.7400,89.8400)
+.. controls (233.8200,87.7000) and (233.5100,86.6400) .. (234.3300,85.2100)
+.. controls (235.1500,83.7800) and (237.2400,83.2600) .. (236.0000,81.3000)
+-- cycle(212.9000,44.4500)
+.. controls (212.9600,43.5200) and (211.9000,43.3300) .. (211.6200,42.4500)
+.. controls (211.3400,41.5700) and (211.9700,40.6400) .. (211.1500,39.9700)
+.. controls (209.4200,41.3400) and (210.9400,44.8000) .. (212.9300,44.4500)
+-- cycle(217.0500,44.0300)
+arc(101.351 \@@_colon 46.758 \@@_colon 1.270)
+arc(359.414 \@@_colon 289.173 \@@_colon 2.740)
+.. controls (216.1200,42.0000) and (217.0000,43.0000) .. (217.0800,44.0000)
+-- cycle(205.7500,42.0000)
+.. controls (205.8600,44.4200) and (207.9000,44.5600) .. (209.2100,45.9100)
+.. controls (210.2100,47.0000) and (210.4900,48.4400) .. (211.7600,48.6300)
+.. controls (213.2300,46.8700) and (210.4300,44.8500) .. (208.9100,44.2100)
+.. controls (208.2500,43.1700) and (207.4500,41.5000) .. (205.7500,42.0000)
+-- cycle(201.0000,50.6000)
+.. controls (201.0000,50.2500) and (200.4600,49.5100) .. (199.8800,49.6000)
+.. controls (199.3000,49.6900) and (198.1200,52.5500) .. (198.1200,52.9000)
+.. controls (199.2000,53.0000) and (201.0700,51.5300) .. (201.0000,50.6000)
+-- cycle(207.0000,50.1700)
+.. controls (206.3300,50.2500) and (205.5600,49.4800) .. (205.0000,49.5900)
+.. controls (204.4400,49.7000) and (203.6200,51.3700) .. (204.6800,51.5900)
+.. controls (205.3200,51.1900) and (207.6800,50.6600) .. (208.5600,51.5900)
+.. controls (209.4400,51.0300) and (209.0200,50.0500) .. (208.2400,49.5900)
+.. controls (207.6600,49.5600) and (207.7400,50.0600) .. (207.0000,50.1700)
+-- cycle(212.6300,51.7400)
+.. controls (211.2000,52.3800) and (211.1500,54.3500) .. (209.7600,55.0100)
+arc(291.815 \@@_colon 270.409 \@@_colon 22.910)
+.. controls (200.9900,54.3700) and (198.6400,54.7500) .. (198.2700,56.0800)
+arc(194.569 \@@_colon 146.279 \@@_colon 5.070)
+.. controls (200.6700,59.4300) and (200.8200,53.4200) .. (203.1600,56.7400)
+.. controls (202.9500,57.5900) and (202.3100,58.0500) .. (202.1600,58.9200)
+.. controls (203.1600,59.5600) and (202.6000,60.9200) .. (203.0500,61.9200)
+.. controls (204.8000,61.9200) and (204.0500,59.4500) .. (205.2000,58.9200)
+.. controls (206.1300,58.7100) and (207.3000,58.7100) .. (208.2000,58.4500)
+.. controls (209.5900,59.4500) and (210.6500,61.2600) .. (213.0500,60.3900)
+.. controls (214.3300,61.6900) and (216.7200,62.2000) .. (216.5300,64.4800)
+arc(86.805 \@@_colon -1.699 \@@_colon 1.780)
+.. controls (218.1000,61.2900) and (215.2100,60.1700) .. (213.7900,59.3500)
+.. controls (212.9700,58.8500) and (212.3000,58.1500) .. (211.5000,57.7500)
+.. controls (210.5000,57.3000) and (209.2200,57.3500) .. (209.0600,56.3200)
+.. controls (209.1600,55.8400) and (210.0600,56.1000) .. (210.5000,56.0800)
+.. controls (211.5600,55.5700) and (211.5600,53.9500) .. (212.6700,53.4700)
+.. controls (213.4200,53.6000) and (213.7600,54.8800) .. (214.5100,54.5600)
+arc(353.613 \@@_colon 299.855 \@@_colon 3.730)
+-- cycle(195.2900,60.1700)
+.. controls (196.2900,61.9500) and (197.4200,59.3800) .. (196.7000,58.0500)
+.. controls (195.5900,58.1000) and (195.4800,59.2200) .. (195.3200,60.1700)
+-- cycle(206.0400,61.1700)
+.. controls (206.4400,62.1700) and (207.2100,62.7700) .. (207.2900,64.0200)
+.. controls (206.6800,65.6100) and (204.2900,64.9500) .. (202.8500,65.0200)
+.. controls (203.1900,67.0200) and (203.5900,70.1600) .. (207.0000,69.5200)
+.. controls (208.1100,71.2500) and (209.0000,73.1600) .. (210.7700,74.2500)
+.. controls (213.2700,73.2500) and (213.0600,75.7900) .. (215.1900,75.6900)
+.. controls (216.4600,76.0600) and (216.4100,78.4800) .. (217.6100,78.5600)
+.. controls (219.0200,78.6700) and (219.1000,76.0900) .. (218.6100,74.6800)
+.. controls (217.3800,74.1700) and (216.2900,74.6000) .. (214.9900,74.0900)
+.. controls (214.3800,73.8500) and (213.9300,73.0300) .. (213.2900,72.8200)
+.. controls (212.2900,72.5000) and (211.2900,72.8200) .. (210.4200,72.5000)
+.. controls (209.1900,72.0200) and (208.2300,70.1600) .. (208.2300,68.6400)
+.. controls (208.5300,67.9500) and (209.8300,68.3200) .. (209.9900,67.4700)
+.. controls (209.9400,66.9400) and (209.5600,66.7500) .. (209.1400,66.6500)
+.. controls (208.6100,67.4700) and (207.2000,68.6500) .. (206.4000,67.2000)
+.. controls (206.9600,66.0100) and (207.9200,65.2900) .. (207.7000,63.2900)
+.. controls (208.0700,62.7900) and (209.1400,62.9500) .. (209.2700,62.1800)
+.. controls (209.2600,60.7600) and (206.8700,59.8600) .. (206.0700,61.2100)
+-- cycle(232.1100,63.0900)
+.. controls (233.9700,63.4800) and (234.7700,65.0900) .. (237.0000,65.1900)
+.. controls (237.2100,64.4400) and (238.3900,64.5200) .. (238.5500,63.7200)
+.. controls (238.1200,63.1600) and (237.1900,63.1100) .. (237.2700,62.0200)
+.. controls (236.4200,61.8400) and (236.6300,62.7100) .. (235.8300,62.6100)
+.. controls (234.4800,61.5800) and (232.7300,60.7900) .. (232.1400,63.1300)
+-- cycle(228.2300,64.1800)
+arc(54.429 \@@_colon -17.959 \@@_colon 2.300)
+.. controls (227.2700,61.3700) and (226.7100,63.7600) .. (228.2600,64.2200)
+-- cycle(221.9500,64.8900)
+arc(231.795 \@@_colon 147.274 \@@_colon 1.930)
+.. controls (223.0000,67.8300) and (223.0900,65.1200) .. (222.0000,64.9300)
+-- cycle(240.8300,68.8900)
+.. controls (241.7700,69.5000) and (243.4400,69.2600) .. (244.5800,69.0200)
+.. controls (244.2100,67.3000) and (242.7500,66.6000) .. (241.2800,66.0200)
+arc(-9.138 \@@_colon 25.183 \@@_colon 5.100)
+-- cycle(217.2100,69.1300)
+.. controls (217.6900,69.9000) and (219.7700,69.8200) .. (220.7800,69.5500)
+.. controls (221.1800,67.4900) and (217.3500,67.4100) .. (217.2400,69.2200)
+-- cycle(233.5500,72.0000)
+.. controls (234.2300,72.8800) and (235.5500,73.2000) .. (236.2600,74.0000)
+.. controls (236.2000,74.3200) and (236.0000,74.7500) .. (236.2600,75.0000)
+.. controls (237.1600,74.9300) and (236.6300,74.3100) .. (236.5500,73.7000)
+.. controls (238.7000,72.1300) and (238.4400,75.8800) .. (239.4000,77.2600)
+.. controls (240.0300,78.2000) and (240.8300,78.2600) .. (241.1500,79.0000)
+.. controls (241.6800,79.1000) and (242.2700,79.1500) .. (242.7500,79.2900)
+.. controls (243.9700,81.4700) and (240.7500,82.4500) .. (242.0100,84.6300)
+.. controls (245.2000,85.0600) and (245.6800,79.3400) .. (243.3400,78.4600)
+arc(354.147 \@@_colon 329.327 \@@_colon 2.450)
+arc(99.718 \@@_colon 181.558 \@@_colon 4.670)
+.. controls (239.6600,73.7900) and (240.4900,72.9700) .. (241.4200,73.3900)
+.. controls (241.4200,72.7800) and (240.9400,72.5100) .. (240.4200,72.2800)
+.. controls (240.0200,72.2800) and (239.8100,72.5700) .. (239.4200,72.5700)
+.. controls (239.0500,72.2500) and (238.7800,71.7400) .. (238.1400,71.5700)
+.. controls (237.5000,71.5700) and (237.6600,72.4200) .. (236.8900,72.2900)
+.. controls (236.0000,71.6100) and (234.4300,70.3600) .. (233.5800,72.0900)
+-- cycle(244.1300,74.7700)
+.. controls (244.9600,73.9700) and (244.6600,71.6300) .. (243.4400,71.5800)
+.. controls (242.8300,72.6200) and (243.0000,74.5400) .. (244.1600,74.8600)
+-- cycle(224.0000,75.3900)
+arc(121.453 \@@_colon 81.588 \@@_colon 2.350)
+arc(176.594 \@@_colon 220.276 \@@_colon 0.680)
+.. controls (225.1700,74.8800) and (224.0000,74.0000) .. (224.0000,75.3900)
+-- cycle(213.8100,78.3900)
+.. controls (213.5500,79.8000) and (213.8100,80.9000) .. (213.6500,82.3900)
+.. controls (212.9100,83.0900) and (212.1100,83.6100) .. (212.2700,84.8400)
+.. controls (211.5200,85.5600) and (209.9800,85.4500) .. (209.5300,86.4400)
+.. controls (211.3700,87.4400) and (214.5300,87.5300) .. (215.7000,85.9800)
+.. controls (215.8900,84.9800) and (215.4700,83.3800) .. (216.5500,83.2400)
+.. controls (218.3600,83.6100) and (216.7900,87.3100) .. (218.5500,87.7400)
+arc(18.151 \@@_colon -18.151 \@@_colon 6.420)
+.. controls (219.2200,83.3200) and (219.2200,82.3100) .. (220.1300,82.0900)
+.. controls (220.2300,82.5700) and (219.8100,83.5800) .. (220.3900,83.5800)
+.. controls (220.9700,83.2400) and (220.8900,81.7700) .. (220.5500,81.3000)
+.. controls (219.3500,81.0300) and (219.3500,81.8800) .. (218.4000,81.8800)
+.. controls (217.8600,80.4700) and (216.4000,80.3900) .. (215.0700,81.1400)
+.. controls (214.5900,80.2600) and (214.9100,79.3500) .. (214.8000,78.0200)
+.. controls (213.7400,77.6200) and (213.4200,76.5600) .. (213.0500,75.8100)
+.. controls (212.5100,77.0000) and (213.4100,77.7900) .. (213.7800,78.4200)
+-- cycle(237.5600,87.0000)
+arc(71.436 \@@_colon 48.168 \@@_colon 7.000)
+arc(292.270 \@@_colon 187.334 \@@_colon 1.780)
+-- cycle(66.5400,38.0000)
+.. controls (67.2600,38.5600) and (66.3000,39.4300) .. (66.6700,40.0000)
+.. controls (68.7500,39.6100) and (71.3300,41.2000) .. (71.5400,42.3200)
+.. controls (71.8400,43.7600) and (70.2400,45.3200) .. (70.6700,47.1900)
+.. controls (74.1800,49.3800) and (75.0000,54.2700) .. (79.0000,56.0800)
+arc(-26.973 \@@_colon 7.990 \@@_colon 21.500)
+.. controls (80.5400,72.2500) and (77.1300,72.6200) .. (77.8300,77.1200)
+.. controls (78.1500,79.0600) and (79.3200,82.9700) .. (80.7000,83.5800)
+.. controls (81.6100,83.9800) and (82.8300,83.5000) .. (83.7000,84.1400)
+.. controls (84.4200,85.0200) and (84.0800,86.9400) .. (83.5400,87.7600)
+.. controls (80.7800,88.2700) and (79.7700,91.1900) .. (76.3600,90.0500)
+arc(111.568 \@@_colon 140.157 \@@_colon 10.370)
+.. controls (71.7900,86.3500) and (71.8400,85.3700) .. (71.4900,84.6200)
+.. controls (70.7800,83.0000) and (69.4900,82.0200) .. (68.7500,80.8700)
+.. controls (66.6800,81.5100) and (60.3000,80.4200) .. (61.3100,83.7700)
+.. controls (61.7900,85.2600) and (66.8400,84.5200) .. (65.1900,88.3500)
+.. controls (64.6000,89.6800) and (60.2400,91.5400) .. (58.5900,91.9200)
+arc(80.530 \@@_colon 92.032 \@@_colon 10.000)
+.. controls (56.0600,91.9900) and (55.5900,91.4900) .. (54.8900,91.3300)
+.. controls (53.5000,91.0600) and (51.6400,91.6700) .. (50.1500,91.3300)
+.. controls (49.2500,91.1700) and (46.7500,89.3900) .. (45.8400,88.6100)
+arc(133.153 \@@_colon 151.282 \@@_colon 10.360)
+.. controls (43.1800,84.4600) and (43.6100,83.1600) .. (41.9300,82.4400)
+arc(283.120 \@@_colon 276.923 \@@_colon 23.390)
+.. controls (37.9000,81.6300) and (36.2400,80.3700) .. (35.0000,81.3100)
+.. controls (33.4300,83.0300) and (35.9000,83.7800) .. (36.7000,85.3100)
+.. controls (37.5000,86.8400) and (36.9900,87.8100) .. (37.1500,89.8800)
+arc(33.887 \@@_colon 73.398 \@@_colon 5.290)
+.. controls (32.5400,92.3200) and (30.2000,91.0000) .. (27.7800,90.4300)
+.. controls (26.2100,90.0300) and (23.8500,90.0300) .. (23.5300,88.4300)
+.. controls (23.3200,87.4300) and (24.3200,86.8300) .. (24.5300,85.9800)
+.. controls (24.8200,84.8400) and (24.1900,83.9800) .. (24.9600,82.9800)
+.. controls (23.8700,81.3100) and (24.3400,78.7000) .. (24.2400,75.6700)
+arc(174.763 \@@_colon 195.652 \@@_colon 21.880)
+.. controls (25.2500,66.9200) and (25.3000,65.9300) .. (25.5700,65.4500)
+.. controls (26.0000,64.4500) and (28.9500,62.0800) .. (30.1400,61.4500)
+arc(242.831 \@@_colon 278.244 \@@_colon 20.000)
+.. controls (43.1400,59.5600) and (44.0500,60.4500) .. (45.0100,60.6000)
+.. controls (46.8200,60.9200) and (49.2700,60.4100) .. (51.1900,60.6000)
+arc(61.375 \@@_colon 34.961 \@@_colon 4.200)
+.. controls (52.7800,56.2100) and (51.0200,54.9800) .. (50.1700,52.8600)
+.. controls (50.5700,49.7100) and (49.6400,46.1500) .. (50.7600,43.1400)
+arc(203.693 \@@_colon 218.525 \@@_colon 18.370)
+arc(221.776 \@@_colon 251.181 \@@_colon 7.420)
+.. controls (58.0000,36.7100) and (60.7700,37.6400) .. (62.3500,38.1700)
+arc(244.465 \@@_colon 290.888 \@@_colon 5.320)
+-- cycle(58.0600,44.4900)
+.. controls (59.4900,44.8400) and (60.0600,43.1100) .. (60.6600,42.1800)
+.. controls (60.2900,41.4900) and (60.5000,40.1800) .. (59.4900,40.1800)
+.. controls (59.6200,42.1600) and (58.6400,43.0900) .. (58.0600,44.4500)
+-- cycle(52.7900,43.8800)
+.. controls (52.9500,44.0900) and (53.3700,44.0700) .. (53.7900,44.0700)
+arc(196.531 \@@_colon 203.841 \@@_colon 22.730)
+.. controls (53.5100,40.9100) and (52.6800,42.8300) .. (52.7900,43.8400)
+-- cycle(61.7900,44.3600)
+.. controls (60.4900,45.3600) and (57.9900,46.3600) .. (58.7900,48.5100)
+.. controls (58.9000,48.5100) and (59.0600,48.5100) .. (59.0600,48.6200)
+.. controls (60.7000,48.1400) and (61.1600,46.3800) .. (62.3600,45.3500)
+.. controls (63.3600,44.4900) and (65.2300,43.9300) .. (65.0700,41.9900)
+.. controls (63.4300,41.3400) and (62.8500,43.4400) .. (61.8000,44.3200)
+-- cycle(61.7900,51.0600)
+.. controls (61.7900,51.1200) and (62.0900,51.3500) .. (62.0900,51.4300)
+.. controls (62.6200,51.7800) and (62.9900,51.1200) .. (63.6300,51.0600)
+.. controls (64.8100,50.9600) and (65.6300,51.6200) .. (66.3700,51.6200)
+arc(39.196 \@@_colon -78.793 \@@_colon 1.240)
+.. controls (64.7100,51.1300) and (61.3300,48.3300) .. (61.8000,51.0000)
+-- cycle(71.0000,49.5900)
+.. controls (70.2600,49.5100) and (70.0000,50.3300) .. (70.0000,50.8600)
+.. controls (70.1100,51.8600) and (71.8700,52.9400) .. (72.8800,52.8600)
+.. controls (72.5200,52.2800) and (71.6800,49.6900) .. (71.0000,49.5900)
+-- cycle(58.4800,51.7400)
+arc(245.846 \@@_colon 188.283 \@@_colon 3.670)
+.. controls (57.3500,54.9600) and (57.5000,53.5600) .. (58.3500,53.4700)
+.. controls (59.3500,54.0000) and (59.3500,55.5200) .. (60.3500,55.8900)
+.. controls (60.6100,56.3200) and (61.8900,55.7300) .. (61.9400,56.3200)
+.. controls (61.9400,57.0900) and (60.7100,57.0900) .. (59.9400,57.4900)
+.. controls (59.1700,57.8900) and (57.5000,59.1600) .. (56.1900,60.0000)
+.. controls (53.9100,61.3000) and (50.9300,63.0000) .. (54.3300,64.5200)
+.. controls (54.7000,64.2300) and (54.3300,63.5200) .. (54.4900,63.1700)
+.. controls (54.7600,62.4800) and (57.5800,60.4800) .. (57.9000,60.4300)
+.. controls (58.4800,60.3200) and (59.1500,60.7500) .. (59.6500,60.6700)
+.. controls (61.1400,60.4800) and (61.4900,59.0400) .. (62.7900,58.4900)
+arc(103.805 \@@_colon 89.374 \@@_colon 11.100)
+.. controls (66.8600,59.2600) and (66.1700,61.7300) .. (67.6800,61.9900)
+.. controls (68.3800,60.9900) and (67.8400,59.7100) .. (68.6800,58.8100)
+.. controls (68.5400,57.8700) and (67.6800,57.6300) .. (67.8000,56.5400)
+.. controls (68.0400,55.9800) and (68.6800,55.8500) .. (69.2400,55.6400)
+.. controls (70.5900,56.6400) and (70.3300,59.2300) .. (71.6600,60.2100)
+.. controls (72.8300,59.5000) and (73.1200,56.8900) .. (72.4000,55.6400)
+.. controls (71.7600,54.6400) and (69.8000,54.2000) .. (69.4000,53.4100)
+arc(268.531 \@@_colon 250.205 \@@_colon 27.060)
+.. controls (59.9200,54.1600) and (59.4900,52.6700) .. (58.4800,51.7400)
+-- cycle(75.0000,61.0000)
+.. controls (76.0600,60.3800) and (75.4700,58.1500) .. (74.3100,58.1000)
+.. controls (73.7800,58.8700) and (73.7800,60.9200) .. (75.0000,61.0000)
+-- cycle(61.4900,62.2000)
+.. controls (61.8000,62.9700) and (63.0000,62.8100) .. (63.2200,63.6300)
+.. controls (62.7900,65.2300) and (64.1200,66.0300) .. (64.3900,67.3900)
+.. controls (63.5400,68.6100) and (62.2000,67.4900) .. (61.8000,66.6700)
+arc(266.925 \@@_colon 175.589 \@@_colon 1.060)
+.. controls (64.1000,68.0200) and (62.2900,71.8100) .. (60.2400,72.5200)
+.. controls (59.6300,72.7800) and (58.7800,72.5200) .. (58.0900,72.6800)
+.. controls (57.4000,72.8400) and (56.5400,73.7900) .. (55.6700,74.1100)
+.. controls (54.3100,74.5900) and (53.0600,74.1900) .. (52.2300,74.8600)
+.. controls (51.8100,76.5300) and (52.0200,78.6100) .. (53.2300,78.5800)
+.. controls (54.4400,78.5500) and (54.3900,76.1100) .. (55.6500,75.7100)
+.. controls (57.4300,76.0000) and (57.2400,74.5900) .. (58.2200,74.2700)
+.. controls (58.7600,74.0600) and (59.3700,74.4300) .. (60.0700,74.2700)
+.. controls (62.0700,73.7100) and (62.5900,71.1300) .. (63.8100,69.6400)
+.. controls (67.0600,70.0400) and (67.8100,67.2200) .. (67.9600,64.9300)
+.. controls (66.1500,65.2800) and (63.9600,65.5200) .. (63.6500,63.9300)
+.. controls (63.4900,62.7900) and (64.5300,62.2800) .. (64.8300,61.1900)
+.. controls (64.0000,59.7500) and (61.7000,60.8900) .. (61.4900,62.2000)
+-- cycle(34.8600,62.6500)
+.. controls (34.2200,62.6500) and (34.3600,61.8800) .. (33.5800,62.0600)
+.. controls (33.6900,63.1500) and (32.6800,63.1500) .. (32.4100,63.7600)
+.. controls (32.5700,64.5400) and (33.5800,64.5400) .. (33.8500,65.2300)
+.. controls (36.1100,65.1700) and (36.7200,63.5200) .. (38.6900,63.2300)
+.. controls (38.3200,60.5500) and (36.3000,61.7700) .. (34.8600,62.6500)
+-- cycle(41.8600,61.6500)
+arc(204.539 \@@_colon 118.992 \@@_colon 2.000)
+arc(65.260 \@@_colon -100.797 \@@_colon 1.370)
+-- cycle(49.3100,67.5000)
+.. controls (49.9200,66.7800) and (49.6300,64.9400) .. (48.5700,64.9400)
+.. controls (48.1600,65.5200) and (48.0000,67.8100) .. (49.3300,67.4900)
+-- cycle(26.2400,69.0000)
+.. controls (27.1400,69.5100) and (29.2400,69.6600) .. (29.9700,68.8400)
+arc(153.355 \@@_colon 188.613 \@@_colon 4.530)
+.. controls (28.1000,66.6700) and (26.7200,67.4100) .. (26.2400,69.0000)
+-- cycle(50.0000,69.6400)
+.. controls (51.1800,69.8600) and (53.5100,70.1500) .. (53.7800,68.9800)
+.. controls (53.2200,67.4900) and (49.8100,67.5700) .. (50.0000,69.6400)
+-- cycle(33.8500,72.3900)
+.. controls (33.2100,72.3900) and (33.4700,71.6100) .. (32.8500,71.6700)
+.. controls (32.0000,71.6700) and (32.0000,72.5700) .. (31.2500,72.6700)
+arc(302.608 \@@_colon 269.737 \@@_colon 1.840)
+.. controls (29.9300,72.6700) and (29.4500,72.8300) .. (29.5600,73.4900)
+arc(240.355 \@@_colon 311.283 \@@_colon 1.360)
+.. controls (31.3700,73.3800) and (31.2900,72.8300) .. (31.8500,72.8300)
+.. controls (31.7200,75.0000) and (30.4200,77.1700) .. (28.0000,77.3800)
+arc(15.504 \@@_colon 57.919 \@@_colon 4.000)
+.. controls (25.6900,82.3300) and (26.4300,84.7000) .. (28.9900,84.7000)
+arc(12.010 \@@_colon -3.029 \@@_colon 7.320)
+arc(126.456 \@@_colon 193.043 \@@_colon 3.000)
+arc(227.855 \@@_colon 274.468 \@@_colon 2.270)
+arc(47.419 \@@_colon 25.182 \@@_colon 12.000)
+.. controls (31.9700,73.7900) and (33.6100,72.6800) .. (34.3000,73.9800)
+.. controls (34.3000,74.4000) and (33.8500,75.1500) .. (34.5700,75.1200)
+.. controls (35.2900,75.0900) and (34.5700,74.5400) .. (34.5700,74.1200)
+.. controls (35.2900,73.1900) and (36.8600,73.1200) .. (37.3100,71.9700)
+.. controls (36.1900,70.2600) and (35.0000,71.9000) .. (33.8500,72.3900)
+-- cycle(26.9300,75.0000)
+arc(42.902 \@@_colon -22.926 \@@_colon 3.130)
+.. controls (26.0800,71.6700) and (25.8100,74.4300) .. (26.9300,75.0000)
+-- cycle(45.3200,75.3700)
+.. controls (45.4200,75.9000) and (46.5100,75.6400) .. (46.8800,75.5300)
+arc(177.188 \@@_colon 225.955 \@@_colon 0.560)
+arc(321.292 \@@_colon 290.216 \@@_colon 2.300)
+.. controls (46.1700,75.1200) and (45.2600,74.7800) .. (45.3200,75.3900)
+-- cycle(57.5000,77.1200)
+.. controls (56.9400,77.3800) and (56.3500,77.5700) .. (56.0900,78.1200)
+.. controls (55.8700,79.1200) and (56.4600,80.8100) .. (55.6400,81.1200)
+.. controls (54.2500,80.1200) and (53.2200,80.8800) .. (52.3100,81.8600)
+.. controls (51.6200,81.7300) and (51.4100,81.0600) .. (50.3100,81.2800)
+.. controls (50.2100,81.7500) and (49.7800,83.5100) .. (50.5800,83.5600)
+.. controls (51.3800,83.4000) and (50.1500,82.0700) .. (51.1700,82.0700)
+arc(154.109 \@@_colon 138.031 \@@_colon 7.110)
+.. controls (52.2300,84.7900) and (51.8500,86.9400) .. (52.4400,87.7200)
+.. controls (54.1400,87.2200) and (52.5200,83.3800) .. (54.6200,83.2200)
+.. controls (55.3100,83.6200) and (55.1200,84.9300) .. (55.1800,85.9600)
+.. controls (55.7900,86.2300) and (56.5400,87.1600) .. (57.6000,87.2700)
+.. controls (58.6600,87.3800) and (60.8700,87.0000) .. (61.3300,86.1200)
+.. controls (60.5800,85.5400) and (59.3300,85.5100) .. (58.7700,84.8200)
+.. controls (58.5300,84.6600) and (58.6100,84.0700) .. (58.6100,83.7000)
+.. controls (57.2000,82.7500) and (56.5400,80.3500) .. (57.1800,78.2200)
+.. controls (57.3900,77.5300) and (58.8200,76.5500) .. (57.6000,75.7700)
+.. controls (57.4200,76.0500) and (57.5200,76.6700) .. (57.5000,77.1200)
+-- cycle(30.8200,85.4400)
+-- (30.8200,85.8400)
+.. controls (32.0900,85.7100) and (32.3900,87.2600) .. (33.4300,86.8400)
+arc(337.875 \@@_colon 258.543 \@@_colon 2.320)
+-- cycle(137.0900,25.5100)
+arc(275.022 \@@_colon 328.786 \@@_colon 33.060)
+.. controls (163.1600,42.4300) and (164.3100,44.2400) .. (164.2000,45.1200)
+arc(4.851 \@@_colon 88.910 \@@_colon 1.770)
+.. controls (161.3200,46.6900) and (161.0000,45.1200) .. (160.1500,43.7400)
+.. controls (155.7700,36.0500) and (148.6600,30.7400) .. (138.5000,28.9700)
+arc(164.817 \@@_colon 156.030 \@@_colon 48.700)
+.. controls (141.8500,38.3900) and (142.7500,40.8600) .. (143.5800,43.2000)
+.. controls (143.9800,43.6300) and (143.5300,44.2000) .. (143.5800,44.7800)
+.. controls (145.4100,44.6400) and (147.4600,44.7200) .. (147.1700,46.7800)
+.. controls (146.7700,49.4200) and (138.9000,47.4200) .. (135.9700,48.0800)
+arc(184.054 \@@_colon 178.238 \@@_colon 69.000)
+.. controls (137.4400,56.0800) and (145.0400,54.2800) .. (146.5800,55.4000)
+arc(-44.418 \@@_colon 6.346 \@@_colon 2.110)
+.. controls (146.7400,59.9800) and (139.0300,57.6400) .. (135.9700,58.3800)
+.. controls (135.5200,60.7800) and (136.6300,64.1300) .. (134.2400,64.2900)
+.. controls (131.8500,64.4500) and (132.5900,61.2900) .. (132.5400,58.5200)
+.. controls (129.6600,57.5200) and (121.7900,60.0300) .. (121.2000,57.2700)
+.. controls (120.4100,53.3300) and (129.6400,56.1700) .. (132.3800,55.0800)
+arc(6.757 \@@_colon -6.757 \@@_colon 29.150)
+.. controls (129.8200,47.2200) and (121.7400,49.5500) .. (121.2000,46.9400)
+.. controls (120.7800,44.9400) and (122.8000,44.6000) .. (124.6600,44.8200)
+.. controls (125.0700,44.4400) and (124.4500,43.9600) .. (124.6600,43.3800)
+.. controls (126.5200,38.7500) and (128.0400,33.7800) .. (129.9900,29.1700)
+.. controls (117.6900,30.8500) and (109.9300,38.3000) .. (105.9900,48.7800)
+.. controls (107.3200,48.7200) and (109.3500,47.9500) .. (111.9900,47.5000)
+.. controls (114.8100,47.0200) and (120.5400,45.7200) .. (118.8600,49.6600)
+.. controls (116.5500,50.4000) and (113.8600,50.3200) .. (111.5200,50.8300)
+arc(257.434 \@@_colon 248.061 \@@_colon 41.270)
+arc(201.825 \@@_colon 182.478 \@@_colon 8.340)
+.. controls (106.5700,55.2500) and (108.7500,54.3500) .. (111.4900,53.8400)
+.. controls (113.4900,53.5000) and (119.4200,52.0600) .. (118.8300,55.2800)
+.. controls (118.5600,56.6900) and (116.8300,56.5000) .. (115.5300,56.5800)
+arc(266.381 \@@_colon 244.744 \@@_colon 30.450)
+arc(185.441 \@@_colon 166.566 \@@_colon 7.000)
+arc(253.780 \@@_colon 260.470 \@@_colon 61.530)
+.. controls (113.4800,59.8800) and (117.9500,58.6300) .. (118.3700,60.7100)
+.. controls (118.9900,63.7100) and (113.7400,62.8300) .. (111.2200,63.2800)
+arc(258.008 \@@_colon 247.894 \@@_colon 35.600)
+.. controls (105.8300,66.5300) and (105.8600,68.3400) .. (104.4700,68.5800)
+.. controls (101.6000,69.2200) and (101.2800,62.4600) .. (101.1700,59.7200)
+arc(178.206 \@@_colon 195.874 \@@_colon 35.330)
+.. controls (106.2900,35.9500) and (116.3900,27.6700) .. (131.1800,25.4600)
+.. controls (132.2500,23.8900) and (132.2500,20.7500) .. (134.3200,20.9600)
+.. controls (136.1900,21.0700) and (136.0000,24.1300) .. (137.0900,25.5100)
+-- cycle(136.0900,32.2400)
+.. controls (135.6100,31.0200) and (135.0900,28.3100) .. (133.7500,28.5400)
+.. controls (131.3300,33.5400) and (129.7000,39.3400) .. (127.5700,44.7500)
+.. controls (128.8000,44.7500) and (131.1100,44.6900) .. (132.3100,44.7500)
+.. controls (131.4000,39.9300) and (136.8800,39.6400) .. (135.7600,44.7500)
+-- (140.6600,44.7500)
+.. controls (139.2900,41.0500) and (137.5400,36.2600) .. (136.1100,32.2400)
+-- cycle(0.1200,0.0000)
+.. controls (17.1200,9.9200) and (39.5400,16.9200) .. (66.3800,17.1600)
+.. controls (93.8900,17.4800) and (117.2200,12.1000) .. (134.0600,1.4400)
+.. controls (151.0600,12.0500) and (174.6200,17.5800) .. (201.8700,17.1600)
+.. controls (228.2000,16.8100) and (251.4000,9.9200) .. (268.1600,0.1600)
+.. controls (268.4800,39.6900) and (267.5500,77.3900) .. (267.5500,116.7300)
+.. controls (267.5500,155.8100) and (269.6500,196.3800) .. (259.6500,226.2500)
+.. controls (254.7800,240.9100) and (247.4400,253.2000) .. (239.1600,264.7200)
+arc(35.891 \@@_colon 53.017 \@@_colon 139.530)
+.. controls (198.7800,302.9700) and (185.7400,309.0600) .. (172.5000,315.7400)
+.. controls (161.1400,321.4600) and (149.7300,327.3600) .. (138.6600,333.3800)
+.. controls (137.1200,334.2300) and (135.3100,334.7900) .. (134.1900,336.2800)
+.. controls (128.1900,332.2800) and (121.7400,329.0400) .. (115.3000,325.6600)
+.. controls (108.8600,322.2800) and (102.3000,318.9300) .. (95.7800,315.6100)
+.. controls (89.0700,312.1800) and (82.3700,309.2500) .. (76.0100,305.8700)
+arc(118.166 \@@_colon 128.243 \@@_colon 121.110)
+.. controls (35.9500,277.2200) and (18.7700,255.2200) .. (8.5800,225.8800)
+.. controls (3.3600,210.7100) and (1.8700,193.4000) .. (1.0000,174.6400)
+.. controls (0.1500,156.1500) and (0.6000,136.4700) .. (0.6000,117.2900)
+.. controls (0.5700,78.2100) and (0.0000,39.8000) .. (0.0000,0.4300)
+.. controls (0.0000,0.2100) and (0.0000,0.0000) .. (0.1200,0.0000)
+-- cycle(127.3300,14.0500)
+.. controls (103.9200,24.3700) and (67.0500,27.3800) .. (37.1500,21.3400)
+arc(100.570 \@@_colon 113.945 \@@_colon 113.610)
+.. controls (10.8800,13.0100) and (9.8000,12.2100) .. (8.5800,12.3200)
+.. controls (8.2300,48.6800) and (9.1600,86.4000) .. (9.1600,121.4400)
+.. controls (9.1600,139.6600) and (8.2800,158.2800) .. (9.0000,175.6300)
+.. controls (9.7200,192.9800) and (11.7500,209.2800) .. (16.4800,223.3700)
+arc(161.626 \@@_colon 144.319 \@@_colon 136.390)
+.. controls (46.7300,276.1500) and (60.7700,289.6200) .. (78.5400,299.2400)
+.. controls (84.5400,302.4400) and (90.8300,305.2400) .. (97.2100,308.2400)
+.. controls (109.6600,314.0700) and (122.1100,320.1600) .. (134.4900,326.2400)
+.. controls (146.8200,320.1000) and (159.3600,314.2400) .. (171.6500,308.2400)
+.. controls (177.9800,305.1900) and (184.3300,302.5800) .. (190.2700,299.3600)
+.. controls (202.0800,293.0800) and (212.1300,284.6500) .. (221.0700,275.1800)
+arc(43.508 \@@_colon 17.935 \@@_colon 136.470)
+.. controls (261.1900,194.6600) and (259.2700,158.4500) .. (259.2700,121.8400)
+.. controls (259.2700,84.9800) and (259.3800,48.6600) .. (259.6500,12.3300)
+arc(261.913 \@@_colon 238.823 \@@_colon 8.700)
+arc(65.978 \@@_colon 78.823 \@@_colon 118.260)
+.. controls (209.4200,25.7300) and (182.7700,25.1000) .. (162.3100,20.6300)
+arc(102.185 \@@_colon 116.968 \@@_colon 116.000)
+.. controls (132.4900,11.9400) and (130.0000,12.8800) .. (127.3300,14.0500)
+-- cycle;
+}
+\def \@@_path_name_cn{
+ (40.0488,-0.0176)
+.. controls (39.2490,-0.0498) and (38.3880,-0.0054) .. (37.4805,0.0996)
+.. controls (36.6505,1.1096) and (35.6496,1.9402) .. (35.3496,3.2402)
+.. controls (34.9496,5.0802) and (36.0296,6.6395) .. (36.3496,8.5195)
+.. controls (37.0696,12.3195) and (36.3703,16.0609) .. (36.0703,19.6309)
+.. controls (35.6703,20.0509) and (35.4903,20.6708) .. (35.0703,21.0508)
+.. controls (35.0903,24.6008) and (34.1896,28.1796) .. (34.3496,31.5996)
+arc(-7.170 \@@_colon 1.963 \@@_colon 40.240)
+arc(196.391 \@@_colon 189.391 \@@_colon 20.580)
+.. controls (34.0801,41.8092) and (33.6508,42.6495) .. (33.8008,44.0195)
+.. controls (33.3808,45.2795) and (32.0801,45.3409) .. (31.0801,45.8809)
+.. controls (28.1501,47.4109) and (25.8309,50.0792) .. (22.9609,51.6992)
+.. controls (21.8309,53.8992) and (19.7405,55.1293) .. (18.5605,57.2793)
+.. controls (16.8705,57.4993) and (16.5293,59.0395) .. (15.2793,59.6895)
+.. controls (14.9793,59.6095) and (14.8599,59.3404) .. (14.4199,59.4004)
+arc(232.454 \@@_colon 200.396 \@@_colon 7.380)
+arc(161.934 \@@_colon 145.879 \@@_colon 11.400)
+.. controls (15.6604,65.7191) and (17.5195,64.9403) .. (19.5195,65.8203)
+.. controls (20.8995,66.4203) and (21.8905,67.7699) .. (23.8105,67.6699)
+.. controls (24.4205,67.6299) and (24.9304,67.0900) .. (25.6504,67.2500)
+.. controls (28.2504,67.7700) and (27.4203,71.0898) .. (28.0703,73.5098)
+.. controls (27.0303,76.2898) and (23.6792,75.5609) .. (21.9492,77.2109)
+.. controls (21.1492,79.0609) and (22.2698,79.9805) .. (22.0898,82.0605)
+arc(30.607 \@@_colon 65.358 \@@_colon 3.200)
+arc(244.781 \@@_colon 232.335 \@@_colon 10.000)
+.. controls (16.0403,86.5907) and (15.0194,90.1797) .. (12.1094,92.1797)
+.. controls (10.2494,95.7197) and (8.7400,99.7207) .. (5.0000,101.7207)
+arc(140.210 \@@_colon 177.813 \@@_colon 6.150)
+.. controls (3.2201,97.1295) and (2.5607,96.3203) .. (2.7207,95.3203)
+.. controls (2.2407,95.1203) and (2.2607,94.4503) .. (1.7207,94.3203)
+arc(232.008 \@@_colon 183.183 \@@_colon 3.290)
+.. controls (-0.2991,100.9905) and (-0.1692,106.3702) .. (1.3008,109.9902)
+.. controls (1.1308,110.7202) and (1.5101,111.2602) .. (1.5801,111.9902)
+.. controls (1.7901,113.7502) and (1.2891,115.5903) .. (1.8691,116.8203)
+.. controls (3.5491,120.3003) and (6.7593,123.8109) .. (9.2793,126.2109)
+.. controls (11.7893,127.0209) and (13.8893,127.3909) .. (16.2793,126.2109)
+.. controls (17.2893,124.1509) and (18.8502,121.5293) .. (17.9902,118.5293)
+.. controls (17.7102,117.3493) and (16.5109,116.1606) .. (16.7109,114.8106)
+arc(317.645 \@@_colon 286.301 \@@_colon 10.910)
+.. controls (12.1609,111.0695) and (10.4899,110.2695) .. (10.4199,109.2695)
+.. controls (10.4199,108.6495) and (10.9000,108.5100) .. (11.0000,108.0000)
+arc(184.277 \@@_colon 207.891 \@@_colon 11.370)
+.. controls (13.1291,101.4993) and (14.0491,99.2891) .. (15.2891,98.1191)
+.. controls (16.7591,96.6991) and (18.7892,97.3192) .. (20.6992,96.6992)
+.. controls (22.1192,95.1492) and (23.2992,93.3994) .. (24.6992,91.8594)
+.. controls (25.1292,92.0394) and (25.9905,91.6802) .. (26.5605,91.9902)
+.. controls (27.3805,93.5602) and (29.5605,94.7505) .. (29.5605,96.5605)
+.. controls (29.5605,98.3705) and (27.1605,98.8203) .. (27.5605,100.8203)
+.. controls (29.5205,101.8703) and (30.6895,99.0407) .. (32.6895,99.9707)
+arc(-43.471 \@@_colon 28.688 \@@_colon 6.600)
+.. controls (32.4195,109.7497) and (27.4199,111.2695) .. (27.4199,112.9394)
+.. controls (27.4199,113.6495) and (29.3091,115.4000) .. (30.5391,115.5000)
+.. controls (31.5891,115.5900) and (32.5202,114.7604) .. (33.4102,114.6504)
+arc(298.226 \@@_colon 324.305 \@@_colon 6.720)
+.. controls (35.8095,119.4604) and (38.6805,121.3497) .. (38.8105,124.1797)
+arc(105.759 \@@_colon 39.433 \@@_colon 3.420)
+.. controls (42.1009,119.4406) and (46.3607,118.6591) .. (47.2207,115.3691)
+.. controls (48.0807,112.0791) and (45.6595,107.9091) .. (47.9395,105.3691)
+.. controls (50.9295,106.0091) and (52.4198,108.1799) .. (54.3398,109.9199)
+.. controls (57.9098,109.6999) and (58.4091,113.7399) .. (60.0391,115.9199)
+.. controls (62.9791,115.5499) and (62.9805,112.2207) .. (66.3105,112.2207)
+arc(209.059 \@@_colon 221.152 \@@_colon 22.280)
+.. controls (69.8198,107.4409) and (72.0491,105.9896) .. (72.2891,105.0996)
+arc(4.416 \@@_colon -7.692 \@@_colon 23.000)
+arc(351.553 \@@_colon 343.660 \@@_colon 33.850)
+.. controls (71.0804,95.1792) and (71.1504,94.1199) .. (71.1504,93.4199)
+.. controls (71.1904,91.1999) and (70.7198,88.4199) .. (71.0098,86.4199)
+.. controls (71.0798,85.9799) and (71.3495,85.7409) .. (71.4395,85.1309)
+.. controls (71.5295,84.5209) and (71.2091,83.5609) .. (71.2891,83.1309)
+.. controls (71.3691,82.7009) and (71.7305,82.6509) .. (71.7305,82.1309)
+.. controls (71.8605,79.7709) and (71.4094,78.1309) .. (71.8594,76.1309)
+arc(14.323 \@@_colon 5.443 \@@_colon 32.780)
+arc(180.972 \@@_colon 192.711 \@@_colon 34.470)
+arc(11.438 \@@_colon 4.191 \@@_colon 25.000)
+.. controls (74.2500,59.4200) and (74.9998,58.8601) .. (75.3398,57.8301)
+.. controls (75.6398,56.9901) and (75.7391,55.0795) .. (76.0391,54.2695)
+arc(22.950 \@@_colon 11.876 \@@_colon 20.090)
+.. controls (77.3392,49.4303) and (75.9298,48.3697) .. (75.3398,47.4297)
+arc(333.340 \@@_colon 325.854 \@@_colon 21.490)
+.. controls (72.7899,44.0298) and (70.8991,42.8809) .. (69.7891,41.8809)
+.. controls (69.0791,41.2409) and (68.1107,39.5805) .. (67.2207,39.3105)
+.. controls (65.1607,38.7305) and (63.5196,40.4591) .. (61.0996,40.0391)
+.. controls (58.9696,41.2791) and (58.3207,44.0902) .. (55.9707,45.1602)
+.. controls (54.2707,47.2502) and (52.7195,49.5096) .. (50.2695,50.8496)
+.. controls (48.5395,53.4396) and (46.4307,55.6495) .. (44.7207,58.2695)
+.. controls (42.6407,59.9395) and (41.1991,62.2595) .. (38.8691,63.6895)
+.. controls (37.2691,65.8695) and (35.6993,68.0905) .. (33.0293,69.2305)
+.. controls (31.5293,68.6305) and (32.3594,67.2491) .. (32.6094,65.5391)
+.. controls (33.0694,62.1991) and (33.0909,57.5497) .. (35.8809,56.4297)
+.. controls (37.7609,53.7997) and (40.4100,51.9300) .. (42.0000,49.0000)
+.. controls (46.1400,44.5300) and (51.4604,41.3205) .. (55.1504,36.4805)
+arc(73.339 \@@_colon 40.588 \@@_colon 5.140)
+.. controls (61.0501,34.3304) and (62.7596,29.7695) .. (60.8496,26.7695)
+arc(322.039 \@@_colon 289.387 \@@_colon 3.440)
+.. controls (57.5793,25.2406) and (54.4905,27.7096) .. (52.7305,25.3496)
+.. controls (52.7105,21.6696) and (57.3191,17.1995) .. (53.8691,13.5195)
+.. controls (50.2291,12.8995) and (49.2191,8.8595) .. (46.0391,8.2695)
+.. controls (46.2391,8.2895) and (46.1804,8.6308) .. (45.9004,8.5508)
+.. controls (45.2904,7.2908) and (44.4297,4.7703) .. (45.1797,2.8203)
+.. controls (44.2947,0.8703) and (42.4484,0.0790) .. (40.0488,-0.0176)
+-- cycle(371.3906,1.9609)
+.. controls (369.3906,2.7209) and (368.2101,4.2699) .. (366.8301,5.6699)
+.. controls (366.5801,5.9299) and (366.6895,6.5998) .. (366.6895,7.0898)
+.. controls (365.4094,9.0898) and (366.6895,12.1396) .. (366.6895,14.3496)
+.. controls (366.7695,18.8996) and (364.2691,22.4504) .. (364.1191,26.9004)
+.. controls (363.6091,27.7304) and (363.3598,28.7894) .. (362.8398,29.6094)
+.. controls (360.7798,30.8294) and (358.8804,32.1094) .. (356.1504,32.6094)
+.. controls (354.1404,32.9894) and (351.9892,32.2105) .. (350.4492,33.4805)
+.. controls (350.0192,33.8205) and (349.9092,34.4800) .. (349.4492,34.7500)
+.. controls (349.3492,36.0600) and (349.5306,36.7609) .. (348.8906,37.4609)
+.. controls (347.0706,37.1609) and (346.1994,34.6206) .. (343.6094,35.8906)
+.. controls (342.7994,37.4306) and (341.9208,38.8708) .. (341.0508,40.3008)
+.. controls (342.0208,40.7708) and (342.6894,40.1692) .. (343.6094,40.4492)
+.. controls (345.0794,40.9592) and (346.2294,43.3709) .. (347.6094,43.8809)
+.. controls (347.6094,44.9009) and (348.2294,45.0505) .. (348.6094,45.7305)
+.. controls (348.9094,46.2205) and (348.9097,46.8491) .. (349.1797,47.2891)
+.. controls (349.4497,47.7291) and (349.9897,47.9997) .. (350.1797,48.4297)
+.. controls (350.8097,49.8097) and (350.0500,50.4397) .. (349.7500,51.4297)
+.. controls (349.4500,52.4197) and (349.5901,53.9209) .. (348.3301,54.1309)
+.. controls (345.7701,52.3209) and (344.0306,48.8307) .. (340.6406,48.7207)
+.. controls (340.5906,50.8107) and (338.9607,51.3207) .. (338.2207,52.7207)
+arc(155.465 \@@_colon 143.237 \@@_colon 20.900)
+arc(315.570 \@@_colon 354.748 \@@_colon 3.550)
+.. controls (341.3902,59.5309) and (340.1302,60.0602) .. (339.9102,60.9902)
+.. controls (339.6202,62.3602) and (340.5092,63.1402) .. (341.1992,64.4102)
+.. controls (342.5492,64.1602) and (343.7598,64.9908) .. (344.7598,65.5508)
+.. controls (345.4598,65.4008) and (346.3804,65.6104) .. (346.9004,65.4004)
+.. controls (348.0004,64.9704) and (350.0599,61.4004) .. (350.1699,60.4004)
+.. controls (350.3699,58.7604) and (349.0809,55.1596) .. (351.4609,54.8496)
+.. controls (352.1109,54.7596) and (352.5302,55.3502) .. (353.1602,55.4102)
+.. controls (355.2302,53.9302) and (356.8998,51.5693) .. (356.0098,48.2793)
+.. controls (358.4698,46.1593) and (359.2298,50.8809) .. (360.0098,52.7109)
+.. controls (358.3798,55.2509) and (356.8602,57.9304) .. (355.1602,60.4004)
+.. controls (356.8602,62.6504) and (358.7291,59.5292) .. (360.2891,58.6992)
+.. controls (361.6291,56.6992) and (361.6699,54.1097) .. (363.4199,52.4297)
+.. controls (364.0199,52.7097) and (364.4406,53.2509) .. (365.1406,52.7109)
+.. controls (365.4806,53.6709) and (366.8505,53.5098) .. (367.5605,53.8398)
+.. controls (368.2706,54.1698) and (368.4295,54.7109) .. (369.2695,54.7109)
+.. controls (370.9395,54.7109) and (372.1105,52.8209) .. (373.8105,52.7109)
+.. controls (375.2206,53.9709) and (377.5592,55.3101) .. (376.9492,57.8301)
+.. controls (376.6092,59.3101) and (373.6797,61.0201) .. (371.6797,61.8301)
+arc(256.020 \@@_colon 245.182 \@@_colon 15.940)
+.. controls (367.9298,63.4401) and (367.1999,64.7200) .. (366.4199,65.2500)
+.. controls (364.9099,66.2400) and (362.7693,66.9203) .. (361.2793,67.8203)
+.. controls (359.7893,68.7203) and (358.7593,69.9495) .. (357.2793,70.5195)
+arc(247.090 \@@_colon 239.780 \@@_colon 14.900)
+.. controls (355.1501,71.5891) and (354.6191,71.5908) .. (354.2891,71.8008)
+.. controls (353.1791,72.5508) and (352.3493,73.8105) .. (351.0293,74.2305)
+.. controls (347.9293,74.5005) and (345.9900,76.6900) .. (343.7500,78.5000)
+.. controls (344.1900,79.8600) and (345.5898,80.2908) .. (346.5898,81.0508)
+.. controls (349.7498,80.2108) and (352.6604,81.8409) .. (355.1504,80.2109)
+.. controls (355.4604,79.9009) and (355.5394,79.3503) .. (355.8594,79.0703)
+.. controls (359.8694,76.1503) and (363.2707,72.6209) .. (366.9707,69.3809)
+.. controls (369.5207,67.8809) and (370.9707,65.2500) .. (373.9707,64.2500)
+.. controls (374.2407,62.0600) and (379.4202,59.6291) .. (380.2402,62.5391)
+.. controls (380.9402,65.1091) and (377.3906,69.9191) .. (376.3906,71.3691)
+.. controls (374.9706,73.4091) and (373.7407,75.6605) .. (371.9707,77.0605)
+.. controls (370.7407,78.0605) and (368.5898,78.5606) .. (367.8398,79.6406)
+.. controls (369.7398,81.3306) and (372.7908,84.0795) .. (369.5508,86.1895)
+arc(8.774 \@@_colon 48.527 \@@_colon 12.670)
+.. controls (364.9999,93.8400) and (364.4809,94.2895) .. (364.1309,94.0195)
+.. controls (360.8709,95.9395) and (358.1591,98.8709) .. (354.8691,100.4609)
+arc(244.046 \@@_colon 230.212 \@@_colon 16.210)
+.. controls (350.8898,104.0401) and (349.4403,104.7994) .. (348.3203,105.8594)
+.. controls (348.0803,106.5694) and (347.5097,106.9303) .. (347.1797,107.5703)
+arc(235.573 \@@_colon 227.661 \@@_colon 63.150)
+.. controls (339.6296,112.9005) and (339.3109,113.4697) .. (338.6309,113.6797)
+.. controls (337.0209,114.2397) and (334.6894,114.0907) .. (333.3594,114.9707)
+arc(224.739 \@@_colon 199.301 \@@_colon 9.160)
+.. controls (331.0307,120.3606) and (333.7509,121.5006) .. (335.6309,121.8106)
+.. controls (337.7009,122.1505) and (339.7792,122.5695) .. (341.1992,122.9394)
+.. controls (342.4292,122.2794) and (343.5998,123.0308) .. (344.7598,122.8008)
+arc(75.983 \@@_colon 53.544 \@@_colon 13.750)
+.. controls (350.5396,119.6895) and (351.2191,117.5995) .. (351.8691,116.6894)
+arc(215.688 \@@_colon 239.017 \@@_colon 30.700)
+arc(203.689 \@@_colon 236.904 \@@_colon 26.400)
+.. controls (374.7398,99.7995) and (370.7794,105.7403) .. (372.6094,110.3203)
+.. controls (372.7994,110.7403) and (372.6094,110.7003) .. (372.6094,111.3203)
+.. controls (373.3594,113.2003) and (375.4202,114.4903) .. (374.7402,117.3203)
+.. controls (372.7302,118.3203) and (369.9694,118.0309) .. (368.1895,119.4609)
+.. controls (364.8795,119.9409) and (359.9894,118.4802) .. (357.1895,120.7402)
+.. controls (357.2894,121.3502) and (357.7709,121.5892) .. (357.6309,122.4492)
+.. controls (359.8909,123.9392) and (362.1206,124.2592) .. (364.8906,124.4492)
+.. controls (365.1706,124.4792) and (365.6106,124.1204) .. (365.8906,124.1504)
+.. controls (366.1706,124.1804) and (366.3494,124.5996) .. (366.6094,124.5996)
+.. controls (368.2694,124.7896) and (369.6006,123.5996) .. (370.8906,123.5996)
+.. controls (373.3006,123.6696) and (375.1108,125.3705) .. (376.3008,127.3106)
+arc(107.914 \@@_colon 82.878 \@@_colon 10.540)
+.. controls (383.0096,125.6802) and (386.8802,125.0002) .. (387.4102,121.7402)
+.. controls (387.9402,118.4802) and (385.4202,117.0608) .. (384.4102,115.0508)
+.. controls (383.4002,113.0408) and (383.5198,110.7406) .. (381.8398,109.6406)
+-- (381.8398,108.2109)
+.. controls (381.3698,106.5909) and (379.0000,105.2109) .. (378.0000,103.2109)
+.. controls (377.8100,102.8709) and (377.9109,102.4001) .. (377.7109,102.0801)
+.. controls (376.8609,100.6801) and (375.4309,100.7009) .. (375.7109,98.3809)
+arc(191.463 \@@_colon 217.371 \@@_colon 11.540)
+.. controls (379.7796,94.3599) and (381.7805,92.7799) .. (383.9805,92.6699)
+.. controls (384.1805,92.6599) and (384.5405,92.9709) .. (384.9805,92.9609)
+.. controls (385.4205,92.9509) and (385.5101,92.6099) .. (385.8301,92.6699)
+.. controls (386.3201,92.7799) and (386.7598,93.4004) .. (387.2598,93.4004)
+arc(68.046 \@@_colon 37.930 \@@_colon 5.470)
+.. controls (389.6693,91.5295) and (389.7409,90.8695) .. (389.9609,90.6895)
+.. controls (392.3309,88.8495) and (393.5304,83.2001) .. (389.4004,82.5801)
+.. controls (387.4804,82.2801) and (386.3398,83.0607) .. (384.2598,82.7207)
+.. controls (384.6798,79.9207) and (382.9398,78.7902) .. (380.8398,78.1602)
+.. controls (378.9698,77.5902) and (377.4698,77.4502) .. (376.8398,75.7402)
+.. controls (378.2198,71.7402) and (381.6998,69.9102) .. (384.8398,67.7402)
+.. controls (388.4198,67.3602) and (390.1999,64.0293) .. (392.6699,62.0293)
+arc(206.829 \@@_colon 214.926 \@@_colon 55.200)
+.. controls (397.3599,54.2798) and (398.3592,53.5000) .. (398.9492,52.5000)
+.. controls (399.3092,51.8800) and (399.3808,51.1000) .. (399.8008,50.5000)
+.. controls (400.3608,49.6700) and (401.4498,49.2495) .. (401.0898,47.9395)
+.. controls (400.4898,46.8595) and (398.9706,46.6805) .. (397.8105,46.2305)
+.. controls (397.2405,46.0105) and (396.8202,45.5098) .. (396.2402,45.5098)
+.. controls (395.9002,45.4998) and (395.2399,45.9492) .. (394.6699,45.9492)
+.. controls (394.0999,45.9492) and (393.5396,45.8792) .. (393.0996,45.9492)
+.. controls (390.0296,46.4192) and (389.8398,50.4205) .. (387.8398,52.0605)
+.. controls (386.3898,51.8805) and (385.1309,53.1992) .. (384.1309,52.1992)
+.. controls (383.5409,50.4292) and (384.5392,49.0992) .. (384.6992,47.1992)
+.. controls (386.2892,44.0192) and (386.9805,40.4500) .. (388.9805,37.5000)
+.. controls (389.8205,36.2400) and (391.2203,35.4196) .. (391.8203,34.0996)
+.. controls (392.1603,33.3096) and (392.1791,32.5305) .. (392.5391,31.8105)
+.. controls (393.9791,28.8605) and (396.2396,26.4291) .. (397.0996,23.5391)
+.. controls (398.7996,22.4691) and (398.5108,19.8000) .. (399.8008,18.0000)
+.. controls (400.4008,17.1400) and (401.5904,16.5609) .. (401.6504,15.7109)
+.. controls (401.7904,13.7609) and (399.3501,13.5295) .. (399.0801,11.4395)
+.. controls (399.2001,10.8695) and (399.5904,10.5291) .. (399.6504,9.8691)
+.. controls (399.0804,8.9091) and (397.8203,8.6702) .. (396.8203,8.1602)
+.. controls (394.8303,10.0402) and (390.6596,9.7202) .. (390.0996,12.9902)
+.. controls (390.6796,14.0902) and (391.6497,15.0795) .. (391.6797,16.2695)
+.. controls (391.7097,17.4595) and (390.7606,18.7102) .. (390.3906,19.9902)
+.. controls (390.2506,20.5202) and (390.3900,21.1199) .. (390.2500,21.6699)
+.. controls (389.7600,23.5899) and (388.6895,25.1094) .. (388.6895,27.1094)
+.. controls (386.9995,30.5994) and (386.3502,35.1291) .. (383.4102,37.3691)
+.. controls (383.2302,37.0391) and (382.7103,37.0304) .. (382.5703,36.6504)
+.. controls (382.5303,33.8404) and (382.1906,30.7507) .. (380.1406,28.9707)
+.. controls (376.9806,29.3707) and (373.3795,28.0791) .. (372.4395,31.3691)
+.. controls (373.6594,32.1491) and (375.1798,32.3895) .. (376.0098,33.5195)
+.. controls (376.4698,34.1495) and (376.4802,34.9795) .. (377.1602,35.5195)
+.. controls (377.2602,37.2795) and (376.9794,40.4704) .. (378.4395,41.6504)
+.. controls (384.5695,41.5504) and (379.9902,46.7698) .. (379.9902,50.3398)
+.. controls (379.3302,50.8498) and (378.8394,51.6500) .. (377.8594,51.7500)
+.. controls (376.8794,51.8500) and (374.8795,50.8200) .. (374.0195,50.7500)
+.. controls (373.4395,50.7100) and (372.7108,50.9706) .. (372.3008,50.8906)
+.. controls (371.0308,50.6306) and (369.6408,48.5301) .. (369.3008,47.3301)
+.. controls (368.1008,43.1001) and (369.4502,39.1304) .. (372.9902,37.6504)
+.. controls (373.8402,33.6004) and (369.4505,32.7606) .. (367.7305,30.3906)
+arc(191.045 \@@_colon 221.040 \@@_colon 16.280)
+.. controls (371.7897,21.5303) and (372.1393,20.1092) .. (373.2793,19.6992)
+.. controls (374.4193,19.2892) and (375.9599,19.8699) .. (377.4199,19.4199)
+.. controls (378.2699,18.9899) and (378.5395,18.1809) .. (379.2695,17.7109)
+.. controls (379.6595,17.4609) and (380.1391,17.4691) .. (380.5391,17.1191)
+.. controls (382.3891,15.5991) and (381.3194,12.5800) .. (382.1094,10.0000)
+arc(135.096 \@@_colon 147.145 \@@_colon 15.180)
+arc(92.437 \@@_colon 150.603 \@@_colon 3.620)
+.. controls (376.2694,5.6997) and (376.0506,5.1209) .. (375.3906,4.9609)
+.. controls (374.3906,3.5809) and (372.7006,2.9609) .. (371.3906,1.9609)
+-- cycle(252.4707,15.8203)
+.. controls (248.9107,15.8403) and (247.1393,18.4398) .. (245.7793,21.0898)
+arc(171.657 \@@_colon 132.544 \@@_colon 4.090)
+.. controls (249.1606,30.9998) and (246.7798,38.7395) .. (247.3398,47.4395)
+.. controls (246.1398,51.0495) and (248.5293,55.6705) .. (245.7793,57.5605)
+.. controls (242.6193,57.7305) and (240.9905,59.7594) .. (238.2305,60.1094)
+.. controls (236.1705,60.3894) and (234.5195,61.7808) .. (232.5195,62.5508)
+.. controls (231.3795,62.9708) and (230.2809,63.0802) .. (229.3809,63.4102)
+.. controls (228.8609,63.6002) and (228.5009,64.0598) .. (227.9609,64.2598)
+arc(257.275 \@@_colon 249.581 \@@_colon 18.830)
+.. controls (224.9191,65.3105) and (224.5001,66.0000) .. (223.8301,66.2500)
+arc(74.234 \@@_colon 105.766 \@@_colon 7.580)
+.. controls (218.8109,67.5900) and (216.7106,67.7306) .. (216.1406,69.3906)
+.. controls (218.6506,71.9306) and (220.7998,74.8106) .. (224.2598,76.3906)
+.. controls (225.2198,77.4006) and (225.8597,78.7495) .. (227.6797,78.9395)
+.. controls (230.6397,76.0595) and (233.2092,72.7897) .. (236.9492,70.6797)
+.. controls (237.2292,69.8797) and (237.9205,69.4697) .. (238.2305,68.6797)
+.. controls (240.9305,67.9097) and (241.8809,65.3897) .. (244.6309,64.6797)
+.. controls (247.1209,66.2997) and (245.1506,70.5801) .. (245.0606,73.0801)
+.. controls (242.0805,81.6701) and (236.2103,89.0098) .. (229.8203,95.0098)
+.. controls (226.7803,96.7398) and (224.2695,99.2104) .. (221.2695,101.1504)
+.. controls (218.9995,102.6604) and (216.3300,103.7404) .. (214.0000,105.1504)
+.. controls (213.6500,105.3804) and (213.3800,105.7598) .. (213.0000,106.0098)
+.. controls (212.6200,106.2598) and (211.8594,106.1991) .. (211.8594,106.8691)
+.. controls (212.4094,107.6691) and (213.5302,107.1504) .. (214.4102,107.1504)
+.. controls (215.4102,107.1504) and (216.4902,107.2891) .. (217.4102,107.2891)
+.. controls (219.5702,107.2291) and (221.8498,105.5004) .. (224.0898,105.1504)
+.. controls (224.3398,105.0204) and (224.3802,104.6898) .. (224.6602,104.5898)
+.. controls (231.5602,102.3998) and (236.5092,98.0598) .. (241.1992,93.3398)
+arc(101.099 \@@_colon 54.689 \@@_colon 0.910)
+arc(48.432 \@@_colon 2.305 \@@_colon 29.790)
+arc(28.867 \@@_colon -17.860 \@@_colon 3.800)
+.. controls (253.4795,65.8196) and (253.0391,61.3708) .. (255.0391,58.5508)
+.. controls (255.8191,58.4908) and (256.0998,57.8992) .. (256.7598,57.6992)
+arc(264.269 \@@_colon 288.820 \@@_colon 2.700)
+.. controls (261.1504,56.6401) and (264.5104,54.6497) .. (268.1504,53.4297)
+.. controls (269.8604,51.8597) and (272.8793,50.8297) .. (275.2793,50.4297)
+.. controls (275.9593,49.5997) and (277.4793,49.2793) .. (278.2793,48.2793)
+.. controls (280.0893,46.0193) and (278.8192,44.6302) .. (276.6992,43.7402)
+.. controls (275.4192,43.1602) and (274.6599,43.4102) .. (273.4199,43.1602)
+.. controls (272.4699,42.9802) and (271.4199,42.1308) .. (270.4199,42.3008)
+.. controls (272.8299,44.5508) and (268.8402,47.1703) .. (266.1602,48.3203)
+.. controls (263.4802,49.4703) and (260.8800,50.7507) .. (259.7500,52.4707)
+.. controls (258.0300,53.3407) and (255.2500,53.9004) .. (254.7500,51.9004)
+.. controls (254.5300,51.0004) and (255.0499,49.6307) .. (255.1699,48.4707)
+.. controls (255.3899,46.4607) and (255.2600,43.2803) .. (255.7500,41.0703)
+.. controls (255.8500,40.6203) and (256.2405,40.2697) .. (256.3105,39.9297)
+.. controls (256.6506,38.3997) and (256.3699,36.6391) .. (257.1699,35.7891)
+.. controls (257.8899,33.2891) and (257.4906,30.9707) .. (258.8906,28.9707)
+.. controls (259.7206,27.7207) and (261.2007,26.9803) .. (261.7207,25.8203)
+.. controls (262.7707,23.4803) and (260.4491,22.6103) .. (259.8691,20.8203)
+arc(118.253 \@@_colon 129.850 \@@_colon 44.190)
+-- cycle(148.1894,16.0898)
+.. controls (147.1495,16.9498) and (145.0709,17.8209) .. (143.6309,17.3809)
+.. controls (142.8909,18.2409) and (141.5009,18.7009) .. (141.6309,19.9609)
+.. controls (141.8109,21.6609) and (145.9805,21.8902) .. (146.4805,23.6602)
+arc(188.554 \@@_colon 97.591 \@@_colon 3.000)
+.. controls (152.0208,25.2201) and (155.0605,28.6393) .. (157.7305,27.7793)
+arc(65.937 \@@_colon 24.423 \@@_colon 3.100)
+.. controls (159.8091,24.7105) and (159.0091,23.7705) .. (158.8691,22.2305)
+.. controls (158.8091,21.6405) and (159.4104,20.8909) .. (159.1504,19.9609)
+arc(332.060 \@@_colon 307.562 \@@_colon 6.170)
+.. controls (155.6009,16.7209) and (151.4596,15.5409) .. (149.5996,16.3809)
+.. controls (149.1396,15.9609) and (148.6495,16.3598) .. (148.1894,16.0898)
+-- cycle(170.8301,23.7695)
+.. controls (170.1501,24.0995) and (169.3106,24.3795) .. (168.5606,24.7695)
+arc(248.799 \@@_colon 240.431 \@@_colon 20.640)
+.. controls (164.6598,26.8405) and (163.8409,28.2105) .. (162.7109,29.0605)
+.. controls (162.1509,29.4805) and (161.3309,29.6505) .. (160.7109,30.0605)
+.. controls (160.0909,30.4705) and (159.7698,31.0607) .. (159.0098,31.4707)
+.. controls (158.2498,31.8807) and (157.5005,32.2194) .. (156.7305,32.6094)
+.. controls (155.1405,33.4194) and (153.0596,33.9004) .. (151.5996,34.9004)
+.. controls (151.2396,35.1804) and (151.1202,35.5500) .. (150.7402,35.7500)
+arc(60.417 \@@_colon 69.509 \@@_colon 12.810)
+arc(250.488 \@@_colon 229.727 \@@_colon 58.800)
+arc(251.719 \@@_colon 235.151 \@@_colon 7.760)
+arc(263.520 \@@_colon 249.311 \@@_colon 9.480)
+.. controls (124.1200,49.6907) and (120.5191,51.4693) .. (120.1191,53.2793)
+.. controls (120.8091,54.4093) and (122.3105,54.2009) .. (123.2305,54.9609)
+.. controls (123.6105,55.2809) and (123.6598,55.8194) .. (124.0898,56.1094)
+.. controls (127.1098,58.1094) and (130.6092,57.1094) .. (134.1992,57.1094)
+.. controls (136.0392,57.1194) and (136.4891,57.1095) .. (137.6191,56.2695)
+.. controls (138.5891,53.8495) and (140.5903,52.7505) .. (142.3203,50.9805)
+.. controls (143.8703,49.4205) and (144.9698,47.6293) .. (146.5898,47.2793)
+.. controls (149.0998,44.8193) and (151.9597,42.6793) .. (154.4297,40.2793)
+arc(222.870 \@@_colon 231.325 \@@_colon 23.800)
+.. controls (158.2200,37.0606) and (159.8500,36.9806) .. (161.0000,35.8906)
+.. controls (163.0000,36.3206) and (164.4600,35.2908) .. (166.0000,35.0508)
+arc(83.049 \@@_colon 54.600 \@@_colon 10.540)
+.. controls (171.3801,32.7697) and (171.7100,31.9609) .. (172.2500,31.4609)
+.. controls (173.7100,30.1809) and (175.6593,28.7691) .. (175.5293,26.6191)
+.. controls (174.4193,25.2091) and (172.5001,24.6095) .. (170.8301,23.7695)
+-- cycle(352.5840,35.9531)
+.. controls (353.3282,35.9384) and (354.1504,36.0379) .. (354.9004,36.1504)
+.. controls (355.6804,37.1404) and (356.8298,36.9609) .. (357.7598,37.8809)
+.. controls (358.1398,40.7309) and (355.8398,42.0109) .. (354.7598,43.8809)
+.. controls (354.2698,44.1309) and (354.0705,43.8594) .. (353.4805,43.8594)
+.. controls (352.8505,43.5294) and (353.0791,42.5794) .. (352.6191,41.8594)
+.. controls (352.3891,41.4794) and (351.7702,41.2494) .. (351.4902,40.8594)
+arc(153.393 \@@_colon 165.352 \@@_colon 17.590)
+.. controls (350.3180,36.3172) and (351.3437,35.9777) .. (352.5840,35.9531)
+-- cycle(361.7559,36.6133)
+arc(280.979 \@@_colon 286.909 \@@_colon 17.080)
+.. controls (364.8307,39.4191) and (363.3604,42.0098) .. (363.9004,44.5898)
+.. controls (363.3404,45.7398) and (361.8998,45.7009) .. (360.3398,45.8809)
+.. controls (358.7798,46.0609) and (356.8200,47.1995) .. (356.5000,45.4395)
+.. controls (356.3600,44.7595) and (357.3399,43.4395) .. (357.9199,42.4395)
+.. controls (359.1589,40.3511) and (359.9589,38.1033) .. (361.7559,36.6133)
+-- cycle(164.9492,48.3906)
+.. controls (163.6556,48.3452) and (162.3045,48.9345) .. (160.9707,49.4707)
+.. controls (160.3207,51.5507) and (157.8691,51.7404) .. (156.1191,52.9004)
+.. controls (155.5691,53.2504) and (155.0395,53.9492) .. (154.2695,54.4492)
+.. controls (153.4995,54.9492) and (152.5492,55.3506) .. (151.6992,55.8906)
+.. controls (150.2092,56.8206) and (149.1194,57.8202) .. (147.8594,58.7402)
+.. controls (147.2894,59.1002) and (146.8491,59.4494) .. (146.2891,59.8594)
+.. controls (144.8691,60.9694) and (142.4391,62.0105) .. (143.8691,63.7305)
+.. controls (144.9091,64.2405) and (146.9304,63.8004) .. (148.1504,64.1504)
+.. controls (148.3604,63.3604) and (149.3600,63.3800) .. (150.0000,63.0000)
+arc(216.176 \@@_colon 222.911 \@@_colon 44.260)
+.. controls (154.3005,57.9202) and (155.9904,55.7999) .. (157.1504,55.4199)
+.. controls (158.7204,54.9499) and (160.0904,55.6909) .. (160.1504,57.1309)
+.. controls (160.2304,58.9409) and (158.1809,60.4004) .. (157.4609,61.4004)
+arc(11.563 \@@_colon 62.904 \@@_colon 5.190)
+.. controls (153.6202,68.0905) and (150.2393,69.2205) .. (151.0293,73.8105)
+.. controls (152.2993,75.9005) and (155.7408,74.8802) .. (158.3008,74.6602)
+.. controls (159.5708,72.9502) and (162.2297,72.6992) .. (163.4297,70.9492)
+arc(123.386 \@@_colon 80.188 \@@_colon 1.000)
+.. controls (164.6304,70.6696) and (164.7109,69.8509) .. (165.7109,69.9609)
+arc(35.397 \@@_colon -17.992 \@@_colon 6.250)
+.. controls (165.1506,63.3502) and (163.4004,66.0202) .. (162.1504,64.4102)
+arc(189.173 \@@_colon 255.393 \@@_colon 6.000)
+.. controls (168.4306,57.2005) and (171.8398,55.3900) .. (171.8398,52.0000)
+.. controls (171.3198,51.2800) and (170.2391,51.6501) .. (169.3691,51.3301)
+.. controls (168.3591,50.9101) and (167.7999,49.6002) .. (166.6699,48.9102)
+.. controls (166.1137,48.5633) and (165.5372,48.4113) .. (164.9492,48.3906)
+-- cycle(57.1719,49.9844)
+.. controls (57.8589,49.8459) and (58.7156,51.1491) .. (58.8906,51.2891)
+.. controls (59.4506,53.3891) and (58.5996,55.6992) .. (58.5996,57.6992)
+.. controls (58.6096,58.0392) and (58.8906,58.3292) .. (58.8906,58.6992)
+.. controls (58.6106,61.3592) and (57.6694,63.5894) .. (57.6094,66.1094)
+.. controls (57.5694,67.1194) and (58.0293,68.1305) .. (58.0293,69.2305)
+.. controls (58.0893,71.0505) and (57.4393,72.3605) .. (57.0293,74.2305)
+.. controls (56.6193,76.1005) and (57.0293,77.9102) .. (57.0293,79.9102)
+.. controls (57.1193,82.9102) and (56.3801,85.9102) .. (56.3301,88.9102)
+.. controls (56.3101,89.8302) and (56.5192,90.8400) .. (56.4492,91.7500)
+.. controls (56.3392,94.5900) and (56.4492,98.8704) .. (56.4492,102.1504)
+.. controls (56.0592,102.5004) and (55.8392,102.9791) .. (55.4492,103.2891)
+arc(83.248 \@@_colon 98.730 \@@_colon 29.810)
+.. controls (46.9999,101.0804) and (49.4900,97.0201) .. (47.0000,95.3301)
+arc(91.935 \@@_colon 123.389 \@@_colon 6.080)
+.. controls (43.4594,93.0301) and (44.6600,92.3301) .. (45.0000,91.3301)
+.. controls (45.0000,89.0001) and (42.8405,87.4298) .. (43.0605,85.0898)
+.. controls (43.2205,83.2198) and (45.0605,81.0898) .. (46.0605,79.0898)
+.. controls (47.1005,76.9198) and (47.1991,74.5103) .. (48.6191,72.8203)
+.. controls (48.9691,72.4103) and (49.5506,72.1903) .. (49.8906,71.8203)
+.. controls (50.7206,70.9503) and (50.9806,69.7104) .. (51.8906,69.4004)
+.. controls (51.8106,67.4104) and (52.1895,66.7195) .. (51.1895,65.2695)
+.. controls (50.1895,63.8195) and (47.3299,63.8195) .. (47.9199,61.2695)
+arc(199.079 \@@_colon 224.335 \@@_colon 11.100)
+.. controls (52.3707,54.8406) and (55.0906,51.8806) .. (56.8906,50.1406)
+.. controls (56.9794,50.0544) and (57.0737,50.0042) .. (57.1719,49.9844)
+-- cycle(136.8418,63.2129)
+.. controls (134.6117,63.2434) and (133.0770,64.7569) .. (131.9394,66.0000)
+.. controls (130.9994,68.5500) and (133.0009,70.5305) .. (133.2109,72.9805)
+.. controls (133.2709,73.7305) and (132.8603,74.4595) .. (133.0703,75.2695)
+.. controls (133.4703,76.8095) and (137.5699,80.4095) .. (138.9199,80.6895)
+.. controls (140.6399,81.0295) and (141.2794,80.0606) .. (142.1894,79.3906)
+arc(61.845 \@@_colon 47.408 \@@_colon 9.760)
+arc(25.076 \@@_colon -1.466 \@@_colon 9.170)
+.. controls (144.8508,70.3796) and (141.9500,64.4492) .. (138.5000,63.4492)
+.. controls (137.9075,63.2767) and (137.3564,63.2059) .. (136.8418,63.2129)
+-- cycle(258.0156,63.7500)
+.. controls (257.8393,63.7536) and (257.6511,63.7737) .. (257.4492,63.8105)
+.. controls (258.3292,65.7305) and (258.0099,67.9906) .. (259.1699,69.6406)
+.. controls (260.3599,76.0706) and (263.9395,81.7500) .. (267.4395,86.7500)
+.. controls (267.8494,88.9100) and (269.4009,89.8700) .. (270.7109,91.7500)
+arc(147.297 \@@_colon 130.656 \@@_colon 30.000)
+.. controls (278.5302,100.0908) and (279.8409,101.2294) .. (282.9609,100.8594)
+.. controls (284.7209,99.8094) and (286.9291,100.1602) .. (288.7891,99.1602)
+.. controls (290.2291,98.3702) and (291.3698,97.0992) .. (292.5098,96.4492)
+.. controls (294.9498,95.0792) and (298.6498,95.4492) .. (299.3398,92.4492)
+.. controls (298.6398,91.8392) and (297.5897,91.5609) .. (296.9297,90.8809)
+.. controls (293.4497,90.7009) and (291.0991,88.9396) .. (287.5391,89.5996)
+.. controls (285.6191,88.8996) and (284.5709,87.1699) .. (282.1309,87.1699)
+.. controls (278.8709,84.6599) and (275.1909,82.6004) .. (272.1309,79.9004)
+.. controls (272.1909,79.5604) and (271.8702,79.6009) .. (271.9902,79.2109)
+.. controls (269.4402,77.0509) and (267.8795,73.9206) .. (265.4395,71.6406)
+-- (265.4395,71.0801)
+arc(128.888 \@@_colon 149.376 \@@_colon 11.640)
+.. controls (260.5930,67.1711) and (260.6601,63.6954) .. (258.0156,63.7500)
+-- cycle(39.8945,68.5820)
+.. controls (40.9158,68.5211) and (42.0500,69.0355) .. (42.5000,69.8105)
+.. controls (41.9000,71.7105) and (42.0200,73.9395) .. (41.5000,75.9395)
+.. controls (41.3400,76.5495) and (40.8306,77.0406) .. (40.6406,77.6406)
+.. controls (40.2806,78.7806) and (40.5694,80.2498) .. (40.3594,81.3398)
+arc(16.262 \@@_colon 38.997 \@@_colon 8.590)
+.. controls (37.7891,86.0298) and (39.1091,91.2694) .. (36.7891,91.6094)
+.. controls (35.5091,91.7494) and (34.4691,90.3700) .. (33.7891,89.7500)
+.. controls (33.1491,86.4200) and (35.2891,83.2708) .. (33.3691,81.0508)
+arc(180.810 \@@_colon 190.420 \@@_colon 25.620)
+.. controls (33.9091,76.3893) and (34.2502,76.4395) .. (34.4902,75.9395)
+.. controls (34.7302,75.4395) and (34.5691,74.8098) .. (34.7891,74.5098)
+arc(225.369 \@@_colon 252.287 \@@_colon 5.350)
+.. controls (37.0099,71.9607) and (38.3496,71.1509) .. (38.3496,69.3809)
+.. controls (38.7096,68.8634) and (39.2818,68.6186) .. (39.8945,68.5820)
+-- cycle(151.8809,78.5000)
+.. controls (149.8009,78.8800) and (149.1001,80.6598) .. (148.3301,82.3398)
+arc(-27.700 \@@_colon 27.700 \@@_colon 2.000)
+.. controls (149.6401,86.7592) and (148.4701,91.6309) .. (145.3301,90.4609)
+.. controls (145.1401,90.7009) and (144.7105,90.6906) .. (144.4805,90.8906)
+.. controls (142.0705,90.8206) and (139.7191,92.7499) .. (137.7891,93.1699)
+arc(3.044 \@@_colon 64.518 \@@_colon 1.000)
+.. controls (136.1607,94.1195) and (135.5004,95.0109) .. (134.6504,95.4609)
+.. controls (134.1804,95.7109) and (133.7594,95.5391) .. (133.3594,95.8691)
+arc(46.744 \@@_colon 70.650 \@@_colon 13.250)
+.. controls (127.2699,99.1907) and (126.1094,99.1191) .. (125.1094,100.2891)
+.. controls (123.5794,101.1091) and (122.1398,100.8698) .. (120.8398,101.0098)
+arc(266.296 \@@_colon 204.289 \@@_colon 6.070)
+.. controls (117.1292,106.3303) and (116.9395,108.9999) .. (117.2695,111.6699)
+.. controls (117.4095,112.8099) and (117.6894,115.2497) .. (118.6894,115.9297)
+.. controls (119.5294,116.5097) and (120.9796,116.3797) .. (122.0996,116.9297)
+.. controls (122.5996,117.1797) and (122.7509,117.7091) .. (123.3809,117.7891)
+.. controls (124.6709,117.9391) and (125.5995,116.7891) .. (126.5195,116.7891)
+.. controls (128.4795,113.4391) and (132.2497,110.6495) .. (133.9297,106.5195)
+.. controls (134.7097,106.0295) and (135.0997,105.1197) .. (135.9297,104.6797)
+.. controls (136.4997,102.2897) and (138.0400,100.9002) .. (139.5000,99.4102)
+.. controls (142.7600,101.4802) and (143.9198,105.7200) .. (146.7598,108.2500)
+arc(160.326 \@@_colon 153.452 \@@_colon 54.410)
+.. controls (150.0403,114.2500) and (150.3803,115.1894) .. (151.3203,115.1094)
+.. controls (153.5403,114.9194) and (154.9896,110.0698) .. (156.5996,108.8398)
+.. controls (156.5996,104.2898) and (155.5396,99.4796) .. (155.5996,94.5996)
+.. controls (155.6596,88.5996) and (156.3493,82.8107) .. (153.0293,79.2207)
+arc(110.470 \@@_colon 133.750 \@@_colon 3.360)
+-- cycle(330.9375,80.7988)
+.. controls (329.4112,80.8982) and (328.1095,82.2984) .. (327.2695,83.4609)
+.. controls (327.5895,85.9409) and (329.1495,88.5302) .. (329.2695,91.1602)
+.. controls (329.3695,93.5902) and (327.4291,94.9793) .. (327.1191,97.2793)
+.. controls (325.5591,98.1793) and (326.0595,100.4293) .. (325.6895,102.2793)
+.. controls (325.4694,102.7793) and (324.8398,102.8403) .. (324.8398,103.5703)
+.. controls (326.8698,104.2303) and (328.9999,106.4109) .. (331.4199,104.7109)
+.. controls (336.0299,105.1009) and (339.1102,102.3098) .. (340.2402,98.0098)
+.. controls (340.0802,94.4798) and (340.2402,91.5606) .. (339.2402,87.8906)
+.. controls (337.9102,86.5506) and (335.6401,83.6095) .. (333.8301,82.1895)
+arc(310.536 \@@_colon 304.568 \@@_colon 15.760)
+.. controls (331.9793,80.8770) and (331.4463,80.7657) .. (330.9375,80.7988)
+-- cycle(162.8594,82.8906)
+.. controls (162.7094,82.8906) and (162.6806,83.0508) .. (162.5606,83.0508)
+.. controls (160.8605,85.1008) and (162.7594,87.1808) .. (162.8594,89.3008)
+.. controls (162.8794,90.0208) and (162.3993,90.4602) .. (162.2793,91.1602)
+arc(189.420 \@@_colon 181.814 \@@_colon 21.510)
+arc(185.134 \@@_colon 173.375 \@@_colon 56.430)
+.. controls (164.0504,105.7405) and (165.0898,108.0998) .. (166.8398,108.2598)
+arc(87.056 \@@_colon 51.034 \@@_colon 3.930)
+.. controls (170.1094,106.6906) and (170.9494,105.4805) .. (172.1094,104.9805)
+.. controls (172.7894,103.1105) and (174.2307,101.2692) .. (173.9707,98.6992)
+.. controls (173.7207,96.4492) and (172.3591,94.0598) .. (171.5391,91.5898)
+.. controls (169.8591,86.5698) and (167.4094,83.5406) .. (162.8594,82.8906)
+-- cycle(147.4570,90.8379)
+.. controls (147.5999,90.8390) and (147.7473,90.8540) .. (147.9004,90.8809)
+.. controls (149.3204,94.8309) and (150.0508,98.8109) .. (148.0508,102.7109)
+.. controls (147.3708,102.9109) and (146.9895,103.2991) .. (146.1894,103.1191)
+.. controls (145.7095,103.0191) and (145.3695,102.2294) .. (144.7695,101.8594)
+.. controls (143.2695,100.9194) and (140.5105,100.9991) .. (141.0606,98.2891)
+.. controls (141.1705,97.7191) and (141.9098,97.0491) .. (142.3398,96.2891)
+.. controls (142.7698,95.5291) and (143.1109,93.9000) .. (143.6309,93.7500)
+.. controls (144.3059,93.5344) and (145.3148,90.8217) .. (147.4570,90.8379)
+-- cycle;
+}
+\def \@@_path_name_en{
+ (221.5293,0.0000)
+arc(270.581 \@@_colon 250.033 \@@_colon 19.480)
+arc(250.094 \@@_colon 225.668 \@@_colon 14.760)
+arc(225.475 \@@_colon 200.943 \@@_colon 14.570)
+arc(201.570 \@@_colon 180.068 \@@_colon 17.850)
+arc(181.012 \@@_colon 157.939 \@@_colon 17.110)
+arc(157.482 \@@_colon 132.803 \@@_colon 14.000)
+arc(132.487 \@@_colon 108.931 \@@_colon 14.390)
+arc(108.957 \@@_colon 89.519 \@@_colon 18.450)
+arc(89.268 \@@_colon 73.944 \@@_colon 29.000)
+arc(76.581 \@@_colon 61.649 \@@_colon 25.910)
+.. controls (234.5006,27.7103) and (234.5000,27.1409) .. (234.5000,26.7109)
+-- (234.5000,25.0000)
+-- (234.5000,21.5000)
+arc(179.710 \@@_colon 203.038 \@@_colon 3.380)
+arc(206.464 \@@_colon 256.240 \@@_colon 1.750)
+arc(251.011 \@@_colon 259.235 \@@_colon 9.230)
+.. controls (237.5392,18.8404) and (237.9291,18.7900) .. (238.3691,18.7500)
+-- (238.3691,17.0898)
+-- (222.6797,17.0898)
+-- (222.6797,18.7500)
+.. controls (223.1097,18.8100) and (223.6393,18.8993) .. (224.2793,19.0293)
+arc(279.892 \@@_colon 294.146 \@@_colon 6.750)
+arc(290.378 \@@_colon 328.246 \@@_colon 2.190)
+arc(-26.528 \@@_colon 2.114 \@@_colon 2.670)
+-- (227.2598,27.8105)
+arc(49.521 \@@_colon 70.544 \@@_colon 7.180)
+arc(69.985 \@@_colon 90.905 \@@_colon 9.300)
+arc(89.172 \@@_colon 153.594 \@@_colon 6.790)
+.. controls (214.0271,23.3968) and (213.3008,19.9174) .. (213.3008,15.4707)
+.. controls (213.3008,11.2907) and (214.0395,8.0027) .. (215.5195,5.6094)
+arc(209.219 \@@_colon 271.647 \@@_colon 7.000)
+arc(268.556 \@@_colon 317.220 \@@_colon 7.520)
+arc(320.224 \@@_colon 344.486 \@@_colon 19.850)
+-- (233.2793,11.8301)
+-- (233.0898,0.8301)
+-- (231.2402,0.8301)
+-- (229.9199,2.0000)
+arc(295.868 \@@_colon 285.305 \@@_colon 21.000)
+arc(285.870 \@@_colon 269.424 \@@_colon 16.830)
+-- cycle(475.7305,0.0000)
+arc(270.697 \@@_colon 251.639 \@@_colon 14.370)
+arc(251.783 \@@_colon 229.971 \@@_colon 10.860)
+arc(229.227 \@@_colon 205.581 \@@_colon 9.000)
+arc(205.450 \@@_colon 180.053 \@@_colon 7.930)
+arc(180.499 \@@_colon 146.816 \@@_colon 9.080)
+arc(145.151 \@@_colon 109.774 \@@_colon 9.390)
+.. controls (471.3195,17.9101) and (472.2598,18.2501) .. (473.2598,18.5801)
+-- (476.5508,19.6504)
+arc(285.313 \@@_colon 309.637 \@@_colon 10.700)
+arc(-48.514 \@@_colon 1.380 \@@_colon 3.880)
+arc(-1.392 \@@_colon 48.031 \@@_colon 4.650)
+arc(50.897 \@@_colon 93.859 \@@_colon 6.360)
+arc(88.705 \@@_colon 117.936 \@@_colon 7.660)
+arc(119.475 \@@_colon 138.118 \@@_colon 11.480)
+arc(137.466 \@@_colon 151.124 \@@_colon 16.000)
+arc(150.594 \@@_colon 158.234 \@@_colon 27.630)
+-- (463.5801,20.0801)
+-- (463.8496,31.0000)
+-- (465.6602,31.0000)
+-- (467.1309,29.5391)
+arc(118.597 \@@_colon 105.186 \@@_colon 18.730)
+arc(105.699 \@@_colon 89.522 \@@_colon 18.500)
+arc(90.914 \@@_colon 73.005 \@@_colon 17.000)
+arc(72.518 \@@_colon 52.080 \@@_colon 12.540)
+arc(51.921 \@@_colon 26.084 \@@_colon 8.780)
+arc(26.070 \@@_colon -0.869 \@@_colon 8.360)
+arc(2.068 \@@_colon -36.210 \@@_colon 8.310)
+arc(320.908 \@@_colon 289.261 \@@_colon 10.530)
+.. controls (481.6975,13.3828) and (480.7273,13.0495) .. (479.6406,12.6895)
+-- (476.4199,11.6309)
+arc(105.331 \@@_colon 128.501 \@@_colon 11.000)
+arc(131.683 \@@_colon 182.443 \@@_colon 3.800)
+arc(179.222 \@@_colon 229.519 \@@_colon 4.160)
+arc(229.307 \@@_colon 272.432 \@@_colon 5.400)
+arc(268.599 \@@_colon 297.124 \@@_colon 6.660)
+arc(299.057 \@@_colon 320.545 \@@_colon 8.380)
+arc(321.059 \@@_colon 334.542 \@@_colon 14.550)
+arc(333.277 \@@_colon 339.116 \@@_colon 36.480)
+-- (487.1699,11.1309)
+-- (487.0000,0.8301)
+-- (485.1797,0.8301)
+-- (483.8809,2.1094)
+arc(297.794 \@@_colon 286.656 \@@_colon 19.210)
+arc(287.442 \@@_colon 269.484 \@@_colon 15.220)
+-- cycle(53.2891,0.4004)
+.. controls (51.2957,5.2271) and (49.4705,9.6375) .. (47.8105,13.6309)
+-- (42.8691,25.6309)
+arc(20.881 \@@_colon 38.335 \@@_colon 6.670)
+arc(38.761 \@@_colon 60.374 \@@_colon 5.180)
+arc(60.283 \@@_colon 80.165 \@@_colon 4.280)
+arc(78.307 \@@_colon 86.213 \@@_colon 11.780)
+-- (37.3906,31.0000)
+-- (49.7500,31.0000)
+-- (49.7500,29.3203)
+arc(92.283 \@@_colon 110.449 \@@_colon 11.080)
+.. controls (45.6603,28.3109) and (45.3203,27.9207) .. (45.3203,27.4707)
+arc(181.789 \@@_colon 189.064 \@@_colon 5.860)
+arc(190.751 \@@_colon 200.164 \@@_colon 10.940)
+.. controls (46.0791,24.3900) and (46.3291,23.6599) .. (46.6191,22.9199)
+.. controls (46.9091,22.1799) and (47.1702,21.4999) .. (47.4102,20.9199)
+-- (57.8691,20.9199)
+-- (60.4492,27.1797)
+arc(336.951 \@@_colon 347.717 \@@_colon 3.190)
+arc(-3.889 \@@_colon 3.889 \@@_colon 2.880)
+.. controls (60.6309,28.4606) and (60.0801,28.7409) .. (59.0801,28.9609)
+arc(77.409 \@@_colon 85.392 \@@_colon 19.610)
+-- (56.3809,31.0000)
+-- (72.8301,31.0000)
+-- (72.8008,29.3809)
+arc(94.575 \@@_colon 102.325 \@@_colon 10.620)
+arc(100.987 \@@_colon 119.276 \@@_colon 4.660)
+arc(119.410 \@@_colon 139.691 \@@_colon 4.460)
+arc(141.138 \@@_colon 156.708 \@@_colon 5.000)
+.. controls (66.9867,23.8867) and (65.6534,20.5925) .. (64.0801,16.6191)
+.. controls (62.5067,12.6458) and (60.3308,7.2404) .. (57.5508,0.4004)
+-- (53.2891,0.4004)
+-- cycle(0.0000,0.8301)
+-- (0.0000,2.5293)
+arc(280.247 \@@_colon 292.703 \@@_colon 10.570)
+arc(292.591 \@@_colon 314.300 \@@_colon 5.730)
+arc(315.191 \@@_colon 341.778 \@@_colon 4.160)
+arc(-18.455 \@@_colon 0.803 \@@_colon 6.050)
+-- (5.3105,22.2598)
+arc(-1.989 \@@_colon 10.468 \@@_colon 19.360)
+arc(12.216 \@@_colon 53.370 \@@_colon 3.150)
+arc(56.002 \@@_colon 78.776 \@@_colon 4.940)
+arc(76.098 \@@_colon 85.152 \@@_colon 12.000)
+-- (0.1309,31.0000)
+-- (13.1094,31.0000)
+-- (13.1094,29.3203)
+arc(100.608 \@@_colon 106.937 \@@_colon 18.650)
+arc(103.343 \@@_colon 125.453 \@@_colon 5.240)
+arc(131.864 \@@_colon 168.827 \@@_colon 3.630)
+arc(168.374 \@@_colon 181.580 \@@_colon 17.460)
+-- (7.7891,7.8496)
+-- (26.6094,31.1992)
+-- (30.3906,31.1992)
+-- (30.3906,9.6504)
+arc(178.422 \@@_colon 190.784 \@@_colon 19.100)
+arc(188.975 \@@_colon 229.485 \@@_colon 3.310)
+arc(233.663 \@@_colon 261.257 \@@_colon 4.540)
+.. controls (34.5398,2.6107) and (35.1491,2.4902) .. (35.5391,2.4902)
+-- (35.5391,0.8301)
+-- (22.5391,0.8301)
+-- (22.5391,2.5195)
+arc(279.906 \@@_colon 287.110 \@@_colon 16.370)
+arc(283.300 \@@_colon 305.496 \@@_colon 5.220)
+arc(311.563 \@@_colon 348.623 \@@_colon 3.630)
+arc(-12.076 \@@_colon 1.753 \@@_colon 16.680)
+-- (27.8809,21.2500)
+-- (11.3691,0.8301)
+-- (0.0000,0.8301)
+-- cycle(74.9004,0.8301)
+-- (74.9004,2.5801)
+arc(280.211 \@@_colon 292.601 \@@_colon 10.670)
+arc(293.457 \@@_colon 313.832 \@@_colon 5.810)
+arc(315.191 \@@_colon 341.778 \@@_colon 4.160)
+arc(-19.016 \@@_colon 0.272 \@@_colon 6.050)
+-- (80.1504,22.2598)
+arc(-1.989 \@@_colon 10.468 \@@_colon 19.360)
+arc(10.884 \@@_colon 52.116 \@@_colon 3.100)
+arc(56.070 \@@_colon 78.442 \@@_colon 5.000)
+arc(76.312 \@@_colon 85.334 \@@_colon 12.300)
+-- (75.0000,31.0000)
+-- (87.9707,31.0000)
+-- (87.9707,29.3203)
+arc(100.620 \@@_colon 106.925 \@@_colon 18.720)
+arc(103.715 \@@_colon 125.081 \@@_colon 5.420)
+arc(132.125 \@@_colon 168.482 \@@_colon 3.690)
+arc(168.542 \@@_colon 181.745 \@@_colon 17.460)
+-- (82.6602,7.8496)
+-- (101.4902,31.1992)
+-- (105.2793,31.1992)
+-- (105.2793,9.6504)
+arc(178.422 \@@_colon 190.784 \@@_colon 19.100)
+arc(188.775 \@@_colon 229.343 \@@_colon 3.300)
+arc(233.786 \@@_colon 261.134 \@@_colon 4.580)
+.. controls (109.4207,2.6107) and (110.0199,2.4902) .. (110.4199,2.4902)
+-- (110.4102,0.8301)
+-- (97.4102,0.8301)
+-- (97.4102,2.5195)
+arc(279.889 \@@_colon 287.128 \@@_colon 16.290)
+arc(283.451 \@@_colon 305.116 \@@_colon 5.370)
+arc(312.074 \@@_colon 348.533 \@@_colon 3.680)
+arc(-12.448 \@@_colon 1.903 \@@_colon 16.080)
+-- (102.7598,21.2500)
+-- (86.2402,0.8301)
+-- (74.9004,0.8301)
+-- cycle(122.1602,0.8301)
+-- (122.1602,2.4902)
+.. controls (122.5602,2.5502) and (123.0599,2.6395) .. (123.6699,2.7695)
+arc(280.529 \@@_colon 293.240 \@@_colon 7.320)
+arc(287.202 \@@_colon 329.339 \@@_colon 2.000)
+arc(-23.165 \@@_colon 1.894 \@@_colon 3.000)
+-- (126.5898,22.4707)
+arc(-4.214 \@@_colon 33.727 \@@_colon 8.810)
+arc(38.627 \@@_colon 92.203 \@@_colon 4.880)
+arc(90.163 \@@_colon 115.877 \@@_colon 3.000)
+arc(110.689 \@@_colon 151.088 \@@_colon 1.590)
+-- (119.0000,28.5391)
+arc(50.568 \@@_colon 38.375 \@@_colon 14.110)
+arc(41.984 \@@_colon 1.312 \@@_colon 3.900)
+arc(1.233 \@@_colon -45.826 \@@_colon 3.630)
+arc(312.471 \@@_colon 265.852 \@@_colon 4.000)
+arc(272.701 \@@_colon 221.378 \@@_colon 3.850)
+arc(219.818 \@@_colon 177.869 \@@_colon 4.840)
+arc(182.421 \@@_colon 127.815 \@@_colon 6.320)
+arc(125.450 \@@_colon 86.902 \@@_colon 10.110)
+arc(90.564 \@@_colon 72.402 \@@_colon 13.870)
+arc(72.325 \@@_colon 52.268 \@@_colon 11.870)
+arc(50.932 \@@_colon 25.604 \@@_colon 9.350)
+arc(25.513 \@@_colon -0.618 \@@_colon 9.560)
+-- (134.1309,5.1992)
+arc(178.868 \@@_colon 200.878 \@@_colon 3.640)
+arc(206.362 \@@_colon 260.604 \@@_colon 1.530)
+.. controls (135.9802,2.8700) and (136.4301,2.7692) .. (136.8301,2.6992)
+.. controls (137.2301,2.6292) and (137.7093,2.5602) .. (138.2793,2.4902)
+-- (138.3008,0.8301)
+-- (122.1602,0.8301)
+-- cycle(143.3594,0.8301)
+-- (143.3594,2.4902)
+.. controls (143.8394,2.5502) and (144.4201,2.6508) .. (145.0801,2.8008)
+arc(281.485 \@@_colon 290.094 \@@_colon 10.520)
+arc(289.234 \@@_colon 330.397 \@@_colon 2.000)
+arc(-26.269 \@@_colon 1.286 \@@_colon 2.730)
+-- (147.9609,26.8301)
+arc(-1.938 \@@_colon 26.622 \@@_colon 2.760)
+arc(31.995 \@@_colon 71.764 \@@_colon 2.000)
+arc(73.678 \@@_colon 88.688 \@@_colon 6.000)
+-- (143.3594,29.3691)
+-- (143.3594,31.0000)
+-- (160.1094,31.0000)
+-- (160.1094,29.3691)
+arc(94.091 \@@_colon 100.334 \@@_colon 16.000)
+arc(98.556 \@@_colon 109.587 \@@_colon 7.940)
+arc(109.466 \@@_colon 148.422 \@@_colon 2.120)
+arc(153.559 \@@_colon 181.402 \@@_colon 2.790)
+-- (155.5098,5.1895)
+arc(179.441 \@@_colon 204.277 \@@_colon 3.160)
+arc(208.477 \@@_colon 256.095 \@@_colon 1.740)
+arc(253.315 \@@_colon 263.504 \@@_colon 9.250)
+-- (160.1094,2.4902)
+-- (160.1094,0.8301)
+-- (143.3594,0.8301)
+-- cycle(164.6992,0.8301)
+-- (164.6992,2.5801)
+arc(280.193 \@@_colon 292.592 \@@_colon 10.670)
+arc(293.496 \@@_colon 313.854 \@@_colon 5.810)
+arc(315.191 \@@_colon 341.778 \@@_colon 4.160)
+arc(-19.016 \@@_colon 0.272 \@@_colon 6.050)
+-- (169.9492,22.2598)
+arc(-1.882 \@@_colon 10.041 \@@_colon 20.220)
+arc(11.556 \@@_colon 51.444 \@@_colon 3.200)
+arc(56.330 \@@_colon 78.404 \@@_colon 5.090)
+arc(76.244 \@@_colon 85.401 \@@_colon 12.120)
+-- (164.8008,31.0000)
+-- (177.8008,31.0000)
+-- (177.8008,29.3203)
+arc(100.510 \@@_colon 107.035 \@@_colon 18.090)
+arc(103.512 \@@_colon 125.055 \@@_colon 5.400)
+arc(132.012 \@@_colon 169.017 \@@_colon 3.620)
+arc(168.186 \@@_colon 181.823 \@@_colon 16.910)
+-- (172.4805,7.8496)
+-- (191.2891,31.1992)
+-- (195.0801,31.1992)
+-- (195.0801,9.6504)
+arc(178.422 \@@_colon 190.784 \@@_colon 19.100)
+arc(188.651 \@@_colon 229.810 \@@_colon 3.260)
+arc(233.506 \@@_colon 261.413 \@@_colon 4.490)
+.. controls (199.2293,2.6107) and (199.8305,2.4902) .. (200.2305,2.4902)
+-- (200.2305,0.8301)
+-- (187.2305,0.8301)
+-- (187.2305,2.5195)
+arc(280.009 \@@_colon 287.008 \@@_colon 16.850)
+arc(283.165 \@@_colon 305.175 \@@_colon 5.310)
+arc(312.176 \@@_colon 348.009 \@@_colon 3.750)
+arc(-12.048 \@@_colon 1.781 \@@_colon 16.680)
+-- (192.5898,21.2500)
+-- (176.0703,0.8301)
+-- (164.6992,0.8301)
+-- cycle(255.9297,0.8301)
+-- (255.9297,2.4102)
+.. controls (256.2497,2.4502) and (256.7200,2.5306) .. (257.2500,2.6406)
+arc(281.017 \@@_colon 295.313 \@@_colon 5.790)
+arc(294.826 \@@_colon 330.149 \@@_colon 2.440)
+arc(-27.048 \@@_colon 1.394 \@@_colon 2.650)
+-- (260.0000,20.8203)
+arc(182.970 \@@_colon 130.440 \@@_colon 10.000)
+.. controls (265.8667,30.8892) and (269.2000,31.8594) .. (273.5000,31.8594)
+arc(92.820 \@@_colon 49.887 \@@_colon 12.820)
+arc(47.969 \@@_colon -2.292 \@@_colon 10.220)
+-- (285.7598,9.6191)
+arc(178.154 \@@_colon 190.945 \@@_colon 18.680)
+arc(188.699 \@@_colon 232.299 \@@_colon 3.000)
+arc(237.034 \@@_colon 260.778 \@@_colon 5.210)
+.. controls (290.0007,2.6293) and (290.5900,2.4902) .. (291.0000,2.4902)
+-- (291.0000,0.8301)
+-- (277.8906,0.8301)
+-- (277.8906,2.5293)
+arc(280.771 \@@_colon 286.779 \@@_colon 18.860)
+arc(280.852 \@@_colon 304.104 \@@_colon 5.260)
+arc(311.489 \@@_colon 347.841 \@@_colon 3.620)
+arc(-12.331 \@@_colon 1.967 \@@_colon 16.420)
+-- (283.2793,20.0703)
+.. controls (283.2793,22.9903) and (282.5797,25.2109) .. (281.1797,26.7109)
+arc(48.043 \@@_colon 129.881 \@@_colon 8.810)
+.. controls (268.3073,25.5533) and (267.6406,23.3773) .. (267.6406,20.3906)
+-- (267.6406,5.1895)
+arc(178.852 \@@_colon 204.698 \@@_colon 3.060)
+arc(206.879 \@@_colon 256.742 \@@_colon 1.630)
+arc(250.219 \@@_colon 259.017 \@@_colon 9.600)
+arc(260.382 \@@_colon 266.387 \@@_colon 13.270)
+-- (271.8008,0.8301)
+-- (255.9297,0.8301)
+-- cycle(294.3398,0.8301)
+-- (294.3398,2.5801)
+arc(280.357 \@@_colon 292.592 \@@_colon 10.760)
+arc(293.240 \@@_colon 314.049 \@@_colon 5.690)
+arc(314.649 \@@_colon 342.320 \@@_colon 4.000)
+arc(-19.418 \@@_colon 0.675 \@@_colon 5.810)
+-- (299.5801,22.2598)
+arc(-1.855 \@@_colon 10.068 \@@_colon 20.220)
+arc(11.522 \@@_colon 51.391 \@@_colon 3.200)
+arc(56.140 \@@_colon 78.638 \@@_colon 5.000)
+arc(76.244 \@@_colon 85.401 \@@_colon 12.120)
+-- (294.4297,31.0000)
+-- (307.4297,31.0000)
+-- (307.4297,29.3203)
+arc(100.510 \@@_colon 107.035 \@@_colon 18.090)
+arc(103.343 \@@_colon 125.453 \@@_colon 5.240)
+arc(131.542 \@@_colon 169.149 \@@_colon 3.570)
+arc(168.158 \@@_colon 181.796 \@@_colon 16.910)
+-- (302.1094,7.8496)
+-- (320.9199,31.1992)
+-- (324.7109,31.1992)
+-- (324.7109,9.6504)
+arc(178.395 \@@_colon 190.757 \@@_colon 19.100)
+arc(188.684 \@@_colon 229.861 \@@_colon 3.260)
+arc(233.506 \@@_colon 261.413 \@@_colon 4.490)
+.. controls (328.8602,2.6107) and (329.4594,2.4902) .. (329.8594,2.4902)
+-- (329.8594,0.8301)
+-- (316.8594,0.8301)
+-- (316.8594,2.5195)
+arc(279.906 \@@_colon 287.110 \@@_colon 16.370)
+arc(283.300 \@@_colon 305.496 \@@_colon 5.220)
+arc(311.875 \@@_colon 348.311 \@@_colon 3.690)
+arc(-12.048 \@@_colon 1.780 \@@_colon 16.680)
+-- (322.1992,21.2500)
+-- (305.7109,0.8301)
+-- (294.3398,0.8301)
+-- cycle(334.2695,0.8301)
+-- (334.2695,2.4902)
+.. controls (334.7595,2.5502) and (335.3300,2.6508) .. (336.0000,2.8008)
+arc(281.897 \@@_colon 290.472 \@@_colon 10.310)
+arc(289.234 \@@_colon 330.397 \@@_colon 2.000)
+arc(-26.180 \@@_colon 1.366 \@@_colon 2.730)
+-- (338.8398,26.8203)
+arc(-2.620 \@@_colon 27.142 \@@_colon 2.650)
+arc(31.996 \@@_colon 71.764 \@@_colon 2.000)
+arc(73.117 \@@_colon 88.453 \@@_colon 5.850)
+-- (334.2402,29.3691)
+-- (334.2402,31.0000)
+-- (351.0000,31.0000)
+-- (351.0000,29.3691)
+arc(94.202 \@@_colon 100.207 \@@_colon 16.650)
+arc(98.556 \@@_colon 109.587 \@@_colon 7.940)
+arc(109.841 \@@_colon 148.047 \@@_colon 2.160)
+arc(154.075 \@@_colon 181.864 \@@_colon 2.790)
+-- (346.4102,5.1895)
+arc(179.056 \@@_colon 203.855 \@@_colon 3.160)
+arc(209.295 \@@_colon 255.179 \@@_colon 1.800)
+arc(253.321 \@@_colon 263.661 \@@_colon 9.180)
+-- (351.0000,2.4902)
+-- (351.0000,0.8301)
+-- (334.2695,0.8301)
+-- cycle(353.5898,0.8301)
+-- (353.5898,2.4902)
+arc(276.711 \@@_colon 285.528 \@@_colon 9.750)
+arc(286.892 \@@_colon 300.754 \@@_colon 5.750)
+arc(297.637 \@@_colon 317.441 \@@_colon 5.350)
+arc(321.925 \@@_colon 336.907 \@@_colon 7.170)
+.. controls (359.5936,8.0236) and (361.0432,11.5124) .. (363.0898,16.5391)
+.. controls (365.1365,21.5657) and (367.1602,26.5091) .. (369.1602,31.3691)
+-- (373.4297,31.3691)
+-- (376.4297,23.9902)
+.. controls (377.5163,21.4236) and (378.5163,19.0604) .. (379.4297,16.9004)
+.. controls (380.4497,14.5004) and (381.3571,12.3605) .. (382.1504,10.4805)
+.. controls (382.9437,8.6005) and (383.5600,7.1695) .. (384.0000,6.1895)
+arc(204.065 \@@_colon 217.764 \@@_colon 8.160)
+arc(221.037 \@@_colon 240.340 \@@_colon 5.360)
+arc(238.741 \@@_colon 252.973 \@@_colon 5.840)
+arc(252.868 \@@_colon 265.187 \@@_colon 6.360)
+-- (389.0703,0.8301)
+-- (376.8301,0.8301)
+-- (376.8301,2.4805)
+arc(271.761 \@@_colon 289.213 \@@_colon 12.130)
+.. controls (381.1192,3.4604) and (381.4492,3.8391) .. (381.4492,4.2891)
+arc(3.694 \@@_colon 19.119 \@@_colon 6.770)
+.. controls (380.8598,6.8603) and (380.5709,7.6994) .. (380.2109,8.6094)
+.. controls (379.4909,10.4794) and (378.6492,12.6403) .. (377.6992,15.0703)
+.. controls (376.7525,17.5503) and (375.5591,20.5503) .. (374.1191,24.0703)
+.. controls (371.8291,18.2803) and (370.0201,13.9706) .. (368.8301,11.1406)
+.. controls (367.6401,8.3106) and (366.8094,6.2695) .. (366.3594,5.0195)
+.. controls (366.2594,4.7295) and (366.1406,4.4905) .. (366.1406,4.3105)
+arc(163.078 \@@_colon 178.725 \@@_colon 1.860)
+.. controls (366.0605,3.5005) and (366.3309,3.2393) .. (366.8809,3.0293)
+arc(253.739 \@@_colon 265.191 \@@_colon 15.900)
+-- (370.0000,0.8301)
+-- (353.5898,0.8301)
+-- cycle(392.2598,0.8301)
+-- (392.2598,2.4902)
+.. controls (392.5998,2.5302) and (393.0995,2.6195) .. (393.7695,2.7695)
+arc(280.387 \@@_colon 292.720 \@@_colon 7.530)
+arc(289.072 \@@_colon 328.681 \@@_colon 2.140)
+arc(-23.616 \@@_colon 2.023 \@@_colon 2.890)
+-- (396.6895,26.7109)
+arc(-1.753 \@@_colon 25.504 \@@_colon 2.880)
+arc(31.359 \@@_colon 72.001 \@@_colon 2.000)
+arc(70.953 \@@_colon 85.591 \@@_colon 5.770)
+.. controls (393.2009,29.2892) and (392.6598,29.3691) .. (392.2598,29.3691)
+-- (392.2598,31.0000)
+-- (420.5898,31.0000)
+-- (421.1602,21.6699)
+-- (419.6094,21.6699)
+arc(23.191 \@@_colon 32.039 \@@_colon 23.490)
+arc(29.542 \@@_colon 42.190 \@@_colon 17.810)
+arc(46.345 \@@_colon 77.480 \@@_colon 2.450)
+arc(74.906 \@@_colon 83.378 \@@_colon 11.510)
+arc(83.872 \@@_colon 90.630 \@@_colon 15.890)
+-- (409.1406,29.0898)
+arc(89.211 \@@_colon 96.199 \@@_colon 20.710)
+arc(95.315 \@@_colon 125.377 \@@_colon 3.000)
+arc(128.643 \@@_colon 167.478 \@@_colon 2.160)
+arc(168.067 \@@_colon 181.292 \@@_colon 9.420)
+-- (404.1992,16.3496)
+-- (407.3105,16.3496)
+arc(268.953 \@@_colon 285.559 \@@_colon 7.710)
+arc(286.653 \@@_colon 318.394 \@@_colon 3.600)
+arc(321.402 \@@_colon 342.104 \@@_colon 5.880)
+arc(337.345 \@@_colon 350.250 \@@_colon 10.370)
+-- (414.4492,21.7891)
+-- (414.4492,9.1895)
+-- (412.8301,9.1895)
+arc(10.313 \@@_colon 23.343 \@@_colon 9.900)
+arc(19.029 \@@_colon 41.017 \@@_colon 5.240)
+arc(43.882 \@@_colon 73.399 \@@_colon 4.000)
+arc(74.263 \@@_colon 90.789 \@@_colon 7.470)
+-- (404.1992,14.4102)
+-- (404.1992,2.8008)
+-- (408.5898,2.8008)
+-- (410.4707,2.8008)
+arc(270.255 \@@_colon 281.278 \@@_colon 9.310)
+arc(286.161 \@@_colon 323.311 \@@_colon 5.730)
+arc(317.966 \@@_colon 338.909 \@@_colon 11.200)
+-- (419.0000,8.5293)
+-- (419.0000,0.8301)
+-- (392.2598,0.8301)
+-- cycle(426.3105,0.8301)
+-- (426.3105,2.4902)
+.. controls (426.6705,2.5502) and (427.1495,2.6395) .. (427.7695,2.7695)
+arc(280.726 \@@_colon 291.201 \@@_colon 9.180)
+arc(288.310 \@@_colon 329.326 \@@_colon 2.050)
+arc(-23.151 \@@_colon 1.720 \@@_colon 3.000)
+-- (430.7402,26.7109)
+arc(-2.357 \@@_colon 26.109 \@@_colon 2.760)
+arc(31.225 \@@_colon 71.633 \@@_colon 2.000)
+arc(71.739 \@@_colon 85.581 \@@_colon 6.100)
+-- (426.3105,29.3691)
+-- (426.3105,31.0000)
+-- (442.3496,31.0000)
+-- (442.3496,29.3398)
+arc(96.226 \@@_colon 102.208 \@@_colon 14.370)
+arc(100.740 \@@_colon 110.281 \@@_colon 7.860)
+arc(110.287 \@@_colon 148.336 \@@_colon 2.180)
+arc(153.295 \@@_colon 181.611 \@@_colon 2.720)
+-- (438.2207,17.3809)
+-- (439.3906,17.3809)
+.. controls (441.3906,19.7609) and (443.0573,21.8597) .. (444.3906,23.6797)
+.. controls (445.7240,25.4997) and (447.3906,27.9400) .. (449.3906,31.0000)
+-- (461.0000,31.0000)
+-- (460.9609,29.3496)
+arc(93.993 \@@_colon 99.742 \@@_colon 10.750)
+arc(97.045 \@@_colon 105.575 \@@_colon 8.570)
+arc(113.063 \@@_colon 139.958 \@@_colon 5.350)
+.. controls (455.8406,26.7202) and (455.2798,26.0402) .. (454.8398,25.4902)
+.. controls (453.4598,23.7702) and (452.1198,22.0795) .. (450.8398,20.4395)
+.. controls (449.5598,18.7995) and (448.4707,17.3496) .. (447.4707,16.0996)
+arc(76.584 \@@_colon 46.535 \@@_colon 12.150)
+arc(42.126 \@@_colon -2.838 \@@_colon 7.080)
+arc(3.058 \@@_colon -60.424 \@@_colon 5.840)
+.. controls (449.9209,1.4227) and (447.0433,0.8301) .. (443.2500,0.8301)
+-- (426.3105,0.8301)
+-- cycle(494.4609,0.8301)
+-- (494.4609,2.4902)
+.. controls (494.9409,2.5502) and (495.5197,2.6508) .. (496.1797,2.8008)
+arc(281.385 \@@_colon 290.388 \@@_colon 10.000)
+arc(289.495 \@@_colon 329.630 \@@_colon 2.060)
+arc(-25.631 \@@_colon 0.648 \@@_colon 2.860)
+-- (499.0605,26.8203)
+arc(-1.938 \@@_colon 26.622 \@@_colon 2.760)
+arc(32.131 \@@_colon 72.134 \@@_colon 2.000)
+arc(73.008 \@@_colon 88.539 \@@_colon 5.770)
+-- (494.4609,29.3691)
+-- (494.4609,31.0000)
+-- (511.2109,31.0000)
+-- (511.2109,29.3691)
+arc(94.080 \@@_colon 100.329 \@@_colon 16.000)
+arc(98.399 \@@_colon 109.745 \@@_colon 7.720)
+arc(109.466 \@@_colon 148.422 \@@_colon 2.120)
+arc(153.559 \@@_colon 181.402 \@@_colon 2.790)
+-- (506.6094,5.1895)
+arc(178.843 \@@_colon 205.035 \@@_colon 3.000)
+arc(208.456 \@@_colon 256.018 \@@_colon 1.740)
+arc(253.096 \@@_colon 263.723 \@@_colon 8.870)
+-- (511.2109,2.4902)
+-- (511.2109,0.8301)
+-- (494.4609,0.8301)
+-- cycle(515.4199,0.8301)
+-- (515.4199,9.4707)
+-- (517.0801,9.4707)
+arc(199.917 \@@_colon 214.179 \@@_colon 18.770)
+.. controls (520.1692,3.8403) and (521.0609,3.0495) .. (521.8809,2.9395)
+.. controls (522.3309,2.8795) and (522.8406,2.8591) .. (523.5606,2.7891)
+.. controls (524.2805,2.7191) and (524.7993,2.7207) .. (525.2793,2.7207)
+-- (526.2793,2.7207)
+-- (526.2793,26.6406)
+arc(-1.763 \@@_colon 24.984 \@@_colon 3.000)
+arc(28.954 \@@_colon 71.921 \@@_colon 1.930)
+arc(71.684 \@@_colon 86.774 \@@_colon 5.890)
+-- (521.6602,29.3691)
+-- (521.6602,31.0000)
+-- (538.4902,31.0000)
+-- (538.4902,29.3691)
+.. controls (538.0102,29.3191) and (537.4202,29.2201) .. (536.7402,29.0801)
+arc(99.232 \@@_colon 109.602 \@@_colon 8.680)
+arc(109.481 \@@_colon 151.451 \@@_colon 2.000)
+arc(155.749 \@@_colon 180.707 \@@_colon 3.190)
+-- (533.8496,2.7207)
+-- (534.8496,2.7207)
+.. controls (535.3296,2.7207) and (535.9103,2.7891) .. (536.5703,2.7891)
+.. controls (537.2370,2.8291) and (537.7967,2.8795) .. (538.2500,2.9395)
+.. controls (539.0700,3.0495) and (539.9297,3.8403) .. (540.9297,5.3203)
+arc(325.630 \@@_colon 340.231 \@@_colon 18.340)
+-- (544.7109,9.4707)
+-- (544.6894,0.8301)
+-- (515.4199,0.8301)
+-- cycle(546.3203,0.8301)
+-- (546.3203,2.5293)
+arc(274.352 \@@_colon 281.866 \@@_colon 11.410)
+arc(281.176 \@@_colon 297.713 \@@_colon 5.120)
+arc(300.636 \@@_colon 314.444 \@@_colon 7.920)
+arc(315.843 \@@_colon 329.083 \@@_colon 10.330)
+.. controls (553.0704,7.7793) and (554.0503,9.3894) .. (555.0703,11.1094)
+.. controls (556.0903,12.8294) and (557.1502,14.6405) .. (558.2402,16.5605)
+-- (559.1797,18.1797)
+arc(328.634 \@@_colon 337.345 \@@_colon 7.390)
+arc(343.002 \@@_colon 357.829 \@@_colon 3.500)
+-- (559.8398,21.3008)
+-- (559.8398,26.6309)
+arc(-1.565 \@@_colon 25.408 \@@_colon 3.000)
+arc(29.461 \@@_colon 70.395 \@@_colon 2.000)
+arc(72.291 \@@_colon 86.160 \@@_colon 6.620)
+.. controls (556.2002,29.2892) and (555.5992,29.3691) .. (555.1992,29.3691)
+-- (555.1992,31.0000)
+-- (572.0293,31.0000)
+-- (572.0293,29.3691)
+arc(95.978 \@@_colon 103.116 \@@_colon 14.000)
+arc(99.928 \@@_colon 108.694 \@@_colon 10.340)
+arc(110.266 \@@_colon 150.752 \@@_colon 2.090)
+arc(154.620 \@@_colon 181.031 \@@_colon 3.000)
+-- (567.3906,22.1309)
+arc(177.823 \@@_colon 191.373 \@@_colon 14.250)
+arc(199.682 \@@_colon 214.925 \@@_colon 11.750)
+.. controls (570.2798,14.0998) and (571.4004,12.3593) .. (572.4004,10.7793)
+.. controls (573.4137,9.1793) and (574.3808,7.7142) .. (575.3008,6.3809)
+arc(214.659 \@@_colon 221.527 \@@_colon 18.790)
+arc(221.840 \@@_colon 240.673 \@@_colon 6.390)
+arc(238.438 \@@_colon 254.119 \@@_colon 4.840)
+arc(253.522 \@@_colon 263.919 \@@_colon 7.880)
+-- (580.9297,0.8301)
+-- (569.7402,0.8301)
+-- (569.7402,2.5098)
+arc(270.274 \@@_colon 289.118 \@@_colon 8.890)
+arc(284.208 \@@_colon 356.060 \@@_colon 1.210)
+arc(16.389 \@@_colon 35.409 \@@_colon 10.460)
+.. controls (570.9764,8.8992) and (569.1276,11.8806) .. (566.4609,16.1406)
+.. controls (565.1109,13.9706) and (564.0394,12.0907) .. (563.1094,10.4707)
+.. controls (562.1794,8.8507) and (561.5300,7.6402) .. (561.0000,6.6602)
+.. controls (560.4700,5.6802) and (560.1104,4.9602) .. (559.9004,4.4902)
+arc(153.033 \@@_colon 170.383 \@@_colon 3.280)
+.. controls (559.5898,3.2408) and (559.8699,3.0003) .. (560.4199,2.8203)
+arc(257.208 \@@_colon 271.054 \@@_colon 13.390)
+-- (563.6309,0.8301)
+-- (546.3203,0.8301)
+-- cycle(438.3105,2.7695)
+-- (440.0000,2.7695)
+arc(266.417 \@@_colon 305.892 \@@_colon 7.400)
+arc(-46.955 \@@_colon 5.118 \@@_colon 5.390)
+.. controls (446.4902,10.9534) and (445.9193,12.6829) .. (444.7793,13.7695)
+arc(49.023 \@@_colon 93.595 \@@_colon 6.750)
+-- (438.3105,15.4102)
+-- (438.3105,2.7695)
+-- cycle(52.5898,7.9004)
+-- (57.0000,18.8203)
+-- (48.2793,18.8203)
+-- (52.5898,7.9004)
+-- cycle;
+}
+\def \@@_path_motto{
+ (60.0000,0.0000)
+.. controls (58.8800,0.8600) and (59.4102,2.3309) .. (59.1602,3.4609)
+.. controls (59.0402,4.0109) and (58.5600,4.5094) .. (58.5000,5.1094)
+.. controls (58.0000,9.9994) and (62.8407,13.0006) .. (63.4707,16.6406)
+.. controls (61.8407,16.6006) and (61.2598,17.5807) .. (59.8398,17.4707)
+.. controls (57.9798,17.3307) and (56.3603,15.6703) .. (54.5703,15.8203)
+.. controls (52.4103,16.0003) and (51.7509,17.8007) .. (49.6309,17.4707)
+.. controls (48.0909,17.2307) and (46.5099,14.9000) .. (45.1699,15.0000)
+.. controls (44.2599,15.0600) and (42.3999,17.2891) .. (42.1699,18.2891)
+arc(187.367 \@@_colon 177.169 \@@_colon 24.160)
+.. controls (42.1500,25.5101) and (43.5905,27.9998) .. (43.8105,30.8398)
+.. controls (44.1405,34.6298) and (43.8804,39.9492) .. (42.6504,43.1992)
+arc(21.762 \@@_colon 34.803 \@@_colon 42.850)
+.. controls (35.6891,55.1995) and (33.2607,58.8898) .. (29.4707,60.0098)
+.. controls (29.4107,62.6198) and (28.5307,65.5698) .. (30.4707,67.0898)
+.. controls (32.2207,68.4698) and (35.2606,68.2500) .. (37.3906,68.2500)
+.. controls (39.6606,66.5100) and (40.5800,63.5200) .. (42.0000,61.0000)
+arc(29.236 \@@_colon 12.516 \@@_colon 44.390)
+.. controls (47.4496,45.3195) and (48.6202,41.5105) .. (48.9102,38.2305)
+.. controls (49.3402,33.2805) and (48.4503,29.1109) .. (49.0703,25.3809)
+.. controls (54.7903,24.6609) and (61.2194,22.2299) .. (67.8594,21.9199)
+.. controls (69.2694,22.5899) and (69.7400,25.0891) .. (70.0000,26.3691)
+.. controls (67.3100,26.7191) and (63.3397,27.4400) .. (60.1797,28.0000)
+.. controls (59.3297,26.9100) and (58.7207,26.0398) .. (56.7207,26.5098)
+arc(240.342 \@@_colon 224.877 \@@_colon 13.100)
+.. controls (53.2199,29.4304) and (53.3499,30.6491) .. (52.9199,31.7891)
+.. controls (52.4899,32.9291) and (51.8299,33.4698) .. (51.9199,34.0898)
+.. controls (52.1299,35.2298) and (54.3999,36.1105) .. (54.9199,37.2305)
+.. controls (55.6199,38.7705) and (54.8701,39.4105) .. (55.0801,41.2305)
+.. controls (57.6701,43.7705) and (56.8994,48.7109) .. (60.3594,50.1309)
+.. controls (60.9194,50.3609) and (61.6599,50.1291) .. (62.1699,50.2891)
+.. controls (62.8899,50.5291) and (63.3105,51.3691) .. (64.3105,51.1191)
+.. controls (65.7605,46.9291) and (64.9102,39.4408) .. (63.4902,35.3008)
+arc(226.278 \@@_colon 292.112 \@@_colon 3.240)
+.. controls (68.5492,33.5006) and (71.1308,33.3399) .. (73.0508,32.1699)
+.. controls (75.9808,35.7099) and (75.9093,40.5695) .. (74.5293,45.0195)
+.. controls (74.0393,46.5795) and (73.7109,48.3907) .. (73.2109,49.4707)
+.. controls (72.6109,50.7607) and (71.1902,51.1794) .. (70.7402,52.1094)
+.. controls (72.4802,52.5394) and (73.3595,56.0605) .. (75.1895,55.7305)
+.. controls (76.2295,55.5505) and (76.5101,53.3595) .. (77.3301,52.4395)
+.. controls (78.1501,51.5195) and (78.9707,51.5192) .. (79.9707,50.9492)
+.. controls (80.2907,50.1992) and (80.8791,49.7806) .. (81.2891,49.1406)
+arc(152.633 \@@_colon 141.297 \@@_colon 79.590)
+.. controls (90.6094,65.9603) and (94.2794,68.0105) .. (96.6094,70.5605)
+.. controls (101.6494,71.0505) and (106.5494,71.9809) .. (111.9394,71.8809)
+.. controls (112.2194,70.3809) and (113.7201,69.4698) .. (114.5801,67.7598)
+.. controls (115.4401,66.0498) and (114.7301,63.7599) .. (114.5801,61.6699)
+.. controls (114.5101,60.7399) and (115.0600,59.5395) .. (113.7500,59.1895)
+.. controls (111.1200,61.6095) and (108.6602,58.2795) .. (106.6602,57.1895)
+.. controls (105.6802,57.1695) and (104.3891,58.6300) .. (103.0391,58.5000)
+.. controls (101.6891,58.3700) and (101.2604,56.3691) .. (100.4004,55.3691)
+arc(316.237 \@@_colon 304.151 \@@_colon 13.310)
+.. controls (97.8498,53.2805) and (97.1593,53.2204) .. (96.7793,52.9004)
+.. controls (96.2393,52.4504) and (96.0309,51.5798) .. (95.4609,51.0898)
+.. controls (94.4509,50.2098) and (93.0800,49.7195) .. (92.0000,48.9395)
+arc(127.975 \@@_colon 136.649 \@@_colon 33.880)
+.. controls (86.4309,43.7302) and (83.9398,41.7904) .. (83.7598,39.4004)
+.. controls (83.5498,36.1204) and (86.1098,33.7304) .. (86.7598,31.6504)
+.. controls (86.9798,30.9504) and (86.5998,30.2904) .. (87.0898,29.6504)
+.. controls (86.0998,28.7304) and (86.5993,27.1294) .. (85.7793,26.3594)
+.. controls (84.4293,25.0994) and (82.8402,26.7297) .. (81.1602,27.1797)
+.. controls (80.9902,28.6197) and (79.8202,30.4809) .. (79.1602,31.9609)
+.. controls (77.4402,30.7609) and (76.6992,28.6895) .. (75.6992,26.6895)
+arc(150.585 \@@_colon 177.781 \@@_colon 10.210)
+.. controls (77.8006,21.0903) and (81.7106,21.9297) .. (84.3906,19.9297)
+.. controls (85.4906,19.0997) and (85.8594,17.8209) .. (86.8594,16.6309)
+.. controls (86.2994,14.9709) and (87.1294,12.7794) .. (86.8594,11.3594)
+.. controls (84.8294,10.2294) and (83.5996,8.3605) .. (80.5996,8.2305)
+.. controls (79.7896,9.0605) and (78.7991,9.2291) .. (78.1191,10.3691)
+.. controls (77.2591,11.8391) and (77.6205,13.9302) .. (76.4805,14.9902)
+.. controls (75.3405,16.0502) and (73.8195,15.4702) .. (72.1895,15.9902)
+.. controls (69.6095,11.7502) and (69.9391,4.6309) .. (64.1191,3.6309)
+arc(329.900 \@@_colon 292.889 \@@_colon 8.650)
+-- cycle(353.2598,2.6992)
+.. controls (350.4398,3.0792) and (348.4102,5.6309) .. (347.6602,8.6309)
+.. controls (346.1602,9.8009) and (344.7209,11.2197) .. (342.8809,11.9297)
+.. controls (342.1009,12.2197) and (341.1502,12.1799) .. (340.4102,12.4199)
+.. controls (338.3102,13.1099) and (336.6805,14.9907) .. (334.3105,15.2207)
+arc(187.700 \@@_colon 122.301 \@@_colon 4.380)
+.. controls (338.5206,19.3798) and (341.0404,19.5297) .. (342.9004,18.6797)
+arc(-28.568 \@@_colon 4.754 \@@_colon 5.580)
+.. controls (343.5206,24.3505) and (343.5806,28.1691) .. (343.3906,31.0391)
+.. controls (343.2206,33.7391) and (343.8505,35.3809) .. (343.5605,37.9609)
+.. controls (343.2706,40.5409) and (344.0405,44.1791) .. (343.5605,46.3691)
+.. controls (343.4305,46.9391) and (342.9904,47.3296) .. (342.9004,47.8496)
+.. controls (341.1804,57.2296) and (343.2102,67.1393) .. (341.7402,76.0293)
+.. controls (342.2902,75.3593) and (342.5605,76.6994) .. (343.2305,76.3594)
+.. controls (343.1405,76.7694) and (342.5905,76.7194) .. (342.7305,77.3594)
+.. controls (344.0305,77.0894) and (343.8505,78.2494) .. (344.7305,78.3594)
+.. controls (346.3905,77.3794) and (347.2298,75.5905) .. (349.0098,74.7305)
+.. controls (351.5098,69.8205) and (348.1596,63.8299) .. (349.3496,58.4199)
+.. controls (355.4196,58.3099) and (362.1309,59.3802) .. (368.1309,59.2402)
+.. controls (369.5009,60.5602) and (371.8003,60.9805) .. (374.0703,60.5605)
+.. controls (375.6303,59.2105) and (376.6696,57.3394) .. (378.3496,56.1094)
+.. controls (378.0096,54.2894) and (380.1996,51.9898) .. (378.3496,50.8398)
+.. controls (373.8496,51.7098) and (368.5293,54.0704) .. (362.5293,53.1504)
+.. controls (363.8593,51.4204) and (361.1094,49.4891) .. (362.8594,47.8691)
+.. controls (364.7894,47.9791) and (366.9909,48.2691) .. (368.4609,48.3691)
+arc(272.435 \@@_colon 304.099 \@@_colon 1.930)
+arc(57.383 \@@_colon 47.369 \@@_colon 15.470)
+.. controls (372.3596,46.4508) and (372.8396,45.6308) .. (373.5996,45.0508)
+.. controls (374.2696,43.7508) and (374.4301,42.8300) .. (375.0801,41.7500)
+.. controls (374.3601,41.9100) and (374.2199,41.0000) .. (374.4199,40.7500)
+arc(60.001 \@@_colon 96.781 \@@_colon 9.060)
+.. controls (366.5203,43.0804) and (364.9706,42.4807) .. (362.3906,42.7207)
+.. controls (362.5906,40.6107) and (361.9906,39.1894) .. (362.3906,37.6094)
+.. controls (364.2806,37.8794) and (366.2901,37.5095) .. (367.8301,37.9395)
+.. controls (370.0401,36.6395) and (372.3295,35.4198) .. (372.9395,32.5098)
+.. controls (369.9694,31.2198) and (365.8306,33.6699) .. (362.0605,32.6699)
+.. controls (362.2505,30.7999) and (361.8206,29.7705) .. (362.3906,28.0605)
+.. controls (364.6706,28.2005) and (366.9101,27.4708) .. (368.3301,28.5508)
+arc(75.257 \@@_colon 26.799 \@@_colon 12.130)
+arc(334.866 \@@_colon 312.874 \@@_colon 5.870)
+.. controls (370.7200,21.1205) and (366.2102,23.0091) .. (361.4102,22.1191)
+.. controls (360.9202,22.0391) and (360.5698,21.6809) .. (360.0898,21.6309)
+.. controls (358.4698,21.4609) and (356.8307,22.1591) .. (355.4707,21.7891)
+arc(222.648 \@@_colon 242.478 \@@_colon 18.100)
+arc(212.246 \@@_colon 258.188 \@@_colon 8.220)
+.. controls (367.2695,12.3398) and (370.2406,11.7501) .. (370.1406,8.0801)
+.. controls (366.0006,7.2101) and (360.4601,9.0600) .. (357.5801,7.0000)
+.. controls (357.0101,6.5600) and (356.8498,5.6300) .. (356.2598,5.0000)
+.. controls (355.2598,3.9800) and (353.9998,3.6992) .. (353.2598,2.6992)
+-- cycle(215.9961,4.4961)
+.. controls (215.1517,4.4622) and (214.3191,4.5801) .. (213.6191,4.8301)
+.. controls (212.8191,5.1201) and (211.7504,4.9102) .. (211.1504,5.4902)
+.. controls (211.7704,8.7002) and (212.4606,15.2402) .. (211.6406,19.4902)
+arc(90.548 \@@_colon 125.986 \@@_colon 3.460)
+.. controls (208.2006,14.3901) and (210.4998,8.6401) .. (207.0098,5.8301)
+.. controls (203.6398,5.6501) and (199.0394,4.5004) .. (198.1094,7.6504)
+arc(185.858 \@@_colon 166.172 \@@_colon 6.740)
+.. controls (198.6395,12.2692) and (199.8298,14.8609) .. (199.7598,16.7109)
+.. controls (198.5698,16.7109) and (198.2891,15.7109) .. (197.1191,15.7109)
+.. controls (197.5491,14.2409) and (195.3408,14.6609) .. (195.8008,13.7109)
+.. controls (193.0408,12.4309) and (189.5291,15.3198) .. (189.0391,16.8398)
+arc(190.196 \@@_colon 155.554 \@@_colon 6.770)
+.. controls (190.6391,23.1698) and (194.2806,24.2792) .. (195.6406,25.9492)
+.. controls (191.9906,26.7192) and (187.4996,25.8693) .. (184.0996,25.7793)
+.. controls (182.5896,26.7293) and (180.7107,28.5805) .. (181.4707,30.7305)
+.. controls (183.5307,32.1705) and (187.4494,30.5304) .. (190.8594,30.4004)
+arc(86.581 \@@_colon 70.642 \@@_colon 15.160)
+arc(260.612 \@@_colon 269.674 \@@_colon 36.650)
+.. controls (200.4300,31.7201) and (197.3700,33.2902) .. (197.7500,36.6602)
+.. controls (198.6400,36.9802) and (198.9807,38.1507) .. (200.2207,38.4707)
+.. controls (201.6807,38.8607) and (204.1297,37.8291) .. (203.6797,40.2891)
+.. controls (201.8697,41.1291) and (198.6798,40.2191) .. (196.7598,40.6191)
+.. controls (194.2998,41.1191) and (193.9096,43.7402) .. (196.0996,44.4102)
+.. controls (198.2896,45.0802) and (202.5098,43.7601) .. (204.5098,44.0801)
+.. controls (205.0698,44.6001) and (204.8699,46.4309) .. (204.6699,47.2109)
+.. controls (202.8999,46.4709) and (200.5204,47.4591) .. (198.9004,47.3691)
+.. controls (198.2104,47.3391) and (197.7898,46.7509) .. (197.0898,46.8809)
+.. controls (195.2798,47.2109) and (195.0091,49.4902) .. (194.6191,51.4902)
+.. controls (195.5991,52.9902) and (197.0802,52.1102) .. (198.4102,51.9902)
+arc(265.152 \@@_colon 274.848 \@@_colon 40.940)
+arc(197.514 \@@_colon 183.150 \@@_colon 7.360)
+.. controls (201.5500,54.8208) and (198.6094,53.9591) .. (195.6094,55.1191)
+.. controls (192.8094,54.4791) and (187.7691,52.6695) .. (187.3691,56.7695)
+arc(188.243 \@@_colon 96.786 \@@_colon 2.640)
+.. controls (191.8599,59.8395) and (194.5897,59.0592) .. (196.9297,58.9492)
+arc(265.042 \@@_colon 272.144 \@@_colon 55.880)
+.. controls (202.0296,63.3593) and (198.4805,68.6604) .. (192.4805,70.1504)
+.. controls (190.4805,70.1204) and (188.5305,70.6600) .. (187.4805,69.5000)
+.. controls (187.2105,64.0400) and (183.5008,68.6602) .. (181.5508,69.6602)
+.. controls (181.5408,71.2402) and (182.3209,72.0102) .. (182.2109,73.6602)
+.. controls (183.1209,74.2802) and (184.6198,74.3206) .. (185.3398,75.1406)
+.. controls (188.7498,75.2006) and (191.7403,75.6906) .. (194.5703,75.1406)
+.. controls (202.1603,73.6506) and (206.5402,66.7306) .. (208.9102,60.1406)
+.. controls (210.9902,61.4806) and (213.6602,62.6906) .. (215.6602,64.1406)
+.. controls (217.1602,65.2606) and (218.3293,66.9298) .. (219.7793,68.2598)
+.. controls (223.2993,71.5098) and (228.2993,73.8798) .. (232.7793,75.5098)
+.. controls (233.9193,75.9098) and (234.8693,76.7601) .. (235.7793,76.8301)
+.. controls (236.6893,76.9001) and (237.9902,76.1200) .. (238.9102,76.0000)
+.. controls (239.2802,75.9500) and (239.6606,76.1699) .. (240.0606,76.1699)
+.. controls (241.8305,76.0099) and (244.0001,74.6796) .. (245.8301,74.3496)
+arc(81.007 \@@_colon 69.274 \@@_colon 25.000)
+.. controls (249.1195,71.0191) and (245.3793,72.4908) .. (243.0293,71.5508)
+.. controls (244.2393,70.5508) and (247.4406,71.5508) .. (247.6406,69.5508)
+.. controls (246.9106,68.8708) and (246.1898,69.5508) .. (245.3398,69.5508)
+.. controls (243.1198,69.5508) and (240.7002,68.5707) .. (238.4102,68.7207)
+.. controls (236.7402,68.8307) and (235.5791,69.2707) .. (234.2891,68.7207)
+.. controls (232.9991,68.1707) and (232.5600,66.8102) .. (231.0000,66.4102)
+.. controls (230.5200,65.9402) and (230.4796,66.7301) .. (229.8496,66.5801)
+arc(304.871 \@@_colon 292.929 \@@_colon 34.420)
+.. controls (222.5001,63.4691) and (222.0592,62.9492) .. (220.9492,62.9492)
+.. controls (217.9592,60.4492) and (213.2005,59.6895) .. (210.7305,56.6895)
+.. controls (214.3105,56.9195) and (218.1796,56.3593) .. (222.0996,56.5293)
+.. controls (224.3296,56.6193) and (226.5495,57.4296) .. (228.6894,57.3496)
+.. controls (231.6795,57.2496) and (236.8896,54.6501) .. (236.5996,51.5801)
+.. controls (236.3796,51.4201) and (235.9394,51.4298) .. (235.9394,51.0898)
+.. controls (231.9694,52.2898) and (228.0801,51.9902) .. (224.0801,52.4102)
+.. controls (219.6101,53.9002) and (215.0804,53.4405) .. (210.4004,53.2305)
+.. controls (210.2204,52.5605) and (210.4604,52.3299) .. (210.4004,51.4199)
+.. controls (212.1904,51.5299) and (214.3301,50.8598) .. (216.3301,50.7598)
+arc(98.462 \@@_colon 90.694 \@@_colon 14.810)
+.. controls (220.8001,50.5199) and (221.7192,48.1505) .. (222.4492,45.8105)
+.. controls (218.0892,43.2605) and (214.7592,46.0806) .. (210.4492,46.6406)
+.. controls (209.6392,45.7006) and (210.5391,45.0199) .. (209.7891,44.1699)
+.. controls (212.6091,42.7199) and (217.8300,43.6594) .. (221.0000,41.8594)
+.. controls (220.4900,40.7894) and (220.7399,39.6405) .. (220.6699,38.5605)
+.. controls (216.7999,37.8405) and (213.9492,40.5207) .. (210.4492,39.7207)
+.. controls (210.0892,33.5607) and (223.6792,40.7592) .. (221.6992,32.6992)
+.. controls (220.7592,31.0592) and (218.2492,30.2000) .. (218.6992,27.7500)
+.. controls (225.1392,26.5800) and (228.8392,28.6401) .. (233.6992,28.0801)
+.. controls (236.0792,27.8001) and (239.1109,26.4208) .. (239.9609,23.8008)
+.. controls (238.5909,22.8008) and (237.4098,23.6308) .. (235.8398,23.8008)
+.. controls (232.9298,24.1408) and (229.9596,22.9506) .. (227.0996,23.1406)
+.. controls (224.7996,23.3006) and (222.6797,23.2308) .. (220.6797,23.3008)
+.. controls (219.3597,22.0408) and (219.7696,20.3595) .. (219.8496,18.6895)
+arc(277.958 \@@_colon 287.822 \@@_colon 34.420)
+.. controls (226.1391,18.8798) and (228.4391,18.1992) .. (228.6191,17.1992)
+.. controls (228.9391,15.3892) and (229.6495,13.1094) .. (229.9394,11.1094)
+.. controls (228.9895,9.6094) and (227.7704,10.4894) .. (225.6504,10.6094)
+.. controls (224.8504,10.6594) and (224.0598,10.3192) .. (223.5098,10.4492)
+.. controls (222.3898,10.6992) and (221.5891,11.8296) .. (220.8691,12.0996)
+.. controls (220.4891,13.9996) and (220.7608,15.5391) .. (219.5508,16.5391)
+.. controls (220.5808,15.2191) and (220.0009,12.6192) .. (220.2109,10.4492)
+.. controls (220.2509,10.0792) and (220.7109,9.7292) .. (220.7109,9.4492)
+.. controls (221.1759,6.0667) and (218.5292,4.5978) .. (215.9961,4.4961)
+-- cycle(15.6348,4.9082)
+.. controls (12.3158,4.8842) and (10.6020,6.8199) .. (8.0801,7.4199)
+.. controls (7.3301,9.2099) and (5.4795,9.6791) .. (4.9395,11.3691)
+arc(194.003 \@@_colon 165.997 \@@_colon 9.880)
+.. controls (5.6595,18.5004) and (8.2905,19.4199) .. (9.0605,21.4199)
+.. controls (7.0005,23.7099) and (4.5800,26.4309) .. (0.0000,25.7109)
+.. controls (0.2600,28.4309) and (0.8809,30.3305) .. (3.1309,31.3105)
+.. controls (6.1609,31.3405) and (9.1294,30.3802) .. (12.3594,29.9902)
+.. controls (19.1294,29.1902) and (24.6403,26.7895) .. (30.8203,27.5195)
+.. controls (31.1703,25.9695) and (34.5295,25.5404) .. (34.9395,23.9004)
+.. controls (35.0095,23.5804) and (34.6794,23.0001) .. (34.6094,22.5801)
+.. controls (34.3994,21.3601) and (34.5593,20.3195) .. (33.7793,19.9395)
+.. controls (32.9993,19.5595) and (30.6701,20.7498) .. (29.3301,21.0898)
+.. controls (27.1001,21.6598) and (25.1303,21.4600) .. (23.5703,21.7500)
+.. controls (20.7003,22.2900) and (17.8301,23.3704) .. (14.8301,23.9004)
+-- (6.2598,25.3809)
+.. controls (7.7598,22.3009) and (11.1299,22.8701) .. (14.1699,22.5801)
+.. controls (16.9999,22.3101) and (18.9999,20.8692) .. (21.4199,19.4492)
+.. controls (24.2299,17.8392) and (27.6203,18.2209) .. (30.3203,17.6309)
+.. controls (32.4603,16.1509) and (32.8894,12.8309) .. (34.1094,10.8809)
+.. controls (33.6794,9.9109) and (33.4607,7.7400) .. (31.9707,7.2500)
+.. controls (30.0807,6.5800) and (25.9801,8.1301) .. (22.5801,7.5801)
+.. controls (20.1501,7.1901) and (18.5403,5.1295) .. (16.3203,4.9395)
+.. controls (16.0841,4.9195) and (15.8560,4.9098) .. (15.6348,4.9082)
+-- cycle(314.4922,6.1895)
+.. controls (313.3317,6.1663) and (312.2541,6.3661) .. (311.3203,7.0898)
+.. controls (310.7403,10.8998) and (309.6504,14.9609) .. (311.6504,17.9609)
+.. controls (314.7404,19.7909) and (315.5002,15.0202) .. (318.2402,15.4902)
+.. controls (317.9202,17.2202) and (317.3499,18.6695) .. (316.9199,20.2695)
+.. controls (312.6099,21.8895) and (307.8005,19.7309) .. (304.2305,17.9609)
+arc(62.687 \@@_colon 98.679 \@@_colon 3.280)
+.. controls (300.2605,20.4891) and (298.4694,22.8792) .. (298.1094,26.6992)
+.. controls (298.3594,29.5192) and (300.2003,30.7607) .. (301.5703,32.4707)
+.. controls (303.1503,32.9407) and (306.1800,32.1807) .. (308.0000,32.4707)
+arc(37.346 \@@_colon 55.513 \@@_colon 66.440)
+arc(63.880 \@@_colon 76.856 \@@_colon 39.510)
+.. controls (282.4506,50.3097) and (281.3693,50.8698) .. (279.7793,50.7598)
+.. controls (279.2193,51.9298) and (277.8506,52.0305) .. (277.6406,53.2305)
+.. controls (277.3306,54.9705) and (279.1998,57.3497) .. (281.2598,57.6797)
+.. controls (283.6398,58.0497) and (286.1797,57.0894) .. (288.1797,56.8594)
+.. controls (296.1397,52.0694) and (303.1495,45.0703) .. (309.4395,38.0703)
+.. controls (310.9495,41.1703) and (308.8394,44.9692) .. (309.1094,48.4492)
+.. controls (309.4194,52.3192) and (310.7402,56.6101) .. (312.7402,58.8301)
+.. controls (313.8302,58.4401) and (313.9509,57.0693) .. (314.8809,56.5293)
+.. controls (320.6109,57.6993) and (324.3709,54.6094) .. (329.8809,56.3594)
+.. controls (331.4509,55.0594) and (331.0609,52.7998) .. (331.8809,50.5898)
+.. controls (332.1209,49.9398) and (332.6492,49.4995) .. (332.6992,48.9395)
+arc(354.150 \@@_colon 343.073 \@@_colon 8.660)
+.. controls (332.0691,44.2708) and (333.2791,41.7807) .. (333.3691,39.2207)
+.. controls (333.9491,38.6507) and (334.1992,36.7499) .. (333.1992,36.4199)
+.. controls (332.1992,36.7999) and (331.5003,37.4704) .. (330.5703,37.9004)
+arc(291.672 \@@_colon 268.993 \@@_colon 4.680)
+.. controls (325.1098,38.8103) and (320.3004,36.8603) .. (315.9004,37.5703)
+.. controls (315.3704,36.3003) and (313.9196,35.9395) .. (313.0996,34.9395)
+.. controls (314.4896,33.7995) and (315.0407,31.8205) .. (316.7207,31.3105)
+.. controls (319.4807,30.4805) and (323.1106,31.6705) .. (324.6406,31.8105)
+arc(92.820 \@@_colon 78.273 \@@_colon 25.430)
+.. controls (331.6805,31.7605) and (332.4606,32.0207) .. (333.0605,32.4707)
+.. controls (336.2905,30.1807) and (339.0502,26.4998) .. (338.6602,21.5898)
+.. controls (337.4602,21.9198) and (337.3797,21.1095) .. (337.1797,20.4395)
+arc(80.701 \@@_colon 96.443 \@@_colon 46.930)
+.. controls (325.3401,17.2198) and (327.9295,13.9407) .. (329.2695,10.2207)
+.. controls (328.8595,7.1207) and (326.3496,6.3998) .. (323.3496,6.2598)
+arc(263.417 \@@_colon 255.124 \@@_colon 18.570)
+.. controls (318.5922,6.8848) and (316.4264,6.2280) .. (314.4922,6.1895)
+-- cycle(462.2559,6.9688)
+.. controls (461.6466,6.9612) and (461.0269,7.0455) .. (460.4395,7.2305)
+.. controls (459.8295,7.7405) and (460.6292,8.7305) .. (459.9492,9.2305)
+.. controls (454.2592,9.6205) and (450.3592,10.1409) .. (444.9492,10.3809)
+.. controls (443.1292,13.2909) and (445.6105,15.0102) .. (449.2305,15.1602)
+.. controls (453.0705,15.3202) and (458.1895,13.7001) .. (460.4395,14.8301)
+arc(6.668 \@@_colon 13.188 \@@_colon 25.000)
+arc(77.430 \@@_colon 97.447 \@@_colon 10.940)
+.. controls (454.7204,17.7908) and (452.8708,18.2891) .. (451.0508,18.2891)
+arc(276.115 \@@_colon 270.328 \@@_colon 27.880)
+.. controls (446.8202,18.3409) and (443.4707,19.5709) .. (443.4707,21.1309)
+.. controls (443.4907,22.9209) and (446.7903,23.6995) .. (448.5703,23.7695)
+.. controls (450.9303,23.8595) and (452.5098,23.4395) .. (454.5098,23.4395)
+.. controls (455.9898,23.4295) and (457.8994,23.1493) .. (460.1094,23.2793)
+.. controls (460.5894,24.5993) and (460.9493,25.6202) .. (460.2793,26.7402)
+.. controls (458.1393,26.4902) and (455.4994,27.2304) .. (452.8594,26.9004)
+.. controls (451.5494,26.7504) and (450.4004,25.7500) .. (449.4004,25.7500)
+.. controls (445.8904,25.6900) and (444.2098,30.4198) .. (446.7598,32.8398)
+.. controls (446.6598,35.0898) and (447.2497,37.6298) .. (446.9297,40.0898)
+arc(140.022 \@@_colon 111.776 \@@_colon 4.580)
+.. controls (450.1302,41.8004) and (450.8993,40.6300) .. (452.5293,40.2500)
+.. controls (454.1593,39.8700) and (455.3193,40.4401) .. (456.5293,40.5801)
+.. controls (458.2393,40.7801) and (460.0908,40.2202) .. (461.3008,40.9102)
+arc(186.620 \@@_colon 180.322 \@@_colon 24.080)
+.. controls (456.7506,45.3708) and (450.4805,43.3708) .. (445.4805,42.5508)
+.. controls (445.0805,43.4308) and (443.7005,43.6594) .. (443.4805,44.8594)
+.. controls (443.3305,45.6394) and (443.9707,46.6502) .. (443.9707,47.4902)
+.. controls (443.9807,50.2402) and (442.8202,52.8402) .. (442.1602,54.9102)
+.. controls (440.0402,55.6302) and (437.9491,56.4094) .. (438.0391,59.3594)
+.. controls (445.1291,63.2194) and (453.3895,56.8693) .. (461.2695,58.5293)
+.. controls (461.8395,60.8893) and (461.4694,63.1591) .. (460.9395,65.7891)
+.. controls (461.6895,67.3491) and (461.7398,69.5605) .. (463.0898,70.5605)
+.. controls (464.2798,70.5505) and (465.3709,71.5509) .. (466.7109,71.8809)
+arc(233.547 \@@_colon 242.672 \@@_colon 9.760)
+.. controls (469.4393,67.3805) and (469.0195,62.6193) .. (468.6895,58.5293)
+.. controls (476.5795,57.5493) and (484.0101,58.6792) .. (492.5801,58.1992)
+.. controls (493.3401,58.1592) and (493.9605,57.8809) .. (494.7305,57.8809)
+.. controls (497.0505,57.9609) and (499.2905,58.8991) .. (501.9805,58.0391)
+.. controls (503.4705,57.5691) and (504.4696,56.3803) .. (505.5996,55.5703)
+arc(60.347 \@@_colon 54.074 \@@_colon 30.550)
+.. controls (509.1202,53.0898) and (510.7908,51.0391) .. (510.5508,50.2891)
+.. controls (510.2408,49.2891) and (508.6502,49.6191) .. (507.9102,49.2891)
+.. controls (504.5302,50.7091) and (500.7995,51.9198) .. (498.0195,53.0898)
+.. controls (495.6595,51.7698) and (493.6096,52.7099) .. (491.0996,52.9199)
+.. controls (487.7496,53.1999) and (484.6791,52.7500) .. (481.5391,52.7500)
+.. controls (478.7191,54.5800) and (472.1091,53.2401) .. (467.5391,53.5801)
+.. controls (468.0291,51.8301) and (466.3093,48.5404) .. (468.0293,47.1504)
+.. controls (468.8293,46.4904) and (470.9806,46.6602) .. (473.1406,46.4902)
+arc(262.762 \@@_colon 269.591 \@@_colon 41.560)
+.. controls (482.3201,46.4702) and (485.5703,44.7207) .. (486.8203,41.2207)
+.. controls (485.0703,38.8807) and (482.7909,40.8809) .. (481.2109,41.7109)
+.. controls (477.3609,43.7609) and (471.6609,43.7392) .. (467.2109,43.1992)
+.. controls (466.5909,42.4792) and (466.5009,40.7903) .. (466.3809,40.0703)
+.. controls (470.8109,38.3703) and (476.2807,39.3098) .. (480.7207,37.5898)
+.. controls (485.0907,35.7398) and (484.7404,29.0902) .. (486.6504,24.7402)
+.. controls (484.0104,23.6602) and (480.6698,25.5002) .. (477.5898,25.7402)
+.. controls (476.7698,25.8002) and (475.9591,25.5703) .. (475.1191,25.5703)
+.. controls (471.9591,25.7003) and (468.6606,26.5303) .. (465.3906,26.0703)
+arc(10.501 \@@_colon -10.501 \@@_colon 8.230)
+.. controls (468.5306,21.7703) and (473.4495,22.6400) .. (476.7695,22.2500)
+arc(226.083 \@@_colon 246.432 \@@_colon 8.410)
+arc(41.225 \@@_colon 29.163 \@@_colon 32.610)
+.. controls (484.2794,13.0000) and (486.0501,10.8005) .. (485.8301,8.7305)
+arc(293.995 \@@_colon 275.369 \@@_colon 10.000)
+.. controls (480.9992,8.0002) and (479.2800,9.2606) .. (477.7500,9.3906)
+arc(94.860 \@@_colon 105.804 \@@_colon 9.650)
+.. controls (472.7095,8.7805) and (469.3809,9.4805) .. (466.3809,9.2305)
+.. controls (465.8259,7.8355) and (464.0835,6.9912) .. (462.2559,6.9688)
+-- cycle(439.7324,8.3223)
+.. controls (436.7322,8.2771) and (434.2297,9.5246) .. (432.4297,10.3496)
+arc(66.310 \@@_colon 84.377 \@@_colon 35.250)
+.. controls (421.2407,13.2204) and (420.4502,13.3505) .. (419.9102,13.4805)
+.. controls (417.0202,14.2305) and (413.9100,14.6505) .. (411.5000,16.4805)
+.. controls (410.6700,18.4205) and (409.0809,19.5399) .. (408.2109,21.4199)
+arc(-34.177 \@@_colon 19.106 \@@_colon 2.790)
+.. controls (408.9291,24.2704) and (409.4595,24.5108) .. (409.6895,25.0508)
+.. controls (411.4094,25.6708) and (413.1192,25.2207) .. (415.9492,25.2207)
+.. controls (419.3892,23.2707) and (423.7602,22.7297) .. (427.6602,20.9297)
+.. controls (429.0302,20.2997) and (430.3495,19.3791) .. (431.7695,18.6191)
+.. controls (436.2495,16.2391) and (440.8402,14.4607) .. (442.4902,9.7207)
+.. controls (442.0002,9.0907) and (440.9998,8.9196) .. (440.3398,8.3496)
+.. controls (440.1355,8.3346) and (439.9324,8.3253) .. (439.7324,8.3223)
+-- cycle(171.4688,10.9844)
+.. controls (167.2336,11.1331) and (164.3772,15.7382) .. (162.4609,19.4395)
+.. controls (161.4109,19.2295) and (159.4797,17.9994) .. (158.1797,19.1094)
+.. controls (156.8797,20.2194) and (157.5800,23.3991) .. (159.0000,24.8691)
+.. controls (160.0800,25.9691) and (160.6600,25.8794) .. (162.0000,26.3594)
+.. controls (163.3400,26.8394) and (163.9391,27.6594) .. (165.6191,27.3594)
+arc(185.638 \@@_colon 161.267 \@@_colon 3.530)
+arc(81.047 \@@_colon 90.388 \@@_colon 13.170)
+arc(232.010 \@@_colon 185.494 \@@_colon 4.000)
+.. controls (158.7709,34.4495) and (154.4994,36.2192) .. (149.9394,37.6992)
+arc(50.084 \@@_colon 70.856 \@@_colon 31.520)
+.. controls (139.9008,43.0108) and (139.6508,42.8205) .. (139.5508,42.4805)
+arc(41.189 \@@_colon 33.092 \@@_colon 11.730)
+.. controls (138.1408,42.0102) and (135.6592,42.0708) .. (133.9492,43.8008)
+.. controls (133.7092,43.0708) and (133.5208,44.0508) .. (132.8008,43.8008)
+.. controls (132.8308,44.8108) and (132.1108,45.0996) .. (132.3008,46.0996)
+.. controls (132.6608,47.9896) and (135.7398,48.0096) .. (136.0898,50.0996)
+.. controls (137.9598,51.2996) and (138.5291,50.6598) .. (141.0391,50.7598)
+.. controls (141.0191,50.1998) and (141.6495,50.2598) .. (142.1894,50.2598)
+arc(224.025 \@@_colon 253.752 \@@_colon 6.830)
+arc(224.523 \@@_colon 243.396 \@@_colon 41.000)
+.. controls (156.4006,40.0891) and (156.8908,39.5409) .. (157.5508,39.8809)
+.. controls (157.6108,39.6009) and (157.3008,39.4606) .. (157.5508,39.3906)
+.. controls (158.4208,39.3606) and (159.6798,38.2505) .. (160.8398,38.5605)
+.. controls (161.8898,37.3705) and (164.0592,35.6899) .. (165.9492,36.4199)
+.. controls (166.5092,44.9099) and (165.8693,55.1895) .. (166.2793,64.7695)
+arc(210.068 \@@_colon 189.998 \@@_colon 5.530)
+.. controls (166.7291,68.6001) and (165.6191,70.3498) .. (166.1191,73.0098)
+.. controls (166.8991,72.9398) and (167.1596,73.3899) .. (167.5996,73.6699)
+.. controls (168.2796,73.5099) and (168.3201,72.6198) .. (169.0801,72.5098)
+.. controls (169.9601,72.9598) and (171.2306,72.9999) .. (171.8906,73.6699)
+.. controls (172.5306,73.5999) and (172.5892,72.9398) .. (173.1992,72.8398)
+.. controls (173.3092,72.1298) and (172.3791,72.4595) .. (172.5391,71.6895)
+arc(83.397 \@@_colon 68.531 \@@_colon 5.260)
+.. controls (174.3694,65.0194) and (172.3691,59.5105) .. (173.3691,53.2305)
+.. controls (173.7291,50.8905) and (172.9493,48.4305) .. (173.5293,45.9805)
+.. controls (172.7993,44.5205) and (173.3291,42.6591) .. (173.0391,40.8691)
+.. controls (172.9491,40.3891) and (172.5209,39.9606) .. (172.3809,39.3906)
+.. controls (171.8709,37.4506) and (172.6391,35.5892) .. (172.8691,33.9492)
+.. controls (175.0191,34.4692) and (175.6504,37.1002) .. (177.6504,37.7402)
+.. controls (178.4904,38.0102) and (179.2891,37.4703) .. (180.2891,38.0703)
+.. controls (181.6791,37.4803) and (182.9899,36.8095) .. (183.4199,35.2695)
+arc(342.311 \@@_colon 331.346 \@@_colon 19.690)
+.. controls (179.1495,30.6705) and (175.8691,30.6899) .. (172.8691,29.1699)
+arc(181.455 \@@_colon 196.077 \@@_colon 8.510)
+arc(259.171 \@@_colon 271.077 \@@_colon 47.080)
+.. controls (184.6797,24.7692) and (187.8109,24.7197) .. (187.2109,20.9297)
+.. controls (185.9909,19.7897) and (185.2898,17.7107) .. (183.5898,17.4707)
+.. controls (182.4298,17.3107) and (181.0908,18.5791) .. (179.8008,18.7891)
+.. controls (177.3408,19.1891) and (175.0191,18.6491) .. (172.8691,18.7891)
+.. controls (174.5391,16.4891) and (174.5891,14.0109) .. (173.3691,11.2109)
+.. controls (172.7066,11.0347) and (172.0738,10.9631) .. (171.4688,10.9844)
+-- cycle(353.5000,12.0000)
+.. controls (354.9200,12.3100) and (356.8298,11.5903) .. (357.7598,12.8203)
+arc(36.936 \@@_colon 58.710 \@@_colon 24.720)
+.. controls (349.5998,17.9598) and (347.6506,17.5492) .. (346.3906,16.4492)
+.. controls (347.5006,15.8492) and (349.6100,13.9204) .. (351.5000,13.1504)
+.. controls (352.4000,12.7904) and (353.3000,13.1000) .. (353.5000,12.0000)
+-- cycle(466.3809,13.6797)
+.. controls (468.6809,14.4997) and (471.3809,13.4000) .. (474.1309,14.0000)
+arc(21.939 \@@_colon 52.591 \@@_colon 8.250)
+.. controls (469.7502,17.0307) and (468.0906,17.9808) .. (465.8906,17.3008)
+arc(169.981 \@@_colon 205.439 \@@_colon 6.000)
+-- cycle(198.1797,17.1133)
+.. controls (198.7972,17.1345) and (199.5505,17.3307) .. (200.2305,17.4707)
+.. controls (200.3105,17.8407) and (200.5605,18.3091) .. (200.2305,18.6191)
+.. controls (198.7905,18.3591) and (198.2594,17.9408) .. (196.9394,17.8008)
+.. controls (197.0795,17.2458) and (197.5622,17.0920) .. (198.1797,17.1133)
+-- cycle(210.0000,19.7793)
+arc(-58.166 \@@_colon 21.489 \@@_colon 3.150)
+.. controls (210.6195,23.7594) and (209.7891,23.6595) .. (209.6191,24.2695)
+.. controls (208.6391,23.0095) and (209.8309,21.6895) .. (209.4609,20.2695)
+.. controls (209.8909,20.3695) and (210.0500,20.1993) .. (210.0000,19.7793)
+-- cycle(430.7891,22.4102)
+.. controls (428.5991,22.4002) and (427.3799,24.7007) .. (425.1699,25.2207)
+.. controls (423.8099,29.6007) and (422.3192,36.0091) .. (422.6992,40.5391)
+.. controls (422.6392,41.0291) and (422.2009,41.1394) .. (421.8809,41.3594)
+.. controls (422.2409,43.4194) and (421.9509,46.9595) .. (422.8809,49.2695)
+.. controls (421.9109,51.7695) and (423.0303,56.3496) .. (420.5703,57.3496)
+.. controls (419.9103,59.5196) and (420.6405,61.1193) .. (420.7305,63.2793)
+.. controls (420.8905,66.1993) and (419.9406,68.6409) .. (421.8906,69.7109)
+.. controls (423.5206,68.7409) and (424.2398,67.4203) .. (426.3398,67.0703)
+.. controls (429.1698,66.6003) and (432.0298,67.1296) .. (432.7598,64.5996)
+.. controls (432.0998,63.3596) and (432.9297,62.0304) .. (432.9297,60.6504)
+.. controls (432.9097,58.0704) and (431.9798,55.1303) .. (432.7598,53.0703)
+.. controls (431.5498,49.5703) and (432.3794,45.7692) .. (431.6094,41.1992)
+arc(6.092 \@@_colon -2.392 \@@_colon 69.110)
+.. controls (431.7894,28.0605) and (431.7891,25.0502) .. (430.7891,22.4102)
+-- cycle(352.1797,27.9805)
+arc(271.098 \@@_colon 279.625 \@@_colon 24.460)
+.. controls (355.5608,29.9803) and (355.9707,30.7695) .. (355.9707,32.7695)
+arc(277.583 \@@_colon 267.776 \@@_colon 21.260)
+.. controls (352.5598,30.1596) and (349.6006,31.6095) .. (348.3906,32.2695)
+.. controls (348.0006,31.1495) and (348.4508,29.3704) .. (348.5508,28.1504)
+-- (348.5508,28.1797)
+arc(262.597 \@@_colon 271.118 \@@_colon 24.460)
+-- cycle(212.2500,28.3496)
+arc(316.596 \@@_colon 340.681 \@@_colon 10.640)
+.. controls (212.4805,31.9206) and (211.3391,32.1406) .. (208.7891,32.1406)
+.. controls (208.6991,30.6006) and (209.3891,30.0299) .. (209.7891,28.6699)
+arc(254.875 \@@_colon 270.293 \@@_colon 9.250)
+-- cycle(31.8691,29.0000)
+.. controls (28.5091,30.2600) and (24.2091,30.5304) .. (20.8691,31.1504)
+.. controls (18.7491,32.6604) and (15.3206,33.0592) .. (12.1406,33.4492)
+arc(83.352 \@@_colon 98.317 \@@_colon 42.240)
+.. controls (-0.1194,35.4791) and (1.1406,37.5307) .. (2.1406,39.2207)
+.. controls (6.4006,40.9007) and (11.4593,38.5504) .. (17.5293,37.9004)
+.. controls (22.2193,37.4104) and (26.7507,37.3798) .. (30.2207,36.2598)
+.. controls (32.3707,34.9998) and (35.5191,30.4200) .. (31.8691,29.0000)
+-- cycle(472.5000,30.2656)
+.. controls (474.0051,30.3117) and (475.3883,30.5388) .. (476.2695,31.0000)
+arc(-0.536 \@@_colon 35.892 \@@_colon 6.060)
+.. controls (471.9091,35.0894) and (469.2807,34.7695) .. (466.2207,34.9395)
+.. controls (465.9407,33.8495) and (465.9407,32.4705) .. (465.7207,31.3105)
+.. controls (467.1457,30.6168) and (469.9915,30.1889) .. (472.5000,30.2656)
+-- cycle(460.7793,31.1797)
+.. controls (461.2593,32.2297) and (461.1094,33.9609) .. (461.1094,35.4609)
+.. controls (458.9294,34.8209) and (457.2698,35.9808) .. (455.0098,35.3008)
+.. controls (455.3398,34.0008) and (455.1698,32.9300) .. (455.3398,32.0000)
+.. controls (456.8298,31.0000) and (458.6593,31.4097) .. (460.7793,31.1797)
+-- cycle(352.3418,37.6523)
+arc(268.645 \@@_colon 273.051 \@@_colon 51.510)
+.. controls (356.3708,39.0309) and (356.4507,41.8504) .. (355.9707,42.6504)
+.. controls (353.1607,42.7904) and (351.2406,42.1702) .. (348.3906,41.9902)
+arc(172.280 \@@_colon 187.720 \@@_colon 15.340)
+-- (348.3906,37.9004)
+arc(264.205 \@@_colon 268.610 \@@_colon 51.510)
+-- cycle(29.9434,41.9902)
+.. controls (26.2187,41.9512) and (22.6203,43.5586) .. (19.3203,43.8398)
+.. controls (16.8603,44.0398) and (13.8202,44.8500) .. (11.4102,44.5000)
+.. controls (10.2502,44.3200) and (9.2091,43.4397) .. (8.1191,43.1797)
+.. controls (6.7591,42.8497) and (5.3791,43.0996) .. (4.1191,42.8496)
+.. controls (3.1091,42.6496) and (2.3703,41.7395) .. (1.3203,42.1895)
+.. controls (-0.8497,44.9995) and (2.4095,48.9995) .. (4.9395,49.4395)
+arc(87.165 \@@_colon 79.438 \@@_colon 21.000)
+.. controls (13.8200,48.5694) and (22.2199,47.9106) .. (28.6699,46.6406)
+.. controls (29.8399,45.6206) and (32.3995,43.9395) .. (30.6895,42.0195)
+.. controls (30.4401,42.0014) and (30.1917,41.9928) .. (29.9434,41.9902)
+-- cycle(325.6309,43.0098)
+.. controls (326.9509,44.1198) and (324.5709,48.0795) .. (326.6309,48.9395)
+.. controls (326.3109,49.9695) and (325.3806,50.4400) .. (325.3105,51.7500)
+.. controls (322.1506,52.1000) and (318.4898,50.9199) .. (316.0898,50.9199)
+.. controls (316.1598,48.6199) and (315.9899,46.5898) .. (315.9199,43.8398)
+.. controls (318.2399,42.5098) and (323.1909,43.5598) .. (325.6309,43.0098)
+-- cycle(349.5352,47.0586)
+.. controls (352.1130,46.9939) and (354.0706,47.5634) .. (356.3105,47.0996)
+.. controls (356.0206,49.5396) and (355.3605,50.0391) .. (355.3105,52.5391)
+arc(278.316 \@@_colon 267.674 \@@_colon 33.860)
+.. controls (348.2639,51.1078) and (348.9882,48.7113) .. (348.3984,47.1309)
+.. controls (348.7918,47.0914) and (349.1694,47.0678) .. (349.5352,47.0586)
+-- cycle(461.1895,47.3398)
+arc(-8.403 \@@_colon 8.403 \@@_colon 22.000)
+arc(82.265 \@@_colon 97.735 \@@_colon 37.150)
+arc(170.092 \@@_colon 212.461 \@@_colon 8.140)
+-- (452.3691,48.0000)
+.. controls (455.2991,47.9400) and (458.2294,47.3798) .. (461.1895,47.3398)
+-- cycle(29.0078,50.5996)
+.. controls (27.4377,50.5487) and (25.0001,52.3522) .. (23.9004,52.5391)
+.. controls (21.9804,52.8591) and (19.5805,52.5992) .. (16.9805,52.6992)
+.. controls (15.0905,52.7892) and (13.2191,53.3194) .. (11.3691,53.3594)
+.. controls (9.5191,53.3994) and (7.8398,53.0592) .. (6.5898,53.6992)
+.. controls (5.8698,54.7992) and (6.4297,56.2192) .. (6.4297,57.6992)
+.. controls (6.4197,58.7792) and (6.0996,59.8800) .. (6.0996,61.0000)
+arc(182.103 \@@_colon 143.175 \@@_colon 11.570)
+arc(285.115 \@@_colon 291.968 \@@_colon 30.520)
+.. controls (15.1994,66.7095) and (23.9692,68.5602) .. (25.1992,64.2402)
+.. controls (22.0792,63.7302) and (17.3200,64.7204) .. (14.0000,64.9004)
+.. controls (12.9100,63.5304) and (12.8898,60.3105) .. (13.3398,58.3105)
+arc(249.608 \@@_colon 269.745 \@@_colon 26.340)
+.. controls (22.9704,56.6702) and (23.1304,56.2800) .. (23.4004,56.0000)
+.. controls (24.3904,57.6700) and (23.9991,61.8107) .. (25.8691,61.9707)
+.. controls (27.1391,62.0707) and (27.1298,60.7605) .. (28.3398,60.4805)
+.. controls (29.1198,58.7505) and (29.1202,56.7407) .. (29.6602,54.7207)
+.. controls (29.9602,53.6207) and (30.5103,52.4007) .. (30.3203,51.7207)
+.. controls (30.1038,50.9248) and (29.6222,50.6195) .. (29.0078,50.5996)
+-- cycle(197.9688,137.0410)
+.. controls (196.2280,137.1680) and (194.6641,137.9297) .. (194.0391,139.1797)
+.. controls (194.5791,140.5497) and (194.5592,142.6591) .. (195.1992,144.2891)
+.. controls (195.5492,145.1791) and (196.6495,145.7396) .. (196.0195,146.5996)
+.. controls (193.0395,145.8596) and (188.8699,147.5809) .. (190.4199,151.3809)
+.. controls (192.6399,152.7009) and (195.2301,151.4693) .. (198.3301,152.0293)
+.. controls (196.5601,153.4493) and (196.2691,155.7102) .. (194.0391,155.6602)
+.. controls (193.1591,155.6602) and (192.3202,154.6102) .. (191.2402,154.6602)
+.. controls (190.3302,154.7102) and (189.6295,155.7802) .. (188.7695,155.6602)
+.. controls (189.0195,156.6902) and (188.0594,156.7807) .. (188.4394,157.4707)
+.. controls (188.6695,158.1707) and (189.8798,157.9009) .. (189.7598,158.9609)
+.. controls (190.7298,158.7809) and (190.9702,159.2893) .. (191.2402,159.7793)
+.. controls (190.1002,162.2093) and (187.7607,163.4405) .. (185.4707,164.7305)
+.. controls (176.3707,165.4705) and (165.3907,165.3891) .. (157.4707,166.8691)
+.. controls (156.0107,172.1691) and (157.4506,178.3898) .. (156.6406,184.0098)
+.. controls (157.9906,184.2998) and (157.9493,182.9498) .. (159.7793,183.5098)
+.. controls (160.4493,183.1098) and (161.0893,182.7094) .. (161.7793,182.3594)
+.. controls (162.1293,181.4194) and (163.1795,179.9004) .. (162.4394,178.9004)
+.. controls (163.0394,178.9704) and (162.8895,178.4902) .. (162.9394,178.2402)
+.. controls (163.5294,175.3202) and (162.3702,172.1504) .. (165.2402,171.1504)
+.. controls (165.9602,170.9404) and (165.9805,171.1003) .. (166.5606,171.3203)
+.. controls (166.9606,171.1103) and (167.0507,170.5902) .. (167.7207,170.6602)
+.. controls (178.4007,169.8902) and (189.7207,168.4300) .. (200.7207,169.5000)
+.. controls (201.1807,169.4800) and (201.3991,169.1699) .. (201.8691,169.1699)
+.. controls (210.0491,170.3299) and (219.4905,168.8600) .. (228.7305,170.0000)
+.. controls (229.0105,174.3800) and (228.3902,178.5400) .. (228.2402,182.0000)
+arc(263.004 \@@_colon 294.805 \@@_colon 5.780)
+arc(238.746 \@@_colon 256.412 \@@_colon 14.090)
+.. controls (236.6691,181.7098) and (237.4499,180.5399) .. (238.6699,181.1699)
+.. controls (241.3999,176.9199) and (239.0900,171.8999) .. (239.0000,166.1699)
+.. controls (237.1800,164.2999) and (232.4794,164.2898) .. (229.6094,165.0098)
+.. controls (225.7694,163.7398) and (221.1401,163.8198) .. (217.0801,164.0098)
+.. controls (209.6901,164.3398) and (200.6894,164.7998) .. (192.6894,164.3398)
+.. controls (193.6995,163.6998) and (194.7003,161.5298) .. (196.3203,161.3398)
+.. controls (196.7403,161.2898) and (198.6191,161.3602) .. (198.6191,162.4902)
+.. controls (200.1391,161.9902) and (200.8000,163.2502) .. (202.2500,162.9902)
+.. controls (203.0200,162.5002) and (203.1005,161.3200) .. (204.5606,161.5000)
+.. controls (204.4706,158.5400) and (202.9306,157.2207) .. (200.5606,157.2207)
+.. controls (203.8005,153.9907) and (207.9194,151.7302) .. (210.6094,147.9902)
+.. controls (209.5394,145.9502) and (208.3800,146.7398) .. (206.0000,146.8398)
+.. controls (203.6200,146.9398) and (200.1100,147.3398) .. (198.7500,146.3398)
+.. controls (199.9400,144.5098) and (201.9195,143.4804) .. (202.9394,141.6504)
+.. controls (202.2295,140.6304) and (202.4609,138.3493) .. (201.1309,137.5293)
+.. controls (200.1221,137.1168) and (199.0132,136.9648) .. (197.9688,137.0410)
+-- cycle(302.1934,137.2812)
+arc(266.857 \@@_colon 255.373 \@@_colon 12.260)
+.. controls (297.8595,138.3102) and (297.2995,140.7096) .. (296.7695,142.5996)
+.. controls (299.0395,143.2996) and (299.7606,145.5509) .. (300.5605,147.7109)
+.. controls (294.4305,148.2009) and (287.3591,149.1192) .. (280.6191,148.1992)
+.. controls (279.4691,149.1392) and (279.8407,150.6802) .. (279.4707,152.4902)
+.. controls (280.1707,153.0402) and (281.4495,152.8806) .. (282.2695,153.6406)
+.. controls (283.2695,153.1206) and (285.7395,153.0508) .. (286.2695,154.3008)
+.. controls (286.3495,155.2008) and (286.2294,157.0498) .. (285.6094,157.7598)
+.. controls (287.3494,159.7398) and (288.6291,165.8099) .. (284.1191,165.6699)
+.. controls (283.1891,167.5299) and (280.0595,167.2104) .. (278.1895,168.1504)
+.. controls (278.7794,170.6104) and (281.5208,170.6094) .. (283.3008,171.6094)
+.. controls (284.3008,172.1294) and (284.4908,173.1701) .. (285.3008,174.0801)
+.. controls (286.3608,175.2201) and (287.8108,175.9109) .. (288.3008,176.7109)
+.. controls (289.0508,177.9709) and (289.0192,179.4309) .. (289.9492,180.7109)
+.. controls (284.4692,182.1309) and (279.6292,181.6491) .. (273.9492,181.3691)
+.. controls (272.1892,183.8891) and (272.9691,185.6191) .. (273.2891,188.6191)
+.. controls (277.3191,188.9691) and (284.1997,187.3907) .. (290.4297,186.9707)
+.. controls (293.2197,186.8007) and (293.9708,186.5907) .. (294.0508,188.9707)
+.. controls (294.2508,194.1207) and (293.4900,196.4097) .. (291.2500,199.6797)
+.. controls (290.3700,199.8397) and (290.0896,200.4398) .. (289.5996,200.8398)
+.. controls (287.0896,202.8798) and (282.3905,203.3105) .. (278.2305,202.9805)
+.. controls (277.4105,202.2905) and (275.7594,202.4005) .. (274.6094,202.4805)
+.. controls (274.6894,206.8105) and (278.4294,208.8706) .. (281.6895,210.5606)
+.. controls (295.2495,210.0306) and (300.0604,200.6906) .. (300.1504,188.3106)
+arc(172.076 \@@_colon 177.813 \@@_colon 18.160)
+.. controls (304.7602,185.0100) and (309.4198,185.6100) .. (312.8398,182.5000)
+arc(183.920 \@@_colon 196.744 \@@_colon 8.240)
+.. controls (312.2099,179.3695) and (311.3609,178.2307) .. (309.7109,178.2207)
+.. controls (308.0609,178.2107) and (306.5209,179.8893) .. (304.7109,180.0293)
+.. controls (302.1809,180.2293) and (298.6708,180.2709) .. (297.3008,178.8809)
+arc(226.205 \@@_colon 235.718 \@@_colon 53.720)
+.. controls (307.4507,171.0795) and (311.9491,169.7992) .. (312.7891,165.1992)
+.. controls (311.7791,163.6092) and (309.4798,164.8309) .. (308.0098,164.3809)
+.. controls (307.2798,162.0909) and (310.0204,161.2098) .. (310.1504,159.7598)
+.. controls (310.2704,158.4298) and (309.0498,157.8798) .. (308.3398,156.7598)
+.. controls (308.3198,154.4898) and (310.8203,152.8500) .. (309.8203,150.0000)
+.. controls (314.0003,150.3400) and (319.9998,151.5995) .. (322.5098,148.7695)
+.. controls (323.1098,150.0995) and (324.1098,150.1502) .. (324.5098,151.4102)
+arc(-9.417 \@@_colon 9.417 \@@_colon 10.570)
+arc(5.722 \@@_colon 50.622 \@@_colon 8.320)
+.. controls (319.3098,161.9807) and (316.5099,162.4895) .. (314.9199,164.2695)
+-- (314.9199,165.7500)
+.. controls (312.8999,166.8000) and (314.2694,169.1992) .. (313.1094,170.1992)
+arc(132.907 \@@_colon 78.984 \@@_colon 2.650)
+.. controls (316.8999,171.7494) and (318.4293,171.7298) .. (320.0293,172.5098)
+.. controls (321.4293,173.2198) and (322.2902,174.6198) .. (323.4902,175.5098)
+.. controls (323.6302,175.6198) and (323.9904,175.4198) .. (324.1504,175.5098)
+.. controls (325.0404,176.0298) and (326.0291,177.3203) .. (326.7891,177.8203)
+.. controls (327.5491,178.3203) and (328.5996,178.3807) .. (328.5996,179.4707)
+arc(59.950 \@@_colon 102.152 \@@_colon 13.200)
+.. controls (318.0709,180.6792) and (317.2109,179.5709) .. (316.2109,179.6309)
+.. controls (313.4509,179.7909) and (312.3906,185.1006) .. (315.3906,185.8906)
+.. controls (321.3606,187.6906) and (328.0401,185.6601) .. (334.8301,184.5801)
+.. controls (338.8601,186.6401) and (340.7408,191.5603) .. (345.0508,192.8203)
+.. controls (346.0708,194.5503) and (348.2298,195.1298) .. (348.8398,197.2598)
+.. controls (350.8398,197.6898) and (351.8398,199.1506) .. (352.8398,200.5606)
+.. controls (352.5698,201.0505) and (352.3297,201.7409) .. (351.6797,201.3809)
+.. controls (351.6597,201.9009) and (352.1998,201.8491) .. (352.0098,202.5391)
+.. controls (353.2698,203.5891) and (354.8309,203.1693) .. (356.6309,203.0293)
+.. controls (359.1509,202.8393) and (363.1094,202.5409) .. (365.3594,201.7109)
+.. controls (368.3094,201.3609) and (370.1894,199.9501) .. (372.6094,199.0801)
+.. controls (373.8894,198.4901) and (376.7908,198.2298) .. (378.0508,197.5898)
+arc(91.611 \@@_colon 53.246 \@@_colon 10.790)
+.. controls (383.8206,195.0692) and (382.6198,195.6191) .. (381.5098,195.6191)
+.. controls (381.5098,195.2891) and (381.9598,195.4109) .. (381.8398,194.9609)
+.. controls (381.4198,195.1109) and (380.9094,195.2291) .. (380.6895,194.7891)
+.. controls (381.8095,194.3791) and (381.2596,193.7104) .. (381.3496,192.6504)
+.. controls (381.6596,192.7204) and (381.6399,193.1205) .. (382.1699,192.9805)
+arc(155.632 \@@_colon 204.368 \@@_colon 1.600)
+.. controls (381.7299,191.5502) and (381.1396,191.5901) .. (380.8496,191.3301)
+.. controls (381.1396,191.2501) and (381.8409,190.4206) .. (381.2109,190.8906)
+arc(63.434 \@@_colon 111.500 \@@_colon 4.450)
+.. controls (377.8398,190.7208) and (379.2498,190.7208) .. (378.5898,190.0508)
+.. controls (376.7998,190.4508) and (373.9902,190.1409) .. (372.9902,190.8809)
+arc(103.185 \@@_colon 122.903 \@@_colon 13.580)
+.. controls (365.2509,188.4205) and (362.3805,190.0805) .. (358.9805,189.2305)
+.. controls (358.8905,188.8905) and (358.6402,188.7002) .. (358.4902,188.4102)
+arc(104.658 \@@_colon 112.212 \@@_colon 24.000)
+.. controls (348.8702,187.8702) and (346.0301,182.8205) .. (340.3301,181.3106)
+.. controls (337.9901,179.4906) and (340.4104,176.9491) .. (341.6504,175.8691)
+.. controls (341.7704,175.1091) and (341.8107,174.2705) .. (342.4707,174.0606)
+.. controls (342.3007,172.8406) and (342.8908,171.9996) .. (343.3008,170.5996)
+.. controls (343.5508,169.7096) and (345.0595,169.1492) .. (345.4395,168.4492)
+.. controls (346.4694,166.5892) and (345.2693,165.0897) .. (344.7793,163.1797)
+.. controls (349.4793,161.4997) and (356.9093,162.6797) .. (361.7793,161.1797)
+arc(232.747 \@@_colon 239.978 \@@_colon 37.630)
+arc(160.223 \@@_colon 191.847 \@@_colon 4.250)
+.. controls (364.6703,155.7902) and (364.3099,155.8299) .. (363.4199,155.4199)
+.. controls (360.2099,156.1699) and (356.0706,156.1699) .. (351.5605,156.4199)
+.. controls (348.2006,156.6199) and (344.6801,155.5098) .. (341.8301,155.7598)
+.. controls (340.7301,155.8598) and (339.7801,156.3698) .. (338.8301,156.2598)
+.. controls (337.6901,156.1298) and (334.8491,154.7792) .. (334.5391,153.9492)
+.. controls (334.3691,153.4892) and (334.6391,152.7208) .. (334.5391,152.3008)
+.. controls (333.6291,151.4608) and (333.8308,149.1796) .. (334.0508,147.8496)
+.. controls (333.0008,146.6896) and (333.0602,145.1906) .. (331.9102,144.3906)
+.. controls (329.5502,142.7606) and (325.7699,143.7607) .. (323.1699,145.2207)
+arc(16.176 \@@_colon 43.639 \@@_colon 4.860)
+.. controls (318.0795,146.3407) and (314.7295,145.3406) .. (311.0195,146.0606)
+.. controls (308.2295,144.6705) and (308.7295,140.6402) .. (307.0195,137.9902)
+arc(289.832 \@@_colon 266.882 \@@_colon 12.260)
+-- cycle(447.0840,137.7344)
+.. controls (442.2657,137.8374) and (439.2316,141.3791) .. (435.9004,143.7109)
+.. controls (433.1504,145.6509) and (430.2904,146.7704) .. (429.1504,149.6504)
+.. controls (427.2204,151.4004) and (423.9509,152.9403) .. (423.7109,156.0703)
+.. controls (423.5009,158.6803) and (425.9500,160.0197) .. (427.5000,161.6797)
+.. controls (430.5500,161.6097) and (431.3299,159.5597) .. (434.9199,160.6797)
+.. controls (434.7799,161.1397) and (435.1501,161.1100) .. (435.0801,161.5000)
+arc(25.472 \@@_colon 87.666 \@@_colon 1.160)
+arc(-5.430 \@@_colon 19.263 \@@_colon 3.110)
+.. controls (431.4899,166.0005) and (428.0098,167.4904) .. (426.0098,170.4004)
+.. controls (425.7798,170.3504) and (425.6896,170.1702) .. (425.3496,170.2402)
+arc(36.154 \@@_colon 53.846 \@@_colon 18.940)
+.. controls (421.5705,174.4494) and (421.5806,174.6096) .. (421.3906,174.8496)
+.. controls (415.9106,179.6096) and (409.2398,183.3608) .. (403.5898,187.0508)
+arc(284.521 \@@_colon 267.305 \@@_colon 5.510)
+.. controls (399.9792,188.5709) and (400.6796,192.5103) .. (403.0996,192.8203)
+.. controls (405.7296,193.1903) and (409.1496,190.2395) .. (410.8496,189.1894)
+.. controls (411.8696,188.5594) and (413.0406,188.0409) .. (414.1406,187.3809)
+.. controls (416.6906,185.8409) and (418.7706,183.7097) .. (421.0605,182.9297)
+arc(219.410 \@@_colon 230.590 \@@_colon 49.070)
+arc(229.708 \@@_colon 259.649 \@@_colon 6.700)
+.. controls (431.2692,176.4895) and (431.3291,180.8398) .. (430.6191,182.7598)
+.. controls (431.3091,188.1898) and (430.1209,192.2897) .. (429.9609,196.9297)
+.. controls (429.3509,196.7597) and (429.4306,197.2797) .. (429.1406,197.4297)
+.. controls (428.8606,199.8097) and (431.3998,200.0801) .. (432.7598,199.0801)
+arc(100.399 \@@_colon 82.609 \@@_colon 19.730)
+.. controls (440.9994,191.9402) and (440.3100,184.6004) .. (441.0000,177.6504)
+.. controls (440.8400,177.4304) and (440.5598,177.3302) .. (440.5098,176.9902)
+.. controls (441.0698,173.9402) and (439.2394,170.0594) .. (439.3594,166.9394)
+.. controls (440.7194,166.4595) and (442.3008,165.4609) .. (444.3008,165.4609)
+.. controls (444.9208,165.4609) and (445.4994,165.8691) .. (446.1094,165.7891)
+.. controls (446.4594,165.7391) and (447.2797,165.0509) .. (447.9297,164.9609)
+.. controls (448.7497,164.8509) and (448.2500,164.9506) .. (448.7500,164.6406)
+.. controls (448.9000,164.5406) and (449.2602,164.7406) .. (449.4102,164.6406)
+arc(56.405 \@@_colon -12.224 \@@_colon 4.270)
+arc(308.398 \@@_colon 263.828 \@@_colon 10.170)
+.. controls (443.1005,157.0991) and (441.5700,156.9804) .. (441.0000,155.9004)
+.. controls (445.5700,152.4704) and (451.6796,150.6895) .. (454.3496,145.0195)
+.. controls (453.9496,143.8495) and (454.2109,141.3702) .. (452.2109,140.7402)
+.. controls (452.1909,140.2702) and (451.5891,140.0398) .. (452.0391,139.5898)
+.. controls (451.1591,139.5898) and (450.6705,139.1995) .. (450.7305,138.2695)
+.. controls (449.4030,137.8702) and (448.1959,137.7106) .. (447.0840,137.7344)
+-- cycle(92.7109,140.2695)
+arc(58.466 \@@_colon 68.306 \@@_colon 30.070)
+.. controls (84.9796,146.4901) and (82.6396,151.1797) .. (80.3496,155.9297)
+arc(71.528 \@@_colon 127.215 \@@_colon 2.170)
+.. controls (78.1496,154.8496) and (79.0395,154.6891) .. (78.5195,154.1191)
+.. controls (74.8195,152.7291) and (71.6696,154.9705) .. (71.5996,158.7305)
+arc(303.185 \@@_colon 321.516 \@@_colon 7.690)
+arc(107.050 \@@_colon 95.423 \@@_colon 20.730)
+.. controls (78.5393,163.9792) and (76.7506,166.5996) .. (75.3906,170.0996)
+.. controls (74.5106,172.3596) and (74.5003,175.0495) .. (74.0703,177.1894)
+.. controls (73.7503,178.7794) and (72.3298,180.3805) .. (72.5898,181.3106)
+.. controls (72.8498,182.2406) and (74.2907,183.0509) .. (75.7207,182.9609)
+.. controls (76.7607,182.8909) and (77.5195,181.4806) .. (78.5195,181.1406)
+.. controls (80.2695,175.7106) and (82.4193,169.5706) .. (84.7793,164.1406)
+.. controls (85.4493,162.6706) and (86.5993,159.7694) .. (87.7793,159.3594)
+arc(262.578 \@@_colon 271.310 \@@_colon 19.730)
+arc(261.319 \@@_colon 272.805 \@@_colon 32.180)
+arc(276.363 \@@_colon 290.921 \@@_colon 27.450)
+.. controls (105.3907,162.2398) and (107.4707,163.9494) .. (107.9707,166.6094)
+.. controls (108.5707,169.7794) and (106.8199,172.3196) .. (105.6699,174.8496)
+.. controls (102.6799,177.0296) and (101.5602,181.0799) .. (98.7402,183.4199)
+.. controls (97.8802,187.2799) and (95.0008,189.1304) .. (93.8008,192.6504)
+.. controls (92.4908,193.0004) and (92.2208,194.4408) .. (90.8008,194.3008)
+.. controls (87.6308,193.9908) and (88.2709,185.2203) .. (84.3809,185.0703)
+.. controls (83.8509,185.9103) and (82.3401,185.7806) .. (81.5801,186.3906)
+.. controls (82.0501,189.5406) and (82.4702,193.1397) .. (84.1602,194.1797)
+.. controls (83.8502,196.0797) and (84.8402,196.4606) .. (86.1602,197.6406)
+arc(134.002 \@@_colon 118.042 \@@_colon 16.160)
+.. controls (90.4291,200.6293) and (91.0797,201.1593) .. (91.4297,201.2793)
+.. controls (92.4397,201.6193) and (93.2102,201.2893) .. (94.2402,201.2793)
+.. controls (95.2702,201.2693) and (96.3591,201.6794) .. (96.8691,201.6094)
+.. controls (98.3391,201.3794) and (99.1999,199.6294) .. (100.1699,198.6094)
+.. controls (101.1399,197.5894) and (102.6007,196.3905) .. (102.9707,195.4805)
+arc(203.473 \@@_colon 222.813 \@@_colon 28.690)
+.. controls (109.2802,184.0002) and (111.7895,182.0498) .. (112.6894,178.5098)
+.. controls (116.3594,175.8598) and (116.6903,169.0196) .. (115.8203,163.3496)
+.. controls (115.4503,162.9496) and (116.1802,162.7393) .. (115.9902,162.0293)
+.. controls (114.8902,159.6493) and (113.6502,156.6593) .. (111.9902,154.7793)
+.. controls (111.2502,153.9293) and (109.5991,152.4707) .. (108.3691,152.4707)
+.. controls (107.6591,152.4607) and (106.9905,153.1191) .. (106.2305,153.2891)
+.. controls (104.1005,153.7691) and (101.4305,153.0691) .. (98.8105,153.6191)
+.. controls (97.9605,153.7991) and (97.1998,154.2992) .. (96.3398,154.4492)
+.. controls (93.7398,154.9092) and (90.4599,155.0195) .. (88.9199,155.2695)
+.. controls (89.0199,155.2595) and (89.0898,155.2494) .. (89.0898,155.1094)
+.. controls (89.7198,153.1594) and (90.8405,151.7001) .. (91.5605,149.8301)
+.. controls (93.9505,147.4801) and (97.4902,145.0996) .. (97.4902,141.0996)
+.. controls (96.3002,139.9096) and (94.2709,140.5995) .. (92.7109,140.2695)
+-- cycle(224.8848,140.6680)
+.. controls (222.9887,140.6961) and (220.9961,141.0626) .. (219.4492,141.2207)
+.. controls (217.9992,141.3807) and (216.4900,140.8906) .. (215.0000,140.8906)
+.. controls (211.8900,140.9106) and (209.4406,141.9797) .. (209.5606,144.6797)
+.. controls (210.1405,145.1497) and (210.0508,146.2401) .. (211.0508,146.3301)
+.. controls (214.8708,145.3101) and (219.4802,145.9198) .. (223.2402,145.5098)
+.. controls (222.6002,146.6598) and (222.1796,147.9609) .. (221.5996,149.1309)
+arc(81.961 \@@_colon 99.991 \@@_colon 30.000)
+.. controls (211.9192,150.1507) and (210.7708,151.0498) .. (210.5508,152.7598)
+arc(123.606 \@@_colon 77.846 \@@_colon 6.910)
+.. controls (217.1701,156.9198) and (213.3009,156.7506) .. (210.8809,156.5606)
+.. controls (210.0709,157.8406) and (208.9503,159.0198) .. (209.0703,160.8398)
+.. controls (210.7703,161.7298) and (213.8902,159.7898) .. (215.6602,160.8398)
+.. controls (215.7202,160.4098) and (216.6606,160.5996) .. (217.3106,160.3496)
+arc(150.851 \@@_colon 82.313 \@@_colon 2.620)
+.. controls (223.0492,161.3799) and (224.6992,158.3209) .. (226.6992,157.3809)
+.. controls (226.6992,155.7609) and (227.8592,153.9396) .. (228.6992,152.5996)
+.. controls (228.7592,149.3296) and (232.2792,145.1607) .. (232.6992,142.7207)
+arc(315.388 \@@_colon 308.841 \@@_colon 19.460)
+arc(81.965 \@@_colon 108.555 \@@_colon 8.060)
+.. controls (226.5875,140.7125) and (225.7466,140.6552) .. (224.8848,140.6680)
+-- cycle(167.7754,141.0254)
+.. controls (166.3307,141.0691) and (164.8676,141.3000) .. (163.8301,141.2500)
+.. controls (163.2501,141.7400) and (163.2595,142.8802) .. (162.0195,142.7402)
+.. controls (162.2695,143.5002) and (161.8496,144.2709) .. (161.8496,144.8809)
+.. controls (164.3096,149.6109) and (161.5898,157.1009) .. (163.0098,161.8809)
+.. controls (163.1898,162.5309) and (163.9199,162.7693) .. (163.6699,163.5293)
+.. controls (167.0999,165.2493) and (170.5409,163.0909) .. (174.2109,162.7109)
+.. controls (177.5009,162.3709) and (180.9198,162.2508) .. (184.7598,162.0508)
+.. controls (185.6098,160.9808) and (186.9204,160.3599) .. (187.4004,158.9199)
+.. controls (186.7404,158.5499) and (186.0204,158.2799) .. (185.4004,157.9199)
+.. controls (183.8004,158.3999) and (182.4192,157.4298) .. (180.9492,157.2598)
+.. controls (178.7992,158.5198) and (174.6108,157.3602) .. (172.0508,158.4102)
+.. controls (170.7608,152.8702) and (178.5498,154.8409) .. (182.7598,153.6309)
+.. controls (182.7698,153.3809) and (182.9098,152.9707) .. (183.5898,152.9707)
+.. controls (183.4798,151.9707) and (184.0000,151.6007) .. (184.2500,150.9707)
+.. controls (183.2300,146.8707) and (176.3209,150.2002) .. (172.3809,148.4902)
+.. controls (172.6409,148.4502) and (172.4909,148.1300) .. (172.3809,148.0000)
+.. controls (176.0409,147.1700) and (179.0299,147.4200) .. (183.9199,147.0000)
+.. controls (185.0499,146.1100) and (185.7108,144.7000) .. (187.0508,144.0000)
+.. controls (186.8608,143.2300) and (185.8297,143.2800) .. (185.4297,142.7500)
+.. controls (181.6597,142.5600) and (178.2308,143.3100) .. (174.5508,142.7500)
+.. controls (174.0408,142.6700) and (173.8804,142.2398) .. (173.4004,142.0898)
+.. controls (173.1304,142.0098) and (172.6504,142.3000) .. (172.4004,142.2500)
+.. controls (171.6504,142.1000) and (170.9298,141.4400) .. (170.2598,141.2500)
+.. controls (169.5023,141.0400) and (168.6422,140.9991) .. (167.7754,141.0254)
+-- cycle(36.4883,143.1113)
+.. controls (34.8682,143.0714) and (33.4766,143.7445) .. (32.7891,145.5195)
+.. controls (34.4091,149.1295) and (32.7106,151.2500) .. (32.1406,154.2500)
+.. controls (32.1106,154.4100) and (31.4805,154.8202) .. (31.4805,154.9102)
+.. controls (31.4005,155.1602) and (31.6806,155.4703) .. (31.6406,155.5703)
+.. controls (31.6006,155.6703) and (31.1504,155.6605) .. (31.1504,155.7305)
+.. controls (30.9804,156.0605) and (31.1305,156.5506) .. (30.9805,156.8906)
+.. controls (30.0305,159.1106) and (27.8294,161.0205) .. (27.3594,163.4805)
+.. controls (26.2594,164.4405) and (24.9107,165.9295) .. (24.7207,167.2695)
+arc(223.375 \@@_colon 213.893 \@@_colon 44.680)
+.. controls (19.1194,173.2091) and (18.9609,174.1894) .. (17.9609,174.3594)
+.. controls (14.5709,178.7894) and (9.9395,182.2103) .. (5.4395,185.0703)
+.. controls (4.3695,184.2203) and (3.9908,183.3997) .. (2.8008,182.9297)
+.. controls (0.9608,185.2897) and (0.5902,188.1900) .. (0.4902,191.0000)
+.. controls (2.0002,191.3500) and (2.0798,193.1608) .. (3.2598,193.8008)
+.. controls (4.1598,193.8308) and (7.6797,195.4609) .. (9.6797,194.4609)
+.. controls (10.4897,194.6809) and (12.1402,194.5408) .. (12.4902,193.8008)
+arc(87.293 \@@_colon 113.742 \@@_colon 5.870)
+.. controls (11.3696,192.8005) and (11.4106,190.8098) .. (13.1406,190.5098)
+arc(282.071 \@@_colon 358.538 \@@_colon 1.050)
+.. controls (13.6507,192.3398) and (12.9804,192.8304) .. (12.6504,193.6504)
+.. controls (14.4904,193.6304) and (14.9904,192.3199) .. (16.6504,192.1699)
+.. controls (16.8704,191.4399) and (16.0104,191.8099) .. (16.1504,191.1699)
+arc(53.204 \@@_colon 36.797 \@@_colon 11.450)
+.. controls (19.0709,188.6794) and (18.7193,189.4796) .. (19.2793,189.3496)
+.. controls (20.9993,186.4296) and (23.3591,184.2104) .. (23.8691,180.1504)
+.. controls (25.6391,177.8804) and (26.8906,175.0405) .. (28.6406,172.7305)
+.. controls (29.0006,170.5305) and (30.3306,169.3291) .. (31.6406,168.1191)
+.. controls (33.3506,163.9391) and (34.8599,161.1502) .. (36.4199,157.2402)
+.. controls (36.8499,157.2002) and (36.1999,156.9501) .. (36.4199,156.5801)
+.. controls (38.1699,154.9701) and (38.1309,151.5906) .. (40.7109,150.8106)
+.. controls (40.8009,151.1405) and (41.5293,150.8006) .. (41.5293,151.1406)
+.. controls (49.7893,149.8106) and (56.2891,150.8106) .. (62.7891,150.8106)
+.. controls (64.4891,149.7705) and (66.7302,148.3594) .. (66.9102,146.3594)
+.. controls (66.2502,147.0594) and (66.5700,145.3909) .. (66.2500,145.2109)
+.. controls (58.9300,144.3009) and (50.9596,148.1593) .. (42.3496,146.5293)
+.. controls (42.2996,146.2993) and (42.1195,146.2091) .. (42.1895,145.8691)
+.. controls (41.1695,145.8691) and (40.3608,144.5491) .. (39.5508,143.8691)
+.. controls (38.5158,143.4154) and (37.4604,143.1353) .. (36.4883,143.1113)
+-- cycle(493.7402,144.0000)
+arc(83.429 \@@_colon 90.370 \@@_colon 152.700)
+arc(269.886 \@@_colon 262.835 \@@_colon 84.570)
+.. controls (464.2604,146.4502) and (463.3198,146.9409) .. (463.0898,148.1309)
+.. controls (465.0598,150.9909) and (468.2504,151.4409) .. (472.1504,152.1309)
+arc(100.739 \@@_colon 84.733 \@@_colon 36.740)
+.. controls (484.0091,152.4391) and (485.5605,151.7891) .. (487.3105,151.6191)
+.. controls (491.1506,151.2291) and (494.5492,151.4707) .. (497.1992,149.4707)
+.. controls (496.8992,149.1207) and (496.3208,148.9991) .. (496.0508,148.6191)
+.. controls (496.3008,146.7591) and (494.7402,144.6300) .. (493.7402,144.0000)
+-- cycle(52.6699,151.2207)
+.. controls (52.3299,152.6807) and (52.4798,153.7397) .. (51.8398,154.6797)
+.. controls (48.9598,154.6097) and (47.2598,154.9098) .. (44.2598,154.8398)
+arc(173.794 \@@_colon 192.423 \@@_colon 9.680)
+arc(272.839 \@@_colon 234.912 \@@_colon 5.540)
+.. controls (41.5407,152.7909) and (41.2091,153.7894) .. (41.2891,154.3594)
+arc(304.365 \@@_colon 180.295 \@@_colon 2.000)
+.. controls (39.2002,157.2400) and (40.4891,157.2104) .. (41.7891,158.1504)
+arc(189.333 \@@_colon 176.884 \@@_colon 14.450)
+.. controls (40.1391,162.1793) and (37.7894,163.3293) .. (35.8594,164.2793)
+.. controls (32.1894,169.3193) and (37.7798,175.6402) .. (37.0098,181.9102)
+.. controls (38.2198,182.5702) and (37.9696,184.9102) .. (36.3496,184.9102)
+.. controls (35.6596,183.6702) and (34.0808,184.3302) .. (33.5508,182.9102)
+.. controls (31.8308,182.7302) and (30.1897,182.5805) .. (28.9297,183.7305)
+.. controls (27.5197,187.9105) and (29.1600,191.8895) .. (30.2500,195.2695)
+.. controls (31.3400,198.6495) and (30.6503,203.0905) .. (31.5703,205.9805)
+.. controls (32.0003,206.7305) and (33.2109,206.3908) .. (34.2109,206.8008)
+.. controls (34.5909,206.9608) and (34.8609,207.6609) .. (35.2109,207.6309)
+.. controls (35.5609,207.6009) and (36.5295,206.5306) .. (36.6895,206.1406)
+.. controls (37.5395,204.0706) and (36.1195,199.7703) .. (37.0195,198.0703)
+.. controls (35.9595,195.7503) and (36.1994,192.2100) .. (36.3594,189.5000)
+.. controls (38.0294,188.4300) and (41.5593,189.2401) .. (43.7793,189.3301)
+.. controls (43.2693,192.7901) and (42.1501,199.0809) .. (46.0801,200.7109)
+.. controls (48.9301,199.1209) and (51.4304,197.0098) .. (54.6504,196.2598)
+.. controls (55.6204,197.0598) and (55.8291,198.7805) .. (57.2891,198.7305)
+.. controls (59.8691,198.6405) and (60.2497,193.3803) .. (59.4297,190.8203)
+.. controls (58.2097,189.4903) and (56.9805,189.5803) .. (54.9805,189.8203)
+arc(217.878 \@@_colon 178.992 \@@_colon 4.750)
+arc(63.909 \@@_colon 78.166 \@@_colon 22.450)
+.. controls (48.0409,193.3309) and (48.7109,190.2295) .. (48.7109,189.0195)
+.. controls (55.6409,189.8495) and (60.9700,186.5495) .. (67.5000,188.0195)
+.. controls (68.0500,189.0195) and (70.3100,189.5195) .. (70.5000,191.0195)
+arc(9.621 \@@_colon 24.658 \@@_colon 8.560)
+.. controls (68.6098,195.9202) and (67.0605,201.6209) .. (64.5605,203.7109)
+.. controls (62.6505,205.3209) and (58.8604,203.9209) .. (56.6504,204.7109)
+.. controls (57.3904,205.7309) and (57.5009,207.3800) .. (58.1309,208.5000)
+arc(120.981 \@@_colon 101.826 \@@_colon 14.910)
+arc(142.394 \@@_colon 108.822 \@@_colon 7.370)
+.. controls (67.9309,211.6691) and (70.9105,210.5000) .. (72.3105,208.5000)
+.. controls (73.1005,207.3900) and (73.5492,205.3906) .. (74.4492,203.3906)
+.. controls (75.6592,200.7806) and (76.6602,198.6005) .. (77.7402,195.9805)
+.. controls (78.1102,195.1005) and (78.7204,194.2699) .. (78.9004,193.6699)
+.. controls (78.9904,193.3799) and (78.7804,192.7998) .. (78.9004,192.5098)
+.. controls (79.1504,191.8798) and (79.5605,192.0898) .. (79.5605,191.5098)
+.. controls (79.7305,188.8598) and (77.9199,187.1002) .. (76.9199,185.4102)
+.. controls (74.9199,185.5002) and (74.2306,184.1496) .. (72.6406,183.5996)
+.. controls (69.4806,182.4996) and (66.4302,184.2296) .. (63.7402,183.5996)
+.. controls (59.7902,185.4296) and (54.4004,185.4502) .. (49.4004,185.7402)
+arc(165.144 \@@_colon 191.579 \@@_colon 12.250)
+.. controls (50.8202,180.1306) and (51.4695,179.1806) .. (53.1895,179.3106)
+.. controls (53.2995,179.6705) and (53.6294,180.0505) .. (53.3594,180.3106)
+arc(258.664 \@@_colon 274.791 \@@_colon 10.000)
+.. controls (58.8302,179.3204) and (59.2294,175.8206) .. (60.6094,173.3906)
+.. controls (61.2994,172.1706) and (62.5502,171.3097) .. (62.9102,169.9297)
+.. controls (63.2002,168.8397) and (62.8102,167.8197) .. (63.4102,166.9297)
+arc(154.215 \@@_colon 175.843 \@@_colon 6.810)
+.. controls (59.1300,162.6809) and (54.2405,164.2807) .. (50.0605,163.9707)
+arc(200.903 \@@_colon 254.483 \@@_colon 3.000)
+.. controls (52.3305,160.4604) and (53.3991,158.9491) .. (53.8691,157.5391)
+.. controls (59.3591,157.3191) and (65.8795,158.2504) .. (69.5195,155.4004)
+.. controls (67.4495,153.0804) and (62.2008,153.9301) .. (59.8008,154.0801)
+.. controls (59.3508,155.5201) and (56.2696,155.0801) .. (55.3496,155.0801)
+.. controls (55.4196,153.3801) and (56.4300,152.6292) .. (57.0000,151.4492)
+arc(278.809 \@@_colon 267.233 \@@_colon 21.500)
+-- cycle(303.5605,151.2891)
+.. controls (304.3806,153.7091) and (303.3305,155.4809) .. (303.2305,157.7109)
+.. controls (299.4805,158.3809) and (295.2097,157.8905) .. (292.6797,156.0606)
+arc(178.682 \@@_colon 195.154 \@@_colon 14.490)
+.. controls (296.2497,151.3194) and (299.7706,151.7591) .. (303.5605,151.2891)
+-- cycle(462.2598,156.7305)
+.. controls (460.8798,158.3005) and (459.4291,159.8204) .. (459.7891,163.1504)
+.. controls (461.3291,165.1304) and (463.5107,165.3609) .. (466.2207,165.4609)
+.. controls (469.5607,165.6109) and (473.0093,166.4994) .. (475.2793,166.6094)
+.. controls (473.6993,171.2594) and (475.6806,178.2596) .. (476.1406,183.0996)
+.. controls (476.1306,182.9996) and (476.1107,182.9394) .. (475.9707,182.9394)
+.. controls (475.8507,183.5594) and (476.6309,183.2998) .. (476.6309,183.7598)
+.. controls (477.0609,186.3598) and (476.2409,189.0899) .. (476.6309,191.6699)
+.. controls (476.7309,192.3499) and (477.2891,192.9699) .. (477.2891,193.6699)
+.. controls (477.4291,196.3299) and (476.6291,199.2303) .. (477.2891,202.0703)
+.. controls (479.8491,203.0703) and (482.4493,200.9601) .. (485.0293,201.5801)
+arc(227.988 \@@_colon 254.350 \@@_colon 3.730)
+.. controls (485.9895,195.7998) and (486.7192,190.1199) .. (485.1992,185.9199)
+.. controls (485.9692,185.0399) and (485.3493,182.7906) .. (485.0293,181.1406)
+.. controls (485.7193,179.7406) and (484.9409,177.9594) .. (484.3809,176.8594)
+.. controls (485.3609,175.4294) and (483.8809,172.5297) .. (484.2109,170.4297)
+.. controls (483.4609,169.6497) and (483.3906,168.4508) .. (482.8906,167.8008)
+.. controls (483.6806,167.3708) and (482.6506,167.0104) .. (482.8906,166.1504)
+arc(258.844 \@@_colon 269.338 \@@_colon 61.610)
+.. controls (498.2696,164.9702) and (502.6309,165.6400) .. (505.9609,164.5000)
+arc(69.290 \@@_colon 60.684 \@@_colon 47.280)
+.. controls (512.7706,160.0200) and (513.0491,159.1108) .. (513.5391,157.5508)
+arc(107.215 \@@_colon 186.236 \@@_colon 0.470)
+.. controls (509.0209,157.3208) and (504.8695,157.1409) .. (501.0195,157.8809)
+.. controls (499.1595,158.2309) and (498.0702,158.8092) .. (496.4102,158.6992)
+.. controls (489.3502,158.2592) and (481.3702,159.7193) .. (473.9902,159.0293)
+.. controls (473.1602,158.9493) and (472.4996,158.4893) .. (471.8496,159.0293)
+.. controls (470.5296,158.2093) and (466.8798,158.6109) .. (465.2598,158.2109)
+.. controls (464.2598,157.7309) and (463.3098,157.1605) .. (462.2598,156.7305)
+-- cycle(47.1523,157.6641)
+.. controls (48.0648,157.6441) and (49.0544,157.8041) .. (50.1094,157.8691)
+.. controls (49.9994,159.8991) and (47.3600,160.7000) .. (45.0000,161.0000)
+arc(155.120 \@@_colon 188.263 \@@_colon 4.360)
+-- (44.6602,158.5391)
+.. controls (45.4052,157.8841) and (46.2398,157.6841) .. (47.1523,157.6641)
+-- cycle(295.1875,161.5391)
+.. controls (296.3514,161.4819) and (297.4566,162.0301) .. (298.6191,162.3301)
+.. controls (299.8391,161.7401) and (301.3002,162.1193) .. (302.7402,162.5293)
+.. controls (302.4002,163.4393) and (301.5201,164.2999) .. (302.0801,165.1699)
+.. controls (300.1201,165.8299) and (297.2801,165.6401) .. (294.8301,165.8301)
+.. controls (293.9101,164.9301) and (294.1400,162.5901) .. (294.0000,161.8301)
+.. controls (294.4050,161.6451) and (294.7995,161.5581) .. (295.1875,161.5391)
+-- cycle(332.4004,161.6699)
+.. controls (333.3004,162.3899) and (334.2392,161.8102) .. (335.1992,162.1602)
+.. controls (336.1592,162.5102) and (336.3698,163.6606) .. (337.5098,163.8106)
+.. controls (337.5598,165.3205) and (336.2994,165.8595) .. (335.8594,166.9394)
+.. controls (335.6394,167.5094) and (335.7393,168.5402) .. (335.5293,169.4102)
+.. controls (335.3193,170.2802) and (334.7109,171.1307) .. (334.7109,171.7207)
+arc(-3.831 \@@_colon 43.818 \@@_colon 4.780)
+arc(95.863 \@@_colon 146.988 \@@_colon 13.200)
+arc(225.101 \@@_colon 239.055 \@@_colon 43.000)
+-- (331.9102,163.0000)
+arc(180.507 \@@_colon 219.958 \@@_colon 2.100)
+-- cycle(54.5215,166.4219)
+.. controls (55.3716,166.4699) and (56.1374,166.7269) .. (56.6699,167.4394)
+.. controls (56.3399,170.4595) and (52.7500,170.2203) .. (49.7500,170.5703)
+.. controls (49.3000,169.4403) and (50.1102,168.2293) .. (50.2402,166.7793)
+-- (50.2598,166.7793)
+.. controls (51.4535,166.8418) and (53.1046,166.3418) .. (54.5215,166.4219)
+-- cycle(41.6875,167.1152)
+.. controls (42.8542,167.1007) and (43.9731,167.1316) .. (44.6406,167.6191)
+.. controls (44.4406,168.7691) and (44.9605,169.8900) .. (44.3105,171.2500)
+.. controls (43.3805,171.0700) and (41.6695,171.7402) .. (40.5195,171.4102)
+.. controls (40.9495,170.5102) and (40.8693,169.7602) .. (40.0293,169.4102)
+-- (40.0508,169.4102)
+arc(186.206 \@@_colon 197.036 \@@_colon 12.330)
+.. controls (40.9045,167.1309) and (41.2986,167.1201) .. (41.6875,167.1152)
+-- cycle(296.6426,170.7754)
+.. controls (297.1531,170.7676) and (297.6609,170.8530) .. (298.1309,171.0606)
+.. controls (297.5509,172.3605) and (295.6496,173.7394) .. (293.8496,174.3594)
+.. controls (293.2496,174.0094) and (293.1596,173.1708) .. (292.8496,172.5508)
+.. controls (293.5471,171.6583) and (295.1112,170.7988) .. (296.6426,170.7754)
+-- cycle(185.6992,171.2031)
+.. controls (183.9053,171.0845) and (182.2256,171.9098) .. (180.1406,172.5098)
+.. controls (176.7406,173.4798) and (173.8908,173.8591) .. (173.0508,176.6191)
+.. controls (175.0508,179.1891) and (178.5094,179.5297) .. (182.6094,178.9297)
+.. controls (183.8594,181.1397) and (186.8191,181.6509) .. (188.5391,183.3809)
+.. controls (183.1791,182.7909) and (177.9509,181.3591) .. (173.3809,184.0391)
+.. controls (173.4909,184.8691) and (172.7808,185.2497) .. (173.0508,186.1797)
+.. controls (174.0708,186.9297) and (174.8396,188.3302) .. (176.3496,188.4902)
+.. controls (178.4296,188.6702) and (180.8597,187.7599) .. (183.4297,187.6699)
+.. controls (187.5397,187.5199) and (190.7305,188.4399) .. (193.9805,187.6699)
+arc(-54.242 \@@_colon 30.421 \@@_colon 4.750)
+.. controls (195.0308,194.4297) and (194.5206,194.3000) .. (194.1406,194.7500)
+.. controls (193.6106,195.3900) and (193.4902,196.5407) .. (192.9902,197.2207)
+.. controls (192.2002,198.3007) and (191.0796,198.6791) .. (190.8496,199.3691)
+.. controls (189.6096,199.1391) and (189.7608,201.0696) .. (188.0508,200.8496)
+.. controls (187.8008,201.9296) and (186.9004,202.3102) .. (185.9004,202.6602)
+.. controls (183.7204,205.3702) and (179.6196,206.1595) .. (176.3496,207.7695)
+arc(75.711 \@@_colon 82.672 \@@_colon 123.000)
+.. controls (158.3197,210.1903) and (153.6705,209.7598) .. (149.8106,209.2598)
+.. controls (148.6705,210.9598) and (146.4793,210.8306) .. (145.0293,212.3906)
+.. controls (145.6793,212.5706) and (145.7992,212.9109) .. (145.1992,213.2109)
+arc(127.221 \@@_colon 94.925 \@@_colon 20.000)
+.. controls (156.0601,217.4809) and (156.5606,217.7693) .. (157.0606,218.0293)
+.. controls (161.0505,217.7593) and (164.0392,217.8907) .. (166.9492,216.2207)
+.. controls (166.6892,216.0507) and (166.2891,216.0607) .. (166.6191,215.7207)
+.. controls (181.7091,211.8007) and (200.0609,206.2196) .. (202.7109,189.3496)
+.. controls (202.0209,189.1296) and (202.1007,188.2991) .. (202.2207,187.5391)
+.. controls (209.8307,187.6991) and (214.6101,190.9192) .. (221.8301,188.6992)
+arc(237.247 \@@_colon 259.209 \@@_colon 9.330)
+.. controls (225.4009,186.0009) and (226.7095,185.6601) .. (227.2695,184.5801)
+.. controls (226.8995,183.4501) and (225.9109,184.0399) .. (225.1309,183.9199)
+.. controls (222.6509,183.5299) and (219.6508,182.7598) .. (217.0508,182.7598)
+.. controls (213.8308,182.7998) and (210.6902,182.8296) .. (207.9902,182.5996)
+arc(232.794 \@@_colon 253.110 \@@_colon 26.740)
+.. controls (218.0006,176.8805) and (221.2500,176.4695) .. (222.0000,174.5195)
+.. controls (213.9300,170.4495) and (204.0507,173.4902) .. (194.9707,173.9902)
+arc(86.419 \@@_colon 93.581 \@@_colon 21.140)
+arc(101.132 \@@_colon 121.258 \@@_colon 6.570)
+.. controls (188.7894,172.6802) and (187.8008,172.9597) .. (187.5508,171.6797)
+.. controls (186.9083,171.3872) and (186.2972,171.2427) .. (185.6992,171.2031)
+-- cycle(54.5391,173.3496)
+.. controls (55.0591,174.2896) and (54.0791,174.9596) .. (53.5391,175.3496)
+.. controls (52.9991,175.2796) and (52.8106,174.8595) .. (52.3906,174.6894)
+.. controls (52.8806,176.1095) and (51.3401,176.8602) .. (50.0801,176.9902)
+.. controls (50.0201,177.0002) and (49.6700,177.3203) .. (49.7500,177.3203)
+.. controls (48.5100,176.7703) and (49.3998,175.3592) .. (49.0898,173.6992)
+-- (49.1094,173.6992)
+arc(94.286 \@@_colon 78.346 \@@_colon 19.620)
+-- cycle(43.6914,174.0527)
+.. controls (43.9703,174.0543) and (44.2355,174.0894) .. (44.4805,174.1894)
+.. controls (44.2905,175.6894) and (44.2204,176.3003) .. (44.1504,177.8203)
+arc(76.497 \@@_colon 82.468 \@@_colon 25.780)
+.. controls (39.8498,177.3505) and (40.7496,175.5495) .. (40.8496,174.1894)
+-- (40.8691,174.1894)
+.. controls (41.8816,174.3545) and (42.8547,174.0480) .. (43.6914,174.0527)
+-- cycle(201.2305,177.8203)
+.. controls (199.8005,180.6203) and (195.7207,182.3106) .. (194.4707,178.3106)
+-- (194.4609,178.3106)
+.. controls (196.0009,177.6206) and (199.0805,177.9103) .. (201.2305,177.8203)
+-- cycle(43.2402,181.0859)
+.. controls (43.4895,181.0878) and (43.7355,181.1393) .. (43.9805,181.2793)
+.. controls (43.5605,182.5293) and (44.0302,184.2705) .. (43.4902,186.0606)
+arc(78.891 \@@_colon 112.005 \@@_colon 6.100)
+.. controls (40.9093,184.6105) and (39.9796,182.8995) .. (40.8496,181.4394)
+-- (40.8691,181.4394)
+.. controls (41.7166,181.5294) and (42.4926,181.0803) .. (43.2402,181.0859)
+-- cycle(21.0801,184.2344)
+arc(260.867 \@@_colon 282.643 \@@_colon 1.350)
+.. controls (21.5598,184.7100) and (21.2995,184.9004) .. (20.7695,184.9004)
+arc(139.764 \@@_colon 182.002 \@@_colon 0.720)
+arc(238.982 \@@_colon 260.828 \@@_colon 1.350)
+-- cycle(19.9395,185.5606)
+.. controls (21.2795,185.7806) and (20.2793,187.9308) .. (19.2793,187.0508)
+.. controls (19.4393,186.5008) and (19.5195,185.8605) .. (19.9395,185.5606)
+-- cycle(18.3418,186.0957)
+.. controls (18.4260,186.1173) and (18.5166,186.1662) .. (18.6191,186.2500)
+.. controls (18.4591,187.0200) and (18.3008,187.7402) .. (17.3008,187.7402)
+.. controls (17.2508,188.6202) and (16.8702,189.8809) .. (15.4902,189.8809)
+.. controls (15.4202,189.7309) and (15.3502,189.5508) .. (15.1602,189.5508)
+.. controls (15.2002,188.0208) and (16.5105,187.7908) .. (16.8105,186.5508)
+.. controls (17.5455,187.1020) and (17.7523,185.9445) .. (18.3418,186.0957)
+-- cycle;
+}
+\def \@@_path_spirit{
+ (459.6172,0.1621)
+.. controls (458.7334,0.1971) and (458.0702,0.4750) .. (458.2402,1.2500)
+.. controls (458.3202,0.8900) and (459.2492,0.2195) .. (459.4492,0.7695)
+arc(57.235 \@@_colon 73.280 \@@_colon 8.560)
+.. controls (456.5693,5.5895) and (459.0293,7.9304) .. (458.2793,10.6504)
+.. controls (457.5293,13.3704) and (453.3808,12.9309) .. (451.8008,15.2109)
+.. controls (453.8008,17.5909) and (460.4497,15.9208) .. (460.6797,19.0508)
+.. controls (460.8497,21.1908) and (457.6796,21.1806) .. (456.8496,22.8906)
+.. controls (448.5396,24.4806) and (443.3209,28.8805) .. (435.9609,30.8105)
+.. controls (434.7309,28.6805) and (435.7309,23.4902) .. (434.9609,20.4902)
+arc(18.572 \@@_colon 47.728 \@@_colon 1.710)
+.. controls (435.6002,18.1609) and (436.5996,17.2093) .. (437.5996,13.5293)
+.. controls (438.4696,14.0293) and (438.7000,12.1501) .. (440.0000,12.3301)
+arc(331.155 \@@_colon 287.623 \@@_colon 4.590)
+.. controls (435.4891,11.5699) and (435.7305,15.0991) .. (434.7305,17.3691)
+.. controls (434.3905,16.2891) and (435.1602,15.5209) .. (434.2402,15.2109)
+.. controls (433.9502,15.6709) and (433.6500,16.7509) .. (434.0000,17.1309)
+.. controls (433.9973,17.1458) and (433.9911,17.1627) .. (433.9883,17.1777)
+.. controls (434.4165,17.2118) and (433.8357,18.2411) .. (434.6504,17.8906)
+.. controls (434.6704,19.1106) and (434.1602,19.7898) .. (434.1602,21.0098)
+.. controls (432.8902,20.9098) and (434.7692,19.1398) .. (433.4492,19.0898)
+.. controls (433.5256,18.9217) and (433.5666,18.7191) .. (433.5996,18.5078)
+.. controls (432.6698,21.0967) and (430.7792,24.1382) .. (432.0801,26.2500)
+.. controls (432.5201,25.2600) and (431.6506,24.2696) .. (432.8105,23.8496)
+.. controls (435.0806,27.1996) and (431.3196,29.8097) .. (431.5996,33.9297)
+.. controls (433.5896,33.9597) and (436.8808,32.8099) .. (439.0508,34.1699)
+.. controls (440.2308,33.8299) and (441.0402,33.1305) .. (442.1602,32.7305)
+.. controls (445.3702,34.6305) and (446.0902,38.3405) .. (446.2402,42.8105)
+.. controls (439.8702,45.7105) and (430.9901,46.1202) .. (426.0801,50.4902)
+.. controls (427.0801,51.0402) and (426.4901,53.3394) .. (427.0801,53.6094)
+.. controls (428.7601,53.4494) and (430.4098,48.9009) .. (432.5898,51.2109)
+.. controls (430.6598,53.7509) and (427.9996,55.5802) .. (426.3496,58.4102)
+.. controls (426.6996,58.8902) and (427.9195,58.4406) .. (428.2695,58.8906)
+.. controls (428.6195,57.7806) and (430.3504,56.1991) .. (431.4004,55.2891)
+.. controls (431.9104,54.8491) and (432.2196,53.9396) .. (432.3496,53.8496)
+.. controls (432.4796,53.7596) and (433.2505,53.9896) .. (433.5605,53.8496)
+.. controls (436.4905,52.5096) and (443.3498,49.2091) .. (446.7598,49.2891)
+.. controls (447.7798,51.8491) and (447.1392,54.9802) .. (447.9492,56.4902)
+.. controls (447.9892,56.2502) and (448.3399,56.2500) .. (448.6699,56.2500)
+.. controls (447.0699,58.5900) and (443.1406,60.7991) .. (439.3105,59.3691)
+.. controls (440.1705,58.4691) and (439.4601,57.0098) .. (439.0801,56.0098)
+.. controls (436.9801,56.6098) and (434.5795,55.6199) .. (434.2695,58.1699)
+.. controls (437.6695,58.6199) and (437.9198,62.1991) .. (438.5898,65.3691)
+.. controls (439.9098,66.4391) and (441.9298,65.4291) .. (443.5898,65.3691)
+.. controls (446.1598,65.2791) and (447.7008,66.9905) .. (450.8008,66.8105)
+.. controls (451.8108,65.9905) and (452.7399,65.0799) .. (453.6699,64.1699)
+.. controls (456.1799,66.1899) and (451.8694,70.2102) .. (453.4395,70.4102)
+.. controls (451.0595,74.5702) and (454.1504,78.7509) .. (454.1504,83.1309)
+.. controls (454.1604,84.6709) and (453.2695,86.3797) .. (453.4395,87.9297)
+.. controls (453.7194,90.6397) and (455.8407,93.6399) .. (458.7207,94.1699)
+.. controls (465.0907,95.3299) and (471.9194,91.6106) .. (479.3594,94.8906)
+.. controls (479.3994,95.5706) and (479.8301,95.8903) .. (479.8301,96.5703)
+.. controls (479.4601,97.5603) and (478.5404,97.9909) .. (478.4004,99.2109)
+.. controls (479.4004,100.8409) and (482.0704,101.6893) .. (484.4004,103.5293)
+.. controls (486.1004,104.8793) and (487.5599,107.3691) .. (489.6699,107.3691)
+.. controls (491.7799,107.3691) and (495.4805,104.9691) .. (494.4805,101.3691)
+.. controls (491.0905,99.5391) and (486.7998,97.5491) .. (485.5898,94.3691)
+.. controls (488.5098,91.0791) and (487.5098,82.4391) .. (487.5098,76.3691)
+.. controls (488.7098,72.0491) and (488.6194,65.5797) .. (485.3594,62.9297)
+.. controls (485.0994,63.1497) and (485.2809,63.8104) .. (484.6309,63.6504)
+arc(296.054 \@@_colon 247.425 \@@_colon 9.610)
+.. controls (477.3307,63.6502) and (477.9102,62.5904) .. (477.9102,63.6504)
+arc(269.499 \@@_colon 251.561 \@@_colon 46.790)
+.. controls (463.5195,66.4508) and (464.1805,66.1793) .. (464.2305,66.5293)
+.. controls (463.1105,66.8593) and (463.7105,67.5895) .. (463.2305,68.6895)
+.. controls (472.0105,70.0195) and (482.0805,65.2396) .. (480.2305,76.8496)
+.. controls (480.0405,78.0296) and (479.0991,78.9995) .. (479.0391,80.6895)
+.. controls (478.9391,83.2695) and (480.9391,87.0403) .. (479.0391,89.5703)
+.. controls (472.4391,89.6403) and (466.6091,89.6508) .. (460.7891,90.0508)
+.. controls (460.4391,89.6108) and (459.5891,89.6094) .. (459.7891,88.6094)
+.. controls (460.1091,88.9794) and (462.4894,89.4296) .. (462.1895,88.8496)
+arc(85.176 \@@_colon 209.340 \@@_colon 2.260)
+.. controls (462.9593,85.4402) and (468.5794,86.0508) .. (470.3594,84.0508)
+.. controls (469.2694,83.5108) and (472.1601,80.5107) .. (471.0801,79.9707)
+.. controls (470.0601,79.8707) and (469.0107,80.4099) .. (467.4707,81.1699)
+.. controls (464.7207,80.9999) and (461.3091,81.5399) .. (459.7891,80.1699)
+.. controls (460.6291,79.5699) and (459.7793,78.4408) .. (460.0293,77.0508)
+.. controls (462.6393,76.4008) and (465.1902,77.7203) .. (467.2402,76.5703)
+.. controls (468.7502,75.7103) and (468.9904,73.7602) .. (469.4004,72.4902)
+.. controls (467.9604,71.4402) and (463.9294,73.0295) .. (462.1895,71.7695)
+.. controls (462.0394,70.2395) and (460.7891,69.8109) .. (459.7891,69.1309)
+.. controls (459.1991,66.5209) and (458.1794,64.3409) .. (458.1094,61.2109)
+arc(244.825 \@@_colon 257.009 \@@_colon 14.410)
+.. controls (463.8300,64.4709) and (468.4392,60.7305) .. (473.9492,59.7305)
+.. controls (478.7992,58.8305) and (483.0504,59.5705) .. (487.1504,58.7305)
+.. controls (488.0504,58.1605) and (487.7391,57.5505) .. (487.8691,56.8105)
+.. controls (488.1691,55.2505) and (489.7608,53.3500) .. (489.5508,52.2500)
+.. controls (489.3008,50.6500) and (485.7108,47.7597) .. (484.5508,47.9297)
+arc(332.851 \@@_colon 340.254 \@@_colon 14.180)
+.. controls (482.2493,53.2794) and (474.0994,53.9399) .. (469.1895,54.1699)
+.. controls (469.8694,53.4399) and (469.5394,52.6293) .. (469.4395,51.5293)
+.. controls (472.1194,51.3893) and (476.0703,50.5006) .. (478.0703,48.8906)
+.. controls (478.3203,47.8406) and (478.1303,47.8207) .. (478.3203,46.9707)
+.. controls (486.2603,42.0007) and (495.2202,49.4206) .. (503.9902,48.8906)
+.. controls (507.9002,45.2906) and (501.1306,43.2809) .. (500.6406,41.2109)
+.. controls (494.6706,43.0409) and (490.3903,40.7609) .. (484.0703,40.2109)
+.. controls (484.2503,39.4709) and (483.4198,39.7498) .. (483.5898,39.0098)
+.. controls (484.2898,39.0098) and (484.1198,39.4098) .. (484.5898,39.0098)
+.. controls (486.2498,33.8498) and (485.6904,29.8496) .. (483.4004,24.8496)
+arc(66.548 \@@_colon 85.453 \@@_colon 9.070)
+.. controls (480.0198,26.8403) and (479.2601,27.8399) .. (478.8301,29.1699)
+arc(297.885 \@@_colon 339.751 \@@_colon 3.570)
+.. controls (479.8998,34.0798) and (477.5494,35.3305) .. (476.4395,37.8105)
+.. controls (475.9495,37.7605) and (475.8795,38.0508) .. (475.4395,38.0508)
+.. controls (475.3694,39.3508) and (476.1895,37.3391) .. (476.4395,38.2891)
+.. controls (475.9995,40.5291) and (471.7302,40.3293) .. (470.9102,38.5293)
+.. controls (472.1402,39.3693) and (471.4609,37.2891) .. (471.6309,36.3691)
+.. controls (474.5309,35.4291) and (474.1895,31.8303) .. (476.1895,31.5703)
+.. controls (472.9694,31.3303) and (471.2495,36.1796) .. (469.1895,36.8496)
+.. controls (469.8995,36.6196) and (467.3998,36.9091) .. (467.5098,36.3691)
+.. controls (467.6198,35.8291) and (468.8307,36.4004) .. (468.7207,35.6504)
+.. controls (467.5407,33.3504) and (463.6704,32.5799) .. (464.4004,29.1699)
+.. controls (463.1604,28.9799) and (464.1507,27.8705) .. (462.7207,27.7305)
+.. controls (462.7207,27.1305) and (463.1607,26.9893) .. (462.7207,26.5293)
+.. controls (461.9207,26.5193) and (461.5508,26.1191) .. (460.5508,26.2891)
+.. controls (459.8508,26.5391) and (461.1091,26.6891) .. (460.7891,27.2891)
+.. controls (456.9991,27.0991) and (455.5098,30.4791) .. (455.5098,33.2891)
+.. controls (455.7398,33.0491) and (456.0894,31.2394) .. (457.1895,31.6094)
+.. controls (456.9094,32.3594) and (456.3007,32.7998) .. (456.4707,34.0098)
+.. controls (460.2807,33.3398) and (461.6201,38.2500) .. (459.8301,40.2500)
+arc(83.448 \@@_colon 91.051 \@@_colon 37.750)
+.. controls (455.0301,40.4602) and (455.5601,39.6995) .. (455.0801,39.7695)
+.. controls (455.0001,40.1195) and (454.4701,40.0098) .. (454.0801,40.0098)
+.. controls (453.4601,38.2598) and (452.4296,35.3202) .. (453.5996,34.4902)
+.. controls (453.3996,34.7302) and (452.3702,35.2905) .. (452.1602,34.7305)
+arc(78.062 \@@_colon 55.492 \@@_colon 4.670)
+.. controls (452.1298,34.0798) and (452.4192,32.2991) .. (451.4492,31.3691)
+.. controls (450.4792,30.4391) and (449.4708,30.8695) .. (448.8008,29.6895)
+.. controls (451.0908,25.7295) and (456.7091,25.1192) .. (461.2891,23.4492)
+.. controls (461.2891,23.7192) and (460.9391,23.8197) .. (461.2891,23.9297)
+arc(238.188 \@@_colon 292.246 \@@_colon 3.170)
+.. controls (470.9202,21.3195) and (480.8502,22.3198) .. (488.1602,22.0098)
+.. controls (488.7602,21.9798) and (489.2398,21.5293) .. (489.8398,21.5293)
+.. controls (492.9198,21.4293) and (494.7901,23.8496) .. (496.3301,25.8496)
+arc(21.334 \@@_colon 32.003 \@@_colon 26.000)
+arc(209.514 \@@_colon 251.295 \@@_colon 2.200)
+.. controls (493.3991,31.9299) and (489.3593,32.6002) .. (487.2793,35.4102)
+.. controls (490.2793,36.8702) and (491.8192,37.6694) .. (495.4492,36.6094)
+.. controls (499.3592,32.9994) and (506.8605,32.9801) .. (506.7305,25.3301)
+.. controls (503.9605,23.8601) and (501.3406,22.2295) .. (498.5605,20.7695)
+.. controls (498.1205,20.2695) and (498.1303,20.5395) .. (498.3203,19.7695)
+.. controls (496.5203,17.6495) and (493.8096,16.9297) .. (491.5996,15.9297)
+.. controls (490.9096,15.6297) and (490.5209,14.8509) .. (489.2109,15.2109)
+.. controls (484.9809,16.3609) and (479.9498,18.4794) .. (475.7598,17.6094)
+.. controls (475.1098,16.2394) and (472.8002,14.5101) .. (472.1602,12.3301)
+.. controls (472.1002,12.7001) and (471.6392,12.5001) .. (471.4492,12.3301)
+.. controls (469.8192,9.3301) and (466.7305,7.8801) .. (464.7305,5.3301)
+.. controls (464.5805,3.0701) and (462.9303,2.3293) .. (462.3203,0.5293)
+.. controls (461.6053,0.3343) and (460.5009,0.1271) .. (459.6172,0.1621)
+-- cycle(433.5996,18.5078)
+.. controls (433.7647,18.0482) and (433.9079,17.6007) .. (433.9883,17.1777)
+.. controls (433.9645,17.1758) and (433.9505,17.1652) .. (433.9199,17.1699)
+.. controls (433.6977,17.4962) and (433.6746,18.0280) .. (433.5996,18.5078)
+-- cycle(185.0000,0.6094)
+.. controls (182.3700,5.5394) and (185.1496,15.9294) .. (188.5996,18.6094)
+arc(122.981 \@@_colon 98.998 \@@_colon 8.070)
+.. controls (192.0505,19.5705) and (192.1997,19.1598) .. (192.6797,19.0898)
+.. controls (192.6797,19.3598) and (192.3397,19.4603) .. (192.6797,19.5703)
+.. controls (195.2797,16.5703) and (200.6493,15.0806) .. (202.2793,11.8906)
+.. controls (202.2193,12.2906) and (203.2193,11.8704) .. (203.2793,11.6504)
+.. controls (203.2693,10.1204) and (203.0505,10.6700) .. (203.7305,9.2500)
+.. controls (198.9105,10.2300) and (191.3594,10.1906) .. (188.3594,5.8906)
+.. controls (187.2694,4.1106) and (186.6500,1.8494) .. (185.0000,0.6094)
+-- cycle(55.4492,0.8496)
+.. controls (55.5892,2.0596) and (55.9995,2.9400) .. (55.6895,4.0000)
+.. controls (54.5195,4.8100) and (53.0008,5.2598) .. (52.8008,7.0898)
+.. controls (53.8408,6.6098) and (53.7092,6.3494) .. (55.1992,6.6094)
+.. controls (55.6892,10.6794) and (56.9195,14.0205) .. (61.6895,13.8105)
+arc(211.730 \@@_colon 235.728 \@@_colon 19.170)
+.. controls (67.0892,7.0508) and (66.2895,6.7209) .. (65.7695,6.1309)
+arc(66.583 \@@_colon 85.472 \@@_colon 9.070)
+.. controls (62.0409,4.4096) and (58.5605,4.6001) .. (58.5605,1.3301)
+.. controls (57.7605,0.9301) and (56.2492,1.2496) .. (55.4492,0.8496)
+-- cycle(85.3320,0.8848)
+.. controls (84.1044,0.7263) and (82.0681,2.2306) .. (81.6406,2.8906)
+.. controls (81.3906,3.1906) and (81.6806,3.7398) .. (81.3906,4.0898)
+.. controls (80.1606,5.5698) and (76.3006,7.4602) .. (74.3906,8.4102)
+.. controls (73.9306,10.5002) and (72.0108,11.1500) .. (70.5508,12.2500)
+.. controls (70.2608,13.0700) and (71.3293,12.4700) .. (71.0293,13.2500)
+.. controls (69.4993,14.6900) and (67.5302,13.3795) .. (66.2402,14.6895)
+.. controls (66.5302,14.7195) and (66.8009,14.7599) .. (66.7109,15.1699)
+.. controls (66.0609,15.0199) and (65.5895,16.2504) .. (65.2695,15.6504)
+.. controls (65.2295,15.3204) and (66.6598,15.3397) .. (65.7598,14.9297)
+.. controls (65.0098,15.4097) and (64.4096,14.8099) .. (63.3496,15.1699)
+.. controls (59.4296,18.8999) and (51.2509,18.3691) .. (48.7109,22.3691)
+.. controls (47.4809,22.0991) and (46.7098,23.5496) .. (45.8398,22.8496)
+.. controls (45.9798,22.1996) and (46.8391,22.2502) .. (46.7891,21.4102)
+.. controls (46.1191,19.3202) and (48.1306,12.9809) .. (50.3906,10.1309)
+.. controls (49.2206,9.9709) and (48.9307,8.8807) .. (48.4707,7.9707)
+.. controls (48.7307,7.5707) and (49.6795,6.6391) .. (49.1895,6.2891)
+.. controls (48.8495,7.3791) and (48.0195,6.5491) .. (47.2695,7.2891)
+.. controls (47.0595,8.0991) and (48.0700,7.6591) .. (48.0000,8.2891)
+arc(281.443 \@@_colon 235.902 \@@_colon 1.580)
+.. controls (46.4508,11.2893) and (42.9001,10.8702) .. (40.3301,11.4102)
+.. controls (39.8901,9.0402) and (36.2708,9.0501) .. (34.8008,7.3301)
+.. controls (34.6508,5.2101) and (31.3198,4.4995) .. (30.0098,2.7695)
+.. controls (28.1398,3.3395) and (26.6207,2.1708) .. (24.7207,2.0508)
+.. controls (25.6807,5.1808) and (25.9291,9.0007) .. (28.2891,10.7207)
+arc(282.873 \@@_colon 290.594 \@@_colon 18.540)
+.. controls (32.1097,14.7395) and (35.2109,16.4001) .. (36.2109,20.0801)
+arc(150.038 \@@_colon 93.327 \@@_colon 8.660)
+arc(11.526 \@@_colon 43.500 \@@_colon 3.930)
+.. controls (40.8609,26.5603) and (38.3397,25.6905) .. (36.6797,26.5605)
+.. controls (37.3497,26.7805) and (38.3698,26.6291) .. (38.8398,27.0391)
+.. controls (33.5198,27.2791) and (28.3495,26.2793) .. (22.5195,27.2793)
+.. controls (22.1795,28.2193) and (23.5995,27.3600) .. (23.5195,28.0000)
+.. controls (19.8095,28.0000) and (15.8102,26.7499) .. (13.2402,29.1699)
+arc(169.514 \@@_colon 137.356 \@@_colon 8.720)
+.. controls (22.8204,32.4602) and (22.3102,38.2594) .. (21.1602,42.6094)
+.. controls (21.4502,42.6494) and (21.8906,42.5696) .. (21.8906,42.8496)
+.. controls (20.7906,44.0496) and (21.1309,45.2292) .. (20.2109,46.4492)
+.. controls (20.4909,46.4892) and (20.9199,46.4095) .. (20.9199,46.6895)
+.. controls (19.0599,47.2195) and (19.5392,49.4593) .. (20.4492,50.5293)
+.. controls (19.9192,50.3993) and (19.9392,49.8091) .. (19.4492,50.2891)
+arc(203.465 \@@_colon 184.918 \@@_colon 9.220)
+arc(66.059 \@@_colon 113.941 \@@_colon 1.480)
+.. controls (17.3495,56.4899) and (15.8291,58.8105) .. (15.1191,61.8105)
+.. controls (15.1491,62.2605) and (15.9196,61.9793) .. (15.8496,62.5293)
+.. controls (10.4621,65.9038) and (13.7892,76.3868) .. (12.2207,82.6641)
+.. controls (12.3681,82.4811) and (12.5605,82.4101) .. (12.5605,82.7207)
+.. controls (11.9805,83.5107) and (11.5601,85.3301) .. (12.3301,86.0801)
+.. controls (11.4301,86.1401) and (11.5309,87.2095) .. (10.8809,87.5195)
+.. controls (11.1709,87.5595) and (11.5996,87.4798) .. (11.5996,87.7598)
+.. controls (10.9896,88.0598) and (11.0796,89.0395) .. (10.5996,89.4395)
+.. controls (8.1196,88.9795) and (7.0296,88.2402) .. (3.5996,88.2402)
+.. controls (3.5396,87.7502) and (3.8398,87.6702) .. (3.8398,87.2402)
+.. controls (2.4998,87.2002) and (1.0000,86.6300) .. (0.0000,87.0000)
+.. controls (-0.1500,91.0000) and (2.8607,92.6695) .. (4.7207,94.7695)
+.. controls (6.5807,96.8695) and (6.8391,99.4991) .. (9.0391,100.2891)
+.. controls (10.3691,100.3791) and (10.6895,100.0291) .. (11.6895,100.2891)
+.. controls (12.2395,100.3591) and (11.8904,99.5703) .. (12.4004,99.5703)
+.. controls (12.9104,99.5703) and (12.7404,100.2208) .. (13.4004,100.0508)
+.. controls (13.9104,99.2708) and (13.9203,100.3405) .. (15.0703,99.8105)
+.. controls (16.1203,96.9805) and (18.5692,94.3797) .. (18.1992,90.9297)
+.. controls (20.4792,88.2897) and (21.2908,84.7194) .. (21.8008,80.6094)
+.. controls (22.2008,77.2094) and (22.2492,71.6105) .. (24.1992,69.8105)
+.. controls (29.5692,74.4605) and (27.4801,83.6295) .. (26.8301,90.6895)
+.. controls (25.5001,90.4795) and (25.8904,91.9791) .. (25.1504,92.3691)
+arc(60.290 \@@_colon 119.710 \@@_colon 1.200)
+.. controls (20.6409,97.9791) and (27.9206,102.6598) .. (31.6406,99.0898)
+.. controls (30.6906,98.7998) and (29.4902,98.7898) .. (28.9902,98.0898)
+.. controls (30.4702,98.0398) and (30.8791,96.9304) .. (32.1191,96.6504)
+.. controls (32.5791,96.7504) and (32.3103,97.5791) .. (33.0703,97.3691)
+.. controls (33.0103,96.6991) and (33.1608,96.2991) .. (33.8008,96.3691)
+.. controls (33.9508,96.7791) and (34.5200,96.7598) .. (34.7500,97.0898)
+.. controls (34.1500,97.0498) and (34.0008,97.4605) .. (33.8008,97.8105)
+.. controls (35.0508,97.0605) and (36.6104,96.6299) .. (37.1504,95.1699)
+.. controls (36.7804,95.1499) and (36.3197,95.1995) .. (36.4297,94.6895)
+.. controls (37.1897,94.8095) and (37.3709,94.1695) .. (37.8809,94.6895)
+.. controls (37.3509,93.7795) and (38.4403,93.8602) .. (39.0703,93.4902)
+arc(297.240 \@@_colon 314.321 \@@_colon 4.150)
+.. controls (40.0003,95.3009) and (38.2803,93.9297) .. (39.0703,94.9297)
+.. controls (39.0203,95.3497) and (41.2709,94.1505) .. (41.9609,93.7305)
+.. controls (40.9909,93.7805) and (40.8807,93.6700) .. (41.4707,93.2500)
+.. controls (40.6707,93.2800) and (40.2108,93.7298) .. (39.8008,93.0098)
+.. controls (42.2908,91.6498) and (43.0703,90.8304) .. (45.0703,89.6504)
+.. controls (45.5603,90.0004) and (46.1703,90.1898) .. (46.0703,91.0898)
+arc(239.673 \@@_colon 350.008 \@@_colon 1.450)
+.. controls (47.4405,97.7598) and (45.5196,105.9002) .. (51.0996,108.4102)
+.. controls (51.5896,108.1002) and (51.7105,107.4209) .. (52.3105,107.2109)
+.. controls (51.5205,101.6509) and (54.2395,96.1004) .. (53.0195,90.6504)
+.. controls (52.7395,90.6104) and (52.3105,90.6902) .. (52.3105,90.4102)
+.. controls (52.7005,84.8202) and (57.3602,83.5906) .. (59.9902,78.8906)
+.. controls (59.2502,78.5106) and (58.3703,78.2692) .. (58.0703,77.4492)
+.. controls (58.3103,77.3892) and (58.6405,77.0507) .. (58.3105,76.9707)
+.. controls (57.5705,78.4707) and (55.2900,78.4409) .. (53.7500,79.1309)
+.. controls (53.7500,77.2209) and (53.2600,76.4703) .. (53.7500,74.5703)
+arc(67.641 \@@_colon 39.146 \@@_colon 21.260)
+.. controls (61.4104,69.5001) and (61.6291,69.2501) .. (62.6191,68.3301)
+.. controls (63.6091,67.4101) and (65.7302,65.6409) .. (65.9902,65.2109)
+.. controls (65.5302,64.4809) and (65.2102,65.8709) .. (64.9902,65.2109)
+.. controls (65.3102,64.1509) and (66.0497,65.0005) .. (66.4297,64.7305)
+.. controls (65.9097,64.6605) and (66.7002,64.0798) .. (66.9102,64.0098)
+.. controls (66.9202,64.2498) and (66.6699,64.2902) .. (66.6699,64.4902)
+.. controls (69.0499,62.5602) and (76.3102,62.6897) .. (76.9902,65.9297)
+.. controls (77.4902,68.2897) and (75.9400,71.6391) .. (76.7500,75.2891)
+.. controls (76.3300,75.4191) and (75.7605,75.4095) .. (75.5605,75.7695)
+.. controls (75.9905,75.9095) and (76.9902,75.4798) .. (76.9902,76.0098)
+.. controls (76.9002,76.8698) and (75.5605,76.5292) .. (75.5605,77.4492)
+.. controls (76.0505,77.6792) and (76.4105,76.7292) .. (76.5605,77.4492)
+.. controls (76.0405,78.0392) and (74.1492,77.6605) .. (73.4492,76.7305)
+arc(269.148 \@@_colon 307.722 \@@_colon 1.150)
+.. controls (73.8499,75.8807) and (73.1398,76.1100) .. (72.0098,76.2500)
+.. controls (68.8898,74.1500) and (64.4695,71.2606) .. (59.7695,72.8906)
+.. controls (62.6695,76.6606) and (68.4709,78.6999) .. (68.8809,84.1699)
+.. controls (64.4509,85.3099) and (60.3292,88.8398) .. (55.4492,88.0098)
+.. controls (54.9992,90.2398) and (55.1204,92.8398) .. (56.4004,94.0098)
+.. controls (57.4604,93.8798) and (57.4494,93.6700) .. (57.6094,94.2500)
+.. controls (61.8194,92.2200) and (68.1893,91.0905) .. (71.2793,88.7305)
+.. controls (72.2593,89.4905) and (73.1095,88.1205) .. (73.6895,87.7305)
+.. controls (74.2195,88.5405) and (75.9108,87.2802) .. (76.8008,87.4902)
+.. controls (80.7608,88.4402) and (87.0005,95.6705) .. (88.5605,98.8105)
+arc(59.356 \@@_colon 94.628 \@@_colon 5.270)
+.. controls (85.3492,100.8193) and (87.0591,100.3092) .. (87.1191,101.4492)
+.. controls (86.1591,101.5192) and (84.9207,101.3299) .. (84.7207,102.1699)
+arc(278.294 \@@_colon 296.556 \@@_colon 42.930)
+.. controls (99.9607,105.4500) and (102.9007,104.5792) .. (102.7207,101.4492)
+.. controls (102.6207,99.6492) and (100.8496,98.1304) .. (99.8496,96.6504)
+arc(177.436 \@@_colon 219.433 \@@_colon 1.060)
+.. controls (99.4798,95.6197) and (98.7204,95.4897) .. (98.4004,94.9297)
+.. controls (98.4304,94.5497) and (99.0209,94.7409) .. (98.8809,94.2109)
+arc(112.332 \@@_colon 132.841 \@@_colon 8.770)
+.. controls (97.0000,91.6293) and (95.0898,90.2591) .. (94.0898,90.3691)
+.. controls (95.6498,90.3691) and (93.8905,89.2397) .. (94.5605,88.9297)
+.. controls (95.1605,88.8397) and (95.2695,90.4304) .. (95.7695,89.6504)
+arc(330.951 \@@_colon 306.519 \@@_colon 37.220)
+arc(185.764 \@@_colon 193.919 \@@_colon 78.510)
+.. controls (87.7791,63.8105) and (88.2004,61.4201) .. (90.6504,60.3301)
+.. controls (92.8604,59.3501) and (96.4895,59.7502) .. (95.9395,56.4902)
+.. controls (95.1895,56.7002) and (92.5608,55.8905) .. (93.0508,54.8105)
+.. controls (92.1308,54.6005) and (92.6191,55.8593) .. (91.6191,55.5293)
+.. controls (91.6191,55.0093) and (92.2696,55.1793) .. (92.0996,54.5293)
+.. controls (85.8396,54.0293) and (82.1896,54.5605) .. (75.0996,55.7305)
+arc(341.549 \@@_colon 304.724 \@@_colon 5.700)
+.. controls (73.2595,52.5996) and (73.8304,52.6091) .. (74.1504,52.3691)
+.. controls (73.6804,48.5391) and (75.6898,44.5198) .. (75.5898,41.0898)
+.. controls (75.6398,41.2798) and (75.5901,41.5703) .. (75.8301,41.5703)
+.. controls (76.3401,40.3503) and (76.4301,38.7602) .. (76.8301,37.4902)
+.. controls (75.6701,37.2202) and (75.1392,36.3005) .. (74.1992,35.8105)
+.. controls (74.1992,36.5305) and (75.1392,36.4505) .. (74.1992,36.8105)
+.. controls (72.3092,34.9605) and (70.7602,37.5005) .. (68.9102,37.8105)
+.. controls (69.6302,42.9705) and (65.7408,46.0991) .. (65.5508,50.2891)
+.. controls (65.0208,49.8091) and (65.0408,50.3993) .. (64.5508,50.5293)
+.. controls (64.1308,53.7893) and (61.5195,56.1295) .. (61.1895,58.6895)
+.. controls (61.2595,58.4795) and (61.8499,57.6409) .. (61.9199,58.2109)
+.. controls (61.9799,59.8009) and (60.4707,59.7901) .. (60.4707,61.3301)
+.. controls (60.8007,61.9101) and (60.9495,61.4805) .. (61.1895,61.8105)
+.. controls (61.1695,62.9105) and (59.8198,62.7402) .. (59.5098,63.4902)
+.. controls (59.1998,64.2402) and (59.5798,64.1699) .. (59.5098,65.1699)
+.. controls (58.0198,65.8699) and (56.7392,66.8294) .. (54.9492,66.6094)
+.. controls (54.8792,66.0594) and (55.6797,66.3406) .. (55.6797,65.8906)
+.. controls (54.2497,65.0806) and (54.0801,62.9795) .. (52.0801,62.7695)
+arc(242.740 \@@_colon 223.719 \@@_colon 10.920)
+.. controls (50.3895,70.2097) and (49.5407,77.7409) .. (48.4707,82.2109)
+.. controls (48.9507,82.4109) and (49.1095,82.8502) .. (49.1895,83.4102)
+.. controls (48.5095,83.7802) and (48.4098,84.6996) .. (47.5098,84.8496)
+.. controls (47.4398,85.3196) and (47.8400,85.3303) .. (48.0000,85.5703)
+arc(43.441 \@@_colon 58.403 \@@_colon 26.320)
+.. controls (42.7397,89.5906) and (43.0595,89.4102) .. (42.4395,89.4102)
+.. controls (41.8095,90.9402) and (37.0505,93.2493) .. (35.7305,92.5293)
+.. controls (35.6805,92.7693) and (35.3500,92.7695) .. (35.0000,92.7695)
+.. controls (35.6300,93.4695) and (35.2891,93.9609) .. (34.2891,94.2109)
+.. controls (34.3391,93.8709) and (34.6798,93.8102) .. (34.7598,93.4902)
+.. controls (32.3798,94.1702) and (31.6195,95.1099) .. (28.5195,95.1699)
+.. controls (26.9695,93.6499) and (28.7507,92.1601) .. (29.9707,91.3301)
+.. controls (30.6607,91.8101) and (31.3806,91.5905) .. (31.8906,91.8105)
+.. controls (32.8906,88.4105) and (33.2709,84.3997) .. (36.2109,82.9297)
+.. controls (37.8109,83.4497) and (39.6505,82.4492) .. (41.4805,82.4492)
+.. controls (42.2105,82.0092) and (41.3209,81.3398) .. (42.2109,81.0098)
+.. controls (43.5609,81.5698) and (44.0194,80.6303) .. (44.3594,79.5703)
+.. controls (42.9194,79.8703) and (42.6705,78.6101) .. (41.4805,79.3301)
+.. controls (41.4105,78.7701) and (41.0105,78.3406) .. (41.4805,77.8906)
+.. controls (39.6705,77.7006) and (38.8902,78.9091) .. (37.4102,78.3691)
+.. controls (37.6602,79.6191) and (35.2000,79.0898) .. (35.0000,79.0898)
+arc(19.875 \@@_colon -3.283 \@@_colon 14.500)
+.. controls (38.7198,71.8501) and (45.1500,71.5103) .. (44.0000,67.5703)
+.. controls (43.1900,67.3603) and (43.4700,68.1891) .. (43.0000,68.2891)
+.. controls (39.7900,67.5791) and (35.9997,68.4302) .. (32.9297,69.4902)
+.. controls (30.2197,68.6402) and (25.5905,69.0191) .. (24.0605,66.3691)
+.. controls (24.8105,65.2891) and (25.0902,63.7193) .. (25.7402,62.5293)
+.. controls (29.9802,62.5693) and (34.1605,62.8108) .. (37.9805,62.0508)
+.. controls (41.1405,61.4208) and (44.8601,60.7009) .. (47.3301,60.1309)
+.. controls (49.8001,59.5609) and (56.5501,59.3302) .. (58.3301,57.4902)
+.. controls (58.6501,57.1502) and (57.8008,56.6195) .. (58.8008,56.7695)
+-- (58.8008,54.6094)
+.. controls (58.2208,53.5294) and (55.6406,54.2998) .. (56.6406,55.0898)
+.. controls (55.8906,54.4298) and (54.8400,55.4896) .. (54.2500,54.8496)
+.. controls (54.2300,53.6996) and (57.3006,54.4102) .. (56.6406,53.4102)
+.. controls (54.9406,53.8302) and (53.4998,51.9200) .. (52.0898,51.2500)
+.. controls (52.5898,50.3800) and (52.3998,50.0898) .. (52.0898,49.0898)
+.. controls (54.1298,45.9998) and (58.1791,44.9097) .. (59.0391,41.9297)
+.. controls (57.8791,40.4497) and (57.0009,40.3301) .. (56.8809,38.3301)
+.. controls (55.4009,37.6601) and (53.1998,39.5703) .. (52.0898,38.5703)
+.. controls (51.5098,39.0003) and (51.6406,40.0102) .. (50.6406,40.4902)
+.. controls (47.8306,39.9402) and (44.6605,41.6309) .. (42.4805,43.1309)
+arc(273.685 \@@_colon 255.960 \@@_colon 17.210)
+arc(302.317 \@@_colon 269.485 \@@_colon 3.090)
+.. controls (32.2695,43.7709) and (26.1294,44.6295) .. (27.6094,39.7695)
+arc(151.965 \@@_colon 186.985 \@@_colon 4.460)
+.. controls (27.8791,35.6709) and (29.2205,36.1309) .. (30.4805,36.1309)
+.. controls (36.1305,36.0009) and (41.6295,34.5898) .. (48.0195,33.0898)
+.. controls (50.5695,32.5498) and (53.2495,32.8494) .. (55.9395,32.6094)
+.. controls (58.6295,32.3694) and (63.5595,31.6094) .. (66.9395,32.6094)
+.. controls (67.6595,32.8494) and (68.2896,33.4794) .. (69.0996,33.6094)
+.. controls (72.0596,34.0694) and (75.9395,33.5294) .. (78.9395,33.6094)
+.. controls (83.9395,33.7294) and (98.1195,32.5091) .. (90.9395,27.3691)
+.. controls (89.1595,27.5291) and (85.3493,28.5291) .. (82.7793,27.3691)
+.. controls (79.6193,28.0891) and (76.6609,27.4391) .. (72.4609,27.3691)
+.. controls (72.1109,26.7491) and (71.5802,26.4795) .. (71.9902,25.6895)
+.. controls (71.3002,25.0895) and (70.0501,25.0598) .. (69.8301,24.0098)
+.. controls (69.7701,23.3498) and (70.7701,23.7791) .. (70.8301,23.2891)
+.. controls (69.8101,22.5391) and (70.5898,22.4309) .. (70.5898,21.1309)
+.. controls (76.6298,19.0309) and (82.2792,14.4903) .. (86.1992,10.5703)
+.. controls (88.1992,8.5603) and (89.0792,4.3697) .. (87.1992,1.9297)
+.. controls (86.7892,1.4497) and (86.3192,2.1295) .. (86.1992,1.6895)
+.. controls (86.0592,1.1745) and (85.7412,0.9376) .. (85.3320,0.8848)
+-- cycle(12.2207,82.6641)
+.. controls (12.1023,82.8110) and (12.0097,83.0255) .. (12.0898,83.1992)
+.. controls (12.1424,83.0285) and (12.1763,82.8418) .. (12.2207,82.6641)
+-- cycle(218.5644,3.7051)
+.. controls (215.3721,3.6870) and (211.7815,5.4855) .. (211.7402,8.7305)
+.. controls (210.9402,9.3605) and (209.2503,10.1309) .. (209.5703,11.1309)
+.. controls (211.4203,11.4109) and (211.8799,10.4102) .. (213.4199,10.4102)
+.. controls (213.3399,10.9702) and (213.0397,11.3098) .. (213.1797,12.0898)
+.. controls (209.7097,14.8598) and (206.6696,18.0705) .. (203.0996,20.7305)
+.. controls (203.0396,21.2205) and (203.3301,21.3005) .. (203.3301,21.7305)
+.. controls (198.5101,26.6605) and (192.3809,29.1606) .. (184.3809,29.8906)
+.. controls (184.4409,31.1006) and (185.1496,31.6800) .. (184.8496,33.2500)
+.. controls (188.4496,34.8900) and (190.3492,39.2098) .. (194.4492,39.0098)
+.. controls (195.9992,38.9298) and (197.1092,37.0805) .. (199.4492,37.8105)
+.. controls (200.6492,39.7005) and (200.0704,41.9793) .. (200.6504,44.5293)
+.. controls (194.7304,47.8293) and (191.1400,42.9894) .. (186.2500,42.6094)
+.. controls (185.9900,44.1394) and (184.5896,43.3408) .. (183.8496,44.0508)
+.. controls (183.9996,46.0208) and (181.8494,46.6891) .. (181.6894,48.3691)
+.. controls (181.4795,50.4791) and (184.4908,52.8993) .. (184.8008,56.5293)
+.. controls (185.1308,59.8893) and (185.6708,61.6895) .. (185.8008,64.6895)
+.. controls (186.6808,65.0095) and (186.9609,65.9109) .. (187.9609,66.1309)
+.. controls (192.7609,64.8109) and (193.6699,60.1503) .. (194.6699,55.5703)
+arc(236.208 \@@_colon 246.657 \@@_colon 33.080)
+.. controls (199.8309,50.4395) and (200.7801,51.8202) .. (202.8301,51.4902)
+.. controls (204.1101,54.6302) and (201.2694,57.3795) .. (202.1094,58.6895)
+.. controls (200.5294,58.8895) and (200.0508,60.9705) .. (197.8008,61.8105)
+.. controls (196.8608,62.1505) and (195.3899,61.7891) .. (194.6699,62.2891)
+.. controls (192.1599,64.0091) and (194.1598,70.5798) .. (198.7598,69.0098)
+.. controls (199.2998,71.0698) and (205.8691,74.9297) .. (201.8691,76.9297)
+.. controls (200.9391,77.3997) and (199.4693,76.9599) .. (198.2793,77.1699)
+.. controls (195.7593,77.6099) and (193.3793,78.8496) .. (191.2793,78.8496)
+.. controls (190.2493,80.2996) and (190.9601,80.7809) .. (190.3301,82.2109)
+.. controls (192.6201,83.6709) and (196.5705,83.4901) .. (198.4805,85.3301)
+.. controls (198.6205,86.4301) and (198.0600,86.8307) .. (198.2500,87.9707)
+.. controls (196.7500,88.1507) and (196.6998,89.7896) .. (196.0898,90.8496)
+.. controls (196.6198,92.0696) and (200.1897,92.0696) .. (199.9297,90.8496)
+.. controls (199.7497,91.1796) and (198.5494,91.6902) .. (198.6094,91.4102)
+.. controls (199.8894,91.0102) and (199.4598,89.7100) .. (201.0098,89.2500)
+.. controls (201.5798,90.1700) and (202.1202,89.7905) .. (203.4102,89.7305)
+.. controls (204.5302,91.6205) and (203.5604,94.6997) .. (203.9004,96.9297)
+.. controls (201.6104,100.1397) and (196.8894,99.8105) .. (192.6094,99.8105)
+.. controls (191.4094,101.1906) and (188.6508,99.5801) .. (188.3008,99.3301)
+.. controls (188.9508,98.9701) and (189.3302,97.0292) .. (189.4902,96.4492)
+.. controls (189.1902,97.0692) and (189.0008,97.1997) .. (188.3008,96.9297)
+.. controls (188.3708,96.7397) and (188.8908,95.9297) .. (188.3008,95.9297)
+.. controls (187.3708,97.5697) and (186.3197,97.6903) .. (184.9297,98.5703)
+.. controls (185.4697,99.8803) and (184.3997,99.8905) .. (183.9297,100.7305)
+.. controls (184.5997,103.7805) and (185.5707,108.4109) .. (188.7207,109.1309)
+.. controls (189.3207,109.2709) and (189.4697,108.7104) .. (189.9297,108.6504)
+.. controls (190.3897,108.5904) and (191.0996,108.8906) .. (191.5996,108.8906)
+.. controls (195.5896,108.5306) and (199.9706,106.6400) .. (204.8106,106.2500)
+.. controls (212.5906,105.6200) and (219.5094,106.0300) .. (227.3594,106.2500)
+arc(40.581 \@@_colon -9.906 \@@_colon 8.510)
+.. controls (225.5393,96.2400) and (220.3796,99.6993) .. (215.8496,98.5293)
+.. controls (214.4096,95.7093) and (213.7002,90.2891) .. (214.1602,86.2891)
+.. controls (214.1102,86.6591) and (213.7695,86.3308) .. (213.6894,86.0508)
+.. controls (214.5694,85.4208) and (214.7801,84.1106) .. (216.0801,83.8906)
+.. controls (216.0301,84.1906) and (215.7101,84.3691) .. (216.3301,84.3691)
+.. controls (220.0501,83.7191) and (221.3801,80.6509) .. (221.3301,76.2109)
+.. controls (220.2701,75.7009) and (220.1697,74.8293) .. (218.9297,74.5293)
+.. controls (217.6897,74.2293) and (215.4201,75.5605) .. (215.3301,73.8105)
+.. controls (215.6501,73.8105) and (215.5503,74.2291) .. (215.8203,74.2891)
+.. controls (215.3303,73.5291) and (214.5703,70.1593) .. (215.5703,68.5293)
+.. controls (215.5503,68.1493) and (214.9596,68.3405) .. (215.0996,67.8105)
+.. controls (216.6009,67.9153) and (218.9227,67.6823) .. (219.9883,66.9570)
+.. controls (219.9432,66.9887) and (219.9073,67.0279) .. (219.8906,67.0898)
+.. controls (221.8806,66.8298) and (222.2893,65.7609) .. (222.5293,64.2109)
+.. controls (220.6193,63.0409) and (220.6191,58.8295) .. (220.3691,56.7695)
+.. controls (220.1191,56.9895) and (220.3002,57.6502) .. (219.6602,57.4902)
+.. controls (220.2802,56.4802) and (219.2697,56.4803) .. (219.1797,55.5703)
+.. controls (220.6997,55.0103) and (220.9408,53.2899) .. (222.3008,53.1699)
+.. controls (222.3708,52.6999) and (221.9703,52.6892) .. (221.8203,52.4492)
+.. controls (222.6603,51.6092) and (223.1297,50.4093) .. (224.9297,50.5293)
+.. controls (223.8197,52.2693) and (221.7403,52.8496) .. (221.8203,54.8496)
+.. controls (222.6503,53.6596) and (225.2992,53.1707) .. (224.6992,51.9707)
+.. controls (226.8192,51.2907) and (230.0300,47.2891) .. (229.2500,44.2891)
+.. controls (228.5300,41.4691) and (223.8596,40.7002) .. (221.0996,41.4102)
+.. controls (217.7596,42.2602) and (214.0600,43.5801) .. (211.2500,43.3301)
+.. controls (211.8600,40.1301) and (208.6291,38.8001) .. (208.3691,36.3301)
+arc(191.435 \@@_colon 242.732 \@@_colon 2.780)
+.. controls (213.8603,33.1002) and (218.3008,32.1605) .. (222.3008,30.8105)
+arc(29.303 \@@_colon 9.563 \@@_colon 12.620)
+.. controls (222.6802,26.2805) and (222.0703,25.1605) .. (221.5703,24.8105)
+.. controls (217.7803,24.5705) and (214.2500,25.2103) .. (211.2500,24.5703)
+.. controls (211.5100,24.0303) and (212.7599,24.4801) .. (213.4199,24.3301)
+.. controls (213.2799,23.4301) and (211.7500,23.9209) .. (211.5000,23.1309)
+.. controls (211.9600,19.6809) and (216.0700,19.8609) .. (217.2500,17.1309)
+.. controls (215.8500,16.4409) and (218.6309,13.7307) .. (218.4609,14.9707)
+.. controls (219.2809,13.2107) and (221.1796,11.3309) .. (220.8496,9.2109)
+.. controls (221.5596,9.0909) and (222.5608,6.6106) .. (222.3008,4.8906)
+.. controls (221.3852,4.0969) and (220.0155,3.7133) .. (218.5644,3.7051)
+-- cycle(345.4863,7.8203)
+.. controls (345.3420,7.8137) and (345.1977,7.8198) .. (345.0508,7.8398)
+.. controls (343.1108,8.0998) and (343.5609,10.4707) .. (341.2109,10.7207)
+.. controls (341.0309,12.7407) and (342.8396,12.7598) .. (343.5996,13.8398)
+.. controls (342.9296,16.7298) and (340.2498,18.2901) .. (337.8398,20.0801)
+.. controls (338.4998,20.2301) and (338.9691,18.9896) .. (339.2891,19.5996)
+.. controls (339.1591,20.5996) and (335.2304,22.0696) .. (336.4004,20.5996)
+.. controls (335.0804,20.1296) and (335.6905,22.7896) .. (334.4805,21.5996)
+.. controls (334.5105,21.2196) and (335.1007,21.4109) .. (334.9707,20.8809)
+.. controls (334.4007,13.5609) and (328.1907,8.5809) .. (321.9707,9.8809)
+.. controls (321.5207,9.7809) and (321.5395,9.1904) .. (320.7695,9.4004)
+arc(240.714 \@@_colon 219.591 \@@_colon 20.430)
+.. controls (314.7595,15.0992) and (315.6102,14.8806) .. (315.4902,15.6406)
+.. controls (313.2002,18.2706) and (312.0602,22.0805) .. (310.4902,25.4805)
+.. controls (310.9002,26.0405) and (311.9004,25.9609) .. (312.9004,25.9609)
+arc(20.120 \@@_colon 2.518 \@@_colon 8.000)
+.. controls (313.8909,23.9605) and (313.7209,23.5605) .. (314.3809,23.5605)
+.. controls (316.6409,20.9705) and (319.9205,15.1599) .. (323.7305,14.9199)
+.. controls (327.9005,14.6599) and (324.8504,24.3599) .. (325.6504,26.9199)
+.. controls (325.2004,27.0199) and (324.6192,27.0106) .. (324.6992,27.6406)
+.. controls (324.7192,28.4906) and (325.4899,27.1309) .. (325.4199,27.8809)
+.. controls (323.2199,30.9309) and (319.2102,33.4705) .. (317.4902,35.5605)
+.. controls (317.4402,35.3705) and (317.4898,35.0801) .. (317.2598,35.0801)
+.. controls (317.1998,35.5701) and (317.4902,35.6501) .. (317.4902,36.0801)
+.. controls (316.8502,35.7601) and (316.7002,37.0303) .. (316.4902,36.3203)
+.. controls (316.7302,36.2903) and (317.2205,35.5296) .. (316.7305,35.5996)
+.. controls (316.0505,36.5996) and (315.7098,37.9302) .. (314.3398,38.2402)
+.. controls (314.2198,37.4902) and (314.9805,37.6091) .. (315.0605,37.0391)
+.. controls (313.8505,37.2191) and (313.2094,36.9198) .. (313.6094,35.8398)
+.. controls (310.5994,34.5998) and (312.1493,30.2698) .. (309.5293,28.8398)
+.. controls (309.3093,30.9098) and (305.9995,31.8196) .. (305.6895,34.5996)
+.. controls (305.0195,34.6396) and (305.1402,33.8809) .. (304.4902,33.8809)
+.. controls (304.3602,37.6909) and (306.3497,39.3905) .. (305.9297,43.4805)
+arc(152.875 \@@_colon 143.117 \@@_colon 39.930)
+.. controls (312.3093,50.6802) and (316.0709,50.2700) .. (319.1309,49.0000)
+.. controls (320.8309,48.3000) and (321.7607,46.8998) .. (323.2207,46.8398)
+.. controls (329.1707,46.5698) and (328.4393,55.3693) .. (327.5293,60.2793)
+.. controls (327.5893,60.0393) and (327.9298,59.6991) .. (328.0098,60.0391)
+.. controls (322.8298,67.2491) and (318.3708,76.4395) .. (309.3008,80.4395)
+.. controls (308.9908,81.0795) and (309.4205,81.2295) .. (309.0605,81.4395)
+.. controls (308.1905,80.4395) and (307.5209,82.6995) .. (307.1309,81.4395)
+.. controls (308.2309,81.5095) and (307.4198,80.6402) .. (308.3398,80.2402)
+.. controls (307.6598,80.1002) and (307.1102,81.2305) .. (306.6602,80.4805)
+.. controls (306.7502,79.6705) and (307.5909,81.1200) .. (307.3809,80.0000)
+.. controls (306.0609,79.4500) and (308.4106,75.2506) .. (309.0605,76.6406)
+.. controls (308.4305,73.3406) and (311.8105,69.1693) .. (314.8105,67.2793)
+.. controls (314.8306,67.7193) and (313.5898,68.0905) .. (314.3398,68.4805)
+.. controls (315.5798,66.4505) and (318.6497,65.1992) .. (317.9297,63.1992)
+.. controls (318.2897,63.8292) and (318.7709,63.1992) .. (319.3809,63.1992)
+.. controls (319.3209,62.6392) and (321.1401,61.5103) .. (320.5801,60.3203)
+.. controls (320.3901,59.8303) and (319.5001,60.4901) .. (319.5801,60.0801)
+.. controls (319.8101,58.9701) and (319.5709,60.0801) .. (318.6309,59.0801)
+.. controls (318.4709,58.8701) and (318.7409,58.2901) .. (318.6309,58.0801)
+.. controls (318.0909,57.0901) and (316.9909,56.6797) .. (316.4609,55.6797)
+.. controls (313.0609,56.2497) and (310.7606,54.9997) .. (308.0605,54.6797)
+.. controls (308.0605,56.3997) and (303.8906,55.4991) .. (302.0605,56.1191)
+.. controls (302.9506,61.3491) and (311.0992,59.2505) .. (310.9492,65.4805)
+arc(209.743 \@@_colon 178.538 \@@_colon 9.200)
+arc(227.795 \@@_colon 181.427 \@@_colon 4.360)
+.. controls (308.2505,73.2104) and (308.3005,72.9199) .. (308.0605,72.9199)
+.. controls (307.8105,74.8699) and (306.5996,76.0493) .. (307.3496,76.2793)
+.. controls (306.8196,76.8193) and (305.9099,76.9397) .. (305.4199,78.6797)
+arc(21.579 \@@_colon 35.612 \@@_colon 12.310)
+arc(204.090 \@@_colon 155.910 \@@_colon 7.350)
+.. controls (307.0905,88.4103) and (306.9805,92.7198) .. (310.9805,92.8398)
+.. controls (311.5905,91.9298) and (311.8204,91.9998) .. (312.9004,91.8398)
+.. controls (314.0522,89.1030) and (317.2825,87.2279) .. (318.1270,84.9473)
+.. controls (318.0679,85.0132) and (317.9642,85.0260) .. (317.9297,84.8398)
+.. controls (319.4397,84.1098) and (319.6005,82.0000) .. (320.8105,81.0000)
+.. controls (320.8705,80.5100) and (320.5801,80.4300) .. (320.5801,80.0000)
+arc(53.110 \@@_colon -4.613 \@@_colon 3.000)
+.. controls (323.1795,75.2594) and (327.2006,74.7198) .. (327.0605,71.8398)
+arc(62.512 \@@_colon 53.508 \@@_colon 14.420)
+.. controls (329.8205,71.2006) and (329.4102,71.4709) .. (330.6602,70.8809)
+arc(340.716 \@@_colon 359.997 \@@_colon 21.200)
+.. controls (331.6996,80.1509) and (328.9198,84.7409) .. (328.2598,87.9609)
+.. controls (327.7098,90.5709) and (326.7792,93.3898) .. (323.4492,92.7598)
+.. controls (323.5092,97.4098) and (326.5692,100.1992) .. (330.4492,100.1992)
+arc(189.536 \@@_colon 208.773 \@@_colon 9.120)
+.. controls (333.7392,96.4203) and (337.0295,92.6197) .. (335.5195,88.6797)
+.. controls (337.7495,86.4597) and (336.5909,82.1505) .. (339.1309,79.5605)
+arc(162.460 \@@_colon 225.191 \@@_colon 2.850)
+.. controls (339.6098,69.7297) and (338.2909,63.2800) .. (339.1309,57.0000)
+.. controls (339.6609,53.0000) and (344.4895,49.0009) .. (341.0195,47.2109)
+.. controls (339.8995,47.7009) and (339.7309,49.1291) .. (338.3809,49.3691)
+.. controls (338.1609,48.5591) and (338.9996,48.8291) .. (339.0996,48.3691)
+.. controls (337.0096,44.2391) and (336.3999,36.2508) .. (337.1699,32.0508)
+.. controls (338.1399,32.6508) and (338.7903,31.1996) .. (339.5703,30.8496)
+.. controls (343.5503,28.2596) and (349.2008,27.3504) .. (352.0508,23.6504)
+.. controls (352.3008,24.3004) and (352.9708,23.4499) .. (353.0508,23.1699)
+.. controls (352.6308,23.0799) and (352.4301,23.5299) .. (352.3301,23.1699)
+.. controls (352.9101,22.3299) and (353.0599,21.6100) .. (353.9199,22.0000)
+.. controls (353.6699,21.4700) and (353.4702,19.6508) .. (354.1602,20.8008)
+.. controls (354.3111,18.5099) and (353.9211,17.5723) .. (354.0762,16.4395)
+.. controls (354.0590,16.8983) and (354.8379,15.1416) .. (354.6504,14.8008)
+.. controls (353.3004,13.9008) and (353.2500,11.7005) .. (352.2500,10.4805)
+.. controls (349.5688,10.8180) and (347.6518,7.9201) .. (345.4863,7.8203)
+-- cycle(318.1270,84.9473)
+.. controls (318.1536,84.9175) and (318.1730,84.8802) .. (318.1699,84.8398)
+.. controls (318.1578,84.8761) and (318.1403,84.9113) .. (318.1270,84.9473)
+-- cycle(319.1992,9.0000)
+.. controls (318.8192,9.6800) and (317.1695,10.3199) .. (317.5195,10.9199)
+.. controls (318.0195,10.3699) and (319.4892,9.5300) .. (319.1992,9.0000)
+-- cycle(166.2676,16.6445)
+.. controls (163.9299,16.5956) and (161.9392,17.8587) .. (160.0898,19.5293)
+.. controls (158.9798,26.4993) and (165.5296,27.8199) .. (165.8496,34.1699)
+arc(41.122 \@@_colon 122.599 \@@_colon 1.300)
+.. controls (164.1199,34.8102) and (164.2497,35.3302) .. (163.9297,35.4102)
+.. controls (165.1597,38.7502) and (170.4998,36.4694) .. (174.0098,36.6094)
+.. controls (174.7198,34.6094) and (178.3194,34.2594) .. (177.6094,29.6094)
+arc(122.193 \@@_colon 185.575 \@@_colon 1.060)
+.. controls (172.6391,26.6094) and (172.4195,20.9294) .. (169.6894,17.6094)
+.. controls (168.4644,16.9594) and (167.3302,16.6668) .. (166.2676,16.6445)
+-- cycle(354.0391,37.0508)
+arc(238.189 \@@_colon 231.823 \@@_colon 52.750)
+.. controls (350.0002,40.8102) and (350.2292,39.5199) .. (350.4492,40.1699)
+.. controls (350.0092,40.4699) and (349.8198,40.9806) .. (349.0098,40.8906)
+.. controls (348.8098,41.8106) and (350.1609,41.1698) .. (349.9609,42.0898)
+.. controls (349.3909,42.9598) and (347.4708,42.4198) .. (347.8008,43.0898)
+arc(184.500 \@@_colon 355.500 \@@_colon 0.240)
+.. controls (348.0493,43.4798) and (347.6401,43.6401) .. (347.3301,43.3301)
+.. controls (347.4401,44.3901) and (346.9901,44.5200) .. (347.3301,45.2500)
+.. controls (346.8601,45.3000) and (346.0801,45.0105) .. (346.3301,45.7305)
+.. controls (347.9501,47.0605) and (350.3906,43.2903) .. (352.5605,43.5703)
+.. controls (352.3306,47.1903) and (352.7801,50.5609) .. (352.0801,54.1309)
+.. controls (351.0001,59.7309) and (347.1795,64.7305) .. (347.5195,69.7305)
+.. controls (347.6995,72.2105) and (350.0801,74.6505) .. (352.0801,75.7305)
+.. controls (354.9601,77.2405) and (359.8791,74.4198) .. (363.3691,75.0098)
+.. controls (365.8791,75.4398) and (367.4502,77.5293) .. (368.1602,80.5293)
+.. controls (366.9302,83.4493) and (363.3005,83.9901) .. (360.4805,85.3301)
+.. controls (354.9405,87.7001) and (348.7596,89.4509) .. (345.5996,94.2109)
+.. controls (347.2896,95.6909) and (350.4591,94.3995) .. (353.2891,94.6895)
+.. controls (354.6691,94.8295) and (356.5001,94.6295) .. (358.0801,94.6895)
+.. controls (361.8601,90.8895) and (367.3005,89.5903) .. (374.2305,87.5703)
+.. controls (374.0305,86.5703) and (375.7202,86.4597) .. (375.9102,84.9297)
+.. controls (375.9202,84.8597) and (375.4399,84.3697) .. (375.6699,83.9297)
+.. controls (375.8999,83.4897) and (376.9594,83.2402) .. (377.3594,82.4902)
+.. controls (377.3294,82.5302) and (376.9291,82.1998) .. (377.1191,82.0098)
+.. controls (377.5491,81.5698) and (378.2208,81.6991) .. (378.5508,81.2891)
+.. controls (379.6308,79.9591) and (378.4808,78.1205) .. (378.8008,76.7305)
+.. controls (376.1708,75.4105) and (374.4506,73.3304) .. (372.3105,72.6504)
+-- (372.3105,71.6504)
+.. controls (369.8906,71.7004) and (370.0592,70.1198) .. (369.1992,69.0098)
+.. controls (365.3592,68.7298) and (363.0703,70.6000) .. (360.0703,69.2500)
+.. controls (359.2903,67.4200) and (357.1905,67.5804) .. (356.4805,65.6504)
+.. controls (356.0805,64.5304) and (356.8902,63.5293) .. (355.9902,62.5293)
+.. controls (357.7002,60.2293) and (358.2495,57.0099) .. (357.4395,53.1699)
+.. controls (358.3394,53.8199) and (357.8499,51.4600) .. (357.6699,51.2500)
+.. controls (357.8099,51.4000) and (357.4395,51.9402) .. (357.4395,51.4902)
+.. controls (357.3095,50.2302) and (358.2904,51.4902) .. (358.1504,50.4902)
+.. controls (357.6904,47.1302) and (359.4091,43.0201) .. (361.0391,42.3301)
+.. controls (361.0391,38.1701) and (356.6991,38.4808) .. (354.0391,37.0508)
+-- cycle(166.8301,44.1309)
+.. controls (164.1501,44.8009) and (162.1199,47.9995) .. (158.6699,48.6895)
+.. controls (158.7399,49.2795) and (158.6192,49.6295) .. (158.1992,49.6895)
+.. controls (155.6392,48.2795) and (152.9902,50.8694) .. (150.9902,51.6094)
+.. controls (151.2602,50.1094) and (148.9891,51.7596) .. (148.1191,51.8496)
+.. controls (147.0691,51.9596) and (144.6903,51.3691) .. (143.0703,51.3691)
+.. controls (139.4503,56.4791) and (145.5508,60.0009) .. (149.5508,61.2109)
+.. controls (151.6708,60.7509) and (154.0391,58.2891) .. (156.0391,59.2891)
+.. controls (155.6791,61.1791) and (154.9691,62.8603) .. (155.0391,64.5703)
+.. controls (155.2191,68.5303) and (157.2891,71.1397) .. (159.1191,73.9297)
+.. controls (160.9491,76.7197) and (157.0392,80.7998) .. (157.1992,84.0098)
+.. controls (155.8492,84.8798) and (155.0991,87.5798) .. (155.0391,89.0098)
+arc(233.865 \@@_colon 156.193 \@@_colon 2.180)
+.. controls (151.2401,95.0904) and (150.7206,103.6198) .. (154.5606,107.0098)
+.. controls (155.6405,106.6898) and (157.9104,107.4198) .. (158.4004,106.0098)
+.. controls (157.1204,105.5998) and (159.6891,105.3398) .. (159.1191,104.0898)
+.. controls (159.8591,104.7398) and (160.7993,102.6298) .. (161.2793,103.0898)
+.. controls (160.9993,103.3398) and (159.9996,104.0001) .. (160.5996,104.3301)
+.. controls (162.0496,102.6501) and (164.2604,101.7398) .. (165.6504,100.0098)
+.. controls (163.5504,100.7198) and (162.8998,102.2997) .. (160.8398,101.9297)
+.. controls (163.3398,100.3697) and (165.0508,98.2004) .. (168.0508,96.6504)
+arc(-11.062 \@@_colon 30.012 \@@_colon 2.080)
+.. controls (169.2705,97.2298) and (170.1795,94.5491) .. (170.4394,93.2891)
+.. controls (170.0394,94.6391) and (168.5505,94.9297) .. (167.8106,95.9297)
+.. controls (167.4706,95.2097) and (167.9401,95.0605) .. (167.0801,94.7305)
+.. controls (167.9001,94.5805) and (168.2000,93.1005) .. (169.0000,93.7305)
+.. controls (169.6200,90.8305) and (172.2098,89.8898) .. (172.8398,87.0098)
+.. controls (172.4998,86.8798) and (171.6004,87.2895) .. (171.6504,86.7695)
+.. controls (174.2704,84.8895) and (175.8906,80.7695) .. (177.8906,79.7695)
+.. controls (177.7606,80.0795) and (177.2804,81.2109) .. (177.6504,81.2109)
+arc(30.904 \@@_colon 4.733 \@@_colon 15.590)
+arc(9.886 \@@_colon 31.774 \@@_colon 5.410)
+.. controls (179.0901,75.7702) and (179.5196,74.5495) .. (178.5996,73.7695)
+.. controls (179.4896,73.6195) and (179.8491,73.2500) .. (180.2891,74.2500)
+.. controls (180.8591,70.1600) and (184.5597,66.0802) .. (182.6797,62.4902)
+.. controls (181.4397,62.7802) and (180.3401,62.6407) .. (179.0801,62.9707)
+.. controls (178.6501,66.4407) and (176.1607,69.0791) .. (175.9707,71.3691)
+.. controls (175.6207,71.2791) and (175.5602,71.0791) .. (175.2402,71.3691)
+arc(188.233 \@@_colon 143.694 \@@_colon 1.360)
+.. controls (174.7102,71.6491) and (174.0191,73.9991) .. (174.2891,74.2891)
+.. controls (174.2391,73.7691) and (174.4800,73.5703) .. (175.0000,73.5703)
+arc(212.989 \@@_colon 198.281 \@@_colon 12.820)
+.. controls (173.3901,76.8693) and (172.6306,76.9400) .. (172.3906,77.2500)
+.. controls (171.7906,78.0100) and (171.9599,79.6991) .. (171.6699,80.3691)
+.. controls (171.4499,80.7891) and (170.7299,80.9398) .. (170.6699,81.0898)
+.. controls (170.4299,81.7398) and (170.8807,83.9098) .. (169.7207,83.0098)
+.. controls (169.4707,86.2698) and (166.8504,89.0604) .. (165.1504,91.6504)
+.. controls (164.7204,91.6104) and (163.1007,92.0296) .. (163.7207,92.8496)
+.. controls (163.6407,92.6096) and (164.4297,92.0194) .. (164.4297,92.6094)
+arc(40.455 \@@_colon 56.026 \@@_colon 10.640)
+.. controls (162.2993,96.2493) and (158.9600,99.9506) .. (156.7500,97.8906)
+.. controls (157.4300,97.6906) and (157.3809,98.2309) .. (157.9609,98.1309)
+.. controls (156.9609,96.0609) and (158.8197,93.7991) .. (158.4297,92.3691)
+arc(13.877 \@@_colon 97.873 \@@_colon 0.640)
+.. controls (157.7907,92.3796) and (157.3905,92.3709) .. (157.2305,92.1309)
+arc(212.396 \@@_colon 258.028 \@@_colon 2.260)
+arc(159.978 \@@_colon 132.498 \@@_colon 1.820)
+.. controls (159.0104,91.1996) and (160.2406,90.7302) .. (159.6406,90.4102)
+.. controls (159.6106,91.0002) and (158.8402,90.4599) .. (158.9102,90.1699)
+.. controls (159.1902,89.2399) and (159.5899,88.9602) .. (158.6699,88.4902)
+arc(208.733 \@@_colon 241.267 \@@_colon 14.540)
+.. controls (163.4597,82.8205) and (164.2802,81.3393) .. (164.9102,81.5293)
+arc(-35.239 \@@_colon 12.620 \@@_colon 1.510)
+arc(52.462 \@@_colon 11.559 \@@_colon 6.480)
+.. controls (166.9608,79.5806) and (166.7009,80.6008) .. (165.8809,81.0508)
+.. controls (166.5709,80.3708) and (165.5106,80.3896) .. (165.3906,79.8496)
+arc(246.100 \@@_colon 293.900 \@@_colon 1.480)
+.. controls (166.6598,79.1496) and (166.0491,79.1102) .. (166.1191,78.4102)
+.. controls (167.5091,77.7102) and (167.5397,73.8303) .. (170.4297,74.5703)
+arc(15.228 \@@_colon -48.481 \@@_colon 7.120)
+.. controls (168.2793,67.0491) and (168.7000,67.1506) .. (168.7500,66.8906)
+arc(113.864 \@@_colon 197.037 \@@_colon 4.770)
+.. controls (165.9091,61.9909) and (165.0202,61.4306) .. (164.9102,60.8906)
+.. controls (165.1902,59.4206) and (166.4508,58.3107) .. (167.5508,58.9707)
+.. controls (167.3708,59.1707) and (166.4003,59.8599) .. (167.0703,60.1699)
+.. controls (168.2903,58.4199) and (168.4805,56.9899) .. (169.4805,55.1699)
+.. controls (171.5005,54.4599) and (174.0709,52.2594) .. (175.9609,50.6094)
+.. controls (176.1009,48.6694) and (177.1802,47.6701) .. (176.9102,45.3301)
+arc(295.080 \@@_colon 240.334 \@@_colon 6.530)
+.. controls (170.0202,44.6203) and (167.9201,44.8809) .. (166.8301,44.1309)
+-- cycle(463.1992,44.2891)
+.. controls (463.4692,44.5991) and (463.2999,46.5705) .. (463.9199,45.7305)
+arc(13.267 \@@_colon 107.881 \@@_colon 7.310)
+.. controls (455.0005,49.9198) and (454.6608,48.5795) .. (454.8008,46.6895)
+.. controls (457.1808,45.5595) and (460.3192,44.1391) .. (463.1992,44.2891)
+-- cycle(220.5606,46.2109)
+.. controls (220.8805,46.7609) and (221.6598,47.1404) .. (220.8398,47.6504)
+.. controls (220.9298,47.9904) and (221.2703,47.6702) .. (221.3203,47.4102)
+.. controls (221.4203,48.5702) and (219.4192,50.8995) .. (218.1992,50.7695)
+.. controls (218.1492,52.7895) and (216.1402,54.7396) .. (213.4102,54.8496)
+.. controls (213.2702,53.3296) and (213.4102,51.5909) .. (212.4102,52.2109)
+.. controls (213.2902,51.5609) and (212.4304,50.6501) .. (212.6504,49.3301)
+arc(71.532 \@@_colon 65.427 \@@_colon 79.840)
+-- cycle(34.6152,47.5312)
+.. controls (35.4123,47.5667) and (36.2652,47.6856) .. (37.1602,47.8906)
+.. controls (40.4402,48.6406) and (42.2499,49.9707) .. (42.9199,51.9707)
+.. controls (42.8999,51.9107) and (43.6504,53.6102) .. (43.6504,53.4102)
+-- (43.6895,53.4102)
+.. controls (43.4395,54.5602) and (41.2295,55.0596) .. (40.5195,54.8496)
+.. controls (39.7095,56.1196) and (37.5395,56.4007) .. (36.4395,57.9707)
+.. controls (33.8495,58.1207) and (29.9601,58.4000) .. (27.0801,57.2500)
+.. controls (27.7201,54.5200) and (28.9902,52.4301) .. (29.2402,49.3301)
+.. controls (30.3277,48.0626) and (32.2241,47.4248) .. (34.6152,47.5312)
+-- cycle(228.4805,47.6504)
+.. controls (227.7405,48.3404) and (227.3403,49.3905) .. (226.3203,49.8105)
+.. controls (227.0703,49.1105) and (227.4805,48.0704) .. (228.4805,47.6504)
+-- cycle(63.0801,56.0508)
+arc(25.523 \@@_colon 33.425 \@@_colon 13.740)
+.. controls (61.7324,57.2678) and (62.5223,56.1682) .. (63.0801,56.0508)
+-- cycle(316.7793,64.9004)
+.. controls (316.8590,64.8999) and (316.9495,64.9084) .. (317.0508,64.9297)
+arc(-5.990 \@@_colon 95.990 \@@_colon 0.910)
+.. controls (316.1558,65.4047) and (316.2216,64.9038) .. (316.7793,64.9004)
+-- cycle(220.3691,66.6094)
+.. controls (220.3691,66.8436) and (220.1511,66.8553) .. (220.0059,66.9453)
+.. controls (220.1531,66.8429) and (220.2774,66.7316) .. (220.3691,66.6094)
+-- cycle(42.3750,69.2754)
+.. controls (42.5528,69.2577) and (42.7484,69.2593) .. (42.9609,69.2793)
+.. controls (42.4509,69.5693) and (41.7793,70.4300) .. (41.2793,70.0000)
+.. controls (41.4668,69.5575) and (41.8416,69.3284) .. (42.3750,69.2754)
+-- cycle(178.5606,75.4902)
+.. controls (178.8406,76.0002) and (178.6591,76.1897) .. (179.0391,76.9297)
+.. controls (178.8491,77.1397) and (178.3901,77.0702) .. (178.3301,77.4102)
+.. controls (177.6501,76.9502) and (178.6506,76.1602) .. (178.5606,75.4902)
+-- cycle(41.7695,80.0508)
+arc(-73.942 \@@_colon 6.418 \@@_colon 0.670)
+arc(51.534 \@@_colon 128.466 \@@_colon 1.190)
+.. controls (40.8695,80.2795) and (41.6995,80.5408) .. (41.7695,80.0508)
+-- cycle(176.4004,82.9297)
+.. controls (175.3404,84.8997) and (173.7093,87.6002) .. (173.2793,89.4102)
+.. controls (174.4893,87.5802) and (176.3004,85.0597) .. (176.4004,82.9297)
+-- cycle(163.4492,84.3691)
+.. controls (163.3692,84.7991) and (162.1809,85.3105) .. (162.9609,85.8105)
+.. controls (163.0409,85.3705) and (164.2292,84.8691) .. (163.4492,84.3691)
+-- cycle(352.5605,88.0000)
+.. controls (351.7505,88.2900) and (349.8002,88.7095) .. (350.1602,89.4395)
+.. controls (350.5602,88.5595) and (352.1606,88.8800) .. (352.5605,88.0000)
+-- cycle(160.3301,88.9297)
+.. controls (160.0001,89.4297) and (159.3791,89.5909) .. (159.1191,90.1309)
+.. controls (160.0691,90.4209) and (160.8001,89.2697) .. (160.3301,88.9297)
+-- cycle(450.1328,93.1133)
+.. controls (449.0783,93.1380) and (448.0180,93.5000) .. (447.8398,94.2500)
+.. controls (448.0498,98.7300) and (444.8908,102.5500) .. (449.0508,105.2500)
+.. controls (451.5708,104.6900) and (451.6098,102.4894) .. (453.8398,102.6094)
+.. controls (453.5598,101.3294) and (454.3505,102.5506) .. (454.5605,101.8906)
+.. controls (453.7305,101.6006) and (455.1102,99.8505) .. (454.1602,100.7305)
+.. controls (455.5602,99.5405) and (452.6002,96.9297) .. (454.4102,95.9297)
+.. controls (453.9902,95.2597) and (454.0802,94.1295) .. (453.4102,93.7695)
+arc(32.782 \@@_colon 95.892 \@@_colon 1.060)
+.. controls (452.5164,93.4903) and (451.3280,93.0853) .. (450.1328,93.1133)
+-- cycle(191.0000,94.0000)
+.. controls (190.6700,94.5500) and (189.7503,94.5995) .. (189.5703,95.4395)
+.. controls (190.2703,95.3295) and (191.2900,94.3000) .. (191.0000,94.0000)
+-- cycle(191.9531,94.2109)
+.. controls (191.0027,94.2470) and (191.1038,95.4003) .. (190.0801,95.4102)
+.. controls (190.2101,96.2902) and (191.6500,94.6809) .. (192.0000,94.2109)
+.. controls (191.9844,94.2109) and (191.9682,94.2104) .. (191.9531,94.2109)
+-- cycle(37.7246,94.8965)
+arc(268.326 \@@_colon 257.924 \@@_colon 1.530)
+arc(-6.827 \@@_colon 35.993 \@@_colon 1.360)
+.. controls (38.0192,95.9806) and (38.2306,95.4699) .. (38.6406,95.1699)
+arc(304.825 \@@_colon 268.417 \@@_colon 1.530)
+-- cycle(36.4395,95.1699)
+arc(-39.433 \@@_colon 2.563 \@@_colon 1.060)
+.. controls (36.0097,96.0906) and (36.0605,95.5504) .. (35.4805,95.6504)
+-- (35.5195,95.6504)
+arc(213.111 \@@_colon 271.733 \@@_colon 1.060)
+-- cycle(101.0000,104.0508)
+.. controls (101.5500,104.5008) and (100.0803,105.0000) .. (99.5703,105.2500)
+.. controls (99.4403,104.2500) and (100.6700,104.5908) .. (101.0000,104.0508)
+-- cycle(181.7402,149.1894)
+.. controls (181.3715,149.2218) and (180.9966,149.2967) .. (180.6191,149.4492)
+arc(335.759 \@@_colon 347.371 \@@_colon 7.510)
+.. controls (179.9096,151.5406) and (179.8899,153.3605) .. (179.4199,154.7305)
+.. controls (177.6699,155.7305) and (177.3908,158.4300) .. (176.3008,160.2500)
+.. controls (174.1008,163.9600) and (170.7204,164.5104) .. (174.1504,168.6504)
+.. controls (178.2304,169.7504) and (182.9204,168.9104) .. (186.1504,168.6504)
+.. controls (185.5404,169.3304) and (184.8305,169.8903) .. (184.2305,170.5703)
+.. controls (185.5505,169.7703) and (187.4393,168.5898) .. (188.7793,170.0898)
+.. controls (188.1893,170.8098) and (187.5898,171.2698) .. (187.5898,172.0098)
+.. controls (189.6498,172.1698) and (188.8009,170.8603) .. (190.4609,170.5703)
+.. controls (191.7509,173.3703) and (190.4298,177.3009) .. (189.2598,179.2109)
+.. controls (190.7498,182.6909) and (185.7895,184.2794) .. (183.0195,185.6894)
+.. controls (183.0495,185.0294) and (183.4793,184.8709) .. (182.7793,185.2109)
+.. controls (181.9093,185.6309) and (183.3395,185.6109) .. (183.0195,186.2109)
+.. controls (180.4295,186.5209) and (178.1598,187.6094) .. (177.5098,188.6094)
+.. controls (177.0198,188.6594) and (176.9498,188.3691) .. (176.5098,188.3691)
+.. controls (174.0398,190.4591) and (168.6792,192.8695) .. (166.1992,190.7695)
+.. controls (166.5992,189.8395) and (166.1407,190.2595) .. (165.7207,189.7695)
+.. controls (165.9607,189.0395) and (166.9097,187.7809) .. (166.4297,187.1309)
+.. controls (166.2397,188.2809) and (164.3203,189.2609) .. (163.3203,188.1309)
+.. controls (163.3603,187.8209) and (164.0105,186.9297) .. (163.5606,186.9297)
+arc(38.969 \@@_colon 54.986 \@@_colon 17.670)
+.. controls (160.7409,192.2391) and (163.8305,193.7005) .. (165.4805,195.8106)
+.. controls (167.2705,198.1105) and (169.1992,199.6707) .. (172.1992,197.9707)
+arc(183.916 \@@_colon 229.245 \@@_colon 4.180)
+.. controls (176.0406,195.4498) and (177.3496,191.9897) .. (180.3496,192.9297)
+.. controls (181.3096,190.9297) and (184.9306,191.5801) .. (185.6406,189.3301)
+.. controls (186.2106,189.2301) and (186.1601,189.7703) .. (186.8301,189.5703)
+.. controls (186.7401,190.0503) and (186.9801,191.9309) .. (187.8301,192.2109)
+.. controls (184.1101,196.7709) and (178.2509,198.8795) .. (174.3809,202.7695)
+arc(346.147 \@@_colon 261.956 \@@_colon 0.640)
+.. controls (173.1399,202.5291) and (173.1309,203.2891) .. (172.4609,203.2891)
+arc(350.622 \@@_colon 356.738 \@@_colon 40.740)
+.. controls (175.5394,209.9394) and (179.4691,210.8794) .. (180.6191,214.6094)
+.. controls (178.9991,216.6594) and (176.7296,218.0709) .. (175.0996,220.1309)
+.. controls (175.0996,222.5309) and (179.2602,222.5295) .. (179.9102,222.7695)
+arc(29.861 \@@_colon 74.404 \@@_colon 3.610)
+arc(-56.890 \@@_colon 5.564 \@@_colon 1.070)
+.. controls (179.1305,224.5092) and (181.0698,224.6191) .. (181.5898,223.2891)
+.. controls (182.5898,223.5691) and (183.9302,223.5005) .. (183.9902,224.7305)
+.. controls (183.7702,225.8305) and (182.6902,226.0294) .. (182.9902,227.6094)
+.. controls (177.4702,228.7894) and (173.6406,234.4606) .. (167.6406,232.8906)
+.. controls (169.7906,229.3006) and (168.1609,223.9404) .. (167.8809,220.6504)
+.. controls (169.2309,220.8904) and (169.8305,221.8998) .. (171.2305,222.0898)
+.. controls (171.4505,220.1998) and (169.7991,219.9892) .. (168.1191,219.4492)
+.. controls (167.9591,217.5892) and (166.1295,216.7191) .. (164.2695,217.2891)
+.. controls (165.1595,219.2791) and (163.4401,220.3494) .. (162.8301,221.6094)
+.. controls (165.2501,226.8894) and (162.8109,235.0898) .. (165.9609,240.0898)
+arc(271.505 \@@_colon 232.085 \@@_colon 1.140)
+.. controls (165.8105,242.3801) and (165.4509,244.7003) .. (165.9609,246.5703)
+.. controls (167.0209,250.5603) and (170.2695,253.5801) .. (170.2695,258.3301)
+.. controls (171.3895,259.8501) and (174.5898,259.1196) .. (174.5898,257.8496)
+.. controls (174.5298,258.0896) and (173.5306,258.4898) .. (173.6406,258.0898)
+.. controls (174.4406,258.0298) and (174.8303,256.6094) .. (175.3203,257.6094)
+.. controls (175.8103,256.4694) and (175.6798,254.1095) .. (174.5898,253.7695)
+.. controls (174.5698,254.1495) and (174.6291,254.6002) .. (174.1191,254.4902)
+arc(189.702 \@@_colon 206.514 \@@_colon 5.180)
+.. controls (174.1298,252.7308) and (173.6302,253.2305) .. (172.9102,252.8106)
+-- (172.9102,251.8106)
+.. controls (172.2402,251.6105) and (172.2907,252.1508) .. (171.7207,252.0508)
+.. controls (172.4607,250.9808) and (171.2302,251.7701) .. (170.9902,251.3301)
+.. controls (172.5902,250.4901) and (173.5706,248.9801) .. (173.3906,246.3301)
+.. controls (172.1006,245.8501) and (173.0504,244.4102) .. (173.1504,244.4102)
+.. controls (171.3304,242.8102) and (174.6692,237.6507) .. (172.1992,236.9707)
+.. controls (172.5610,235.8401) and (173.0144,234.8653) .. (173.2871,234.1133)
+.. controls (172.9275,234.4907) and (171.6645,234.4579) .. (171.4805,234.0898)
+.. controls (172.3105,233.8898) and (173.2509,231.5406) .. (173.8809,232.8906)
+.. controls (174.3209,232.4606) and (174.5103,231.7695) .. (175.3203,231.6894)
+.. controls (175.2603,232.0294) and (174.9201,232.0902) .. (174.8301,232.4102)
+.. controls (175.4501,232.5202) and (176.1998,231.5599) .. (176.5098,232.1699)
+.. controls (176.4098,232.7399) and (175.2695,232.8099) .. (176.2695,233.1699)
+.. controls (176.5895,232.0299) and (178.1399,232.9705) .. (178.6699,231.7305)
+.. controls (183.7099,232.2605) and (188.3009,229.7096) .. (191.8809,228.8496)
+.. controls (192.3609,228.1996) and (192.9395,227.2004) .. (194.2695,227.6504)
+.. controls (195.6095,225.6204) and (199.7505,225.6795) .. (201.4805,224.7695)
+.. controls (203.0005,225.3695) and (204.0006,224.0995) .. (205.5606,223.7695)
+.. controls (215.0105,221.7695) and (222.2396,223.7291) .. (222.3496,233.3691)
+.. controls (222.6696,233.7691) and (223.3496,233.6891) .. (223.3496,234.3691)
+arc(213.466 \@@_colon 185.062 \@@_colon 11.920)
+.. controls (219.4775,241.5035) and (218.9843,243.6309) .. (217.5840,244.8926)
+.. controls (217.6512,244.8764) and (217.7347,244.8780) .. (217.8691,244.9297)
+.. controls (217.6791,245.7797) and (217.1894,247.6496) .. (216.1894,246.8496)
+.. controls (216.0094,247.5396) and (216.6699,247.3696) .. (216.6699,247.8496)
+.. controls (215.8899,248.3196) and (214.8794,249.9095) .. (216.1894,249.7695)
+.. controls (215.8295,250.6695) and (215.6294,250.6492) .. (216.1894,251.4492)
+arc(32.853 \@@_colon 40.872 \@@_colon 42.910)
+.. controls (213.2298,256.2200) and (213.3798,255.7902) .. (213.5898,256.4902)
+.. controls (210.6598,257.9802) and (207.8500,261.3306) .. (203.7500,260.8105)
+.. controls (200.7000,260.4205) and (196.3908,257.5108) .. (196.3008,255.0508)
+arc(185.628 \@@_colon 123.227 \@@_colon 1.070)
+.. controls (196.3493,255.1908) and (196.8293,255.3394) .. (197.0293,254.6094)
+.. controls (195.2593,254.5994) and (196.6591,253.6894) .. (196.5391,252.6894)
+.. controls (194.8291,251.2395) and (195.7101,249.9702) .. (195.8301,247.4102)
+.. controls (195.4701,246.8202) and (194.8398,246.8707) .. (195.3398,245.9707)
+.. controls (194.3398,245.7407) and (195.2098,247.3099) .. (194.3398,247.1699)
+.. controls (195.1098,246.3399) and (193.7094,245.5900) .. (194.1094,245.2500)
+.. controls (194.6594,245.7200) and (194.8294,244.6600) .. (195.1094,244.2500)
+.. controls (195.1094,243.8500) and (194.4506,244.1195) .. (194.3906,243.7695)
+arc(221.518 \@@_colon 257.959 \@@_colon 5.330)
+.. controls (200.0395,241.9898) and (203.0195,246.1699) .. (205.4394,246.1699)
+.. controls (207.5394,246.1499) and (208.5698,243.8998) .. (209.7598,242.0898)
+.. controls (206.7598,241.8998) and (204.6291,241.4492) .. (203.0391,239.4492)
+.. controls (203.5791,239.1192) and (203.9402,240.0692) .. (203.9902,239.4492)
+.. controls (203.5402,238.6692) and (202.6003,239.6305) .. (202.0703,238.7305)
+.. controls (203.4003,238.3305) and (202.7508,237.5601) .. (202.5508,236.3301)
+.. controls (204.5508,233.4701) and (208.3008,233.2509) .. (208.5508,229.1309)
+.. controls (207.0008,228.4409) and (205.8002,227.4105) .. (204.2402,226.7305)
+.. controls (203.5902,227.2905) and (202.6603,227.5499) .. (202.0703,228.1699)
+.. controls (201.9803,228.7499) and (202.5105,228.6891) .. (202.3106,229.3691)
+.. controls (199.7406,230.1691) and (198.0108,233.0699) .. (196.5508,234.1699)
+.. controls (196.4308,232.9099) and (197.3995,234.1699) .. (197.2695,233.1699)
+.. controls (196.1295,233.2299) and (195.5394,235.9106) .. (193.4394,235.8106)
+.. controls (193.7494,235.8106) and (193.7395,236.4793) .. (193.4394,236.5293)
+.. controls (189.7695,236.3593) and (184.6797,234.2998) .. (181.6797,235.0898)
+.. controls (182.4697,235.8198) and (183.7891,235.9993) .. (184.7891,236.5293)
+.. controls (182.2091,237.4093) and (179.4902,239.1097) .. (176.1602,238.9297)
+.. controls (176.1102,242.5497) and (178.5698,244.0098) .. (179.5098,247.0898)
+.. controls (180.1898,249.2598) and (180.9506,251.8091) .. (182.3906,252.3691)
+.. controls (185.1806,253.4491) and (187.5996,249.3195) .. (189.5996,248.7695)
+.. controls (191.6496,250.5595) and (191.0000,254.9302) .. (192.0000,257.4102)
+.. controls (193.3400,260.6602) and (199.7598,264.1394) .. (203.7598,264.6094)
+.. controls (204.8798,264.7394) and (206.1894,264.5094) .. (207.3594,264.6094)
+.. controls (209.4094,263.7694) and (211.2391,263.3494) .. (212.8691,262.6895)
+.. controls (215.1491,260.9094) and (216.6004,258.6295) .. (218.1504,256.6895)
+.. controls (219.0604,255.5694) and (218.9094,255.0003) .. (219.3594,253.5703)
+.. controls (220.4894,249.9003) and (222.7699,246.1405) .. (223.9199,241.8106)
+.. controls (225.4099,242.1506) and (225.3391,238.1892) .. (226.7891,238.4492)
+arc(22.546 \@@_colon -8.281 \@@_colon 7.280)
+arc(69.433 \@@_colon 28.347 \@@_colon 7.280)
+.. controls (230.5091,229.7300) and (228.7198,229.4794) .. (227.5098,228.6094)
+.. controls (227.1898,227.6394) and (227.9402,227.7602) .. (228.2402,227.4102)
+.. controls (227.4302,226.1102) and (225.4491,223.5103) .. (224.8691,223.5703)
+.. controls (225.1791,223.7703) and (226.2396,224.4095) .. (225.5996,224.7695)
+.. controls (223.1696,223.1895) and (222.1191,221.1095) .. (219.1191,219.7695)
+.. controls (219.2991,219.7195) and (219.5996,219.7593) .. (219.5996,219.5293)
+.. controls (215.8996,217.4693) and (213.7298,219.6998) .. (209.5098,220.0098)
+.. controls (209.2798,220.2598) and (209.0391,220.4905) .. (208.7891,220.7305)
+.. controls (204.4991,221.6905) and (200.0705,222.0691) .. (196.3106,223.3691)
+.. controls (192.0606,224.8391) and (188.0996,228.5394) .. (183.5996,227.6894)
+.. controls (184.6796,227.6495) and (184.5098,226.3300) .. (185.5098,226.2500)
+.. controls (184.6398,222.6800) and (188.7598,220.9297) .. (191.7598,221.9297)
+.. controls (193.9698,221.1297) and (195.2095,218.7209) .. (197.2695,217.1309)
+.. controls (199.4595,217.6209) and (200.2291,215.8597) .. (202.7891,215.9297)
+.. controls (204.8591,214.5697) and (209.6707,210.1699) .. (204.4707,210.1699)
+.. controls (204.7207,210.2299) and (205.0507,210.5704) .. (204.7207,210.6504)
+.. controls (204.2907,210.5204) and (203.7198,210.5299) .. (203.5098,210.1699)
+.. controls (203.7798,210.1199) and (203.8902,209.8995) .. (203.9902,209.6894)
+arc(86.644 \@@_colon 93.356 \@@_colon 28.610)
+.. controls (200.6906,209.1995) and (200.2104,209.2194) .. (200.4004,208.6894)
+.. controls (200.5904,208.1594) and (201.6504,208.5795) .. (201.4004,207.6894)
+.. controls (200.6804,206.6495) and (200.8009,204.7596) .. (199.9609,203.8496)
+.. controls (201.7409,200.5096) and (206.2804,199.9297) .. (207.4004,195.9297)
+.. controls (205.8804,194.7297) and (205.0296,192.8106) .. (202.3496,192.8106)
+.. controls (202.1096,192.3406) and (201.5694,191.4706) .. (202.1094,190.8906)
+.. controls (202.5494,190.9906) and (203.1908,192.0191) .. (203.5508,191.3691)
+.. controls (201.0808,189.4491) and (200.8995,186.1092) .. (200.1894,183.4492)
+arc(80.931 \@@_colon 69.251 \@@_colon 36.670)
+.. controls (208.4104,181.1193) and (210.2305,181.4408) .. (211.2305,181.0508)
+arc(66.003 \@@_colon 56.705 \@@_colon 18.550)
+.. controls (214.7591,179.3594) and (215.3498,179.7506) .. (216.7598,178.8906)
+.. controls (218.4598,177.8506) and (221.7101,175.2509) .. (220.8301,173.1309)
+.. controls (216.1701,171.8809) and (212.6406,167.6009) .. (207.6406,168.1309)
+.. controls (207.5806,168.3209) and (207.6304,168.6094) .. (207.4004,168.6094)
+.. controls (208.6804,169.8394) and (210.8298,171.0899) .. (210.5098,173.1699)
+.. controls (209.2298,175.2499) and (205.9093,176.3100) .. (204.2793,177.2500)
+.. controls (203.9793,177.2000) and (204.1293,176.9795) .. (204.2793,176.7695)
+.. controls (202.9593,177.4495) and (201.4109,178.7707) .. (199.9609,177.9707)
+.. controls (199.4609,176.2507) and (200.3801,174.3691) .. (202.8301,174.3691)
+.. controls (202.5101,172.1291) and (202.2097,170.7708) .. (200.6797,170.0508)
+.. controls (199.8297,169.6508) and (199.2398,170.2903) .. (198.7598,169.5703)
+.. controls (198.8498,169.7103) and (198.7598,168.8496) .. (198.7598,168.8496)
+.. controls (198.8098,168.5696) and (200.0000,168.3604) .. (199.0000,167.6504)
+.. controls (200.1600,167.6704) and (200.1602,166.5492) .. (201.1602,166.4492)
+.. controls (201.5502,166.4492) and (201.2906,167.1699) .. (201.6406,167.1699)
+arc(47.423 \@@_colon 40.795 \@@_colon 98.290)
+.. controls (209.5808,156.6598) and (208.2791,155.4809) .. (207.8691,154.2109)
+.. controls (207.4091,155.1409) and (205.9805,153.1293) .. (205.4805,152.5293)
+.. controls (199.9505,154.4693) and (196.8905,154.6693) .. (192.4805,157.5293)
+-- (191.2793,157.5293)
+.. controls (190.9593,158.0793) and (190.2996,158.3005) .. (189.8496,158.7305)
+.. controls (187.6196,158.7305) and (184.9491,161.7305) .. (183.1191,159.7305)
+.. controls (183.8691,158.0005) and (182.9991,154.3095) .. (186.6191,153.7695)
+.. controls (187.0391,151.3995) and (184.7395,150.5809) .. (184.9394,149.2109)
+.. controls (183.9119,149.3909) and (182.8465,149.0924) .. (181.7402,149.1894)
+-- cycle(217.5840,244.8926)
+.. controls (217.5272,244.9062) and (217.4943,244.9448) .. (217.4668,244.9883)
+.. controls (217.5052,244.9561) and (217.5469,244.9260) .. (217.5840,244.8926)
+-- cycle(217.4668,244.9883)
+.. controls (217.2831,245.1422) and (217.0889,245.2882) .. (216.8691,245.4102)
+.. controls (217.4215,245.6147) and (217.3381,245.1919) .. (217.4668,244.9883)
+-- cycle(173.2871,234.1133)
+.. controls (173.3574,234.0395) and (173.4053,233.9559) .. (173.3906,233.8496)
+.. controls (173.3667,233.9232) and (173.3159,234.0338) .. (173.2871,234.1133)
+-- cycle(454.9668,157.9277)
+.. controls (452.7688,157.8865) and (451.6320,159.7626) .. (451.5195,161.3301)
+.. controls (451.0995,166.8701) and (458.2302,172.2109) .. (453.9102,176.2109)
+.. controls (453.5602,177.1609) and (454.9909,176.3009) .. (454.6309,177.2109)
+.. controls (451.4409,182.1909) and (444.9794,183.8802) .. (441.4395,188.4902)
+.. controls (440.0195,188.2702) and (439.8008,189.0302) .. (438.8008,189.4902)
+.. controls (436.9908,190.2702) and (434.3295,189.4507) .. (433.2695,189.9707)
+.. controls (430.7995,191.1807) and (431.1900,196.2304) .. (433.7500,197.6504)
+arc(260.556 \@@_colon 272.063 \@@_colon 37.230)
+.. controls (445.7192,198.3399) and (442.9807,206.7494) .. (446.7207,208.6894)
+.. controls (452.0607,207.4394) and (456.7505,201.9707) .. (456.3105,195.9707)
+.. controls (454.9506,197.9807) and (452.9401,201.0405) .. (449.8301,199.8106)
+.. controls (450.1001,196.0205) and (448.9400,193.4102) .. (451.7500,191.4102)
+.. controls (453.7700,189.9702) and (457.9398,188.6801) .. (461.5898,187.3301)
+.. controls (466.5598,185.5301) and (470.3508,183.7093) .. (474.8008,182.5293)
+.. controls (475.0608,181.5193) and (476.1802,181.3606) .. (475.9902,179.8906)
+arc(84.565 \@@_colon 130.176 \@@_colon 5.190)
+.. controls (469.7504,180.1495) and (466.0595,180.9408) .. (463.5195,182.0508)
+.. controls (458.0595,184.4208) and (450.2495,188.2503) .. (444.5195,187.5703)
+.. controls (446.3095,184.5603) and (450.3002,183.7508) .. (453.4102,182.0508)
+.. controls (455.1702,179.9108) and (455.9999,176.8108) .. (459.1699,176.0508)
+.. controls (460.0599,177.4408) and (459.0294,178.5006) .. (458.6895,179.8906)
+arc(75.612 \@@_colon 66.633 \@@_colon 66.360)
+.. controls (468.4395,173.4593) and (467.0095,172.4901) .. (467.5195,169.3301)
+.. controls (465.9995,166.0501) and (461.2692,166.0000) .. (459.1992,163.2500)
+.. controls (459.5692,161.6200) and (457.6295,160.5894) .. (457.5195,158.6894)
+.. controls (456.5495,158.1670) and (455.6995,157.9415) .. (454.9668,157.9277)
+-- cycle(318.7363,158.0391)
+arc(274.726 \@@_colon 264.346 \@@_colon 8.000)
+.. controls (314.0191,160.9508) and (313.5791,166.6094) .. (309.3691,168.6094)
+.. controls (309.6291,168.6594) and (309.7398,168.8798) .. (309.8398,169.0898)
+.. controls (307.5498,170.4698) and (306.4501,171.9297) .. (304.0801,172.9297)
+.. controls (304.0801,173.4897) and (304.5003,173.6391) .. (304.3203,174.3691)
+.. controls (303.0603,178.0891) and (302.6902,182.6498) .. (302.1602,187.0898)
+.. controls (300.9302,188.8198) and (299.4501,190.3006) .. (298.0801,191.8906)
+.. controls (299.2301,192.8306) and (300.9804,193.1503) .. (302.6504,193.5703)
+.. controls (304.5804,192.3903) and (306.6504,191.3609) .. (308.6504,190.2109)
+.. controls (308.2804,189.6809) and (309.2609,188.4398) .. (308.8809,187.0898)
+.. controls (309.2009,187.0898) and (309.0991,187.5103) .. (309.3691,187.5703)
+.. controls (309.7591,186.6303) and (309.6509,185.3706) .. (309.1309,185.8906)
+.. controls (310.4709,183.9206) and (309.7394,179.3799) .. (312.4395,178.1699)
+.. controls (314.0994,178.2299) and (315.5894,178.8104) .. (317.4395,178.6504)
+arc(203.247 \@@_colon 213.807 \@@_colon 35.620)
+.. controls (327.0603,171.7306) and (332.5703,175.4291) .. (339.5703,175.2891)
+arc(200.825 \@@_colon 249.508 \@@_colon 2.890)
+.. controls (341.2398,172.4294) and (341.2893,171.1705) .. (340.5293,170.7305)
+arc(61.151 \@@_colon 73.583 \@@_colon 12.000)
+.. controls (338.1409,171.0105) and (338.7596,170.9091) .. (338.8496,170.2891)
+.. controls (334.3196,169.7791) and (329.1304,169.9391) .. (325.6504,168.3691)
+.. controls (326.0004,168.1291) and (326.5804,168.1404) .. (326.6504,167.6504)
+arc(161.755 \@@_colon 190.609 \@@_colon 7.240)
+.. controls (326.2202,164.0008) and (326.1602,163.8503) .. (326.1602,163.5703)
+.. controls (324.3802,161.6003) and (321.4302,160.7791) .. (320.1602,158.2891)
+arc(285.142 \@@_colon 274.775 \@@_colon 8.000)
+-- cycle(50.1992,160.8926)
+.. controls (49.2905,160.9101) and (48.0148,161.0659) .. (46.8398,160.9609)
+.. controls (45.9698,162.6109) and (48.4002,162.4491) .. (49.2402,163.1191)
+.. controls (49.3702,164.2391) and (48.5000,165.2600) .. (49.0000,166.0000)
+.. controls (46.0000,167.5200) and (44.6998,170.8292) .. (41.5098,172.1992)
+.. controls (41.4198,172.6092) and (41.8698,172.8199) .. (41.5098,172.9199)
+arc(237.299 \@@_colon 227.404 \@@_colon 61.510)
+.. controls (33.7294,179.6604) and (33.9503,178.3702) .. (34.3203,179.1602)
+.. controls (32.0603,180.5902) and (28.8704,181.3800) .. (26.4004,183.0000)
+.. controls (25.6504,183.4900) and (25.2607,184.3897) .. (24.4707,184.6797)
+.. controls (23.3207,185.1097) and (21.7809,184.7099) .. (20.6309,184.9199)
+.. controls (17.3009,185.5299) and (14.3698,187.0391) .. (11.5098,188.0391)
+.. controls (11.6998,188.0891) and (12.0000,188.0493) .. (12.0000,188.2793)
+-- (10.3105,188.2793)
+.. controls (9.1505,193.4593) and (13.2700,195.3709) .. (17.5000,195.9609)
+arc(316.332 \@@_colon 340.975 \@@_colon 3.290)
+.. controls (18.2905,196.5902) and (19.2897,197.0104) .. (19.1797,197.4004)
+.. controls (18.9797,198.6304) and (17.8798,198.9708) .. (17.2598,199.8008)
+.. controls (16.9498,199.8008) and (17.0493,199.3803) .. (16.7793,199.3203)
+.. controls (15.0393,201.6603) and (11.2291,203.1908) .. (10.5391,205.8008)
+.. controls (9.2691,206.3608) and (9.2299,208.1695) .. (7.6699,208.4394)
+.. controls (8.4299,209.0894) and (6.6699,209.2009) .. (6.6699,209.8809)
+.. controls (12.1199,212.6709) and (13.5103,219.5292) .. (15.0703,226.1992)
+arc(84.750 \@@_colon 24.836 \@@_colon 5.000)
+.. controls (18.4004,223.2003) and (18.1709,223.8901) .. (17.9609,223.0801)
+.. controls (19.0509,222.7801) and (17.5292,222.3204) .. (18.1992,221.4004)
+.. controls (16.1692,220.2604) and (16.2105,216.3404) .. (15.3105,215.4004)
+.. controls (15.6805,212.2504) and (15.3400,206.8996) .. (16.7500,204.5996)
+.. controls (16.7600,204.7296) and (16.5598,204.8696) .. (16.5098,204.5996)
+.. controls (17.0598,203.3096) and (17.7104,202.1207) .. (19.1504,201.7207)
+.. controls (19.7404,202.0807) and (18.8904,202.6507) .. (19.4004,202.7207)
+.. controls (22.6304,201.5207) and (22.6107,205.5895) .. (23.4707,207.5195)
+.. controls (22.9907,208.0695) and (22.6808,208.8009) .. (21.8008,208.9609)
+.. controls (21.7208,208.4909) and (22.1193,208.4802) .. (22.2793,208.2402)
+.. controls (20.1293,208.6802) and (18.0093,209.1991) .. (17.2793,211.1191)
+.. controls (18.6193,212.3491) and (21.3508,212.1793) .. (22.8008,213.2793)
+.. controls (23.5508,212.9893) and (23.8507,212.2401) .. (24.7207,212.0801)
+.. controls (26.4007,213.3201) and (25.5192,215.7303) .. (25.4492,218.3203)
+.. controls (29.1192,220.0503) and (23.1801,220.0795) .. (22.3301,221.4394)
+arc(177.902 \@@_colon 217.655 \@@_colon 1.110)
+.. controls (21.9705,220.6807) and (21.8194,221.0992) .. (21.3594,221.1992)
+.. controls (22.1794,222.8192) and (19.6409,224.7500) .. (20.8809,226.0000)
+arc(236.501 \@@_colon 173.516 \@@_colon 3.940)
+arc(119.189 \@@_colon 60.811 \@@_colon 4.930)
+.. controls (23.8092,230.2605) and (23.2209,230.2405) .. (23.7109,230.7305)
+.. controls (24.8009,231.1005) and (24.7191,230.5402) .. (25.8691,230.4902)
+.. controls (25.9791,232.7302) and (27.6393,232.1801) .. (28.0293,234.3301)
+.. controls (27.6593,235.2501) and (26.6491,235.5098) .. (25.8691,236.0098)
+.. controls (26.1491,236.0498) and (26.5801,235.9700) .. (26.5801,236.2500)
+.. controls (26.6001,236.8500) and (24.9004,236.9205) .. (24.9004,236.7305)
+.. controls (24.8304,236.1805) and (25.6309,236.4598) .. (25.6309,236.0098)
+.. controls (24.5009,235.7698) and (24.5495,236.6909) .. (24.1895,237.2109)
+arc(254.609 \@@_colon 237.728 \@@_colon 38.430)
+.. controls (15.2091,244.3495) and (17.3996,247.3493) .. (20.3496,247.5293)
+.. controls (19.8096,247.4293) and (20.1201,246.2101) .. (20.5801,246.3301)
+.. controls (20.7601,246.6601) and (21.5801,246.3706) .. (21.5801,246.8106)
+.. controls (21.3101,246.8605) and (21.1998,247.0791) .. (21.0898,247.2891)
+.. controls (22.5298,246.5291) and (22.2302,248.1093) .. (23.7402,247.5293)
+.. controls (23.6102,248.4593) and (24.3492,248.5209) .. (24.4492,249.2109)
+arc(37.944 \@@_colon 58.486 \@@_colon 8.080)
+.. controls (22.6808,251.4609) and (23.5302,251.3296) .. (23.7402,251.8496)
+.. controls (21.4202,251.5696) and (19.8606,258.1699) .. (20.1406,256.1699)
+.. controls (19.1406,256.3699) and (18.7402,257.1591) .. (17.7402,257.3691)
+arc(299.541 \@@_colon 281.507 \@@_colon 6.540)
+.. controls (15.3103,258.9104) and (17.0302,263.2704) .. (19.6602,261.6504)
+.. controls (21.0602,262.0404) and (23.0007,261.0292) .. (24.2207,260.4492)
+.. controls (23.6907,260.3792) and (24.4795,259.8005) .. (24.6895,259.7305)
+.. controls (26.0295,259.3205) and (26.2596,260.7305) .. (26.8496,259.7305)
+.. controls (26.6696,259.6805) and (26.3809,259.7202) .. (26.3809,259.4902)
+arc(74.012 \@@_colon 51.100 \@@_colon 18.350)
+.. controls (32.7796,256.2009) and (32.2891,256.0306) .. (32.3691,255.8906)
+.. controls (34.6891,256.8106) and (34.3895,253.5805) .. (36.6895,253.7305)
+.. controls (38.2595,250.9405) and (43.0596,253.0898) .. (44.8496,251.0898)
+arc(164.064 \@@_colon 82.606 \@@_colon 0.670)
+.. controls (45.8301,250.6603) and (46.7101,250.4099) .. (46.5801,249.1699)
+.. controls (43.9301,246.7799) and (40.4509,248.5606) .. (37.7109,249.8906)
+.. controls (37.8609,249.1606) and (38.7906,249.2194) .. (39.1406,248.6894)
+.. controls (37.8906,248.5594) and (37.3695,249.1699) .. (36.2695,249.1699)
+.. controls (36.4695,247.9299) and (35.1305,248.2500) .. (35.0605,247.2500)
+.. controls (35.4405,247.2300) and (35.8991,247.2795) .. (35.7891,246.7695)
+.. controls (35.2191,245.2595) and (38.3207,245.2299) .. (37.2207,243.1699)
+.. controls (37.6607,242.5499) and (38.2702,242.1302) .. (38.6602,241.4902)
+.. controls (37.8102,241.3602) and (38.0707,242.3409) .. (37.2207,242.2109)
+.. controls (37.3907,241.4109) and (36.7300,241.8207) .. (36.5000,241.9707)
+.. controls (37.5000,239.9607) and (41.2200,239.3691) .. (42.5000,238.3691)
+.. controls (42.5000,238.6491) and (42.0800,238.9098) .. (42.5000,239.0898)
+.. controls (43.2600,237.4398) and (45.3304,236.2098) .. (44.9004,234.0898)
+.. controls (43.4804,233.5798) and (42.6703,234.3505) .. (40.8203,234.8106)
+-- (40.8203,233.8106)
+arc(283.823 \@@_colon 228.187 \@@_colon 2.120)
+.. controls (38.7304,233.3191) and (38.2704,234.0203) .. (37.9004,233.5703)
+.. controls (38.5204,232.9003) and (37.5102,233.3403) .. (37.6602,232.5703)
+.. controls (37.9402,232.5303) and (38.3691,232.6101) .. (38.3691,232.3301)
+.. controls (37.5491,232.1201) and (38.4304,231.3704) .. (37.9004,230.6504)
+arc(132.518 \@@_colon 47.482 \@@_colon 0.880)
+arc(179.111 \@@_colon 205.410 \@@_colon 7.560)
+.. controls (39.4303,227.2491) and (38.9003,227.3708) .. (38.8203,227.0508)
+.. controls (39.0103,226.5208) and (38.9608,225.7494) .. (39.5508,225.6094)
+.. controls (40.5208,225.9694) and (40.9809,225.3398) .. (41.4609,226.0898)
+.. controls (43.1409,223.7198) and (44.1102,224.5697) .. (46.7402,223.9297)
+.. controls (46.7502,224.1697) and (46.5000,224.2102) .. (46.5000,224.4102)
+arc(258.580 \@@_colon 272.394 \@@_colon 38.080)
+arc(317.917 \@@_colon 324.968 \@@_colon 37.430)
+.. controls (58.5000,232.1191) and (53.4094,234.8496) .. (50.1094,237.8496)
+.. controls (49.7894,238.4896) and (51.0498,238.6396) .. (50.3398,238.8496)
+.. controls (48.1998,238.7296) and (46.5893,241.1502) .. (46.0293,243.4102)
+arc(298.374 \@@_colon 306.739 \@@_colon 21.400)
+arc(61.212 \@@_colon 11.699 \@@_colon 6.770)
+.. controls (55.9293,239.5493) and (57.6199,236.3591) .. (60.4199,234.2891)
+.. controls (60.4499,234.5791) and (60.5004,234.8595) .. (60.9004,234.7695)
+.. controls (61.1404,233.8595) and (60.9206,233.6398) .. (61.1406,233.0898)
+.. controls (62.8906,232.5198) and (64.5307,231.8309) .. (65.2207,230.2109)
+.. controls (68.6007,229.7509) and (69.0609,226.5909) .. (71.4609,225.2109)
+.. controls (71.9009,224.9609) and (73.0409,225.0402) .. (73.6309,224.4902)
+.. controls (73.8209,224.8202) and (74.6309,224.5307) .. (74.6309,224.9707)
+.. controls (77.9709,223.0907) and (81.8609,225.9707) .. (81.6309,229.9707)
+.. controls (81.6809,229.7307) and (82.0194,229.3905) .. (82.1094,229.7305)
+.. controls (82.2094,232.8405) and (80.4894,233.7305) .. (81.1094,236.7305)
+arc(235.824 \@@_colon 208.145 \@@_colon 6.750)
+.. controls (80.0792,239.1409) and (79.4395,239.8103) .. (79.4395,240.5703)
+.. controls (78.6495,240.5803) and (78.5098,241.2508) .. (77.5098,241.0508)
+.. controls (75.2798,243.5708) and (75.4300,245.6503) .. (72.0000,246.5703)
+.. controls (71.6700,247.3203) and (70.8500,247.5305) .. (71.0000,248.7305)
+.. controls (70.0900,249.1005) and (69.5996,249.8399) .. (68.5996,250.1699)
+.. controls (69.0096,251.0099) and (67.3406,251.5401) .. (67.8906,252.3301)
+.. controls (68.0506,251.9101) and (69.4903,251.5596) .. (69.5703,251.8496)
+arc(30.092 \@@_colon 41.410 \@@_colon 31.240)
+-- (65.9707,255.6504)
+.. controls (64.2607,255.4904) and (65.1608,256.7296) .. (64.0508,256.8496)
+arc(301.169 \@@_colon 294.628 \@@_colon 40.460)
+.. controls (59.7307,253.9394) and (60.0305,254.0602) .. (59.7305,253.4902)
+.. controls (60.2005,253.8902) and (60.0297,253.4902) .. (60.6797,253.4902)
+.. controls (60.0497,252.6802) and (58.8108,251.2101) .. (58.0508,251.3301)
+.. controls (58.6108,251.4401) and (58.0205,252.2601) .. (57.8105,252.3301)
+.. controls (57.4605,252.2001) and (56.5996,252.6098) .. (56.5996,252.0898)
+.. controls (57.7796,250.3798) and (54.0602,250.8909) .. (55.1602,249.2109)
+arc(264.890 \@@_colon 220.084 \@@_colon 2.840)
+.. controls (54.7602,252.9609) and (56.1198,258.7509) .. (58.7598,262.2109)
+.. controls (59.5398,263.2209) and (61.4694,265.2603) .. (62.3594,265.5703)
+.. controls (66.3794,267.0203) and (67.7591,262.2703) .. (70.2891,260.5703)
+.. controls (70.5991,260.5703) and (70.4998,260.9908) .. (70.7598,261.0508)
+.. controls (72.6098,256.5608) and (73.7294,255.2497) .. (74.3594,251.9297)
+.. controls (75.3694,251.9697) and (74.9396,251.8092) .. (74.5996,251.4492)
+.. controls (77.0396,248.7392) and (77.4702,248.5992) .. (79.1602,244.4492)
+.. controls (81.4402,244.0692) and (81.5907,240.3396) .. (83.9707,240.8496)
+.. controls (84.8907,239.8496) and (85.0806,238.6894) .. (85.8906,238.6894)
+.. controls (86.2306,235.4694) and (89.2600,234.2506) .. (89.0000,229.8106)
+.. controls (86.0000,226.6405) and (83.7701,222.9993) .. (80.5801,219.5293)
+.. controls (80.5901,219.2093) and (81.0105,219.3108) .. (81.0605,219.0508)
+arc(123.425 \@@_colon 175.019 \@@_colon 3.210)
+.. controls (80.2209,216.3204) and (80.6309,217.2704) .. (80.6309,216.6504)
+.. controls (80.5709,214.9704) and (80.0491,213.4501) .. (80.8691,212.3301)
+.. controls (80.2991,212.1401) and (79.7597,211.9701) .. (79.6797,211.3301)
+.. controls (80.6997,208.8901) and (83.2595,210.8206) .. (85.4395,209.8906)
+arc(28.057 \@@_colon -5.419 \@@_colon 4.250)
+.. controls (83.4799,206.1302) and (80.1100,203.5291) .. (78.0000,206.2891)
+.. controls (78.0000,206.6891) and (78.7109,206.4195) .. (78.7109,206.7695)
+.. controls (77.9809,206.9395) and (78.0095,206.3593) .. (77.2695,206.5293)
+arc(191.347 \@@_colon 146.033 \@@_colon 1.590)
+arc(236.654 \@@_colon 196.394 \@@_colon 13.450)
+arc(238.835 \@@_colon 221.577 \@@_colon 29.320)
+.. controls (63.8102,220.5708) and (63.4109,221.3593) .. (62.1309,221.2793)
+.. controls (62.0509,221.1693) and (62.4094,220.8008) .. (62.3594,220.8008)
+.. controls (59.6794,219.3208) and (54.2901,219.2203) .. (51.0801,220.3203)
+.. controls (51.9001,220.5603) and (51.4595,220.8005) .. (52.5195,220.5606)
+.. controls (52.9295,221.2005) and (53.0005,222.1605) .. (53.7305,222.4805)
+.. controls (52.1405,223.3505) and (48.2505,223.9805) .. (47.4805,223.4805)
+.. controls (47.6705,223.1505) and (48.4805,223.4400) .. (48.4805,223.0000)
+.. controls (47.5105,222.3900) and (48.4300,221.1506) .. (48.2500,219.6406)
+.. controls (47.4000,220.9206) and (45.4604,219.1195) .. (44.4004,218.4394)
+.. controls (44.7004,217.9394) and (45.3494,217.7802) .. (45.6094,217.2402)
+.. controls (44.1294,216.9102) and (46.2294,216.6691) .. (44.6094,216.0391)
+.. controls (46.0394,215.3991) and (47.0697,212.0704) .. (48.9297,213.4004)
+.. controls (49.1297,212.8004) and (49.5902,212.4607) .. (49.6602,211.7207)
+.. controls (49.3702,211.6807) and (48.9297,211.7605) .. (48.9297,211.4805)
+.. controls (51.0097,207.3105) and (54.6598,204.7198) .. (59.0098,202.8398)
+.. controls (59.9098,201.3698) and (59.9493,198.5606) .. (58.5293,197.5606)
+.. controls (58.4393,197.9706) and (58.8893,198.1793) .. (58.5293,198.2793)
+.. controls (55.0393,196.1393) and (47.8304,197.8605) .. (43.9004,199.4805)
+arc(246.523 \@@_colon 307.741 \@@_colon 1.900)
+.. controls (40.4603,199.8807) and (36.7006,202.9809) .. (32.1406,201.8809)
+arc(0.509 \@@_colon -37.379 \@@_colon 1.170)
+arc(243.988 \@@_colon 296.012 \@@_colon 1.630)
+arc(332.421 \@@_colon 303.610 \@@_colon 6.490)
+.. controls (30.8699,197.6598) and (29.7792,194.7802) .. (30.4492,193.2402)
+.. controls (30.0092,193.7402) and (29.3998,192.5202) .. (29.0098,192.2402)
+.. controls (29.8198,191.6002) and (31.4804,191.8008) .. (31.9004,190.8008)
+.. controls (32.0904,191.2508) and (32.2094,191.7700) .. (32.6094,192.0000)
+.. controls (33.9394,192.2400) and (33.7695,191.0000) .. (34.7695,191.0000)
+.. controls (33.7795,191.8400) and (35.1305,191.1802) .. (35.9805,191.2402)
+.. controls (36.4505,190.7802) and (35.6492,190.4602) .. (36.4492,190.2402)
+.. controls (36.8292,190.2602) and (36.6399,190.8507) .. (37.1699,190.7207)
+.. controls (41.3499,189.3207) and (45.6602,187.8209) .. (49.6602,186.8809)
+.. controls (49.6002,187.1809) and (49.2804,187.3594) .. (49.9004,187.3594)
+.. controls (52.3304,186.2994) and (56.5501,186.9798) .. (57.3301,183.7598)
+.. controls (55.6701,181.9598) and (53.8401,180.3609) .. (52.3301,178.9609)
+.. controls (51.0201,179.5809) and (47.5099,179.5297) .. (44.1699,179.6797)
+.. controls (44.8999,178.1797) and (44.8905,175.8097) .. (46.5605,174.6797)
+.. controls (44.9305,174.6897) and (45.3006,175.7694) .. (44.6406,176.3594)
+.. controls (44.7206,175.8894) and (44.3199,175.8806) .. (44.1699,175.6406)
+.. controls (45.2699,174.8906) and (45.5098,173.8600) .. (46.0898,173.0000)
+.. controls (46.6698,172.1400) and (47.2500,172.7200) .. (48.2500,172.0000)
+.. controls (49.7100,170.9900) and (49.8706,169.4906) .. (50.6406,168.6406)
+.. controls (51.2306,167.9906) and (52.3008,167.8692) .. (52.8008,167.1992)
+.. controls (53.0208,166.9192) and (52.6608,166.3200) .. (52.8008,166.0000)
+arc(213.614 \@@_colon 241.168 \@@_colon 5.700)
+.. controls (54.7285,164.2908) and (54.7584,164.4888) .. (54.9609,164.5293)
+.. controls (56.1209,162.7993) and (52.5694,161.7604) .. (51.3594,161.6504)
+.. controls (51.6494,160.9954) and (51.1080,160.8751) .. (50.1992,160.8926)
+-- cycle(21.4238,161.4043)
+arc(272.020 \@@_colon 243.702 \@@_colon 8.600)
+.. controls (15.1505,164.1791) and (15.1808,169.3097) .. (17.5508,170.9297)
+.. controls (22.6208,172.0297) and (24.9808,175.8302) .. (29.5508,177.4102)
+.. controls (28.9708,178.0102) and (29.8191,177.9902) .. (30.0391,178.4102)
+.. controls (30.9591,178.5802) and (31.6309,177.2995) .. (31.9609,177.6894)
+.. controls (31.8509,178.2894) and (31.1809,178.2695) .. (30.9609,178.6894)
+.. controls (34.1109,177.2894) and (33.0295,172.9491) .. (31.6895,170.2891)
+.. controls (32.1595,169.9491) and (33.3096,169.0503) .. (33.8496,169.5703)
+.. controls (33.5796,169.6303) and (33.2706,170.0007) .. (33.6406,169.9707)
+.. controls (33.7306,169.6107) and (34.2706,169.7305) .. (34.6406,169.7305)
+.. controls (33.9006,167.0405) and (37.7906,167.0609) .. (39.6406,166.1309)
+.. controls (39.7006,165.0409) and (39.9906,164.6907) .. (39.3906,163.9707)
+.. controls (34.6906,164.7907) and (30.6209,168.4106) .. (25.9609,165.8906)
+.. controls (25.6509,163.8506) and (23.1701,162.7903) .. (22.8301,161.5703)
+arc(281.455 \@@_colon 272.010 \@@_colon 8.600)
+-- cycle(360.6895,167.4902)
+.. controls (357.8795,169.5702) and (356.3506,174.1903) .. (355.6406,177.5703)
+.. controls (357.0706,176.4503) and (355.8008,174.8300) .. (357.8008,173.2500)
+-- (358.8008,173.2500)
+.. controls (358.6108,184.8100) and (358.3402,198.4805) .. (356.4102,207.8106)
+.. controls (356.4302,208.1906) and (357.0209,207.9993) .. (356.8809,208.5293)
+.. controls (356.0309,214.5293) and (358.7491,219.4109) .. (359.2891,224.1309)
+.. controls (359.8591,229.1709) and (359.1998,234.9995) .. (359.7598,238.7695)
+.. controls (360.1198,241.4295) and (360.0605,246.3095) .. (360.4805,249.7695)
+.. controls (361.2705,250.0195) and (362.0399,250.2992) .. (361.9199,251.4492)
+.. controls (361.1099,252.0992) and (358.6991,251.6992) .. (357.3691,251.4492)
+arc(155.035 \@@_colon 143.016 \@@_colon 33.420)
+.. controls (361.4907,258.1492) and (363.4901,260.6606) .. (364.0801,260.8105)
+.. controls (368.0501,261.8306) and (368.5992,255.0592) .. (367.1992,251.4492)
+.. controls (366.9792,251.8692) and (367.2105,252.7404) .. (366.4805,252.6504)
+.. controls (366.4105,252.1204) and (365.8398,252.1404) .. (365.7598,251.6504)
+arc(79.773 \@@_colon 63.311 \@@_colon 5.300)
+.. controls (366.5492,248.6499) and (368.0600,240.2391) .. (366.0000,240.3691)
+.. controls (366.7800,239.1791) and (365.6705,238.6500) .. (366.4805,237.2500)
+.. controls (365.8905,236.9400) and (365.2891,237.7900) .. (365.2891,237.2500)
+.. controls (366.5891,234.3000) and (365.5598,230.6098) .. (365.2598,227.0098)
+.. controls (364.6298,218.6798) and (363.9798,210.9400) .. (365.2598,203.2500)
+.. controls (365.6398,200.9400) and (366.6592,198.9093) .. (366.4492,196.5293)
+.. controls (366.2492,194.6293) and (365.7492,192.5695) .. (365.4492,190.7695)
+.. controls (364.1992,183.1495) and (365.2194,177.1102) .. (365.6895,169.4102)
+.. controls (364.4495,167.2602) and (362.1995,168.3402) .. (360.6895,167.4902)
+-- cycle(324.0059,177.6777)
+.. controls (323.9213,177.6748) and (323.8270,177.6782) .. (323.7207,177.6894)
+.. controls (322.9807,178.1095) and (324.6507,178.3906) .. (323.7207,178.8906)
+.. controls (323.1707,178.9606) and (323.4598,178.1699) .. (323.0098,178.1699)
+.. controls (321.0798,179.6899) and (318.9392,180.9895) .. (318.1992,183.6894)
+.. controls (320.4292,185.1395) and (324.9792,182.0496) .. (325.1992,185.8496)
+.. controls (323.5092,188.2696) and (322.0399,190.8496) .. (319.9199,192.8496)
+.. controls (322.1599,192.5196) and (323.2305,191.0305) .. (324.4805,189.7305)
+arc(76.265 \@@_colon 52.600 \@@_colon 14.920)
+arc(95.659 \@@_colon 75.566 \@@_colon 9.000)
+.. controls (332.9909,184.8796) and (334.3908,184.4298) .. (334.8008,183.0098)
+.. controls (334.5808,181.7298) and (331.7709,182.6703) .. (333.1309,181.5703)
+.. controls (332.1209,181.2803) and (332.0692,181.9608) .. (331.4492,182.0508)
+.. controls (331.5792,181.5608) and (332.1706,181.5808) .. (331.6406,181.0508)
+.. controls (329.6606,180.5808) and (326.1992,180.5091) .. (324.1992,179.3691)
+.. controls (324.2180,179.2566) and (325.2747,177.7210) .. (324.0059,177.6777)
+-- cycle(355.2402,177.7305)
+.. controls (355.1502,179.2805) and (353.7502,180.7508) .. (354.2402,182.0508)
+.. controls (354.2302,181.6008) and (354.4305,181.5405) .. (354.7305,181.8106)
+.. controls (354.2405,180.6005) and (355.1892,179.6894) .. (355.4492,178.6894)
+.. controls (355.3423,178.8451) and (355.2948,178.9096) .. (355.2832,178.9121)
+.. controls (355.2821,178.8391) and (355.8340,177.7617) .. (355.2402,177.7305)
+-- cycle(490.0801,184.0000)
+arc(0.517 \@@_colon 38.415 \@@_colon 1.110)
+.. controls (486.7798,185.3297) and (485.6996,188.4394) .. (483.5996,190.4394)
+.. controls (481.9396,192.0694) and (479.3498,192.7598) .. (477.8398,194.7598)
+arc(209.536 \@@_colon 203.594 \@@_colon 36.230)
+.. controls (474.9702,200.3391) and (473.5298,202.1598) .. (473.7598,204.8398)
+.. controls (479.1898,206.3998) and (478.4805,197.8102) .. (480.4805,195.2402)
+.. controls (482.2305,192.9602) and (485.6005,192.7209) .. (485.4805,195.9609)
+.. controls (485.4305,197.5109) and (483.2094,199.1909) .. (482.6094,200.9609)
+.. controls (481.7694,203.4109) and (479.9305,208.0302) .. (479.4805,212.2402)
+.. controls (479.0205,216.6802) and (480.4797,220.5002) .. (480.9297,224.2402)
+.. controls (481.2297,226.8502) and (480.7698,229.3409) .. (482.8398,230.9609)
+.. controls (484.6198,231.0209) and (485.8902,231.2805) .. (487.1602,230.4805)
+.. controls (488.1502,225.5605) and (484.0795,220.8406) .. (486.6895,216.5606)
+.. controls (487.3795,215.4205) and (490.2005,214.3309) .. (491.4805,214.8809)
+.. controls (492.7605,215.4309) and (493.9591,219.2894) .. (494.3691,221.3594)
+.. controls (495.4391,226.8794) and (494.6798,233.0697) .. (495.0898,237.6797)
+.. controls (495.3298,240.1197) and (496.3301,243.1191) .. (495.3301,245.1191)
+.. controls (495.4101,248.5291) and (496.5195,254.5893) .. (496.5195,259.2793)
+.. controls (496.5195,261.2193) and (495.7391,263.2806) .. (496.2891,264.5605)
+.. controls (498.8991,270.6805) and (502.7905,258.9197) .. (501.5605,255.6797)
+.. controls (499.8806,253.6897) and (501.4006,248.4906) .. (499.6406,246.5606)
+.. controls (501.3906,244.7506) and (499.8809,241.2709) .. (499.8809,238.8809)
+.. controls (499.9409,234.6809) and (502.0009,229.5997) .. (499.8809,225.6797)
+arc(14.720 \@@_colon -23.201 \@@_colon 10.000)
+.. controls (500.1004,214.0992) and (500.5509,208.6992) .. (505.8809,208.1992)
+.. controls (506.3409,206.8792) and (507.3109,206.0709) .. (506.8809,203.8809)
+.. controls (505.1909,202.5309) and (504.8105,203.3594) .. (502.5605,204.3594)
+.. controls (501.3306,204.9194) and (499.7305,205.0805) .. (498.7305,205.5606)
+.. controls (497.9505,205.9406) and (497.4508,206.6800) .. (496.8008,207.0000)
+arc(64.693 \@@_colon 90.018 \@@_colon 17.930)
+.. controls (488.2409,207.2507) and (488.9909,206.6596) .. (489.1309,205.5996)
+.. controls (489.2909,204.3296) and (488.8209,202.1491) .. (489.1309,201.0391)
+.. controls (489.6009,199.2991) and (490.3608,197.0391) .. (491.0508,195.0391)
+.. controls (492.1608,191.8291) and (494.4102,189.8203) .. (494.1602,188.3203)
+.. controls (493.8302,186.3003) and (491.2801,185.9100) .. (490.0801,184.0000)
+-- cycle(470.1602,191.3691)
+.. controls (468.1302,191.7491) and (466.2204,190.9991) .. (464.6504,192.3691)
+.. controls (462.6404,198.3191) and (458.8400,201.6893) .. (456.0000,206.5293)
+.. controls (452.7000,207.8693) and (451.9601,211.7695) .. (448.3301,212.7695)
+.. controls (448.3301,212.6395) and (448.1301,212.4995) .. (448.0801,212.7695)
+.. controls (446.8801,215.8495) and (442.0003,216.0707) .. (440.0703,218.9707)
+arc(74.879 \@@_colon 105.121 \@@_colon 3.680)
+.. controls (440.2704,224.2107) and (442.9491,220.3394) .. (447.0391,219.6894)
+.. controls (449.5691,219.2494) and (450.9891,219.4200) .. (452.0391,218.2500)
+.. controls (453.4791,220.0700) and (452.6007,224.1795) .. (453.7207,225.6894)
+.. controls (452.6007,227.0894) and (450.6107,227.5798) .. (448.7207,228.0898)
+.. controls (446.8307,228.5998) and (445.4899,230.3600) .. (443.9199,230.2500)
+.. controls (443.8299,230.6600) and (444.2799,230.8607) .. (443.9199,230.9707)
+.. controls (442.5199,230.8807) and (442.3295,232.0904) .. (441.5195,232.6504)
+.. controls (441.4595,232.3104) and (441.0008,232.3799) .. (440.8008,232.1699)
+.. controls (437.9308,234.6199) and (433.0608,233.0801) .. (429.8008,234.3301)
+.. controls (430.0408,235.0601) and (430.4791,234.8995) .. (430.0391,235.7695)
+arc(124.972 \@@_colon 81.507 \@@_colon 11.320)
+.. controls (439.1592,237.5594) and (439.9698,236.7707) .. (440.8398,236.9707)
+.. controls (442.2598,237.3007) and (443.9609,240.9007) .. (443.9609,242.9707)
+.. controls (443.9909,244.4907) and (442.7707,245.4391) .. (443.7207,247.2891)
+.. controls (445.0807,247.9491) and (447.3695,248.6193) .. (448.5195,247.5293)
+.. controls (448.1695,244.5393) and (448.2291,241.1402) .. (448.0391,238.4102)
+-- (446.1191,238.4102)
+.. controls (446.3091,237.5902) and (445.9002,237.1695) .. (445.4102,237.6894)
+.. controls (445.5402,237.1894) and (446.0009,237.0000) .. (445.8809,236.2500)
+.. controls (445.6909,236.0200) and (444.6094,236.9593) .. (444.6895,235.5293)
+.. controls (445.5494,235.3293) and (445.8491,236.0693) .. (446.3691,235.5293)
+.. controls (446.0091,234.2193) and (447.0498,234.4109) .. (446.8398,233.1309)
+.. controls (449.1498,232.6309) and (450.8701,231.5509) .. (453.3301,231.2109)
+.. controls (455.9101,233.0109) and (457.2394,237.9191) .. (456.4395,241.2891)
+.. controls (456.1094,242.6991) and (454.8198,243.2304) .. (455.0098,244.6504)
+.. controls (455.1398,245.6704) and (456.3394,246.2908) .. (456.6895,247.0508)
+.. controls (467.3195,248.8108) and (462.5906,233.3092) .. (463.6406,225.4492)
+arc(237.476 \@@_colon 248.012 \@@_colon 48.520)
+.. controls (473.7106,220.4391) and (476.4502,220.1506) .. (475.1602,216.8106)
+.. controls (473.8002,216.8106) and (472.2808,217.6803) .. (471.8008,216.5703)
+.. controls (472.0408,218.2003) and (468.4100,216.6991) .. (467.2500,217.2891)
+.. controls (467.0800,219.1991) and (464.4102,218.5795) .. (463.4102,219.6894)
+.. controls (462.9302,218.5994) and (461.4300,219.9402) .. (461.2500,218.4902)
+arc(18.887 \@@_colon -47.343 \@@_colon 2.720)
+.. controls (460.7395,215.2294) and (461.7395,215.6606) .. (461.5195,214.8906)
+.. controls (461.5595,214.2106) and (460.8008,214.3295) .. (460.8008,213.6894)
+.. controls (462.2308,209.8494) and (474.2402,207.9796) .. (470.4102,203.8496)
+.. controls (467.7502,204.1396) and (465.3804,204.1797) .. (464.6504,201.9297)
+.. controls (465.4804,201.7397) and (465.5701,202.2899) .. (466.3301,202.1699)
+.. controls (466.2301,199.5399) and (468.9707,197.6307) .. (468.9707,194.9707)
+.. controls (469.3907,194.7507) and (469.6602,194.3900) .. (470.1602,194.2500)
+arc(18.045 \@@_colon -18.045 \@@_colon 4.650)
+-- cycle(331.8027,191.8164)
+.. controls (331.3077,191.8003) and (330.8382,191.8146) .. (330.4707,191.8496)
+.. controls (327.5407,192.1196) and (321.9503,193.1891) .. (322.3203,193.2891)
+.. controls (322.0103,192.9591) and (321.2706,193.0508) .. (320.6406,193.0508)
+.. controls (313.3606,194.4708) and (308.7194,198.5697) .. (303.3594,201.9297)
+arc(10.655 \@@_colon 21.887 \@@_colon 8.940)
+.. controls (304.2591,209.4094) and (310.1102,204.0302) .. (311.9902,202.4102)
+.. controls (313.4702,201.1702) and (318.2407,199.5398) .. (318.4707,198.0898)
+.. controls (321.3507,196.7298) and (327.8504,196.6191) .. (332.4004,197.3691)
+.. controls (332.6604,198.1791) and (333.2704,198.4691) .. (333.4004,199.2891)
+.. controls (334.4004,206.1491) and (325.4604,201.8496) .. (321.4004,203.8496)
+.. controls (320.7304,204.1696) and (319.3905,205.5105) .. (319.4805,206.7305)
+.. controls (319.7505,211.0105) and (327.3605,207.4594) .. (330.4805,209.6094)
+.. controls (330.0805,210.4094) and (329.6291,211.1598) .. (329.2891,212.0098)
+.. controls (326.7091,212.7498) and (323.8008,214.3098) .. (323.0508,216.0898)
+.. controls (321.5608,215.6498) and (320.0000,218.9891) .. (318.0000,217.2891)
+.. controls (318.3500,216.4391) and (319.3292,216.2106) .. (319.1992,214.8906)
+arc(111.825 \@@_colon 130.111 \@@_colon 13.210)
+arc(232.926 \@@_colon 245.147 \@@_colon 6.580)
+.. controls (316.6008,211.0898) and (315.8691,210.7098) .. (315.3691,210.0898)
+.. controls (314.6891,211.2598) and (312.9098,211.3098) .. (311.7598,212.0098)
+.. controls (312.8698,213.4598) and (313.0508,217.0295) .. (311.0508,217.7695)
+.. controls (310.6508,220.1695) and (309.5404,222.2595) .. (308.6504,224.7695)
+.. controls (309.0604,224.8595) and (309.2591,224.4095) .. (309.3691,224.7695)
+.. controls (307.6091,228.7695) and (305.2191,231.7809) .. (305.2891,238.2109)
+.. controls (305.2891,238.6109) and (305.9500,238.3394) .. (306.0000,238.6894)
+.. controls (303.9600,243.3494) and (301.5202,248.6702) .. (296.4102,249.4902)
+.. controls (294.4102,251.9102) and (295.5003,255.3102) .. (298.3203,255.4902)
+.. controls (302.3503,255.7402) and (303.5500,250.1402) .. (306.0000,249.4902)
+.. controls (305.9800,245.3802) and (310.6598,245.2498) .. (309.8398,241.0898)
+.. controls (310.5798,240.4698) and (310.7598,239.3197) .. (311.7598,238.9297)
+arc(169.279 \@@_colon 224.145 \@@_colon 2.720)
+.. controls (316.0505,237.9293) and (317.0091,241.9194) .. (317.2891,246.6094)
+.. controls (316.2391,248.6694) and (316.1502,252.0509) .. (318.2402,252.1309)
+.. controls (320.0802,252.2009) and (320.2201,249.2495) .. (322.0801,248.7695)
+.. controls (321.3601,245.9495) and (323.9809,241.3102) .. (321.1309,239.4102)
+.. controls (320.9209,240.2902) and (320.3999,239.3106) .. (319.9199,239.8906)
+arc(46.728 \@@_colon 27.027 \@@_colon 8.770)
+.. controls (320.8607,237.3502) and (321.2807,238.4102) .. (320.7207,238.4902)
+.. controls (319.7607,238.4802) and (317.8408,236.8496) .. (318.5508,235.8496)
+.. controls (318.7308,236.3696) and (319.6305,237.4708) .. (320.4805,237.0508)
+.. controls (320.0105,236.5708) and (319.6905,236.8403) .. (319.4805,236.5703)
+.. controls (319.5005,236.1203) and (320.2695,236.3996) .. (320.1895,235.8496)
+.. controls (318.2194,235.7196) and (319.5798,233.3209) .. (318.7598,233.2109)
+.. controls (319.2798,232.2309) and (319.9805,230.1891) .. (319.2305,229.3691)
+.. controls (324.5705,226.3691) and (328.9591,223.4591) .. (335.7891,222.3691)
+.. controls (336.4691,219.9291) and (338.1509,218.4796) .. (339.6309,216.8496)
+.. controls (339.5609,216.2896) and (339.2604,215.9499) .. (339.4004,215.1699)
+-- (338.4004,215.1699)
+.. controls (339.3404,214.4399) and (338.4504,213.1591) .. (338.1504,212.2891)
+.. controls (339.8504,209.9491) and (339.5991,207.1291) .. (340.7891,204.3691)
+.. controls (343.7191,204.7791) and (345.0194,206.5491) .. (345.3594,209.3691)
+.. controls (345.8494,213.5991) and (347.1494,214.9209) .. (351.3594,215.1309)
+.. controls (352.2894,214.3109) and (352.6702,212.9302) .. (353.9902,212.4902)
+.. controls (354.7202,206.4602) and (353.7791,199.2297) .. (350.8691,195.9297)
+.. controls (351.5691,197.1297) and (349.9404,197.1506) .. (350.4004,198.8106)
+.. controls (348.1604,201.2206) and (343.8793,199.0103) .. (341.2793,198.5703)
+arc(72.235 \@@_colon 28.154 \@@_colon 2.500)
+.. controls (340.5307,196.5291) and (339.7207,192.0493) .. (336.7207,193.5293)
+.. controls (336.1107,193.1293) and (335.6391,192.5908) .. (334.7891,193.0508)
+.. controls (334.9916,192.1883) and (333.2877,191.8647) .. (331.8027,191.8164)
+-- cycle(479.7598,194.8008)
+.. controls (480.2498,195.3808) and (479.4506,197.1805) .. (478.5605,196.4805)
+-- (478.5605,196.4492)
+.. controls (478.7505,195.6792) and (479.4398,195.4008) .. (479.7598,194.8008)
+-- cycle(187.8906,199.0508)
+.. controls (187.8206,199.6408) and (187.9394,199.9908) .. (188.3594,200.0508)
+.. controls (187.0094,202.8608) and (183.0302,204.8907) .. (181.1602,207.9707)
+.. controls (180.0502,208.0407) and (179.4708,208.6692) .. (178.0508,208.4492)
+.. controls (177.6608,206.9392) and (178.8700,206.0806) .. (179.0000,203.8906)
+.. controls (181.7300,202.0006) and (184.3606,200.0908) .. (187.8906,199.0508)
+-- cycle(187.6504,203.2500)
+.. controls (189.4004,204.0900) and (189.0508,205.7198) .. (190.0508,207.0898)
+.. controls (188.6208,209.3098) and (185.3508,209.7098) .. (184.0508,212.0898)
+arc(99.256 \@@_colon 130.426 \@@_colon 4.430)
+-- (181.9297,211.0898)
+.. controls (181.9997,208.4898) and (184.4304,204.6800) .. (187.6504,203.2500)
+-- cycle(36.7207,205.0898)
+.. controls (37.2807,205.2398) and (38.1707,205.5708) .. (37.7207,206.0508)
+.. controls (40.0507,205.5808) and (44.3792,203.4805) .. (44.1992,207.7305)
+.. controls (41.5692,208.8705) and (41.0507,212.1093) .. (37.7207,212.5293)
+.. controls (36.5907,210.5193) and (35.0307,207.6898) .. (36.7207,205.0898)
+-- cycle(166.4707,217.9102)
+.. controls (166.9043,217.9125) and (167.4127,218.3323) .. (167.2402,219.0898)
+.. controls (166.7902,218.7798) and (166.1408,218.7098) .. (166.0508,218.0898)
+-- (166.0898,218.0508)
+.. controls (166.1898,217.9558) and (166.3262,217.9094) .. (166.4707,217.9102)
+-- cycle(477.1309,221.4102)
+.. controls (476.7609,222.1102) and (476.1804,223.5291) .. (476.6504,224.2891)
+.. controls (477.6004,224.3491) and (478.1309,221.7002) .. (477.1309,221.4102)
+-- cycle(346.2207,221.9844)
+arc(271.945 \@@_colon 212.020 \@@_colon 3.380)
+.. controls (341.1002,223.6303) and (340.6699,225.4300) .. (338.9199,225.2500)
+.. controls (339.3199,226.4900) and (333.3398,226.5804) .. (335.0898,227.6504)
+.. controls (334.2198,228.0204) and (333.4899,228.1404) .. (332.9199,227.6504)
+.. controls (331.9199,227.9604) and (332.6699,228.8098) .. (331.9199,229.0898)
+.. controls (330.9499,228.6698) and (329.6200,230.5596) .. (330.0000,228.8496)
+.. controls (329.5600,229.8596) and (328.6908,229.4008) .. (327.8008,229.0508)
+.. controls (327.2308,229.7508) and (326.8791,230.0508) .. (326.1191,230.0508)
+.. controls (325.9291,231.2608) and (325.9994,231.2607) .. (326.6094,231.9707)
+.. controls (325.6994,232.0307) and (325.6702,232.9504) .. (325.4102,233.6504)
+.. controls (326.3102,237.2304) and (330.4506,234.9596) .. (333.5605,234.8496)
+.. controls (333.6705,233.9296) and (333.8806,233.1997) .. (334.5605,232.9297)
+.. controls (337.0806,232.6197) and (341.4102,235.6894) .. (338.4102,238.6894)
+.. controls (339.1602,238.8094) and (339.3398,238.1695) .. (339.8398,238.6894)
+.. controls (338.9198,239.3895) and (339.2499,241.3003) .. (337.9199,241.5703)
+arc(43.573 \@@_colon 17.962 \@@_colon 4.410)
+.. controls (337.4399,240.3606) and (337.6795,241.3108) .. (336.7695,242.0508)
+.. controls (332.7495,241.1408) and (329.0292,244.3893) .. (326.1992,242.5293)
+.. controls (324.8892,244.1793) and (322.8398,245.0508) .. (322.8398,248.0508)
+.. controls (324.4298,249.2708) and (327.2995,248.9195) .. (330.5195,248.7695)
+.. controls (337.8695,248.4295) and (345.8596,248.4691) .. (346.5996,242.2891)
+.. controls (345.2496,241.9591) and (343.4707,242.0709) .. (343.7207,240.1309)
+.. controls (343.8207,239.6309) and (344.6592,239.9009) .. (344.4492,239.1309)
+.. controls (343.7892,236.3209) and (347.3496,234.8197) .. (346.5996,231.9297)
+.. controls (347.9296,229.9997) and (348.5994,228.4097) .. (350.6895,226.9297)
+.. controls (349.5494,225.4097) and (349.0291,222.6001) .. (346.3691,223.3301)
+.. controls (346.4391,222.7601) and (347.1998,222.8809) .. (347.0898,222.1309)
+arc(287.058 \@@_colon 272.075 \@@_colon 3.380)
+-- cycle(476.6504,225.2500)
+.. controls (475.9104,227.2700) and (476.0805,229.3008) .. (474.7305,231.0508)
+arc(0.806 \@@_colon -14.509 \@@_colon 15.420)
+.. controls (473.2302,227.8707) and (471.0997,227.1107) .. (469.6797,226.9707)
+.. controls (472.2897,229.5807) and (471.6091,234.6302) .. (473.2891,238.4902)
+.. controls (477.5291,238.6002) and (475.7099,234.8200) .. (475.9199,232.2500)
+.. controls (476.1299,229.6800) and (478.0504,227.1000) .. (476.6504,225.2500)
+-- cycle(317.3750,231.9297)
+.. controls (317.7505,231.8739) and (318.2580,232.3609) .. (318.7305,232.2109)
+.. controls (318.3405,233.0009) and (317.5708,232.5509) .. (317.0508,232.2109)
+.. controls (317.1408,232.0284) and (317.2498,231.9483) .. (317.3750,231.9297)
+-- cycle(361.1992,246.8106)
+arc(128.077 \@@_colon 88.793 \@@_colon 1.130)
+.. controls (361.9899,247.7208) and (361.8392,248.1208) .. (361.1992,248.0508)
+.. controls (361.2892,247.6408) and (361.0205,247.5703) .. (360.7305,247.5703)
+.. controls (360.8105,247.2503) and (361.1492,247.1906) .. (361.1992,246.8106)
+-- cycle(173.3652,251.4043)
+arc(268.811 \@@_colon 263.386 \@@_colon 0.910)
+.. controls (173.4193,251.8402) and (173.4108,252.4104) .. (173.8008,252.6504)
+.. controls (173.8508,252.4104) and (173.9993,252.4102) .. (174.2793,252.4102)
+arc(6.050 \@@_colon -90.575 \@@_colon 0.910)
+-- cycle(59.0000,252.6094)
+.. controls (59.4800,252.5794) and (59.5498,252.9006) .. (60.0098,252.8906)
+.. controls (59.6898,253.2306) and (58.9405,253.5209) .. (58.5605,253.1309)
+.. controls (58.6205,252.8709) and (59.0391,252.9704) .. (59.0391,252.6504)
+-- (59.0000,252.6094)
+-- cycle(173.7344,253.5137)
+.. controls (173.8235,253.5051) and (173.9125,253.5093) .. (174.0000,253.5293)
+.. controls (173.8900,254.1293) and (173.2200,254.1093) .. (173.0000,254.5293)
+.. controls (172.5188,254.2580) and (173.1103,253.5734) .. (173.7344,253.5137)
+-- cycle;
+}
+%</visual>
+% \end{macrocode}
+% \end{implementation}
+%
diff --git a/macros/unicodetex/latex/tipauni/COPYING b/macros/unicodetex/latex/tipauni/COPYING
deleted file mode 100644
index f288702d2f..0000000000
--- a/macros/unicodetex/latex/tipauni/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<https://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/macros/unicodetex/latex/tipauni/README.txt b/macros/unicodetex/latex/tipauni/README.txt
index 2ca76f59d0..1f036f950f 100644
--- a/macros/unicodetex/latex/tipauni/README.txt
+++ b/macros/unicodetex/latex/tipauni/README.txt
@@ -1,7 +1,7 @@
--------------------------------------------------------------------------
Package: tipauni
Author: निरंजन
-Version: v0.2 (11 August, 2021)
+Version: v0.3 (01 October, 2021)
Description: For producing Unicode characters with TIPA commands.
Repository: https://gitlab.com/niruvt/tipauni
Bug tracker: https://gitlab.com/niruvt/tipauni/-/issues
diff --git a/macros/unicodetex/latex/tipauni/tipauni-commands.pdf b/macros/unicodetex/latex/tipauni/tipauni-commands.pdf
index 7a0ef98f9c..3363b63416 100644
--- a/macros/unicodetex/latex/tipauni/tipauni-commands.pdf
+++ b/macros/unicodetex/latex/tipauni/tipauni-commands.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/tipauni/tipauni-example.pdf b/macros/unicodetex/latex/tipauni/tipauni-example.pdf
index 34db57f49b..21449f483d 100644
--- a/macros/unicodetex/latex/tipauni/tipauni-example.pdf
+++ b/macros/unicodetex/latex/tipauni/tipauni-example.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/tipauni/tipauni.dtx b/macros/unicodetex/latex/tipauni/tipauni.dtx
index be9b509fd2..ab320d2bff 100644
--- a/macros/unicodetex/latex/tipauni/tipauni.dtx
+++ b/macros/unicodetex/latex/tipauni/tipauni.dtx
@@ -4,13 +4,13 @@
% ---------------------------------------------------------------------------
% Package: tipauni
% Author: निरंजन
-% Version: v0.2 (11 August, 2021)
+% Version: v0.3 (01 October, 2021)
% Description: For producing Unicode characters with TIPA commands.
% Repository: https://gitlab.com/niruvt/tipauni
% Bug tracker: https://gitlab.com/niruvt/tipauni/-/issues
% License: GPL v3.0+, GFDL v1.3+
% ---------------------------------------------------------------------------
-% LaTeX Package tipauni v0.2
+% LaTeX Package tipauni v0.3
% © 2021 निरंजन
%
% This program is free software: you can redistribute it and/or modify
@@ -40,7 +40,7 @@
--------------------------------------------------------------------------
Package: tipauni
Author: निरंजन
-Version: v0.2 (11 August, 2021)
+Version: v0.3 (01 October, 2021)
Description: For producing Unicode characters with TIPA commands.
Repository: https://gitlab.com/niruvt/tipauni
Bug tracker: https://gitlab.com/niruvt/tipauni/-/issues
@@ -52,7 +52,7 @@ License: GPL v3.0+, GFDL v1.3+
%</internal>
%<*driver|package>
\def\tipauniname{tipauni}
-\def\tipauniversion{0.2}
+\def\tipauniversion{0.3}
\def\tipaunidate{2021-08-07}
\def\tipaunidescription{For producing Unicode characters with TIPA commands}
%</driver|package>
@@ -764,15 +764,15 @@ Unicode characters with TIPA commands]
% \begin{macrocode}
\cs_new_protected:Npn \@@_nontipa_search:n #1
{
- \str_if_in:nnT {#1} {ⱱ} { \nontipatrue \use_none_delimet_by_s_stop:w }
- \str_if_in:nnT {#1} {ɞ} { \nontipatrue \use_none_delimet_by_s_stop:w }
- \str_if_in:nnT {#1} {ɰ} { \nontipatrue \use_none_delimet_by_s_stop:w }
- \str_if_in:nnT {#1} {ǃ} { \nontipatrue \use_none_delimet_by_s_stop:w }
- \str_if_in:nnT {#1} {ǂ} { \nontipatrue \use_none_delimet_by_s_stop:w }
- \str_if_in:nnT {#1} {ʢ} { \nontipatrue \use_none_delimet_by_s_stop:w }
- \str_if_in:nnT {#1} {ɺ} { \nontipatrue \use_none_delimet_by_s_stop:w }
- \str_if_in:nnT {#1} {ʑ} { \nontipatrue \use_none_delimet_by_s_stop:w }
- \str_if_in:nnT {#1} {ɧ} { \nontipatrue \use_none_delimet_by_s_stop:w }
+ \str_if_in:nnT {#1} {ⱱ} { \nontipatrue \use_none_delimit_by_s_stop:w }
+ \str_if_in:nnT {#1} {ɞ} { \nontipatrue \use_none_delimit_by_s_stop:w }
+ \str_if_in:nnT {#1} {ɰ} { \nontipatrue \use_none_delimit_by_s_stop:w }
+ \str_if_in:nnT {#1} {ǃ} { \nontipatrue \use_none_delimit_by_s_stop:w }
+ \str_if_in:nnT {#1} {ǂ} { \nontipatrue \use_none_delimit_by_s_stop:w }
+ \str_if_in:nnT {#1} {ʢ} { \nontipatrue \use_none_delimit_by_s_stop:w }
+ \str_if_in:nnT {#1} {ɺ} { \nontipatrue \use_none_delimit_by_s_stop:w }
+ \str_if_in:nnT {#1} {ʑ} { \nontipatrue \use_none_delimit_by_s_stop:w }
+ \str_if_in:nnT {#1} {ɧ} { \nontipatrue \use_none_delimit_by_s_stop:w }
\use_none:nnn \s_stop
\use:n { \cs_gset_eq:NN \@@_nontipa_search: \prg_do_nothing: }
}
diff --git a/macros/unicodetex/latex/tipauni/tipauni.ins b/macros/unicodetex/latex/tipauni/tipauni.ins
index 9d95201d6a..c1eafb8624 100644
--- a/macros/unicodetex/latex/tipauni/tipauni.ins
+++ b/macros/unicodetex/latex/tipauni/tipauni.ins
@@ -15,7 +15,7 @@ Bug tracker: https://gitlab.com/niruvt/tipauni/-/issues
License: GPL v3.0+
---------------------------------------------------------------------------
-LaTeX Package tipauni v0.2
+LaTeX Package tipauni v0.3
© 2021 निरंजन
This program is free software: you can redistribute it and/or modify
diff --git a/macros/unicodetex/latex/tipauni/tipauni.pdf b/macros/unicodetex/latex/tipauni/tipauni.pdf
index f1d8777ddc..6a2c46ff1a 100644
--- a/macros/unicodetex/latex/tipauni/tipauni.pdf
+++ b/macros/unicodetex/latex/tipauni/tipauni.pdf
Binary files differ
diff --git a/macros/xetex/latex/zitie/README.md b/macros/xetex/latex/zitie/README.md
index f70e1fc844..d8bdf4f0de 100644
--- a/macros/xetex/latex/zitie/README.md
+++ b/macros/xetex/latex/zitie/README.md
@@ -3,11 +3,10 @@
zitie is a LaTeX package for making CJK character calligraphy practicing
sheet (copybook).
-zitie distinguishes `CJK` Classes and `Punctutation` Classes (`FullLeft`,
-`FullRight`, `HalfLeft`, `HalfRight`) and other Classes.
-
## Main Interfaces
+`\framesingle[<options>]{<CJK char>}`, makes frame for single <CJK char>
+
`\framezi*[<options>]{<CJK chars>}`, makes frame for every single <CJK chars>
`\framezifile*[<options>]{<filename>}`, makes frame from <filename>
@@ -16,6 +15,10 @@ containning <CJK chars>
`\framerange[<options>]{<char Hex range>}`, makes frame from Hex range,
such as: "4E00 -> "4E27, "4E30. etc
+`\frametallrange[<options>]{<char Hex range>}`
+
+`\framezitallfile*[<options>]{<filename>}`
+
`\zitienewfont*{...}`, declares new font(s) for making frame
`\framezhlipsum[<options>]{<paragraphs>}[<name>]`, frames Lorem ipsum given
@@ -40,7 +43,7 @@ See PDF documentation (in chinese) for more details.
Please note the frame functions of this package currently do need many TeX
computation, so the compiling maybe very slow.
-Currently, only support XeTeX.
+Support XeTeX and LuaTeX, but the function in LuaTeX is limited.
## Dependence:
@@ -50,10 +53,10 @@ is very experimental, some interfaces maybe cannot use later.
Need not `pgf` or `pstricks`.
## TODO:
-- faster and less resource
+- **faster and less resource**
+- **optimize line breaking algorithm**
- optimize `background` module
-- support LuaTeX
-- support pinyin
+- optimize LuaTeX supporting
- more grid
- more transformation
- support more character Classes
diff --git a/macros/xetex/latex/zitie/doc/zitie-cn.pdf b/macros/xetex/latex/zitie/doc/zitie-cn.pdf
index fef8c4afec..23c40336e1 100644
--- a/macros/xetex/latex/zitie/doc/zitie-cn.pdf
+++ b/macros/xetex/latex/zitie/doc/zitie-cn.pdf
Binary files differ
diff --git a/macros/xetex/latex/zitie/doc/zitie-cn.tex b/macros/xetex/latex/zitie/doc/zitie-cn.tex
index e310b6f930..f88fcb266d 100644
--- a/macros/xetex/latex/zitie/doc/zitie-cn.tex
+++ b/macros/xetex/latex/zitie/doc/zitie-cn.tex
@@ -2,31 +2,46 @@
\documentclass{ctxdoc}
\usepackage[enable-zhlipsum,enable-background]{zitie}
\usepackage{geometry}
+\usepackage{xcoffins}
+
+\def\zitieversion{1.4.0}
+\def\zitiedate{农历二〇二一年八月廿五}
+\def\zitieframetitle{
+ \framezi[width=3\ccwd,fillcolor=black,charcolor=red!75!black,font=文征明行草简繁,anchor=west]{字}%
+ \framezi[width=3\ccwd,fillcolor=black,charcolor=red!75!black,font=文征明行草简繁,position*={\TypesetCoffin##1[l,vc](-.4pt,0pt)}]{帖}%
+ \framezi[width=1.5\ccwd,font=楷体,position*={\TypesetCoffin##1[l,b](-.2pt,-.2pt)}]{宏}%
+ \framezi[width=1.5\ccwd,font=楷体,position*={\TypesetCoffin##1[r,t](0pt,.2pt)}]{包}%
+}
+\def\zitietexttitle{zitie宏包}
+\def\emptyframe#1{\framezi[#1,charstroke=invisible]{ }}
+\let\emptyCJKchar= % U+3000
\NewDocumentCommand{\init}{+v}{\hspace{\fill}初始值~=~\textcolor{blue}{\bfseries#1}}
-\IfFontExistsTF{KaiTi}{\zitienewfont{{楷体}{KaiTi}}}{}
-\IfFontExistsTF{FZSunGuoTingCaoShuFU}{\zitienewfont{{孙过庭草繁}{FZSunGuoTingCaoShuFU}{FallBack=SimSun}}}{}
-\IfFontExistsTF{FZWenZhengMingXingCaoJF}{\zitienewfont{{文征明行草简繁}{FZWenZhengMingXingCaoJF}{FallBack=KaiTi}}}{}
+\IfFontExistsTF{KaiTi}{\zitienewfont{{楷体}{KaiTi}}}{\typeout{KaiTi not exist.}}
+\IfFontExistsTF{FZSunGuoTingCaoShuFU}{\zitienewfont{{孙过庭草繁}{FZSunGuoTingCaoShuFU}{FallBack=SimSun}}}{\typeout{FZSunGuoTingCaoShuFU not exist.}}
+\IfFontExistsTF{FZWenZhengMingXingCaoJF}{\zitienewfont{{文征明行草简繁}{FZWenZhengMingXingCaoJF}{FallBack=KaiTi}}}{\typeout{FZWenZhengMingXingCaoJF not exist.}}
\zitiesetup{
framecolor=green!60!black,charcolor=red!65!black,
resize=square,frametype=咪,font,savefontname,
}
-\def\zitieversion{1.1}
-\title{\texorpdfstring{\framezi[width=3\ccwd,fillcolor=black,charcolor=red!75!black,font=文征明行草简繁]{字帖}\framezi[width=2\ccwd,font=楷体]{宏包}}{zitie宏包}}
-\date{\texorpdfstring{\framezi[width=2\ccwd,font=文征明行草简繁]{农历二〇二一年八月十五}}{农历二〇二一年八月十五} v\zitieversion}
-\author{陈文建(Longaster)}
+\title{\texorpdfstring{\zitieframetitle}{\zitietexttitle}}
+\date{\texorpdfstring{\framezi*[width=2\ccwd,font=文征明行草简繁,anchor=west]{\zitiedate}}{\zitiedate} v\zitieversion}
+\author{雾月, Longaster (\texttt{longaster@163.com})}
\begin{document}
-\newgeometry{textheight=27cm,textwidth=17cm,bottom=1.7cm}
+\newgeometry{nomarginpar,textheight=27cm,textwidth=17cm,bottom=1.7cm}
+
+\zitiesetup{holdbasecharheight=true}
+
\maketitle
\thispagestyle{empty}
\parskip=0pt \parindent=0pt \lineskip=0pt \raggedright
\framezi[
- width=1.8cm,punctuation=onlast,
+ width=1.8cm,punctuation=onlast,holdbasecharheight,
fillcolor=black,charcolor=red!75!black,font=文征明行草简繁,
]{
我欲乘風向北行,
@@ -36,19 +51,20 @@
我欲踏云千萬裏,
廟堂龍吟奈我何。}%
\framezi[
- width=1.8cm,punctuation=onlast,charstroke=whitesolid,
+ width=1.8cm,punctuation=onlast,charstroke=whitesolid,holdbasecharheight,
fillcolor=black,charcolor=red!75!black,font=文征明行草简繁,
]{
昆侖之巔沐日光,
滄海絕境見青山。
長風萬裏燕歸來,
- 不見天涯人不回。}
+ 不見天涯人不回。
+ \emptyCJKchar\emptyCJKchar}
\bigskip
\zitienewrule{punctuation}{package1}{\makebox[\zitiewidth][l]{ \zitieCJKfamily{\zitiefontname} #1}}
\framezi[
- width=2.5\ccwd,linewidth=.2pt,
+ width=2.5\ccwd,linewidth=.2pt,holdbasecharheight,
dashpattern={1mm,.5mm},punctuation=package1,
fillcolor={},framecolor=red,charcolor=black,
font=孙过庭草繁,
@@ -65,7 +81,8 @@
不見天涯人不回。
}\hfill ——《少年歌行》
-{\heiti\small 注:本文档中的非商业的字体版权为原字体公司(北京方正有限公司及其它相关公司),此处使用该字体仅为显示该宏包的排版效果,不作商业用途。本文档\pkg{zitie.tex}和相应的\pkg{zitie.sty}源文件使用 \href{https://www.latex-project.org/lppl/lppl-1-3c/}{LPPL 1.3c 协议。}}
+{\heiti\small 注:本文档中的非商业的字体版权为原字体公司(北京方正有限公司及其它相关公司),此处使用该字体仅为显示该宏包的排版效果,不作商业用途。本文档\pkg{zitie.tex}和相应的\pkg{zitie.sty}源文件使用 \href{https://www.latex-project.org/lppl/lppl-1-3c/}{LPPL 1.3c 协议} 开源。}
+\zitiesetup{holdbasecharheight=false}
\clearpage
\restoregeometry
@@ -77,61 +94,70 @@
colboxes=20,rowboxes=30,
]
-\pkg{zitie} 宏包是用纯 \LaTeX3 模块编写的(即,不加载 \pkg{pgf}、\pkg{pstricks} 等绘图宏包),来生成网格化的字、生成网格化的背景的宏包。绘图功能完全依赖 \pkg{l3draw},但应注意 \pkg{l3draw} 目前仍然是实验性的,其接口在后续版本可能无法使用。
+\pkg{zitie} 宏包是用纯 \LaTeX3 模块编写的(即,不加载 \pkg{pgf}、\pkg{pstricks} 等绘图宏包),也不使用 \pkg{xcolor} 宏包,来生成网格化的字、生成网格化的背景的宏包。绘图功能完全依赖 \pkg{l3draw},但应注意 \pkg{l3draw} 目前仍然是实验性的,其接口在后续版本可能无法使用。
\LaTeXe 版本应在 2020-10-01 及以后。
-目前仅支持 \XeTeX,待后续版本支持 \LuaTeX,不支持 \pdfTeX。
+\changes{v1.3}{2021/09/25}{开始支持 \LuaTeX。}
+目前支持 \XeTeX、\LuaTeX,不支持 \pdfTeX。应注意由于 \LuaTeX{} 处理中文字符和 \XeTeX{} 不同,使用 \XeTeX{} 和 \LuaTeX{} 编译效果会有不同,最好使用 \XeTeX{} 编译。
\tableofcontents
\section{\pkg{zitie} 宏包的加载和基本命令}\label{sec:basics}
-加载宏包:\tn{usepackage}\oarg{key-val}\verb|{zitie}|。\meta{key-val} 选项见以下几节。
+加载宏包:\tn{usepackage}\oarg{key-val}\verb|{zitie}|。\meta{key-val} 选项见第 \ref{sec:options} 节。
-若要加载 \pkg{ctex} 宏包,请先加载 \pkg{ctex} 然后再加载 \pkg{zitie} 宏包。若加载本宏包时未加载 \pkg{ctex} 宏包,
-则会加载 \pkg{xeCJK} 宏包和 \pkg{ctexsize} 宏包。如果是Windows平台,还将设置宋体为主字体。
+\changes{v1.2}{2021/09/23}{不再加载 \opt{ctexsize} 宏包。不再设置宋体为主字体}
+使用 \XeTeX 将加载 \pkg{xeCJK} 宏包\cite{pkg-xeCJK}。使用 \LuaTeX{} 将加载 \pkg{ctex} 宏包。
\begin{function}{\zitienewfont,\zitieCJKfamily}
\begin{syntax}
\cs{zitienewfont} \{ \marg{font family} \marg{font name} , ... \}
- \cs{zitienewfont} \{ \marg{font family} \marg{font name} \marg{features} , ... \}
- \cs{zitienewfont} * \marg{font family} \marg{font name} \marg{font feature}
+ \cs{zitienewfont} \{ \marg{font family} \marg{font name} \marg{font features} , ... \}
+ \cs{zitienewfont} * \marg{font family} \marg{font name} \marg{font features}
\cs{zitieCJKfamily} \marg{font family}
- \cs{zitieCJKfamily}+ \marg{font family}
- \cs{zitieCJKfamily}- \marg{font family}
+ \cs{zitieCJKfamily} + \marg{font family}
+ \cs{zitieCJKfamily} - \marg{font family}
\end{syntax}
- 这个命令用来加载和设置需要的字体,\meta{font family} 为在 \cs{framezi} 等命令的 \opt{font} 选项中使用的名字,也可通过 \cs{zitieCJKfamily} 来在文档中使用该字体。\meta{font name} 为字体的名字,\meta{features},为 \pkg{fontspec} 宏包和 \pkg{xeCJK} 宏包支持的字体特性。
+ 这个命令用来加载和设置需要的字体,\meta{font family} 为在 \cs{framezi} 等命令的 \opt{font} 选项中使用的名字,也可通过 \cs{zitieCJKfamily} 来在文档中使用该字体。\meta{font name} 为字体的名字,\meta{features},为 \pkg{fontspec} 宏包\cite{pkg-fontspec},\pkg{xeCJK} 宏包(\XeTeX 中)或 \pkg{luatexja} 宏包(\LuaTeX 中)支持的字体特性。
\cs{zitieCJKfamily} 和 \pkg{xeCJK} 宏包的 \cs{CJKfamily} 作用完全相同,只不过首先判断该 \meta{font family} 是否被 \cs{zitienewfont} 声明,若没有,则再使用 \cs{CJKfamily} 进行处理。
\end{function}
-\begin{function}{\framezi,\framerange,\framezifile}
+\changes{v1.3.2}{2021/09/26}{单个range可达3200字。}
+\changes{v1.4.0}{2021/10/01}{新增 \cs{framesingle} 命令。}
+\begin{function}{\framesingle,\framezi,\framerange,\framezifile}
\begin{syntax}
+ \cs{framesingle} \oarg{key-val} \marg{字}
\cs{framezi} * \oarg{key-val} \marg{字或词句}
\cs{framerange} \oarg{key-val} \marg{逗号分隔的16进制序列}
\cs{framezifile} * \oarg{key-val} \marg{文件名}
\end{syntax}
以上命令用来生成网格化的字。
+
+ \meta{key-val} 为第 \ref{sec:options} 节定义的键。
\meta{字或词句} 应仅包含类代码为 11 或 12 的字符,即正常情况下输入的字符,不应包含 \TeX 控制序列即其它特殊字符。\cs{framezi} 带星号的版本接收一个控制序列,这个序列包含想要网格化的字。
- \meta{逗号分隔的16进制序列} 应使用如下的形式:\verb|"4E00 -> "4E27, "4E30| 或 \verb|`一 -> `丢, `丰|,与其它设置字符序列的宏包相似(如 \pkg{xeCJK} 宏包的 \cs{xeCJKDeclareSubCJKBlock})。注意,由于网格化操作需要大量的计算,因此单个 \meta{range} 不应太大,依据编译环境而定,一般不应超过 1000 个,否则可能无法成功编译。其它命令中也是如此。
+ \meta{逗号分隔的16进制序列} 应使用如下的形式:\verb|"4E00 -> "4E27, "4E30| 或 \verb|`一 -> `丢, `丰|,与其它设置字符序列的宏包相似(如 \pkg{xeCJK} 宏包的 \cs{xeCJKDeclareSubCJKBlock})。注意,由于网格化操作需要大量的计算,因此单个 \meta{range} 不应太大,依据编译环境而定,一般不应超过 3200 个,否则可能无法成功编译。其它命令中也是如此。若要使用大量字符,则可以使用 \cs{frametallrange}、\cs{framezitallfile} 等 \verb|tall| 型命令,或 \pkg{background} 模块及其 \opt{xrange}、\opt{yrange} 特性。
- \meta{文件名} 为想要网格化的文字的文件名。\cs{framezifile} 带 \verb|*| 的版本,可在 \meta{key-val} 中使用 \opt{filepath} 设置文件搜索路径,详见后节的说明。带星号和不带星号的版本实现略有差异,速度也可能不一样。
+ \meta{文件名} 为想要网格化的文字的文件名。\cs{framezifile} 带 \verb|*| 的版本,可在 \meta{key-val} 中使用 \opt{filepath} 设置文件搜索路径,详见第 \ref{sec:options} 节的说明。带星号和不带星号的版本实现略有差异,速度也可能不一样。
- 当连续多次使用 \cs{framezi} 等命令时,为去掉后面的空白,可使用 \opt{\%}。
+ 当连续多次使用 \cs{framezi} 等命令时,为去掉后面的空白,可使用 \opt{\%} 注释符。
+
+ \cs{framesingle} 专门用于制作单个字的方框。
\end{function}
\begin{function}{
+ zitie/framesingle/before, zitie/framesingle/after,
zitie/framezi/before, zitie/framezi/after,
zitie/framerange/before, zitie/framerange/after,
zitie/framerange/range,
- zitie/framezifile/before, zitie/framezifile/after
+ zitie/framezifile/before, zitie/framezifile/after,
}
这三个命令还各自定义了钩子(hook),其中带有 \verb|after| 为 \verb|reversed|,即先添加的后执行。\verb|before| 为选项设置完成后执行,\verb|after| 为整个命令执行完之后执行。其中 \verb|zitie/framerange/range| 为每一个列表均执行一次,包括无效的和最后一次。
- 可以通过 \cs{AddToHook}、\cs{AddToHookNext}、\cs{RemoveFromHook} 来添加和执行,详细请参考 \pkg{source2e.pdf} 或 \pkg{lthooks} 的说明文档。
+ 可以通过 \cs{AddToHook}、\cs{AddToHookNext}、\cs{RemoveFromHook} 来添加和移除,详细请参考 \pkg{source2e.pdf}\cite{pdf-source2e} 或 \pkg{lthooks}\cite{pkg-lthooks} 的说明文档。
\end{function}
\begin{function}{zitieframe,
@@ -153,18 +179,70 @@
\verb|zitie/zitieframe/par| 钩子为环境中的每个段落分段后要执行的命令。
\end{function}
+\begin{function}{
+ \frametallrange,
+ \framezitallfile,
+ zitie/frametallrange/before,
+ zitie/frametallrange/after,
+ zitie/frametallrange/range,
+ zitie/framezitallfile/before,
+ zitie/framezitallfile/after
+}
+ \begin{syntax}
+ \cs{frametallrange} \oarg{key-val} \marg{逗号分隔的16进制序列}
+ \cs{framezitallfile} * \oarg{key-val} \marg{文件名}
+ \end{syntax}
+ 一般情况下 \pkg{zitie} 宏包的方框化命令只能容纳不超过3200词。但 \cs{frametallrange} 和 \cs{framezitallfile} 却摆脱了这种限制,即使是2万词也不在话下。不过在这种情况下,编译是十分慢的。若要保证速度,可以使用 \pkg{background} 模块及其 \opt{xrange}、\opt{yrange} 特性。
+\end{function}
+
+\begin{texnote}
+ \verb|tall| 类型命令隐式地在固定词数后进行分段,这个词数由 \opt{tallheight} 选项来控制,见第 \ref{sec:options} 节。
+
+ 为了执行速度,\opt{tallheight} 需要手动控制。
+\end{texnote}
+
\section{选项}\label{sec:options}
以下选项在方框化命令的宏中是局部设置的。
-\begin{function}{basechar,zihao}
+\changes{v1.2}{2021/09/23}{新增 \opt{fontsize} 选项,不再使用 \opt{zihao} 选项作为默认字号选项。}
+\begin{function}{basechar,fontsize,zihao}
\begin{syntax}
basechar = \meta{CJK char} \init{好}
- zihao = \meta{字号} \init{4}
+ fontsize = \meta{fontsize command} \init{\normalsize}
+ zihao = \meta{字号}
\end{syntax}
\opt{basechar} 设置当 \opt{resize} 为 \opt{base} 类时的基字符,这个用来计算缩放比例,基字符不同时,即使给定相同的缩放比例,其实际缩放比例也可能不同。
- \opt{zihao} 设置计算缩放比例时的字号大小。
+ \opt{fontsize} 设置计算基字符时的字大小,默认值也为 \tn{normalsize}。\opt{zihao} 设置计算缩放比例时的字号大小,必须加载 \pkg{ctexsize} 或 \pkg{ctex} 宏包才可使用。
+\end{function}
+
+\changes{v1.3}{2021/09/25}{新增 \opt{position}、\opt{position*}、\opt{anchor} 键。}
+\begin{function}{position,position*,anchor}
+ \begin{syntax}
+ position = <...>
+ position*= \marg{replace}
+ anchor = <east|southeast|south|southwest|west|northwest|
+ ~~~~~~~~~~~~north|northeast|center|...> \init{southwest}
+ \end{syntax}
+ \opt{anchor} 设置当前点与方框化盒子的哪个锚点重合。初始值为 \opt{southwest},即当前点与盒子的西南角点重合:
+ \verb|\framezi[anchor=southwest]|\framezi[width=1.5\ccwd,anchor=southwest]{好},
+ \verb|\framezi[anchor=center]{好}|\framezi[width=1.5\ccwd,anchor=center]{好}。
+
+ \opt{position} 键用于引用 \opt{position} 处理器定义的值,\opt{position} 处理器接收当前方框化的盒子作为其参数。使用 \pkg{xcoffins} 宏包,
+ \opt{position} 处理器还可以对已经构造好的盒子进行任意变换,如旋转、重设大小等,只是最后不要忘记使用 \cs{TypesetCoffin} 命令将其输出。
+ 该盒子为一个 \verb|coffin|。关于 \verb|coffin| 详见 \pkg{xcoffins}\cite{pkg-xcoffins} 宏包的说明。关于“处理器”,详细介绍请看第 \ref{sec:processors} 节。
+
+ \opt{position} 处理器预先定义了 \opt{anchor-east}、\opt{anchor-south} … 等规则,实际上,\verb|anchor=east| 就是 \verb|position=anchor-east| 的简写,
+ \opt{anchor} 的其它可选值也是如此。因此,只要 \opt{position} 的规则具有 \verb|anchor-|\meta{anchor value} 形式,就可以使用 \verb|anchor=|\meta{anchor value}
+ 来引用它。
+
+ 还可使用 \cs{zitienewrule} 定义新的标点符号处理方式。详见 \cs{zitienewrule} 命令的说明和第 \ref{sec:processors} 节。
+
+ \opt{position*} 键将 \opt{position} 处理器定义为其值,接收当前方框化的盒子作为其参数。
+
+ 使用 \pkg{xcoffins} 宏包,则设置 \verb|position*={\TypesetCoffin#1[l,b](0pt,0pt)}| 就相当于
+ 设置了 \verb|anchor=southwest| 或 \verb|position=anchor-southwest|。
\end{function}
\begin{function}{punctuation, punctuation*}
@@ -185,33 +263,57 @@
若 \opt{punctuation} 并不存在,则将其值视为已定义的宏。如,假设 \verb|@gobble| 值并不存在,若使用 \verb|punctuation=@gobble|,则标点符号处理命令为 \tn{@gobble},这是 \LaTeXe 定义的命令,其作用与 \verb|punctuation=ignore| 相同。
- 还可使用 \cs{zitienewrule} 定义新的标点符号处理方式。详见 \cs{zitienewrule} 命令的说明。
+ 还可使用 \cs{zitienewrule} 定义新的标点符号处理方式。详见 \cs{zitienewrule} 命令的说明和第 \ref{sec:processors} 节。
实际上,\opt{onlast} 和 \opt{scale} 就是由 \cs{zitienewrule} 定义的,这个键的处理器接收一个标点符号作为其参数。
- 具体的定义见 \cs{zitienewrule} 命令的说明。
+ 具体的定义第 \ref{sec:processors} 节。
\end{function}
+
\begin{texnote}
按照 \pkg{xeCJK} 宏包的字符分类,\pkg{zitie} 宏包将字符类别为 \verb|FullLeft|、\verb|FullRight|、\verb|HalfLeft|、\verb|HalfRight| 视为标点符号。将 \verb|CJK|视为CJK字符。
+
+于是可以通过修改标点符号的字符类别为 \opt{CJK} 来使用CJK的处理规则,但是要注意,一般标点符号的宽高与常用字符的宽高并不一致。某些字符也不是全高的,这时,可用后文介绍的 \opt{holdbasecharheight} 键来保证至少有 \opt{basechar} 字符的高度。
+\begin{verbatim}
+ \xeCJKDeclareCharClass{CJK}{`。}
+ \framezi[resize=real,punctuation=leave,holdbasecharheight=false]{好的。一点、}
+ \framezi[resize=real,punctuation=leave,holdbasecharheight]{好的。一点、}
+ \xeCJKResetPunctClass
+ \framezi[resize=real,punctuation=leave,holdbasecharheight=false]{好的。一点、}
+ \framezi[resize=real,punctuation=leave,holdbasecharheight]{好的。一点、}
+\end{verbatim}
+
+\xeCJKDeclareCharClass{CJK}{`。}
+\framezi[width=1cm,resize=real,punctuation=leave,holdbasecharheight=false]{好的。一点、}
+\framezi[width=1cm,resize=real,punctuation=leave,holdbasecharheight]{好的。一点、}
+\xeCJKResetPunctClass
+
+\framezi[width=1cm,resize=real,punctuation=leave,holdbasecharheight=false]{好的。一点、}
+\framezi[width=1cm,resize=real,punctuation=leave,holdbasecharheight]{好的。一点、}
+
+由于 \LuaTeX-ja 的实现问题,目前这一方法在 \LuaTeX{} 中效果并不好。
\end{texnote}
+\changes{v1.4.0}{2021/10/01}{修改了方框的行为,使得当使用设置 \opt{framearc} 时,arc外的线将隐藏。}
\begin{function}{frametype,resize}
\begin{syntax}
- frametype = <none|口|十|田|米|咪|...> \init{none}
+ frametype = <none|口|十|田|×|米|咪|...> \init{none}
resize = <none|real|base|square|...> \init{none}
\end{syntax}
- \opt{frametype} 设置方框样式。可用值的效果正如选项值:\verb|口|--仅方框,\verb|十|--仅中间的横线和竖线,\verb|田|--常见的田字格,\verb|米|--十字格再加上斜的两条线,\verb|咪|--常见的米字格。还可自定义方框,详见第 \ref{sec:interface} 节。
+ \opt{frametype} 设置方框样式。可用值的效果正如选项值:\verb|口|--仅方框,\verb|十|--仅中间的横线和竖线,\verb|田|--常见的田字格,\verb|×|--斜的两条线,\verb|米|--十字格再加上斜的两条线,\verb|咪|--常见的米字格。还可自定义方框,详见第 \ref{sec:interface} 节。以下 \opt{frametype} 分别为 \verb|none|,\verb|口|,\verb|十|,\verb|田|,\verb|×|、\verb|米|,\verb|咪|。
{\zitiesetup{font=楷体,width=1cm,resize=square,framecolor=black,linewidth=.7pt}
\framezi[frametype=none]{无}
\framezi[frametype=口]{口}
\framezi[frametype=十]{十}
\framezi[frametype=田]{田}
+ \framezi[frametype=×]{叉}
\framezi[frametype=米]{米}
\framezi[frametype=咪]{咪}}
\opt{resize} 设置缩放方式。\opt{real},使用字符实际宽高缩放,\opt{base},使用 \opt{basechar} 设置的字符的宽高缩放,\opt{square},使得字符的宽高相等再进行缩放。还可自定义缩放方式,详见第 \ref{sec:interface} 节。
- 以下为宽度设置为 1cm 时的缩放情况。
+ 以下为宽度设置为 1cm,\opt{resize} 分别为 \verb|none|,\verb|real|,\verb|base|,\verb|square|时的缩放情况。
+
{\zitiesetup{font=楷体,width=1cm,frametype=咪,framecolor=black}
\framezi[resize=none]{无}
\framezi[resize=real]{实}
@@ -219,6 +321,7 @@
\framezi[resize=square]{方}}
\end{function}
+\changes{v1.2}{2021/09/23}{新增 \opt{holdbasecharwidth}、\opt{holdbasecharheight}、\opt{holdbasechar} 选项。}
\begin{function}{
xscale,yscale,scale,
width,height
@@ -229,12 +332,17 @@
scale = \meta{scale ratio}
width = \meta{dim}
height = \meta{dim}
+ holdbasecharheight = \TTF \init{false}
+ holdbasecharwidth = \TTF \init{false}
+ holdbasechar = \TTF
\end{syntax}
设置缩放比例和盒子宽高。
宽高具有更高的优先级,即若比例和宽高都设置了,则使用宽高来计算。宽高为二者都为0cm视为未设置,二者有一大于0cm,视为设置了宽高。
此处的宽高和最终的宽高可能略有差异,最终的宽高保存在 \tn{zitiewidth} 和 \tn{zitieheight} dim寄存器中。
+
+ \opt{holdbasecharheight}设置为 \opt{true} 时,将保证单个盒子至少有 \opt{basechar} 的高度,\opt{holdbasecharwidth} 设置为 \opt{true} 时,将设置盒子宽度为 \opt{basechar} 的宽度。\opt{holdbasechar} 将同时设置二者的值。
\end{function}
\begin{function}{
@@ -245,19 +353,19 @@
}
\begin{syntax}
linewidth = \meta{dim} \init{0.4pt}
- dashpattern = \{ \meta{ dim1, dim2, ... } \}
+ dashpattern = \{ \meta{dim1}, \meta{dim2}, ... \}
framearc = \meta{dim}
- framearc* = \{ \marg{dim1} \marg{dim2} \}
+ framearc* = \marg{dim1} \marg{dim2}
\end{syntax}
\end{function}
{\zitiesetup{width=2cm,framecolor=black,font=楷体}
\verb|linewidth=1pt|:\framezi[linewidth=1pt]{好} \\
\verb|dashpattern={1mm,2mm,3mm,4mm}|:\framezi[dashpattern={1.5mm,1mm,2mm,1.5mm}]{好} \\
-\verb|framearc=3mm,frametype=口|:\framezi[framearc=3mm,frametype=口]{好} \\
-\verb|framearc=3mm,frametype=咪|:\framezi[framearc=3mm,frametype=咪]{好} \\
-\verb|framearc*={3mm}{6mm},frametype=口|:\framezi[framearc*={3mm}{6mm},frametype=口]{好} \\
-\verb|framearc*={3mm}{6mm},frametype=咪|:\framezi[framearc*={3mm}{6mm},frametype=咪]{好}
+\verb|framearc=3mm,frametype=|\verb|口|:\framezi[framearc=3mm,frametype=口]{好} \\
+\verb|framearc=3mm,frametype=|\verb|咪|:\framezi[framearc=3mm,frametype=咪]{好} \\
+\verb|framearc*={3mm}{6mm},frametype=|\verb|口|:\framezi[framearc*={3mm}{6mm},frametype=口]{好} \\
+\verb|framearc*={3mm}{6mm},frametype=|\verb|咪|:\framezi[framearc*={3mm}{6mm},frametype=咪]{好}
}
\begin{function}{
@@ -276,18 +384,21 @@
fillcolor = \meta{color expr}
fillcolor* = \marg{model(s)} \marg{value(s)}
\end{syntax}
- 命名的颜色仅支持 \LaTeX3 定义的 black, white, red, green, blue, cyan, magenta 和 yellow。颜色模型和表达式也应使用 \LaTeX3 支持的模型和表达式,详见 \pkg{interface3.pdf} 文档。
+ 命名的颜色仅支持 \LaTeX3 定义的 black, white, red, green, blue, cyan, magenta 和 yellow。颜色模型和表达式也应使用 \LaTeX3 支持的模型和表达式,详见 \pkg{interface3.pdf}\cite{pdf-interface3} 文档。
若要去掉 \opt{fillcolor},应将其设置为空,即 \verb|fillcolor={}|,而不是将其设置为白色。
\end{function}
+\changes{v1.2}{2021/09/23}{\opt{charstroke} 新增 \opt{invisible} 值。}
+\changes{v1.3}{2021/09/25}{新增带 \opt{thick} 前缀的值。}
\begin{function}{
charstroke,
charstrokespecial,
\zitiestrokechars
}
\begin{syntax}
- charstroke = <none|solid|dashed|whitesolid|whitedashed|...> \init{none}
+ charstroke = <none|solid|dashed|whitesolid|whitedashed|thicksolid|thickdashed|
+ ~~~~~~~~~~~~~~thickwhitesolid|thickwhitedashed|invisible|...> \init{none}
charstrokespecial = \meta{pdf literal}
\cs{zitiestrokechars} \marg{pdf literal} \marg{typeset material}
\end{syntax}
@@ -297,24 +408,38 @@
初始值 \opt{none} 什么也不做。\opt{solid} 设置外轮廓为 0.25bp 的实线,\opt{dashed} 设置外轮廓为 0.25bp 的虚线。这两个
不会进行填充操作,即背景色是什么颜色,则字显示的就是背景,字轮廓的颜色为 \opt{charcolor} 的颜色。\opt{whitesolid} 和
\opt{whitedashed} 在 \opt{solid} 和 \opt{dashed} 的基础上将字填充为白色。
+ 带 \opt{thick} 的值将线宽设为 0.15bp,其它的与不带 \opt{thick} 的一致。\opt{invisible} 将字符设置为不可见,但不影响背景和网格的显示,隐藏的字仍然可被复制。
\opt{charstrokespecial} 将 \meta{pdf literal} 为用在 \tn{special}\verb|{pdf:code ...}| 中 pdf 的指令,
其中,\verb|charstroke=solid| 相当于 \verb|charstrokespecial={1 Tr 0.25 w [] 0 d 1 J}|,
\verb|charstroke=dashed| 相当于 \verb|charstrokespecial={1 Tr 0.25 w [0.8] 0 d 1 J}|,
\verb|charstroke=whitesolid| 相当于 \verb|charstrokespecial={2 Tr 0.25 w [] 0 d 1 J 1 1 1 rg}|,
\verb|charstroke=whitedashed| 相当于 \verb|charstrokespecial={2 Tr 0.25 w [0.8] 0 d 1 J 1 1 1 rg}|。
+
+ \meta{pdf literal} 可用的算符参考 \pkg{pdf reference}\cite{pdfreference}。
+\end{function}
+
+于是可将字符渲染模式设置为3来隐藏字:\\
+\verb|\framezi[charstroke=solid]{字}|:\framezi[width=1cm,charstroke=solid]{字}, \\
+\verb|\framezi[charstrokespecial={3 Tr}]{字}|:\framezi[width=1cm,charstrokespecial={3 Tr}]{字}。
- 还可使用 \cs{zitienewrule} 来定义新的 \opt{charstroke} 处理规则。这个键的处理器接收当前的 \meta{CJK char} 作为其参数。
- 具体的定义见 \cs{zitienewrule} 的说明。
+还可使用 \cs{zitienewrule} 来定义新的 \opt{charstroke} 处理规则。这个键的处理器接收当前的 \meta{CJK char} 作为其参数。
+具体的定义见 \cs{zitienewrule} 的说明和第 \ref{sec:processors} 节。
- \cs{zitiestrokechars} 使用 \meta{pdf literal} 处理 \meta{typeset material}。
-\end{function}
+\cs{zitiestrokechars} 使用 \meta{pdf literal} 处理 \meta{typeset material}。
+
+于是上述隐藏字的效果可用 \cs{zitienewrule} 和 \cs{zitiestrokechars} 来定义一个 \opt{invisible} 规则:
+\begin{verbatim}
+ \zitienewrule{charstroke}{invisible}{\zitiestrokechars{3 Tr}{#1}}
+ \framezi[width=1cm,charstroke=invisible]{字}
+\end{verbatim}
+ \framezi[width=1cm,charstroke=invisible]{字}。这与上面的效果是相同的。实际上,\pkg{zitie} 就是这样实现的。
\begin{function}{
font,savefontname,
fallback,
fontbackfont,
- fontbackfont*
+ fontbackfont+
}
\begin{syntax}
font = \meta{font family} \init{宋体}
@@ -325,36 +450,85 @@
\end{syntax}
\opt{font} 设置盒子中使用的字体,若将其设置为空,即 \verb|font={}| 或 \verb|font|,则将使用正文字体。
- \opt{savefontname} 设置是否保存字体名字,以便在后文使用,如在标点符号的处理中。
+ \opt{savefontname} 设置是否保存字体名字,若设置为真,则将 \opt{font} 键指定的字体名字保存在 \tn{zitiefontname} 中,以便在后文使用,如在标点符号的处理中或页眉页脚中。
\opt{fallbackfont} 设置当当前字体中不存在此字形时,要使用哪些字体,字体必须被 \cs{zitienewfont} 或 \cs{newCJKfontfamily} 声明。
- \opt{fallbackfont+} 将 \marg{fallback font list} 添加的之前的 \meta{fallback font list} 中。
+ \opt{fallbackfont+} 将 \marg{fallback font list} 局部的添加到之前的 \meta{fallback font list} 中。
+
+ 该特性仅可在 \XeTeX{} 中使用。
- 注意,\opt{fallbackfont} 特性和 \pkg{xeCJK} 的 \verb|FallBack| 并不冲突,当 \opt{fallback font list} 中的所有字体没有对应的字形时,才会使用 \verb|FallBack| 定义的字体。这一特性可通过 \verb|fallback=false| 来关闭。
+ 注意,\opt{fallbackfont} 特性和 \pkg{xeCJK} 的 \verb|FallBack| 并不冲突,当 \opt{fallback font list} 中的所有字体没有对应的字形时,才会使用 \verb|FallBack| 定义的字体。这一特性可通过设置 \verb|fallback=false| 来关闭。
\end{function}
如在 \verb|FZSunGuoTingCaoShuFU|(方正孙过庭草书)字体中没有“丂丄”,
-虽然在在导言区使用 \verb|\zitienewfont{ {孙过庭草繁}{FZSunGuoTingCaoShuFU}{FallBack=SimSun} }| 设置其 \verb|FallBack| 字体为 \verb|SimSun|(宋体),但若设置 \verb|fallbackfont={楷体},fallback=true| 则会在楷体中查找是否有该字形,然后再在宋体中查找:
+虽然在在导言区使用 \verb|\zitienewfont{ {孙过庭草繁}{FZSunGuoTingCaoShuFU}{FallBack=SimSun} }| 设置其 \verb|FallBack| 字体为 \verb|SimSun|(宋体),但若设置 \verb|fallbackfont={楷体},fallback=true| 则会在楷体中查找是否有该字形,然后才在宋体中查找:
\begin{verbatim}
- \framezi[fallbackfont={楷体},width=1cm,font=孙过庭草繁,fallback]{一丁丂七丄}
+ \framezi[fallbackfont={楷体},width=1cm,font=孙过庭草繁,fallback,holdbasecharheight]{一丁丂七丄}
\end{verbatim}
-\framezi[fallbackfont={楷体},width=1cm,font=孙过庭草繁,fallback,framecolor=black]{一丁丂七丄}
+\framezi[fallbackfont={楷体},width=1cm,font=孙过庭草繁,fallback,framecolor=black,holdbasecharheight]{一丁丂七丄}
\begin{verbatim}
- \framezi[width=1cm,font=孙过庭草繁,fallback]{一丁丂七丄}
+ \framezi[width=1cm,font=孙过庭草繁,fallback,holdbasecharheight]{一丁丂七丄}
\end{verbatim}
-\framezi[width=1cm,font=孙过庭草繁,fallback,framecolor=black]{一丁丂七丄}
+\framezi[width=1cm,font=孙过庭草繁,fallback,framecolor=black,holdbasecharheight]{一丁丂七丄}
\begin{function}{
filepath,
filepath+
}
\begin{syntax}
- filepath = <filepath1, filepath2, ...>
+ filepath = \{ <filepath1>, <filepath2>, ... \}
\end{syntax}
- \opt{filepath} 为 \cs{framefile}\verb|*| 添加文件搜索路径。其值为逗号分隔的列表。
- \opt{filepath+} 将新的搜索路径添加到原有的路径上。
+ \opt{filepath} 为 \cs{framezifile}\verb|*| 添加文件搜索路径。其值为逗号分隔的列表。
+ \opt{filepath+} 将新的搜索路径局部地添加到原有的路径上。
+\end{function}
+
+\changes{v1.3}{2021/09/25}{新增 \opt{repeat} 功能。}
+\changes{v1.3.2}{2021/09/26}{新增 \opt{break}、\opt{tolerance} 功能。}
+\begin{function}{
+ repeat,
+ break,
+ tolerance,
+ zitie/repeat
+}
+ \begin{syntax}
+ repeat = <integer> \init{1}
+ break = <default|allowbreak|...> \init{allowbreak}
+ tolerance = <dim> \init{1em}
+ \end{syntax}
+ 设置 \cs{framezi} 等命令中的字符重复次数。注意是将整体重复 \meta{integer} 次,而不是将单个字符重复 \meta{integer} 次,再进行下一个字符的处理。
+
+ \verb|zitie/repeat| 钩子,只在两两间执行,执行次数为 $\meta{integer}-1$。
+ 这个钩子的内容在执行完毕后不会被清除,因此,若不自行清除,则在不同的方框化命令中都会执行(如果 $\opt{repeat}>1$)。可将 \cs{RemoveFromHook}\verb|{zitie/repeat}|\oarg{label} 放入 \verb|zitie/.../after| 钩子来清除。
+
+ \begin{verbatim}
+ \framezi[width=1cm,repeat=3]{好的}
+ \end{verbatim}
+ \framezi[width=1cm,repeat=3]{好的}
+
+ \opt{break} 设置单个字符后的断行方法。默认为 \opt{allowbreak},即将 \tn{allowbreak} 插入到构造好的盒子后。
+ \opt{tolerance} 设置断行的允许值,影响 \opt{break} 值为 \opt{default} 时的断行效果,\opt{tolerance} 大,则可能造成 Overfull。
+
+ \opt{break} 和 \opt{tolerance} 仍是实验性的。
+\end{function}
+
+\changes{v1.4.0}{2021/10/01}{新增 \opt{tallheight} 选项。}
+\begin{function}{tallheight}
+ \begin{syntax}
+ tallheight = <integer> \init{1000}
+ \end{syntax}
+ \opt{tallheight} 选项控制 \verb|tall| 型命令隐式地在 \meta{integer} 个词后进行分段。因此,为了保证排版美观,\opt{tallheight} 最好为每行能容纳词数的倍数。而且这个值也受单个最大能处理的词数的限制,即不能超过3200。
+\end{function}
+
+\changes{v1.4.0}{2021/10/01}{新增 \opt{validateglyph} 选项。}
+\begin{function}{validateglyph}
+ \begin{syntax}
+ validateglyph = \TTF \init{false}
+ \end{syntax}
+ 这个选项设置为真时,将先判断使用的字体是否包含该字形,若不包含,则忽略该字符。判断字形时不会考虑 FallBack 字体。
+
+ 目前这个选项仅在 \cs{framesingle} 命令中有效。
\end{function}
\begin{function}{
@@ -365,49 +539,28 @@
\cs{zitiesetup} \marg{key-val}
\cs{zitiecolorlet} \marg{name} \oarg{model} \marg{value}
\end{syntax}
- 用于设置选项,定义新的颜色。注意,若加载 \pkg{xcolor} 不能使用 \tn{colorlet}命令,必须使用 \cs{zitiecolorlet} 来设置颜色。
+ \cs{zitiesetup} 为 \pkg{zitie} 宏包的设置命令,这个命令设置的值在当前组中有效。\cs{zitiecolorlet} 定义新的颜色。注意,若加载 \pkg{xcolor} 宏包,使用 \tn{colorlet} 命令定义的颜色无法在 \pkg{zitie} 宏包的选项中使用,必须使用 \cs{zitiecolorlet} 来定义颜色。
\end{function}
-\begin{function}{\zitienewrule}
+\begin{function}{\zitienewprocessorrule,\zitienewrule,\zitieuseprocessorrule}
\begin{syntax}
- \cs{zitienewrule} \oarg{arg nums} \marg{option key} \marg{rule} \marg{replace}
+ \cs{zitienewprocessorrule} \oarg{arg nums} \marg{processor} \marg{rule} \marg{replace}
+ \cs{zitieuseprocessorrule} \oarg{arg nums} \marg{processor} \marg{rule} \meta{args}
\end{syntax}
- 为 \pkg{zitie} 宏包的键 \meta{option key} 定义新的处理规则。将忽略 \meta{option key} 和 \meta{rule} 两端的空格。
+ \cs{zitienewprocessorrule} 为 \pkg{zitie} 宏包的处理器 \meta{processor} 定义新的处理规则。将忽略 \meta{option key} 和 \meta{rule} 两端的空格。
+ \cs{zitienewrule} 与 \cs{zitienewprocessorrule} 的作用相同。
+
+ \cs{zitieuseprocessorrule} 使用 \meta{processor} 的 \meta{rule} 规则,\meta{args} 为 \meta{processor} 处理器的参数。
+
+ 关于处理器和规则,见第 \ref{sec:processors} 节。
\meta{arg nums} 为键预先定义的参数数目。若未设置 \meta{arg nums},则将其设置为1。
\end{function}
-\pkg{zitie} 宏包使用了
-\begin{verbatim}
- \zitienewrule{punctuation}{onlast}
- {\penalty10000 \smash{\makebox[0pt]{%
- \color{zitiecharcolor}\zitieCJKfamily{\zitiefontname}#1}}}
-\end{verbatim}
-和
-\begin{verbatim}
- \zitienewrule{punctuation}{scale}{
- \hbox_set:Nn \l_tmpa_box
- { \color_select:n { zitiecharcolor } \zitieCJKfamily{\zitiefontname} #1 }
- \box_scale:Nnn \l_tmpa_box \zitiexscaleratio \zitieyscaleratio
- \box_use_drop:N \l_tmpa_box
- }
-\end{verbatim}
-定义了两个 \opt{punctuation} 处理规则:\opt{onlast} 和 \opt{scale},这样就可以使用 \verb|punctuation=onlast| 和 \verb|punctuation=scale| 来对标点符号进行处理。
-
-使用
-\begin{verbatim}
- \zitienewrule {charstroke} {solid}
- { \zitiestrokechars { 1 Tr 0.25 w [] 0 d 1 J } {#1} }
- \zitienewrule {charstroke} {dashed}
- { \zitiestrokechars { 1 Tr 0.25 w [0.8] 0 d 1 J } {#1} }
- \zitienewrule {charstroke} {whitesolid}
- { \zitiestrokechars { 2 Tr 0.25 w [] 0 d 1 J 1 1 1 rg } {#1} }
- \zitienewrule {charstroke} {whitedashed}
- { \zitiestrokechars { 2 Tr 0.25 w [0.8] 0 d 1 J 1 1 1 rg } {#1} }
-\end{verbatim}
-定义了四个 \opt{charstroke} 处理规则,这样就可以使用 \verb|charstroke=solid, ...| 来处理字符。
-
\begin{function}{
+ \zitiebasechar,
+ \zitiebasecharwidth,
+ \zitiebasecharheight,
\zitiewidth,
\zitieheight,
\zitieboxwd,
@@ -417,7 +570,7 @@
\zitiexscaleratio,
\zitieyscaleratio,
}
- 这些命令为全局设置的接口。
+ \cs{zitiebasechar}、\cs{zitiebasecharwidth}、\cs{zitiebasecharheight} 为局部设置的。其余的命令为全局设置的接口。
\end{function}
\begin{function}{
@@ -425,7 +578,7 @@
zitiecharcolor,
zitiefillcolor,
}
- 这些是全局保存的颜色名,可在 \pkg{xcolor} 宏包的 \tn{color} 命令 和 \LaTeX3 命令 \cs{color_select:n} 中使用。
+ 这些是全局保存的颜色名,可在 \pkg{xcolor} 宏包的 \tn{color} 命令和 \LaTeX3 \cs{color_select:n} 命令中使用。
\end{function}
@@ -466,7 +619,7 @@
\end{syntax}
设置背景格子的大小。
- \opt{boxwidth} 和 \opt{boxheight} 具有更高的优先级,若设置了,则背景每个格子的宽高为所设置的值,否则,使用 \meta{framewidth}、\meta{frameheight} 及 \meta{colboxes}、\meta{rowboxes} 来计算大小。
+ \opt{boxwidth} 和 \opt{boxheight} 具有更高的优先级,若设置了,则背景每个格子的宽高为所设置的值,否则,使用 \opt{framewidth}、\opt{frameheight} 及 \opt{colboxes}、\opt{rowboxes} 来计算大小。
\opt{onpaper} 设置 \verb|frameheight=\paperheight, framewidth=\paperwidth|,
\opt{ontext} 设置 \verb|frameheigh=\textheight, framewidth=\textwidth|。
@@ -481,19 +634,32 @@
fillcolor*,
dashpattern
}
- 和 \cs{framezi} 等命令的选项相同,但二者互不影响。
+ \begin{syntax}
+ frametype = <none|口|十|田|×|米|咪|二|(||)> \init{none}
+ linewidth = <dim> \init{0.4pt}
+ framecolor = <color expr> \init{black}
+ framecolor = \marg{model(s)} \marg{value(s)}
+ fillcolor = <color expr>
+ fillcolor* = \marg{model(s)} \marg{value(s)}
+ dashpattern = \{ <dim1>, <dim2>, ... \}
+ \end{syntax}
+ 和 \cs{framezi} 等命令的选项作用相同,但二者互不影响。
+
+ 其中 \opt{frametype} 的值 \verb|二| 为画外侧方框和横线,\opt{frametype} 的值 \verb=||= 为画外侧方框和竖线。
颜色分别保存在 \verb|zitiebackgroundframecolor|,\verb|zitiebackgroundfillcolor| 颜色名中。可在 \tn{color} 中直接使用,也可在 \cs{color_select:n} 中使用。
\end{function}
\begin{function}{xrange,yrange}
\begin{syntax}
- xrange = \{ \meta{left} , \meta{right} \}
- yrange = \{ \meta{top} , \meta{bottom} \}
+ xrange = \{ \meta{left} , \meta{right} \} \init{{0cm, \paperwidth}}
+ yrange = \{ \meta{top} , \meta{bottom} \} \init{{0cm, \paperheight}}
\end{syntax}
- 设置网格显示的范围。注意这是实验性的,效果可能并不好。
+ 设置网格显示的范围。\meta{left}、\meta{right} 为距页面左端的距离。\meta{top}、\meta{bottom} 为距页面顶端的距离。
\end{function}
+也可以使用 \verb|\zitiesetup{background={|\meta{background key-val}\verb|}}| 来设置键。
+
本文档的设置为:
\begin{verbatim}
\zitiebackground[
@@ -505,7 +671,7 @@
\section{zhlipsum, 中文乱数假文}
-\pkg{zitie} 宏包完全兼容 \pkg{zhlipsum} 宏包。使用 \cs{newzhlipsum} 命令定义的假文也可使用。
+\pkg{zitie} 宏包完全兼容 \pkg{zhlipsum} 宏包\cite{pkg-zhlipsum}。使用 \cs{newzhlipsum} 命令定义的假文也可使用。
在加载宏包时使用 \opt{enable-zhlipsum} 以启用该特性。
@@ -524,13 +690,72 @@
\end{function}
+\changes{v1.3}{2021/09/25}{新增处理器和规则一节。}
+\section{处理器和规则}\label{sec:processors}
+
+\emph{处理器}实际上就是一个宏,这个宏可以使用指定的\emph{规则}来处理其参数。
+
+规则可以接收给定的参数,这些参数数目及传入顺序是由对应的处理器指定的。例如 \pkg{zitie} 就定义了 \opt{position}、\opt{punctuation}、\opt{charstroke} 等处理器。
+它们使用指定的规则对给定参数进行处理。
+
+处理器可以使用 \cs{zitienewprocessorrule} 来定义新的规则。\pkg{zitie} 宏包为 \opt{position}、\opt{punctuation}、\opt{charstroke} 等处理器预先定义了一些规则:
+
+使用
+\begin{verbatim}
+ \zitie_new_process_rule:nnn { position } { anchor-center }
+ { \coffin_typeset:Nnnnn #1 { hc } { vc } { 0pt } { 0pt } }
+ \zitie_new_process_rule:nnn { position } { anchor-east }
+ { \coffin_typeset:Nnnnn #1 { r } { vc } { 0pt } { 0pt } }
+ \zitie_new_process_rule:nnn { position } { anchor-southeast }
+ { \coffin_typeset:Nnnnn #1 { r } { b } { 0pt } { 0pt } }
+ ...
+\end{verbatim}
+定义了 \opt{position} 处理规则:\opt{anchor-center}、\opt{anchor-east} 等,这样就可使用 \verb|position=anchor-center| 来引用它们。
+
+使用
+\begin{verbatim}
+ \zitienewrule{punctuation}{onlast}
+ {\penalty10000 \smash{\makebox[0pt]{%
+ \color{zitiecharcolor}\zitieCJKfamily{\zitiefontname}#1}}}
+ \zitienewrule{punctuation}{scale}{
+ \hbox_set:Nn \l_tmpa_box
+ { \color_select:n { zitiecharcolor } \zitieCJKfamily{\zitiefontname} #1 }
+ \box_scale:Nnn \l_tmpa_box \zitiexscaleratio \zitieyscaleratio
+ \box_use_drop:N \l_tmpa_box
+ }
+\end{verbatim}
+定义了两个 \opt{punctuation} 处理规则:\opt{onlast} 和 \opt{scale},这样就可以使用 \verb|punctuation=onlast| 和 \verb|punctuation=scale| 来对标点符号进行处理。
+
+使用
+\begin{verbatim}
+ \zitienewrule {charstroke} {solid}
+ { \zitiestrokechars { 1 Tr 0.25 w [] 0 d 1 J } {#1} }
+ \zitienewrule {charstroke} {dashed}
+ { \zitiestrokechars { 1 Tr 0.25 w [0.8] 0 d 1 J } {#1} }
+ \zitienewrule {charstroke} {whitesolid}
+ { \zitiestrokechars { 2 Tr 0.25 w [] 0 d 1 J 1 1 1 rg } {#1} }
+ \zitienewrule {charstroke} {whitedashed}
+ { \zitiestrokechars { 2 Tr 0.25 w [0.8] 0 d 1 J 1 1 1 rg } {#1} }
+ \zitienewrule {charstroke} {thicksolid}
+ { \zitiestrokechars { 1 Tr 0.15 w [] 0 d 1 J } {#1} }
+ \zitienewrule {charstroke} {invisible} { \zitiestrokechars {3 Tr} {#1} }
+ ...
+\end{verbatim}
+定义了 \opt{charstroke} 处理规则,这样就可以使用 \verb|charstroke=solid, ...| 来处理字符。
+
+规则的定义中还可以使用 \cs{zitieuseprocessorrule} 来引用已经定义好的规则。
+
\section{编程接口}\label{sec:interface}
+\changes{v1.2}{2021/09/23}{将 \cs{zitie_color_select:..} 改为 \cs{zitie_color_set:..}。}
+\changes{v1.3}{2021/09/25}{新增 \cs{...set_eq:nn}。}
\begin{function}{
\zitie_new_frame_construct:nn,
\zitie_frame_type:n,
\zitie_frame_type_c:n,
+ \zitie_frame_type_set_eq:nn,
\zitie_new_resize_method:nn,
+ \zitie_resize_method_set_eq:nn,
\zitie_new_font:n,
\zitie_new_font:nnn,
}
@@ -549,8 +774,8 @@
\end{function}
\begin{function}{
- \zitie_color_select:nn,
- \zitie_color_select:nnn,
+ \zitie_color_set:nn,
+ \zitie_color_set:nnn,
}
颜色选择。
\end{function}
@@ -561,7 +786,7 @@
\zitie_token_class_dispatch_o:Nnnnn,
\zitie_token_class_dispatch_f:Nnnnn,
}
- 字形选择和字符类别判断。
+ 字形选择和字符类别判断。仅在 \XeTeX 中有效。
\end{function}
\begin{function}[TF]{
@@ -569,12 +794,15 @@
\zitie_token_if_punctuation_o:N,
\zitie_token_if_punctuation_f:N,
}
- 是否为标点符号。
+ 是否为标点符号。仅在 \XeTeX 中有效。
\end{function}
+\changes{v1.4.0}{2021/10/01}{新增 \cs{zitie_single_validate_glyph_construct:N}、\cs{zitie_single_validate_glyph_construct:nN}。}
\begin{function}{
\zitie_single_construct:N,
\zitie_single_construct:nN,
+ \zitie_single_validate_glyph_construct:N,
+ \zitie_single_validate_glyph_construct:nN,
}
构造单个字的方框。
\end{function}
@@ -583,6 +811,7 @@
\zitie_background_new_frame_construct:nn,
\zitie_background_frame_type:n,
\zitie_background_frame_type_c:n,
+ \zitie_background_frame_type_set_eq:nn
}
创建和使用新的 background frame 类型。
\end{function}
@@ -591,7 +820,8 @@
\begin{itemize}
\item 实现更快的、消耗资源更少的版本。
- \item 支持 \LuaTeX。
+ \item 修改断行算法。
+ \item 优化对 \LuaTeX{} 的支持。
\item 优化背景模块。
\item 增加间距功能。
\item 更多网格效果。
@@ -601,6 +831,41 @@
\item 等。
\end{itemize}
+
+\begin{thebibliography}{9}
+\bibitem{pkg-xeCJK}
+\href{http://www.ctex.org}{CTEX.ORG},
+\newblock \textit{\pkg{xeCJK} 宏包}
+\bibitem{pkg-fontspec}
+\textsc{WILL ROBERTSON},
+\newblock With contributions by Khaled Hosny, Philipp Gesang, Joseph Wright, and others.
+\newblock \textit{The fontspec package}
+\bibitem{pdf-source2e}
+\textsc{Johannes Braams,
+David Carlisle,
+Alan Jeffrey,
+Leslie Lamport,
+Frank Mittelbach,
+Chris Rowley,
+Rainer Schöpf},
+\newblock \textit{The {\LaTeXe} Sources}
+\bibitem{pkg-lthooks}
+\textsc{Frank Mittelbach},
+\newblock \textit{The lthooks package}
+\bibitem{pdf-interface3}
+\textsc{The {\LaTeX} Project},
+\newblock \textit{The {\LaTeX3} Interfaces}
+\bibitem{pkg-xcoffins}
+\textsc{The \LaTeX{} Project},
+\newblock \textit{The xcoffins package}
+\bibitem{pkg-zhlipsum}
+{\kaishu 曾祥东},
+\newblock \textit{zhlipsum: 中文乱数假文(Lorem ipsum)}
+\bibitem{pdfreference}
+\textsc{Adobe® Systems Incorporated},
+\newblock \textit{Adobe® Portable Document Format}
+\end{thebibliography}
+
\IndexLayout
\zitiebackground[off]
\PrintChanges
diff --git a/macros/xetex/latex/zitie/tex/zitie.luatex.def b/macros/xetex/latex/zitie/tex/zitie.luatex.def
new file mode 100644
index 0000000000..9a31201987
--- /dev/null
+++ b/macros/xetex/latex/zitie/tex/zitie.luatex.def
@@ -0,0 +1,90 @@
+% maybe use pdf_literal will be better
+\cs_new:Npn \zitie_stroke_chars:nn #1#2
+ { \special { pdf:code ~ q ~ #1 } #2 \special { pdf:code ~ Q } }
+\cs_new:Npn \zitiestrokechars { \zitie_stroke_chars:nn }
+
+% \RequirePackage {luatexja-fontspec} % using ctex currently
+%%% require on ctex
+\RequirePackage {ctex}
+%% copy from xeCJK
+\prg_new_conditional:Npnn \__zitie_if_blank_x:n #1 { p , T , F , TF }
+ {
+ \if_case:w \tex_strcmp:D { } {#1} \exp_stop_f:
+ \prg_return_true:
+ \else:
+ \if_case:w \tex_strcmp:D { ~ } {#1} \exp_stop_f:
+ \prg_return_true: \else: \prg_return_false: \fi:
+ \fi:
+ }
+\cs_new_protected:Npn \__zitie_check_num_range:nnNN #1#2#3#4
+ {
+ \bool_lazy_or:nnTF
+ { \__zitie_if_blank_x_p:n {#1} }
+ { \__zitie_if_blank_x_p:n {#2} }
+ {
+ \int_set:Nn #3 { \__zitie_if_blank_x:nTF {#1} {#2} {#1} }
+ \int_set_eq:NN #3 #4
+ }
+ {
+ \int_set:Nn #3 { \int_min:nn {#1} { \tl_if_novalue:nTF {#2} {#1} {#2} } }
+ \int_set:Nn #4 { \int_max:nn {#1} { \tl_if_novalue:nTF {#2} {#1} {#2} } }
+ }
+ }
+% dosen't work
+\prg_new_conditional:Npnn \zitie_glyph_if_exist:N #1 { p , T , F , TF }
+ { \prg_return_true: }
+\cs_set_eq:NN \__zitie_int_until_do:nn \int_until_do:nn
+%%
+
+\tl_new:N \l__zitie_cfg_tmp_tl
+\str_new:N \l__zitie_cfg_tmp_str
+\newfontfeature{FallBack}{}
+\NewDocumentCommand \zitierawCJKfamily { t+ t- m } { \CJKfamily {#3} }
+\prg_new_protected_conditional:Npnn \zitie_family_if_exist:n #1 { T , F , TF }
+ {
+ \prop_if_in:NnTF \g__ctex_ltj_family_name_prop {#1}
+ { \prg_return_true: }
+ {
+ \cs_if_exist_use:cTF { \__ctex_ltj_family_csname:n {#1} }
+ { \prg_return_true: } { \prg_return_false: }
+ }
+ }
+\cs_new:Npn \__zitie_font_select:nN #1
+ {
+ \exp_args:Nx \zitie_family_if_exist:nTF { \c_zitie_font_name_prefix_tl #1 }
+ { \fontfamily { \c_zitie_font_name_prefix_tl #1 } }
+ { \fontfamily {#1} }
+ % { \zitierawCJKfamily { \c_zitie_font_name_prefix_tl #1 } }
+ % { \zitierawCJKfamily {#1} }
+ }
+\NewDocumentCommand \zitieCJKfamily { t+ t- m }
+ { \__zitie_font_select:nN {#3} }
+\cs_generate_variant:Nn \ctex_ltj_set_family:nnn { onn }
+\cs_new:Npn \__zitie_new_font_family:nnn #1#2#3
+ {
+ \tl_set:Nx \l__zitie_cfg_tmp_tl { \c_zitie_font_name_prefix_tl #1 }
+ \__ctex_ltj_pass_args:nnnn
+ { \ctex_ltj_set_family:onn { \l__zitie_cfg_tmp_tl } } {#3} {#2}
+ { }
+ }
+\cs_new:Npn \__zitie_new_font_family_validate:nnn #1#2#3
+ {
+ \zitie_font_if_exist:nTF {#2} { \__zitie_new_font_family:nnn {#1} {#2} {#3} }
+ { \msg_warning:nnn { zitie } { font-exist } {#2} }
+ }
+%%%
+
+%% to support luatex without ctex, need to implement those functions:
+\cs_new_protected:Npn \xeCJKResetPunctClass { }
+\cs_new:Npn \zitie_token_class_dispatch:Nnnnn #1#2#3#4#5
+ { \use_ii:nnnn }
+\prg_new_conditional:Npnn \zitie_token_if_punctuation:N #1 { p, T, F, TF }
+ { \prg_return_false: }
+\cs_new:Npn \xeCJKDeclareCharClass #1#2 { }
+% \cs_new:Npn \zitierawCJKfamily { } %\CJKfamily
+% \prg_new_conditional:Npnn \zitie_family_if_exist:n #1 { T, F, TF } { }
+% \cs_new_nopar:Nn \__zitie_font_select:nN #1#2 { }
+% \NewDocumentCommand \zitieCJKfamily { t+ t- m } { }
+% \cs_new:Nn \__zitie_new_font_family:nnn #1#2#3 { }
+% \cs_new:Nn \__zitie_new_font_family_validate:nnn #1#2#3 { }
+%% \ No newline at end of file
diff --git a/macros/xetex/latex/zitie/tex/zitie.sty b/macros/xetex/latex/zitie/tex/zitie.sty
index 0dfe9d137c..a61d19d710 100644
--- a/macros/xetex/latex/zitie/tex/zitie.sty
+++ b/macros/xetex/latex/zitie/tex/zitie.sty
@@ -2,42 +2,44 @@
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{ xparse , l3keys2e }
\RequirePackage{ l3draw }
-\ProvidesExplPackage {zitie} {2021/09/23} {v1.1} {CJK character calligraphy sheet}
-\RequirePackage { xeCJK }
-\@ifpackageloaded { ctex } { }
- { \RequirePackage { ctexsize } \sys_if_platform_windows:T { \setCJKmainfont {SimSun} } }
+\ProvidesExplPackage {zitie} {2021/10/01} {v1.4.0} {CJK character calligraphy sheet}
\@ifpackageloaded { xcolor }
{
- \cs_set_nopar:Npn \zitie_color_select:nn #1#2 { \colorlet{#1}{#2} \color_set:nn {#1} {#2} }
- \cs_set_nopar:Npn \zitie_color_select:nnn #1#2#3 { \colorlet{#1}[#2]{#3} \color_set:nnn {#1} {#2} {#3} }
+ \cs_set_nopar:Npn \zitie_color_set:nn #1#2 { \colorlet{#1}{#2} \color_set:nn {#1} {#2} }
+ \cs_set_nopar:Npn \zitie_color_set:nnn #1#2#3 { \colorlet{#1}[#2]{#3} \color_set:nnn {#1} {#2} {#3} }
}
{
\hook_gput_code:nnn { package/after/xcolor } { package }
{
- \cs_set_nopar:Npn \zitie_color_select:nn #1#2 { \colorlet{#1}{#2} \color_set:nn {#1} {#2} }
- \cs_set_nopar:Npn \zitie_color_select:nnn #1#2#3 { \colorlet{#1}[#2]{#3} \color_set:nnn {#1} {#2} {#3} }
+ \cs_set_nopar:Npn \zitie_color_set:nn #1#2 { \colorlet{#1}{#2} \color_set:nn {#1} {#2} }
+ \cs_set_nopar:Npn \zitie_color_set:nnn #1#2#3 { \colorlet{#1}[#2]{#3} \color_set:nnn {#1} {#2} {#3} }
}
- \cs_set_nopar:Npn \zitie_color_select:nn #1#2 { \color_set:nn {#1} {#2} }
- \cs_set_nopar:Npn \zitie_color_select:nnn #1#2#3 { \color_set:nnn {#1} {#2} {#3} }
+ \cs_set_nopar:Npn \zitie_color_set:nn #1#2 { \color_set:nn {#1} {#2} }
+ \cs_set_nopar:Npn \zitie_color_set:nnn #1#2#3 { \color_set:nnn {#1} {#2} {#3} }
}
\NewDocumentCommand \zitiecolorlet { m o m }
- { \IfNoValueTF {#2} { \zitie_color_select:nn {#1} {#3} } { \zitie_color_select:nnn {#1} {#2} {#3} } }
+ { \IfNoValueTF {#2} { \zitie_color_set:nn {#1} {#3} } { \zitie_color_set:nnn {#1} {#2} {#3} } }
+\tl_new:N \zitiebasechar
+\tl_new:N \l__zitie_basechar_fontsize_tl
\box_new:N \l_zitie_basebox_box
\tl_new:N \l_zitie_frame_type_tl
\tl_new:N \l_zitie_resize_method_tl
\clist_new:N \g__zitie_frame_list_clist
\clist_new:N \g__zitie_resize_method_clist
-\dim_new:N \l__zitie_char_width_dim
-\dim_new:N \l__zitie_char_height_dim
\dim_new:N \l__zitie_box_width_dim
\dim_new:N \l__zitie_box_height_dim
\coffin_new:N \l__zitie_box_coffin
\dim_new:N \l__zitie_linewidth_dim
\cs_new_nopar:Nn \__zitie_aux_color_fill: { }
\ior_new:N \g__zitie_file_read_ior
-\clist_new:N \g__zitie_fallback_font_clist
+\clist_new:N \l__zitie_fallback_font_clist
+\int_new:N \l__zitie_repeat_int
+\dim_new:N \l__zitie_tolerance_dim
+\int_new:N \l__zitie_tallheight_int
+\dim_new:N \zitiebasecharwidth
+\dim_new:N \zitiebasecharheight
\dim_new:N \zitiewidth
\dim_new:N \zitieheight
\dim_new:N \zitieboxwd
@@ -58,58 +60,19 @@
\tl_const:Nn \c_zitie_font_name_prefix_tl { 字帖@ }
-%%% fontspec, xeCJK, xetex
-\cs_new:Npn \zitie_stroke_chars:nn #1#2 % operator, chars
- { \special { pdf:code ~ q ~ #1 } #2 \special { pdf:code ~ Q } }
-\cs_new:Npn \zitiestrokechars { \zitie_stroke_chars:nn }
-\prg_set_eq_conditional:NNn \zitie_font_if_exist:n \fontspec_font_if_exist:n { T, F, TF }
-\cs_new_nopar:Npn \__zitie_zihao:n #1 { \zihao {#1} }
-\cs_set_eq:NN \__zitie_check_num_range:nnNN \__xeCJK_check_num_range:nnNN
-\cs_set_eq:NN \__zitie_int_until_do:nn \xeCJK_int_until_do:nn
-\cs_new_nopar:Npn \__zitie_font_select:nN #1
- {
- \xeCJK_family_if_exist:nTF { \c_zitie_font_name_prefix_tl #1 }
- { \CJKfamily+ { \c_zitie_font_name_prefix_tl #1 } }
- { \CJKfamily+ {#1} }
- }
-\NewDocumentCommand \zitieCJKfamily { t+ t- m }
+\sys_if_engine_xetex:TF { \tex_input:D zitie.xetex.def \prg_do_nothing: }
{
- \xeCJK_family_if_exist:nTF { \c_zitie_font_name_prefix_tl #3 }
- { \xeCJK_family:NNx #1 #2 { \c_zitie_font_name_prefix_tl #3 } }
- { \xeCJK_family:NNx #1 #2 {#3} }
- \tex_ignorespaces:D
+ \sys_if_engine_luatex:TF { \tex_input:D zitie.luatex.def \prg_do_nothing: }
+ { \msg_fatal:nnx { zitie } { engine } { \c_sys_engine_str } }
}
+\prg_set_eq_conditional:NNn \zitie_font_if_exist:n \fontspec_font_if_exist:n { T, F, TF }
+\cs_new_nopar:Npn \__zitie_zihao:n #1 { \zihao {#1} }
+\msg_new:nnn { zitie } { engine } { Engine~ must~ be~ `xetex'~ or~ `luatex', while~ you~ use~ `#1'. }
\msg_new:nnn { zitie } { font-exist } { Font~ `#1'~ not~ exist, has~ been~ ignored. }
-\cs_new:Npn \__zitie_new_font_family:nnn #1#2#3 % family name, font name, feature
- { \__xeCJK_pass_args:nnnn { \xeCJK_set_family:nnn { \c_zitie_font_name_prefix_tl #1 } } {#3} {#2} { } }
-\cs_new:Npn \__zitie_new_font_family_validate:nnn #1#2#3
- {
- \zitie_font_if_exist:nTF {#2} { \__zitie_new_font_family:nnn {#1} {#2} {#3} }
- { \msg_warning:nnn { zitie } { font-exist } {#2} }
- }
-\cs_new:Npn \zitie_token_class_dispatch:Nnnnn #1
- {
- \if_case:w \xeCJK_token_value_class:N #1 \exp_stop_f:
- \exp_after:wN \use_none:nnn % other
- \or: \exp_after:wN \use_i:nnnn % CJK
- \or: \exp_after:wN \use_ii:nnnn % FullLeft
- \or: \exp_after:wN \use_iii:nnnn % FullRight
- \else: \exp_after:wN \use_none:nnn % other
- \fi:
- }
\cs_new:Npn \zitie_token_class_dispatch_o:Nnnnn #1
{ \exp_after:wN \zitie_token_class_dispatch:Nnnnn #1 }
\cs_new:Npn \zitie_token_class_dispatch_f:Nnnnn #1
{ \exp_args:Nf \zitie_token_class_dispatch:Nnnnn #1 }
-\prg_new_conditional:Npnn \zitie_token_if_punctuation:N #1 { p, T, F, TF }
- {
- \int_compare:nNnTF { \xeCJK_token_value_class:N #1 } > 1
- {
- \int_compare:nNnTF { \xeCJK_token_value_class:N #1 } < 6
- { \prg_return_true: } { \prg_return_false: }
- }
- { \prg_return_false: }
- }
\cs_set:Npn \zitie_token_if_punctuation_o:NTF
{ \exp_after:wN \zitie_token_if_punctuation:NTF }
\cs_set:Npn \zitie_token_if_punctuation_o:NT
@@ -134,9 +97,34 @@
}
\cs_new:Npn \__zitie_calc_basechar_w_h:
{
- \dim_set:Nn \l__zitie_char_width_dim { \box_wd:N \l_zitie_basebox_box }
- \dim_set:Nn \l__zitie_char_height_dim { \box_ht_plus_dp:N \l_zitie_basebox_box }
+ \hbox_set:Nn \l_zitie_basebox_box { \l__zitie_basechar_fontsize_tl \zitiebasechar }
+ \dim_set:Nn \zitiebasecharwidth { \box_wd:N \l_zitie_basebox_box }
+ \dim_set:Nn \zitiebasecharheight { \box_ht_plus_dp:N \l_zitie_basebox_box }
+ }
+\dim_new:N \l__zitie_linetotal_dim
+\dim_new:N \l__zitie_linemax_dim
+\cs_new:Npn \__zitie_break_max_calc:
+ {
+ \dim_set:Nn \l__zitie_linemax_dim
+ {
+ .5\paperwidth + .5\textwidth
+ - \marginparwidth - \marginparsep
+ + \l__zitie_tolerance_dim
+ }
}
+\cs_new_protected:Npn \__zitie_break_default:
+ {
+ \if_dim:w \l__zitie_linemax_dim > \l__zitie_linetotal_dim
+ \tex_advance:D \l__zitie_linetotal_dim by 1.1\zitieboxwd
+ \if_dim:w \l__zitie_linemax_dim < \l__zitie_linetotal_dim
+ \dim_zero:N \l__zitie_linetotal_dim \break
+ \else: \nobreak
+ \fi:
+ \else:
+ \dim_zero:N \l__zitie_linetotal_dim \break
+ \fi:
+ }
+
\cs_new_nopar:Npn \zitie_frame_type:n #1 { __zitie_frame_construct_type_ #1 :nnnnnn } % x1, y1, x2, y2, x times, y times
\cs_new_nopar:Npn \zitie_frame_type_c:n #1 { \use:c { __zitie_frame_construct_type_ #1 :nnnnnn } }
\cs_new_nopar:Npn \__zitie_resize:n #1 { __zitie_processor_resize_ #1 :n }
@@ -166,17 +154,17 @@
}
\cs_new_nopar:Npn \__zitie_cjk_glyph_use_aux:N #1
{
- \exp_args:Nf \xeCJK_glyph_if_exist:NTF #1 {#1}
+ \exp_args:Nf \zitie_glyph_if_exist:NTF #1 {#1}
{
- \clist_pop:NNTF \g__zitie_fallback_font_clist \l__zitie_tmpa_tl
+ \clist_pop:NNTF \l__zitie_fallback_font_clist \l__zitie_tmpa_tl
{
- \xeCJK_family_if_exist:nTF { \c_zitie_font_name_prefix_tl \l__zitie_tmpa_tl }
+ \zitie_family_if_exist:nTF { \c_zitie_font_name_prefix_tl \l__zitie_tmpa_tl }
{
- \CJKfamily+ { \c_zitie_font_name_prefix_tl \l__zitie_tmpa_tl }
+ \zitierawCJKfamily+ { \c_zitie_font_name_prefix_tl \l__zitie_tmpa_tl }
\__zitie_cjk_glyph_use_aux:N #1
}
{
- \CJKfamily+ { \l__zitie_tmpa_tl }
+ \zitierawCJKfamily+ { \l__zitie_tmpa_tl }
\__zitie_cjk_glyph_use_aux:N #1
}
}
@@ -200,12 +188,16 @@
\keys_define:nn { zitie }
{
- basechar .code:n = { \tl_gset:Nx \c_zitie_basechar_tl {#1} \__zitie_calc_basechar_w_h: } ,
- zihao .code:n =
- {
- \hbox_gset:Nn \l_zitie_basebox_box { \__zitie_zihao:n {#1} \c_zitie_basechar_tl }
- \__zitie_calc_basechar_w_h:
- } ,
+ basechar .code:n = { \tl_set:Nx \zitiebasechar {#1} \__zitie_calc_basechar_w_h: } ,
+ basechar .initial:n = 好 ,
+ basecharfontsize .code:n = { \tl_set:Nn \l__zitie_basechar_fontsize_tl {#1} \__zitie_calc_basechar_w_h: } ,
+ basecharfontsize .initial:n = \normalsize ,
+ basecharfontsize .default:n = \normalsize ,
+ zihao .meta:n = { basecharfontsize = \__zitie_zihao:n {#1} } ,
+ position .choice: ,
+ position / unknown .code:n = { \cs_set_eq:cc { \zitie_processor:n { position } } {#1} } ,
+ position* .cs_set:cp = { \zitie_processor:n { position } } #1 ,
+ anchor .meta:n = { position = anchor-#1 } ,
punctuation .choice: ,
punctuation / ignore .code:n = { \cs_set_eq:cN { \zitie_processor:n { punctuation } } \use_none:n } ,
punctuation / leave .code:n = { \cs_set_eq:cN { \zitie_processor:n { punctuation } } \use:n } ,
@@ -227,7 +219,7 @@
} ,
font .tl_set:N = \l__zitie_font_tl ,
font .initial:n = 宋体 ,
- font .default:n = { } , % { \l_xeCJK_family_tl } ,
+ font .default:n = { } ,
xscale .tl_set:N = \l__zitie_x_scale_tl ,
xscale .initial:n = 1 ,
yscale .tl_set:N = \l__zitie_y_scale_tl ,
@@ -237,26 +229,33 @@
height .dim_set:N = \l__zitie_box_height_dim ,
linewidth .dim_set:N = \l__zitie_linewidth_dim ,
linewidth .initial:n = 0.4pt ,
- framecolor .code:n = { \zitie_color_select:nn { zitieframecolor } {#1} } ,
+ holdbasecharwidth .bool_set:N = \l__zitie_holdbasechar_width_bool ,
+ holdbasecharwidth .default:n = true ,
+ holdbasecharheight .bool_set:N = \l__zitie_holdbasechar_height_bool ,
+ holdbasecharheight .default:n = true ,
+ holdbasechar .meta:n = { holdbasecharwidth = #1 , holdbasecharheight = #1 } ,
+ holdbasechar .initial:n = false ,
+ holdbasechar .default:n = true ,
+ framecolor .code:n = { \zitie_color_set:nn { zitieframecolor } {#1} } ,
framecolor .initial:n = black ,
- framecolor* .code:n = { \zitie_color_select:nnn { zitieframecolor } #1 } ,
- charcolor .code:n = { \zitie_color_select:nn { zitiecharcolor } {#1} } ,
+ framecolor* .code:n = { \zitie_color_set:nnn { zitieframecolor } #1 } ,
+ charcolor .code:n = { \zitie_color_set:nn { zitiecharcolor } {#1} } ,
charcolor .initial:n = black ,
- charcolor* .code:n = { \zitie_color_select:nnn { zitieframecolor } {#1} } ,
+ charcolor* .code:n = { \zitie_color_set:nnn { zitieframecolor } {#1} } ,
color .meta:n = { framecolor = #1, charcolor = #1 } ,
color* .meta:n = { framecolor* = #1, charcolor* = #1 } ,
fillcolor .code:n =
{
\exp_args:Nx \tl_if_empty:nTF {#1}
- { \zitie_color_select:nn { zitiefillcolor } { white } \cs_set_nopar:Npn \__zitie_aux_color_fill: { } }
+ { \zitie_color_set:nn { zitiefillcolor } { white } \cs_set_nopar:Npn \__zitie_aux_color_fill: { } }
{
- \zitie_color_select:nn { zitiefillcolor } {#1}
+ \zitie_color_set:nn { zitiefillcolor } {#1}
\cs_set_nopar:Npn \__zitie_aux_color_fill: { \color_fill:n {#1} }
}
} ,
fillcolor* .code:n =
{
- \zitie_color_select:nnn { zitiefillcolor } #1
+ \zitie_color_set:nnn { zitiefillcolor } #1
\cs_set_nopar:Npn \__zitie_aux_color_fill: { \color_fill:nn #1 }
} ,
dashpattern .tl_set:N = \l__zitie_dash_pattern_tl ,
@@ -283,22 +282,37 @@
debug .bool_set:N = \l__zitie_debug_bool ,
debug .initial:n = false ,
debug .default:n = true ,
+ repeat .int_set:N = \l__zitie_repeat_int ,
+ repeat .initial:n = 1 ,
+ tolerance .dim_set:N = \l__zitie_tolerance_dim ,
+ tolerance .initial:n = 1em ,
+ break .choice: ,
+ break / default .code:n = { \cs_set_eq:NN \__zitie_break: \__zitie_break_default: } ,
+ break / allowbreak .code:n = { \cs_set_eq:NN \__zitie_break: \allowbreak } ,
+ break / unknown .code:n = { \cs_set_eq:NN \__zitie_break: #1 } ,
+ break .initial:n = allowbreak ,
+ tallheight .int_set:N = \l__zitie_tallheight_int ,
+ tallheight .initial:n = 1000 ,
+
savefontname .bool_set:N = \l__zitie_savefontname_bool ,
savefontname .initial:n = false ,
savefontname .default:n = true ,
fallback .bool_set:N = \l__zitie_font_fallback_bool ,
fallback .initial:n = false ,
fallback .default:n = true ,
- fallbackfont .clist_set:N = \g__zitie_fallback_font_clist ,
+ fallbackfont .clist_set:N = \l__zitie_fallback_font_clist ,
fallbackfont .initial:n = { 宋体 } ,
- fallbackfont+ .code:n = { \clist_put_right:Nn \g__zitie_fallback_font_clist {#1} } ,
+ fallbackfont+ .code:n = { \clist_put_right:Nn \l__zitie_fallback_font_clist {#1} } ,
+ validateglyph .bool_set:N = \l__zitie_validate_glyph_bool ,
+ validateglyph .initial:n = false ,
+ validateglyph .default:n = true ,
}
\hook_new_pair:nn { zitie/processor/before } { zitie/processor/after }
\cs_new:Npn \zitie_new_process_rule:nnn #1#2#3 % processor, id, code
{
- \cs_set:cpn { __zitie_processor_ #1 @ #2 :n } ##1
- { \hook_use:n { zitie/processor/before } #3 \hook_use:n { zitie/processor/after } }
+ \cs_set:cpn { __zitie_processor_ #1 @ #2 :n } ##1 {#3}
+ % { \hook_use:n { zitie/processor/before } #3 \hook_use:n { zitie/processor/after } }
\keys_define:nn { zitie }
{ #1/#2 .code:n = { \cs_set_eq:cc { \zitie_processor:n {#1} } { __zitie_processor_ #1 @ #2 :n } } }
}
@@ -309,8 +323,11 @@
\keys_define:nn { zitie }
{ #1/#2 .code:n = { \cs_set_eq:cc { \zitie_processor:n {#1} } { \zitie_processor:nnn {#1} {#2} {#3} } } }
}
-\NewDocumentCommand \zitienewrule { O{1} >{\TrimSpaces} m > {\TrimSpaces} m m }
+\NewDocumentCommand \zitienewprocessorrule { O{1} >{\TrimSpaces} m > {\TrimSpaces} m m }
{ \zitie_new_process_rule:nnnn {#2} {#3} {#1} {#4} }
+\cs_new_protected:Npn \zitienewrule { \zitienewprocessorrule }
+\NewDocumentCommand \zitieuseprocessorrule { O{1} m m }
+ { \zitie_processor_c:nnn {#1} {#2} {#3} }
\zitie_new_process_rule:nnn { punctuation } { onlast }
{ \tex_penalty:D 10000\smash{ \makebox[0pt]{ \color_select:n { zitiecharcolor } \zitieCJKfamily{\zitiefontname} #1 } } }
\zitie_new_process_rule:nnn { punctuation } { scale }
@@ -326,6 +343,37 @@
{ \zitie_stroke_chars:nn { 2 ~ Tr ~ 0.25 ~ w ~ [] ~ 0 ~ d ~ 1 ~ J ~ 1 ~ 1 ~ 1 ~ rg } {#1} }
\zitie_new_process_rule:nnn { charstroke } { whitedashed }
{ \zitie_stroke_chars:nn { 2 ~ Tr ~ 0.25 ~ w ~ [.8] ~ 0 ~ d ~ 1 ~ J ~ 1 ~ 1 ~ 1 ~ rg } {#1} }
+\zitie_new_process_rule:nnn { charstroke } { thicksolid }
+ { \zitie_stroke_chars:nn { 1 ~ Tr ~ 0.15 ~ w ~ [] ~ 0 ~ d ~ 1 ~ J } {#1} }
+\zitie_new_process_rule:nnn { charstroke } { thickdashed }
+ { \zitie_stroke_chars:nn { 1 ~ Tr ~ 0.15 ~ w ~ [.8] ~ 0 ~ d ~ 1 ~ J } {#1} }
+\zitie_new_process_rule:nnn { charstroke } { thickwhitesolid }
+ { \zitie_stroke_chars:nn { 2 ~ Tr ~ 0.15 ~ w ~ [] ~ 0 ~ d ~ 1 ~ J ~ 1 ~ 1 ~ 1 ~ rg } {#1} }
+\zitie_new_process_rule:nnn { charstroke } { thickwhitedashed }
+ { \zitie_stroke_chars:nn { 2 ~ Tr ~ 0.15 ~ w ~ [.8] ~ 0 ~ d ~ 1 ~ J ~ 1 ~ 1 ~ 1 ~ rg } {#1} }
+\zitie_new_process_rule:nnn { charstroke } { invisible }
+ { \zitie_stroke_chars:nn { 3 ~ Tr } {#1} }
+%% position processor need new first
+\cs_new:cpn { \zitie_processor:n { position } } #1
+ { \coffin_typeset:Nnnnn #1 { l } { b } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-center }
+ { \coffin_typeset:Nnnnn #1 { hc } { vc } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-east }
+ { \coffin_typeset:Nnnnn #1 { r } { vc } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-southeast }
+ { \coffin_typeset:Nnnnn #1 { r } { b } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-south }
+ { \coffin_typeset:Nnnnn #1 { hc } { b } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-southwest }
+ { \coffin_typeset:Nnnnn #1 { l } { b } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-west }
+ { \coffin_typeset:Nnnnn #1 { l } { vc } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-northwest }
+ { \coffin_typeset:Nnnnn #1 { l } { t } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-north }
+ { \coffin_typeset:Nnnnn #1 { hc } { t } { 0pt } { 0pt } }
+\zitie_new_process_rule:nnn { position } { anchor-northeast }
+ { \coffin_typeset:Nnnnn #1 { r } { t } { 0pt } { 0pt } }
\cs_new:Npn \__zitie_new_font_family:nn #1#2 { \__zitie_new_font_family:nnn {#1} {#2} { } }
@@ -367,6 +415,8 @@
\clist_put_right:Nn \g__zitie_resize_method_clist {#1}
\cs_new:cpn { \__zitie_resize:n {#1} }
}
+\cs_new:Npn \zitie_resize_method_set_eq:nn #1#2
+ { \cs_set_eq:cc { \__zitie_resize:n {#1} } { \__zitie_resize:n {#2} } }
\zitie_new_resize_method:nn { none } { }
\cs_new:Npn \zitie_new_frame_construct:nn #1
{
@@ -374,12 +424,12 @@
\cs_new:cn { \zitie_frame_type:n {#1} }
}
\zitie_new_frame_construct:nn { none } { }
+\cs_new:Npn \zitie_frame_type_set_eq:nn #1#2
+ { \cs_set_eq:cc { \zitie_frame_type:n {#1} } { \zitie_frame_type:n {#2} } }
\zitie_font_if_exist:nT { SimSun } { \zitie_new_font:n { {宋体}{SimSun} } }
\keys_set:nn { zitie }
{
- basechar = 好 ,
- zihao = 4 ,
frametype = none ,
resize = none ,
}
@@ -388,16 +438,66 @@
\cs_new:Npn \zitie_single_construct:nN #1#2
{
\group_begin:
+ \__zitie_calc_basechar_w_h:
\tl_if_empty:nF {#1} { \keys_set:nn { zitie } {#1} }
\tl_set:Nf \l__zitie_curr_char_tl {#2}
- \__zitie_single_construct_o:N \l__zitie_curr_char_tl
+ \hcoffin_set:Nn \l__zitie_box_coffin
+ { \__zitie_single_construct_o:N \l__zitie_curr_char_tl }
+ \zitie_processor_c:n { position } \l__zitie_box_coffin
\group_end:
}
+\cs_new_protected:Npn \zitie_single_construct_f:nN
+ { \exp_args:Nnf \zitie_single_construct:nN }
\cs_new:Npn \zitie_single_construct:N #1
{
\group_begin:
+ \__zitie_calc_basechar_w_h:
\tl_set:Nf \l__zitie_curr_char_tl {#1}
- \__zitie_single_construct_o:N \l__zitie_curr_char_tl
+ \hcoffin_gset:Nn \l__zitie_box_coffin
+ { \__zitie_single_construct_o:N \l__zitie_curr_char_tl }
+ \zitie_processor_c:n { position } \l__zitie_box_coffin
+ \group_end:
+ }
+\cs_new_protected:Npn \zitie_single_construct_f:N
+ { \exp_args:Nf \zitie_single_construct:N }
+\bool_new:N \g__zitie_glyph_exist_bool
+\cs_new:Npn \zitie_single_validate_glyph_construct:nN #1#2
+ {
+ \group_begin:
+ \tl_if_empty:nF {#1} { \keys_set:nn { zitie } {#1} }
+ {
+ \zitieCJKfamily+ { \l__zitie_font_tl }
+ \exp_after:wN \zitie_glyph_if_exist:NTF #2
+ { \bool_gset_true:N \g__zitie_glyph_exist_bool }
+ { \bool_gset_false:N \g__zitie_glyph_exist_bool }
+ }
+ \bool_if:NT \g__zitie_glyph_exist_bool
+ {
+ \__zitie_calc_basechar_w_h:
+ \tl_set:Nf \l__zitie_curr_char_tl {#2}
+ \hcoffin_set:Nn \l__zitie_box_coffin
+ { \__zitie_single_construct_o:N \l__zitie_curr_char_tl }
+ \zitie_processor_c:n { position } \l__zitie_box_coffin
+ }
+ \group_end:
+ }
+\cs_new:Npn \zitie_single_validate_glyph_construct:N #1
+ {
+ \group_begin:
+ {
+ \zitieCJKfamily+ { \l__zitie_font_tl }
+ \exp_after:wN \zitie_glyph_if_exist:NTF #1
+ { \bool_gset_true:N \g__zitie_glyph_exist_bool }
+ { \bool_gset_false:N \g__zitie_glyph_exist_bool }
+ }
+ \bool_if:NT \g__zitie_glyph_exist_bool
+ {
+ \__zitie_calc_basechar_w_h:
+ \tl_set:Nf \l__zitie_curr_char_tl {#1}
+ \hcoffin_gset:Nn \l__zitie_box_coffin
+ { \__zitie_single_construct_o:N \l__zitie_curr_char_tl }
+ \zitie_processor_c:n { position } \l__zitie_box_coffin
+ }
\group_end:
}
\cs_new:Npn \__zitie_single_construct:N #1
@@ -405,19 +505,29 @@
\zitie_token_if_punctuation_f:NTF #1
{ \zitie_processor_c:n { punctuation } {#1} }
{
- \hcoffin_set:Nn \l__zitie_box_coffin
+ \hcoffin_set:Nn \l__zitie_tmpb_coffin
{
+ \bool_if:NT \l__zitie_holdbasechar_height_bool { \vphantom \zitiebasechar }
\color_select:n { zitiecharcolor }
- \zitie_processor_c:n { charstroke }
- { \zitie_cjk_glyph_use:nN { \l__zitie_font_tl } \l__zitie_curr_char_tl }
+ \bool_if:NTF \l__zitie_holdbasechar_width_bool
+ {
+ \makebox [ \dim_use:N \zitiebasecharwidth ] [c] {
+ \zitie_processor_c:n { charstroke }
+ { \zitie_cjk_glyph_use:nN { \l__zitie_font_tl } \l__zitie_curr_char_tl }
+ }
+ }
+ {
+ \zitie_processor_c:n { charstroke }
+ { \zitie_cjk_glyph_use:nN { \l__zitie_font_tl } \l__zitie_curr_char_tl }
+ }
}
- \tl_set:Nx \zitiexscaleratio { \dim_to_decimal:n { \coffin_wd:N \l__zitie_box_coffin} }
- \tl_set:Nx \zitieyscaleratio { \dim_to_decimal:n { \__zitie_coffin_ht_plus_dp:N \l__zitie_box_coffin } }
+ \tl_set:Nx \zitiexscaleratio { \dim_to_decimal:n { \coffin_wd:N \l__zitie_tmpb_coffin} }
+ \tl_set:Nx \zitieyscaleratio { \dim_to_decimal:n { \__zitie_coffin_ht_plus_dp:N \l__zitie_tmpb_coffin } }
\__zitie_resize_c:n { \l_zitie_resize_method_tl }
- \dim_gset:Nn \zitiewidth { \coffin_wd:N \l__zitie_box_coffin }
+ \dim_gset:Nn \zitiewidth { \coffin_wd:N \l__zitie_tmpb_coffin }
\dim_gset_eq:NN \zitieboxwd \zitiewidth
- \dim_gset:Nn \zitieboxht { \coffin_ht:N \l__zitie_box_coffin }
- \dim_gset:Nn \zitieboxdp { \coffin_dp:N \l__zitie_box_coffin }
+ \dim_gset:Nn \zitieboxht { \coffin_ht:N \l__zitie_tmpb_coffin }
+ \dim_gset:Nn \zitieboxdp { \coffin_dp:N \l__zitie_tmpb_coffin }
\dim_gset:Nn \zitieheight { \zitieboxht + \zitieboxdp }
\tl_gset:Nx \zitiexscaleratio { \fp_eval:n { \dim_to_fp:n { \zitiewidth } / \zitiexscaleratio } }
\tl_gset:Nx \zitieyscaleratio { \fp_eval:n { \dim_to_fp:n { \zitieheight } / \zitieyscaleratio } }
@@ -457,54 +567,54 @@
\zitie_new_resize_method:nn { real }
{
\__zitie_force_size_dispatch:nnnn
- { \coffin_resize:Nnn \l__zitie_box_coffin \l__zitie_box_width_dim \l__zitie_box_height_dim }
+ { \coffin_resize:Nnn \l__zitie_tmpb_coffin \l__zitie_box_width_dim \l__zitie_box_height_dim }
{
- \coffin_scale:Nnn \l__zitie_box_coffin
- { \dim_ratio:nn { \l__zitie_box_height_dim } { \__zitie_coffin_ht_plus_dp:N \l__zitie_box_coffin } }
- { \dim_ratio:nn { \l__zitie_box_height_dim } { \__zitie_coffin_ht_plus_dp:N \l__zitie_box_coffin } }
+ \coffin_scale:Nnn \l__zitie_tmpb_coffin
+ { \dim_ratio:nn { \l__zitie_box_height_dim } { \__zitie_coffin_ht_plus_dp:N \l__zitie_tmpb_coffin } }
+ { \dim_ratio:nn { \l__zitie_box_height_dim } { \__zitie_coffin_ht_plus_dp:N \l__zitie_tmpb_coffin } }
}
{
- \coffin_scale:Nnn \l__zitie_box_coffin
- { \dim_ratio:nn { \l__zitie_box_width_dim } { \coffin_wd:N \l__zitie_box_coffin } }
- { \dim_ratio:nn { \l__zitie_box_width_dim } { \coffin_wd:N \l__zitie_box_coffin } }
+ \coffin_scale:Nnn \l__zitie_tmpb_coffin
+ { \dim_ratio:nn { \l__zitie_box_width_dim } { \coffin_wd:N \l__zitie_tmpb_coffin } }
+ { \dim_ratio:nn { \l__zitie_box_width_dim } { \coffin_wd:N \l__zitie_tmpb_coffin } }
}
- { \coffin_scale:Nnn \l__zitie_box_coffin { \l__zitie_x_scale_tl } { \l__zitie_y_scale_tl } }
+ { \coffin_scale:Nnn \l__zitie_tmpb_coffin { \l__zitie_x_scale_tl } { \l__zitie_y_scale_tl } }
}
\zitie_new_resize_method:nn { base }
{
\__zitie_force_size_dispatch:nnnn
- { \coffin_resize:Nnn \l__zitie_box_coffin \l__zitie_box_width_dim \l__zitie_box_height_dim }
+ { \coffin_resize:Nnn \l__zitie_tmpb_coffin \l__zitie_box_width_dim \l__zitie_box_height_dim }
{
- \coffin_resize:Nnn \l__zitie_box_coffin
- { \l__zitie_char_width_dim * \dim_ratio:nn { \l__zitie_box_height_dim } { \__zitie_coffin_ht_plus_dp:N \l__zitie_box_coffin } }
+ \coffin_resize:Nnn \l__zitie_tmpb_coffin
+ { \zitiebasecharwidth * \dim_ratio:nn { \l__zitie_box_height_dim } { \__zitie_coffin_ht_plus_dp:N \l__zitie_tmpb_coffin } }
{ \l__zitie_box_height_dim }
}
{
- \coffin_resize:Nnn \l__zitie_box_coffin
+ \coffin_resize:Nnn \l__zitie_tmpb_coffin
{ \l__zitie_box_width_dim }
- { \l__zitie_char_height_dim * \dim_ratio:nn { \l__zitie_box_width_dim } { \coffin_wd:N \l__zitie_box_coffin } }
+ { \zitiebasecharheight * \dim_ratio:nn { \l__zitie_box_width_dim } { \coffin_wd:N \l__zitie_tmpb_coffin } }
}
{
- \coffin_resize:Nnn \l__zitie_box_coffin
- { \l__zitie_x_scale_tl \l__zitie_char_width_dim }
- { \l__zitie_y_scale_tl \l__zitie_char_height_dim }
+ \coffin_resize:Nnn \l__zitie_tmpb_coffin
+ { \l__zitie_x_scale_tl \zitiebasecharwidth }
+ { \l__zitie_y_scale_tl \zitiebasecharheight }
}
}
\zitie_new_resize_method:nn { square }
{
- \hcoffin_set:Nn \l__zitie_tmpa_coffin { \phantom { \c_zitie_basechar_tl } }
- \dim_set:Nn \zitiewidth { \coffin_wd:N \l__zitie_box_coffin }
- \dim_set:Nn \zitieheight { \__zitie_coffin_ht_plus_dp:N \l__zitie_box_coffin }
+ \hcoffin_set:Nn \l__zitie_tmpa_coffin { \phantom { \zitiebasechar } }
+ \dim_set:Nn \zitiewidth { \coffin_wd:N \l__zitie_tmpb_coffin }
+ \dim_set:Nn \zitieheight { \__zitie_coffin_ht_plus_dp:N \l__zitie_tmpb_coffin }
\__zitie_resize_method_square_aux:
\tl_set:Nx \zitiexscaleratio { \dim_to_decimal:n \zitiewidth }
\tl_set_eq:NN \zitieyscaleratio \zitiexscaleratio
\__zitie_force_size_dispatch:nnnn
- { \coffin_resize:Nnn \l__zitie_box_coffin \l__zitie_box_width_dim \l__zitie_box_height_dim }
- { \coffin_resize:Nnn \l__zitie_box_coffin \l__zitie_box_height_dim \l__zitie_box_height_dim }
- { \coffin_resize:Nnn \l__zitie_box_coffin \l__zitie_box_width_dim \l__zitie_box_width_dim }
- { \coffin_scale:Nnn \l__zitie_box_coffin \l__zitie_x_scale_tl \l__zitie_y_scale_tl }
+ { \coffin_resize:Nnn \l__zitie_tmpb_coffin \l__zitie_box_width_dim \l__zitie_box_height_dim }
+ { \coffin_resize:Nnn \l__zitie_tmpb_coffin \l__zitie_box_height_dim \l__zitie_box_height_dim }
+ { \coffin_resize:Nnn \l__zitie_tmpb_coffin \l__zitie_box_width_dim \l__zitie_box_width_dim }
+ { \coffin_scale:Nnn \l__zitie_tmpb_coffin \l__zitie_x_scale_tl \l__zitie_y_scale_tl }
}
\cs_new:Npn \__zitie_resize_method_square_aux:
{
@@ -512,15 +622,15 @@
\coffin_resize:Nnn \l__zitie_tmpa_coffin
{ ( \zitieheight - \zitiewidth ) / 2 }
{ \zitieheight }
- \coffin_join:NnnNnnnn \l__zitie_box_coffin { r } { vc } \l__zitie_tmpa_coffin { l } { vc } { 0pt } { 0pt }
- \coffin_join:NnnNnnnn \l__zitie_box_coffin { l } { vc } \l__zitie_tmpa_coffin { r } { vc } { 0pt } { 0pt }
+ \coffin_join:NnnNnnnn \l__zitie_tmpb_coffin { r } { vc } \l__zitie_tmpa_coffin { l } { vc } { 0pt } { 0pt }
+ \coffin_join:NnnNnnnn \l__zitie_tmpb_coffin { l } { vc } \l__zitie_tmpa_coffin { r } { vc } { 0pt } { 0pt }
\dim_set_eq:NN \zitiewidth \zitieheight
\else: \if_dim:w \zitiewidth > \zitieheight
\coffin_resize:Nnn \l__zitie_tmpa_coffin
{ \zitiewidth }
{ ( \zitiewidth - \zitieheight ) / 2 }
- \coffin_join:NnnNnnnn \l__zitie_box_coffin { hc } { t } \l__zitie_tmpa_coffin { hc } { b } { 0pt } { 0pt }
- \coffin_join:NnnNnnnn \l__zitie_box_coffin { hc } { b } \l__zitie_tmpa_coffin { hc } { t } { 0pt } { 0pt }
+ \coffin_join:NnnNnnnn \l__zitie_tmpb_coffin { hc } { t } \l__zitie_tmpa_coffin { hc } { b } { 0pt } { 0pt }
+ \coffin_join:NnnNnnnn \l__zitie_tmpb_coffin { hc } { b } \l__zitie_tmpa_coffin { hc } { t } { 0pt } { 0pt }
\dim_set_eq:NN \zitieheight \zitiewidth
\fi: \fi:
}
@@ -530,25 +640,28 @@
{
\draw_begin:
\draw_linewidth:n { \l__zitie_linewidth_dim }
- \__zitie_aux_color_fill:
\color_stroke:n { zitieframecolor }
\tl_if_empty:NF \l__zitie_dash_pattern_tl { \exp_args:No \draw_dash_pattern:nn { \l__zitie_dash_pattern_tl } { 0pt } }
\exp_after:wN \draw_path_corner_arc:nn \l__zitie_frame_arc_tl
+ \cs_if_eq:NNF \__zitie_aux_color_fill: \c_empty_tl
+ {
+ \__zitie_aux_color_fill:
+ \draw_path_rectangle_corners:nn { 0 , 0 } { \zitiewidth , \zitieheight }
+ \draw_path_use_clear:n { fill }
+ }
\zitie_frame_type_c:n { \l_zitie_frame_type_tl } { 0 } { 0 } { \zitiewidth } { \zitieheight } { 1 } { 1 }
- \draw_coffin_use:Nnn \l__zitie_box_coffin { l } { b }
+ \draw_coffin_use:Nnn \l__zitie_tmpb_coffin { l } { b }
\draw_end:
}
\zitie_new_frame_construct:nn { 口 }
{
\draw_path_rectangle_corners:nn { #1 , #2 } { #3 , #4 }
- \cs_if_eq:NNTF \__zitie_aux_color_fill: \c_empty_tl
- { \draw_path_use_clear:n { stroke } }
- { \draw_path_use_clear:n { stroke , fill } }
+ \draw_path_use_clear:n { stroke , clip }
}
\zitie_new_frame_construct:nn { 十 }
{
\draw_path_moveto:n { (#3)/2 , #2 }
- \draw_path_lineto:n { #3/2 , #4 }
+ \draw_path_lineto:n { (#3)/2 , #4 }
\draw_path_moveto:n { #1 , (#4)/2 }
\draw_path_lineto:n { #3 , (#4)/2 }
\draw_path_use_clear:n { stroke }
@@ -578,19 +691,68 @@
\zitie_frame_type_c:n { 十 } {#1} {#2} {#3} {#4} {#5} {#6}
}
+\cs_new:Npn \zitie_repeat:Nnn #1#2#3 % repeat, code, mid
+ {
+ \if_int_compare:w #1 = 1 \exp_stop_f: #2
+ \else:
+ \if_int_compare:w #1 > 1 \exp_stop_f:
+ #2 #3 \int_decr:N #1
+ \zitie_repeat:Nnn {#1} {#2} {#3}
+ \fi:
+ \fi:
+ }
+
\NewDocumentCommand \zitienewfont { s } { \IfBooleanTF {#1} { \zitie_new_font:nnn } { \zitie_new_font:n } }
+\hook_new:n { zitie/repeat }
+\hook_new_pair:nn { zitie/framesingle/before } { zitie/framesingle/after }
+\NewDocumentCommand \framesingle { O{} m }
+ {
+ \group_begin:
+ \keys_set_filter:nnn { zitie } { geometry } {#1}
+ \hook_use:n { zitie/framesingle/before }
+ \bool_if:NTF \l__zitie_savefontname_bool
+ { \tl_gset_eq:NN \zitiefontname \l__zitie_font_tl }
+ { \tl_gset_eq:NN \zitiefontname \c_empty_tl }
+ \bool_if:NTF \l__zitie_validate_glyph_bool
+ {
+ \zitieCJKfamily+ { \l__zitie_font_tl }
+ \exp_args:Nf \zitie_glyph_if_exist:NT #2
+ {
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ { \zitie_single_construct_f:N #2 }
+ { \hook_use:n { zitie/repeat } }
+ }
+ }
+ {
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ { \zitie_single_construct_f:N #2 }
+ { \hook_use:n { zitie/repeat } }
+ }
+ \hook_use:n { zitie/framesingle/after }
+ \group_end:
+ }
\hook_new_pair:nn { zitie/framezi/before } { zitie/framezi/after }
\NewDocumentCommand \framezi { s O{} m }
{
\group_begin:
\tl_if_empty:nF {#2} { \keys_set_filter:nnn { zitie } { geometry } {#2} }
+ \tex_pretolerance:D = 10000
+ \__zitie_break_max_calc:
\hook_use:n { zitie/framezi/before }
\bool_if:NTF \l__zitie_savefontname_bool
{ \tl_gset_eq:NN \zitiefontname \l__zitie_font_tl }
{ \tl_gset_eq:NN \zitiefontname \c_empty_tl }
\IfBooleanTF {#1}
- { \tl_map_inline:Nn #3 { \zitie_single_construct:N ##1 \allowbreak } }
- { \tl_map_inline:nn {#3} { \zitie_single_construct:N ##1 \allowbreak } }
+ {
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ { \tl_map_inline:Nn #3 { \zitie_single_construct:N ##1 \__zitie_break: } }
+ { \hook_use:n { zitie/repeat } }
+ }
+ {
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ { \tl_map_inline:nn {#3} { \zitie_single_construct:N ##1 \__zitie_break: } }
+ { \hook_use:n { zitie/repeat } }
+ }
\hook_use:n { zitie/framezi/after }
\group_end:
}
@@ -600,36 +762,100 @@
{
\group_begin:
\tl_if_empty:nF {#1} { \keys_set_filter:nnn { zitie } { geometry } {#1} }
+ \tex_pretolerance:D = 10000
+ \__zitie_break_max_calc:
\hook_use:n { zitie/framerange/before }
\bool_if:NTF \l__zitie_savefontname_bool
{ \tl_gset_eq:NN \zitiefontname \l__zitie_font_tl }
{ \tl_gset_eq:NN \zitiefontname \c_empty_tl }
- \clist_map_inline:nn {#2}
+ \zitie_repeat:Nnn \l__zitie_repeat_int
{
- \str_if_eq:nnF {##1} { -> }
- {
- \__zitie_frame_range_aux:Nnw \__zitie_check_num_range:nnNN {##1}
- \l__zitie_begin_int \l__zitie_end_int
- \__zitie_int_until_do:nn { \l__zitie_begin_int > \l__zitie_end_int }
- {
- \group_begin:
- \tl_set:Nf \l__zitie_curr_char_tl { \tex_Uchar:D \l__zitie_begin_int }
- \__zitie_single_construct_o:N \l__zitie_curr_char_tl
- \group_end: \allowbreak
- \int_incr:N \l__zitie_begin_int
- }
+ \clist_map_inline:nn {#2}
+ {
+ \str_if_eq:nnF {##1} { -> }
+ {
+ \__zitie_frame_range_aux:Nnw \__zitie_check_num_range:nnNN {##1}
+ \l__zitie_begin_int \l__zitie_end_int
+ \__zitie_int_until_do:nn { \l__zitie_begin_int > \l__zitie_end_int }
+ {
+ \group_begin:
+ \tl_set:Nf \l__zitie_curr_char_tl { \tex_Uchar:D \l__zitie_begin_int }
+ \zitie_single_construct_f:N \l__zitie_curr_char_tl
+ \group_end: \__zitie_break:
+ \int_incr:N \l__zitie_begin_int
+ }
+ }
+ \hook_use:n { zitie/framerange/range }
}
- \hook_use:n { zitie/framerange/range }
}
+ { \hook_use:n { zitie/repeat } }
\hook_use:n { zitie/framerange/after }
\group_end:
}
\NewDocumentCommand \__zitie_frame_range_aux:Nnw { m >{ \SplitArgument { 1 } { -> } } m } { #1 #2 }
+\hook_new_pair:nn { zitie/frametallrange/before } { zitie/frametallrange/after }
+\hook_new:n { zitie/frametallrange/range }
+\int_new:N \l__zitie_tall_tmp_int
+\NewDocumentCommand \frametallrange { O{} m }
+ {
+ \group_begin:
+ \tl_if_empty:nF {#1} { \keys_set_filter:nnn { zitie } { geometry } {#1} }
+ \tex_pretolerance:D = 10000
+ \__zitie_break_max_calc:
+ \hook_use:n { zitie/frametallrange/before }
+ \bool_if:NTF \l__zitie_savefontname_bool
+ { \tl_gset_eq:NN \zitiefontname \l__zitie_font_tl }
+ { \tl_gset_eq:NN \zitiefontname \c_empty_tl }
+ \int_decr:N \l__zitie_tallheight_int
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ {
+ \clist_map_inline:nn {#2}
+ {
+ \str_if_eq:nnF {##1} { -> }
+ {
+ \__zitie_frame_range_aux:Nnw \__zitie_check_num_range:nnNN {##1}
+ \l__zitie_begin_int \l__zitie_end_int
+ \__zitie_split_range:nnnNn \l__zitie_begin_int \l__zitie_end_int { \l__zitie_tallheight_int }
+ \__zitie_tallrange_split_do:nn
+ { \__zitie_tall_par: }
+ }
+ \hook_use:n { zitie/frametallrange/range }
+ }
+ }
+ { \hook_use:n { zitie/repeat } }
+ \hook_use:n { zitie/frametallrange/after }
+ \group_end:
+ }
+\cs_new:Npn \__zitie_tallrange_split_do:nn #1#2
+ {
+ \int_set:Nn \l__zitie_tall_tmp_int {#1}
+ \int_until_do:nn { \l__zitie_tall_tmp_int > #2 }
+ {
+ \group_begin:
+ \tl_set:Nf \l__zitie_curr_char_tl { \tex_Uchar:D \l__zitie_tall_tmp_int }
+ \zitie_single_construct_f:N \l__zitie_curr_char_tl
+ \group_end: \__zitie_break:
+ \int_incr:N \l__zitie_tall_tmp_int
+ }
+ }
+\cs_new:Npn \__zitie_split_range:nnnNn #1#2#3#4#5
+ {
+ \int_set:Nn \l__zitie_begin_int {#1}
+ \int_compare:nNnTF { \l__zitie_begin_int + #3 } > {#2}
+ { #4 { \l__zitie_begin_int } {#2} #5 }
+ {
+ #4 { \l__zitie_begin_int } { \l__zitie_begin_int + #3 }
+ #5
+ \__zitie_split_range:nnnNn { \l__zitie_begin_int + #3 + 1 } {#2} {#3} #4 {#5}
+ }
+ }
+\cs_new:Npn \__zitie_tall_par: % TeXbook 14.15
+ { {\parfillskip=0pt\par\parskip=0pt\noindent} }
\cs_new:Npn \__zitie_construct_loop:N #1
{
\tl_if_eq:nnTF #1 \par { \par \hook_use:n { zitie/zitieframe/par } \__zitie_construct_loop:N }
- { \quark_if_nil:nF {#1} { \zitie_single_construct:N #1 \allowbreak \__zitie_construct_loop:N } }
+ { \quark_if_nil:nF {#1} { \zitie_single_construct:N #1 \__zitie_break: \__zitie_construct_loop:N } }
}
\hook_new_pair:nn { zitie/zitieframe/before } { zitie/zitieframe/after }
\hook_new:n { zitie/zitieframe/par }
@@ -638,12 +864,16 @@
\group_begin:
\lineskip=0pt \parindent=0pt \parskip=0pt \raggedright
\tl_if_empty:nF {#2} { \keys_set:nn { zitie } {#2} }
+ \tex_pretolerance:D = 10000
+ \__zitie_break_max_calc:
\hook_use:n { zitie/zitieframe/before }
#1
\bool_if:NTF \l__zitie_savefontname_bool
{ \tl_gset_eq:NN \zitiefontname \l__zitie_font_tl }
{ \tl_gset_eq:NN \zitiefontname \c_empty_tl }
- \__zitie_construct_loop:N #3 \q_nil
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ { \__zitie_construct_loop:N #3 \q_nil }
+ { \hook_use:n { zitie/repeat } }
} { \hook_use:n { zitie/zitieframe/after } \group_end: }
\hook_new_pair:nn { zitie/framezifile/before } { zitie/framezifile/after }
@@ -651,6 +881,8 @@
{
\group_begin:
\tl_if_empty:nF {#2} { \keys_set_filter:nnn { zitie } { geometry } {#2} }
+ \tex_pretolerance:D = 10000
+ \__zitie_break_max_calc:
\hook_use:n { zitie/framezifile/before }
\bool_if:NTF \l__zitie_savefontname_bool
{ \tl_gset_eq:NN \zitiefontname \l__zitie_font_tl }
@@ -658,17 +890,85 @@
\IfBooleanTF {#1}
{
\file_get:nnN {#3} { } \l__zitie_file_chars_tl
- \tl_map_inline:Nn \l__zitie_file_chars_tl { \zitie_single_construct:N ##1 \allowbreak }
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ { \tl_map_inline:Nn \l__zitie_file_chars_tl { \zitie_single_construct:N ##1 \__zitie_break: } }
+ { \hook_use:n { zitie/repeat } }
}
{
\ior_open:Nn \g__zitie_file_read_ior {#3}
- \ior_map_inline:Nn \g__zitie_file_read_ior
- { \tl_map_inline:nn {##1} { \zitie_single_construct:N ####1 \allowbreak } }
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ {
+ \ior_map_inline:Nn \g__zitie_file_read_ior
+ { \tl_map_inline:nn {##1} { \zitie_single_construct:N ####1 \__zitie_break: } }
+ }
+ { \hook_use:n { zitie/repeat } }
\ior_close:N \g__zitie_file_read_ior
}
\hook_use:n { zitie/framezifile/after }
\group_end:
}
+\hook_new_pair:nn { zitie/framezitallfile/before } { zitie/framezitallfile/after }
+\NewDocumentCommand \framezitallfile { s O{} m }
+ {
+ \group_begin:
+ \tl_if_empty:nF {#2} { \keys_set_filter:nnn { zitie } { geometry } {#2} }
+ \tex_pretolerance:D = 10000
+ \__zitie_break_max_calc:
+ \hook_use:n { zitie/framezitallfile/before }
+ \bool_if:NTF \l__zitie_savefontname_bool
+ { \tl_gset_eq:NN \zitiefontname \l__zitie_font_tl }
+ { \tl_gset_eq:NN \zitiefontname \c_empty_tl }
+ \int_decr:N \l__zitie_tallheight_int
+ \IfBooleanTF {#1}
+ {
+ \file_get:nnN {#3} { } \l__zitie_file_chars_tl
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ { \__zitie_tallfile_get_aux:N \l__zitie_file_chars_tl }
+ { \hook_use:n { zitie/repeat } }
+ }
+ {
+ \ior_open:Nn \g__zitie_file_read_ior {#3}
+ \zitie_repeat:Nnn \l__zitie_repeat_int
+ { \__zitie_tallfile_ior_aux:N \g__zitie_file_read_ior }
+ { \hook_use:n { zitie/repeat } }
+ \ior_close:N \g__zitie_file_read_ior
+ }
+ \hook_use:n { zitie/framezitallfile/after }
+ \group_end:
+ }
+\cs_new:Npn \__zitie_tallfile_get_aux:N #1
+ {
+ \int_zero:N \l__zitie_tall_tmp_int
+ \tl_map_inline:Nn #1
+ {
+ \zitie_single_construct:N ##1
+ \if_int_compare:w \l__zitie_tall_tmp_int < \l__zitie_tallheight_int
+ \int_incr:N \l__zitie_tall_tmp_int
+ \__zitie_break:
+ \else:
+ \int_zero:N \l__zitie_tall_tmp_int
+ \__zitie_tall_par:
+ \fi:
+ }
+ }
+\cs_new:Npn \__zitie_tallfile_ior_aux:N #1
+ {
+ \int_zero:N \l__zitie_tall_tmp_int
+ \ior_map_inline:Nn #1
+ {
+ \tl_map_inline:nn {##1}
+ {
+ \zitie_single_construct:N ####1
+ \if_int_compare:w \l__zitie_tall_tmp_int < \l__zitie_tallheight_int
+ \int_incr:N \l__zitie_tall_tmp_int
+ \__zitie_break:
+ \else:
+ \int_zero:N \l__zitie_tall_tmp_int
+ \__zitie_tall_par:
+ \fi:
+ }
+ }
+ }
\if_bool:N \g__zitie_enable_background_bool
@@ -774,23 +1074,23 @@
} ,
frametype .tl_gset:N = \g__zitie_background_frametype_tl ,
linewidth .dim_gset:N = \g__zitie_background_linewidth_dim ,
- framecolor .code:n = { \zitie_color_select:nn { zitiebackgroundframecolor } {#1} } ,
- framecolor* .code:n = { \zitie_color_select:nnn { zitiebackgroundframecolor } #1 } ,
+ framecolor .code:n = { \zitie_color_set:nn { zitiebackgroundframecolor } {#1} } ,
+ framecolor* .code:n = { \zitie_color_set:nnn { zitiebackgroundframecolor } #1 } ,
fillcolor .code:n =
{
\exp_args:Nx \tl_if_empty:nTF {#1}
{
- \zitie_color_select:nn { zitiebackgroundfillcolor } { white }
+ \zitie_color_set:nn { zitiebackgroundfillcolor } { white }
\cs_gset_nopar:Npn \__zitie_background_aux_color_fill: { }
}
{
- \zitie_color_select:nn { zitiebackgroundfillcolor } {#1}
+ \zitie_color_set:nn { zitiebackgroundfillcolor } {#1}
\cs_gset_nopar:Npn \__zitie_background_aux_color_fill: { \color_fill:n {#1} }
}
} ,
fillcolor* .code:n =
{
- \zitie_color_select:nnn { zitiebackgroundfillcolor } #1
+ \zitie_color_set:nnn { zitiebackgroundfillcolor } #1
\cs_gset_nopar:Npn \__zitie_background_aux_color_fill: { \color_fill:nn #1 }
} ,
dashpattern .tl_gset:N = \g__zitie_background_dash_pattern_tl ,
@@ -849,10 +1149,10 @@
\hook_gput_code:nnn { shipout/#1 } { zitie/background }
{ \put ( \dim_eval:n {#2} , \dim_eval:n {#3} ) { \__zitie_background_construct_draw: } }
}
-\cs_new_protected:Npn \__zitie_background_construct:nnnn #1#2#3#4
+\cs_new_protected:Npn \__zitie_background_construct:nnnnn #1#2#3#4#5
{
\hook_gput_code:nnn { shipout/#1 } { zitie/background/#2 }
- { \put ( \dim_eval:n {#3} , \dim_eval:n {#4} ) { \__zitie_background_construct_draw: } }
+ { \put ( \dim_eval:n {#3} , \dim_eval:n {#4} ) {#5} }
}
\cs_new_protected:Npn \__zitie_background_next_construct:nnn #1#2#3
{
@@ -871,18 +1171,29 @@
\tl_if_empty:NF \g__zitie_background_dash_pattern_tl
{ \exp_args:No \draw_dash_pattern:nn { \g__zitie_background_dash_pattern_tl } { 0pt } }
\draw_linewidth:n { \g__zitie_background_linewidth_dim }
- \__zitie_background_aux_color_fill:
+ \draw_path_rectangle_corners:nn
+ { 0cm - .5\g__zitie_background_linewidth_dim , 0cm - .5\g__zitie_background_linewidth_dim }
+ {
+ \g__zitie_background_x_right_dim - \g__zitie_background_x_left_dim + .5\g__zitie_background_linewidth_dim ,
+ \g__zitie_background_y_bottom_dim - \g__zitie_background_y_top_dim + .5\g__zitie_background_linewidth_dim
+ }
+ \cs_if_eq:NNTF \__zitie_background_aux_color_fill: \c_empty_tl
+ { \draw_path_use_clear:n { clip } }
+ { \color_fill:n { zitiebackgroundfillcolor } \draw_path_use_clear:n { clip , fill } }
\color_stroke:n { zitiebackgroundframecolor }
\zitie_background_frame_type_c:n { \g__zitie_background_frametype_tl }
- { 0cm } { 0cm }
- { \g__zitie_background_x_right_dim - \g__zitie_background_x_left_dim }
- { \g__zitie_background_y_bottom_dim - \g__zitie_background_y_top_dim }
+ { 0cm - .5\g__zitie_background_linewidth_dim }
+ { 0cm - .5\g__zitie_background_linewidth_dim }
+ { \g__zitie_background_x_right_dim - \g__zitie_background_x_left_dim + .5\g__zitie_background_linewidth_dim }
+ { \g__zitie_background_y_bottom_dim - \g__zitie_background_y_top_dim + .5\g__zitie_background_linewidth_dim }
{ \g__zitie_background_boxwidth_dim }
{ \g__zitie_background_boxheight_dim }
\draw_end:
}
\cs_new:Npn \zitie_background_new_frame_construct:nn #1
{ \cs_set:cn { \zitie_background_frame_type:n {#1} } }
+\cs_new:Npn \zitie_background_frame_type_set_eq:nn #1#2
+ { \cs_set_eq:cc { \zitie_background_frame_type:n {#1} } { \zitie_background_frame_type:n {#2} } }
\int_new:N \l__zitie_background_tmpa_int
\int_new:N \l__zitie_background_tmpb_int
\fp_new:N \l__zitie_background_tmpa_fp
@@ -890,13 +1201,7 @@
\zitie_background_new_frame_construct:nn { none } { }
\zitie_background_new_frame_construct:nn { 口 }
{
- \cs_if_eq:NNF \__zitie_background_aux_color_fill: \c_empty_tl
- {
- \draw_path_rectangle_corners:nn { #1 , #2 } { #3 , #4 }
- \draw_path_use_clear:n { stroke , fill }
- }
- \draw_path_grid:nnnn { #5 } { #6 } { #1 , #2 }
- { #3+\g__zitie_background_linewidth_dim, #4+\g__zitie_background_linewidth_dim }
+ \draw_path_grid:nnnn { #5 } { #6 } { #1 , #2 } { #3 , #4 }
\draw_path_use_clear:n { stroke }
}
\zitie_background_new_frame_construct:nn { 十 }
@@ -924,10 +1229,12 @@
\int_set:Nn \l__zitie_background_tmpb_int { \fp_to_int:n { ceil( \dim_ratio:nn {(#4)-(#2)} {#6} ) } }
\if_int_compare:w \l__zitie_background_tmpa_int < \l__zitie_background_tmpb_int
\__zitie_background_frame_construct_aux_cross:nnnnnnnn
- {#1} {#2} {#3} {#4} {#5} {#6} { \l__zitie_background_tmpb_int } { }
+ {#1+\g__zitie_background_linewidth_dim} {#2+\g__zitie_background_linewidth_dim}
+ {#3} {#4} {#5} {#6} { \l__zitie_background_tmpb_int } { }
\else:
\__zitie_background_frame_construct_aux_cross:nnnnnnnn
- {#1} {#2} {#3} {#4} {#5} {#6} { \l__zitie_background_tmpa_int } { }
+ {#1+\g__zitie_background_linewidth_dim} {#2+\g__zitie_background_linewidth_dim}
+ {#3} {#4} {#5} {#6} { \l__zitie_background_tmpa_int } { }
\fi:
\draw_path_use_clear:n { stroke }
}
@@ -936,7 +1243,7 @@
\int_step_inline:nn {#7}
{
\draw_path_moveto:n { #1 , #2 + ##1*(#6) }
- \draw_path_lineto:n { #1 + ##1*#5 , #2 }
+ \draw_path_lineto:n { #1 + ##1*(#5) , #2 }
}
\int_step_inline:nn {#7}
{
@@ -945,12 +1252,12 @@
}
\int_step_inline:nn {#7}
{
- \draw_path_moveto:n { #1+#7*(#5)-##1 #5 , #2 }
+ \draw_path_moveto:n { #1+#7*(#5)-##1*(#5) , #2 }
\draw_path_lineto:n { #1+#7*(#5) , #2+(##1)*#6 }
}
\int_step_inline:nn {#7}
{
- \draw_path_moveto:n { #1 , #2+#7*#6-##1*(#6) }
+ \draw_path_moveto:n { #1 , #2+#7*(#6)-##1*(#6) }
\draw_path_lineto:n { #1+##1*(#5) , #2+#7*(#6) }
}
}
@@ -965,6 +1272,16 @@
\zitie_background_frame_type_c:n { 十 } {#1} {#2} {#3} {#4} {#5} {#6}
\zitie_background_frame_type_c:n { × } {#1} {#2} {#3} {#4} {#5} {#6}
}
+\zitie_background_new_frame_construct:nn { 二 }
+ {
+ \draw_path_grid:nnnn { #3-#1 } { #6 } { #1 , #2 } { #3 , #4 }
+ \draw_path_use_clear:n { stroke }
+ }
+\zitie_background_new_frame_construct:nn { || }
+ {
+ \draw_path_grid:nnnn { #5 } { #4-#2 } { #1 , #2 } { #3 , #4 }
+ \draw_path_use_clear:n { stroke }
+ }
%%% end of background
\else:
\msg_new:nnn { zitie } { background }
@@ -985,23 +1302,29 @@
\zhlipsum_if_exist:nTF {#3}
{
\tl_if_empty:nF {#1} { \keys_set_filter:nnn { zitie } { geometry } {#1} }
+ \tex_pretolerance:D = 10000
+ \__zitie_break_max_calc:
\hook_use:n { zitie/framezhlipsum/before }
\bool_if:NTF \l__zitie_savefontname_bool
{ \tl_gset_eq:NN \zitiefontname \l__zitie_font_tl }
{ \tl_gset_eq:NN \zitiefontname \c_empty_tl }
- \__zhlipsum_parse_par:nn {#3} {#2}
- \seq_if_empty:NF \l__zhlipsum_par_num_seq
+ \zitie_repeat:Nnn \l__zitie_repeat_int
{
- \seq_pop_right:NN \l__zhlipsum_par_num_seq \l__zhlipsum_tmpa_tl
- \seq_map_inline:Nn \l__zhlipsum_par_num_seq
+ \__zhlipsum_parse_par:nn {#3} {#2}
+ \seq_if_empty:NF \l__zhlipsum_par_num_seq
{
- \tl_map_inline:cn { \__zitie_zhlipsum_paras:nn {#3} {##1} }
- { \zitie_single_construct:N ####1 \allowbreak }
- \hook_use:n { zitie/framezhlipsum/paragraph }
+ \seq_pop_right:NN \l__zhlipsum_par_num_seq \l__zhlipsum_tmpa_tl
+ \seq_map_inline:Nn \l__zhlipsum_par_num_seq
+ {
+ \tl_map_inline:cn { \__zitie_zhlipsum_paras:nn {#3} {##1} }
+ { \zitie_single_construct:N ####1 \__zitie_break: }
+ \hook_use:n { zitie/framezhlipsum/paragraph }
+ }
+ \tl_map_inline:cn { \__zitie_zhlipsum_paras:nn {#3} { \l__zhlipsum_tmpa_tl } }
+ { \zitie_single_construct:N ##1 \__zitie_break: }
}
- \tl_map_inline:cn { \__zitie_zhlipsum_paras:nn {#3} { \l__zhlipsum_tmpa_tl } }
- { \zitie_single_construct:N ##1 \allowbreak }
}
+ { \hook_use:n { zitie/repeat } }
\hook_use:n { zitie/framezhlipsum/after }
}
{ \__zhlipsum_error:nn { invalid-name } {#3} }
diff --git a/macros/xetex/latex/zitie/tex/zitie.xetex.def b/macros/xetex/latex/zitie/tex/zitie.xetex.def
new file mode 100644
index 0000000000..fcb7dfa69b
--- /dev/null
+++ b/macros/xetex/latex/zitie/tex/zitie.xetex.def
@@ -0,0 +1,52 @@
+\RequirePackage { xeCJK }
+\bool_lazy_and:nnT { \sys_if_platform_windows_p: }
+ { \tl_if_eq_p:NN \CJK@family \c_empty_tl }
+ { \setCJKmainfont {SimSun} }
+\cs_new:Npn \zitie_stroke_chars:nn #1#2 % operator, chars
+ { \special { pdf:code ~ q ~ #1 } #2 \special { pdf:code ~ Q } }
+\cs_new:Npn \zitiestrokechars { \zitie_stroke_chars:nn }
+
+\cs_set_eq:NN \__zitie_check_num_range:nnNN \__xeCJK_check_num_range:nnNN
+\cs_set_eq:NN \__zitie_int_until_do:nn \xeCJK_int_until_do:nn
+\cs_set_eq:NN \zitierawCJKfamily \CJKfamily
+\prg_set_eq_conditional:NNn \zitie_family_if_exist:n \xeCJK_family_if_exist:n { T, F, TF }
+\prg_set_eq_conditional:NNn \zitie_glyph_if_exist:N \xeCJK_glyph_if_exist:N { p, T, F, TF }
+\cs_new_nopar:Npn \__zitie_font_select:nN #1
+ {
+ \zitie_family_if_exist:nTF { \c_zitie_font_name_prefix_tl #1 }
+ { \zitierawCJKfamily+ { \c_zitie_font_name_prefix_tl #1 } }
+ { \zitierawCJKfamily+ {#1} }
+ }
+\NewDocumentCommand \zitieCJKfamily { t+ t- m }
+ {
+ \zitie_family_if_exist:nTF { \c_zitie_font_name_prefix_tl #3 }
+ { \xeCJK_family:NNx #1 #2 { \c_zitie_font_name_prefix_tl #3 } }
+ { \xeCJK_family:NNx #1 #2 {#3} }
+ \tex_ignorespaces:D
+ }
+\cs_new:Npn \__zitie_new_font_family:nnn #1#2#3 % family name, font name, feature
+ { \__xeCJK_pass_args:nnnn { \xeCJK_set_family:nnn { \c_zitie_font_name_prefix_tl #1 } } {#3} {#2} { } }
+\cs_new:Npn \__zitie_new_font_family_validate:nnn #1#2#3
+ {
+ \zitie_font_if_exist:nTF {#2} { \__zitie_new_font_family:nnn {#1} {#2} {#3} }
+ { \msg_warning:nnn { zitie } { font-exist } {#2} }
+ }
+\cs_new:Npn \zitie_token_class_dispatch:Nnnnn #1
+ {
+ \if_case:w \xeCJK_token_value_class:N #1 \exp_stop_f:
+ \exp_after:wN \use_none:nnn % other
+ \or: \exp_after:wN \use_i:nnnn % CJK
+ \or: \exp_after:wN \use_ii:nnnn % FullLeft
+ \or: \exp_after:wN \use_iii:nnnn % FullRight
+ \else: \exp_after:wN \use_none:nnn % other
+ \fi:
+ }
+\prg_new_conditional:Npnn \zitie_token_if_punctuation:N #1 { p, T, F, TF }
+ {
+ \int_compare:nNnTF { \xeCJK_token_value_class:N #1 } > 1
+ {
+ \int_compare:nNnTF { \xeCJK_token_value_class:N #1 } < 6
+ { \prg_return_true: } { \prg_return_false: }
+ }
+ { \prg_return_false: }
+ } \ No newline at end of file
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 336efec659..4e8b8d1ac0 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -9,6 +9,7 @@ $mirrors = {
'South Africa' => {
'http://ftp.sun.ac.za/ftp/CTAN/' => 1,
'https://ftp.leg.uct.ac.za/pub/packages/ctan/' => 1,
+ 'https://mirror.ufs.ac.za/ctan/' => 1,
},
},
'Asia' => {
@@ -49,6 +50,7 @@ $mirrors = {
'https://cran.asia/tex/' => 1,
'https://ftp.harukasan.org/CTAN/' => 1,
'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
+ 'https://mirror.kakao.com/CTAN/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
'https://mirror.yongbok.net/ctan/' => 1,
},
@@ -155,7 +157,6 @@ $mirrors = {
'https://ctan.ijs.si/tex-archive/' => 1,
},
'Spain' => {
- 'https://ctan.javinator9889.com/' => 1,
'https://osl.ugr.es/CTAN/' => 1,
},
'Sweden' => {
@@ -176,6 +177,7 @@ $mirrors = {
'https://ctan.mirror.rafal.ca/' => 1,
'https://mirror.0xem.ma/tex-archive/' => 1,
'https://mirror.csclub.uwaterloo.ca/CTAN/' => 1,
+ 'https://mirror.its.dal.ca/ctan/' => 1,
'https://muug.ca/mirror/ctan/' => 1,
},
'Costa Rica' => {
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 5e15743243..2f12a6cf30 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2021
-depend revision/60663
+depend revision/60676
name 00texlive.image
category TLCore
@@ -4465,7 +4465,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 60657
+revision 60665
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
@@ -88231,7 +88231,7 @@ catalogue-topics typesetting
name decision-table
category Package
-revision 57094
+revision 60673
shortdesc An easy way to create Decision Model and Notation decision tables
relocated 1
longdesc The decision-table package allows for an easy way to generate
@@ -88245,26 +88245,26 @@ longdesc environment. Furthermore, this allows labels and captions to be
longdesc added seamlessly. It is also possible to place multiple DMN
longdesc tables in one table/figure environment. The package relies on
longdesc nicematrix and l3keys2e.
-containersize 1672
-containerchecksum 2e89be9bbbc6a6f0fef9f3eb3caa63a6f8c6b749df1057f712d5153a78d4b15542f1fb30d3d5f5078d99a1b45f4d4e92be44d7c631eb86e349e56b03dcb4c93b
-doccontainersize 108752
-doccontainerchecksum cdfa48c2835b48f5b0f7d454a4255128613b0f3f9bd2d750b8107c7d8eef1a36aaca3ff6aecc6cfbb1572fd2dca109628d94b4b9419ca44d91cd1ddb12326cde
+containersize 2080
+containerchecksum 8a0bbe49c3ef76a7a60fff1778bfc06c2e11521e028bfcb190c85e8a38932bb1f2a97c26293a2965ee8d2e4e6d2cdda54dd2954881ac9b1b8e2506529af1ec97
+doccontainersize 107624
+doccontainerchecksum d5b9301a4308a4e2709b4c82a621fbea2af0cbd767252446f698f269b3ef131502d3db3aaec6d192642b154b546124326280ca4c1331dce64b36517db51c3bc4
docfiles size=29
RELOC/doc/latex/decision-table/README details="Readme"
RELOC/doc/latex/decision-table/decision-table.pdf details="Package documentation"
-srccontainersize 4736
-srccontainerchecksum 12f617e0aeedfae0cfd2e2a1fadad55cbfaeb51abdd2faea829fb04c47edae811eacef4a7480cf46533c3a445eadf8a9090dc47aef0d656a3e204eb6f19a26bb
-srcfiles size=5
+srccontainersize 5920
+srccontainerchecksum c24db9cf19bf41d714d643d2be4bad5e339ba8f57175186793db0ae03b941ddfcc3584061ec4ef2aa2de550103346381d31c19a054d428210b35ef083866ba28
+srcfiles size=7
RELOC/source/latex/decision-table/decision-table.dtx
RELOC/source/latex/decision-table/decision-table.ins
-runfiles size=1
+runfiles size=3
RELOC/tex/latex/decision-table/decision-table.sty
catalogue-contact-bugs https://gitlab.com/Vadevesi/dmn-tex/-/issues
catalogue-contact-repository https://gitlab.com/Vadevesi/dmn-tex/
catalogue-ctan /macros/latex/contrib/decision-table
catalogue-license lppl1.3c
catalogue-topics diagram table planning expl3
-catalogue-version 0.0.3
+catalogue-version 0.0.4
name decorule
category Package
@@ -144166,7 +144166,7 @@ catalogue-version 2.2
name install-latex-guide-zh-cn
category Package
-revision 60134
+revision 60672
shortdesc A short introduction to LaTeX installation written in Chinese
relocated 1
longdesc This package will introduce the operations related to
@@ -144175,10 +144175,10 @@ longdesc macro packages, and compiling simple documents on Windows 10,
longdesc Ubuntu 20.04, and macOS systems, and mainly introducing command
longdesc line operations.
containersize 568
-containerchecksum 249765a02f1f575578406c8e46aea25d5866d55ffd739958803d34344d10a87190db42415149154e54ce756c0fb3a31325979e04095923b9381a6149675fa813
-doccontainersize 769484
-doccontainerchecksum 28bad95a2ca0e7f23e458d2abcb03da2394d0313db4e3ebe2f6c1501ca34a6105310768c9972977974298a06e3ba074925a03666ec2c3ebfd515cc2cf1e8d2f4
-docfiles size=220
+containerchecksum 1e42256b268c6c1c13cd26e61271d42694a91f325614ea918bd3fd97390ec9e0cf00220b7ee430f9013b7c4d8dda40dcf8b8c6dd5b9b9e3008e23ed9a5c2dc3c
+doccontainersize 772896
+doccontainerchecksum e17bac5cf8a6288a9ff73fac39b8b046761a6fd6bae1a4710ec87197c0a951ff18208666fce4bb36d5e88b338b171d318125fe2fa1e8302d7517a3bd2daba994
+docfiles size=221
RELOC/doc/latex/install-latex-guide-zh-cn/LICENSE
RELOC/doc/latex/install-latex-guide-zh-cn/README.md details="Readme"
RELOC/doc/latex/install-latex-guide-zh-cn/appendix/mirror.tex
@@ -144200,7 +144200,7 @@ catalogue-contact-repository https://github.com/OsbertWang/install-latex-guide-z
catalogue-ctan /info/install-latex-guide-zh-cn
catalogue-license lppl1.3c
catalogue-topics chinese-doc tutorial
-catalogue-version 2021.8.1
+catalogue-version 2021.10.1
name installfont
category Package
@@ -187460,7 +187460,7 @@ catalogue-version 0.1p
name lwarp
category Package
-revision 60345
+revision 60674
shortdesc Converts LaTeX to HTML
longdesc This package converts LaTeX to HTML by using LaTeX to process
longdesc the user's document and generate HTML tags. External utility
@@ -187480,20 +187480,20 @@ longdesc utilities, and Perl. Detailed installation instructions are
longdesc included for each of the major operating systems and TeX
longdesc distributions. A quick-start tutorial is provided.
depend lwarp.ARCH
-containersize 206168
-containerchecksum c76bdd266d1b12ba2ffe785fb06815cc18215ed72edcc5155228194039a76828c720d73b8366ba58580a0fc3caa3ef33548500f7ecb6a7e284b221fe84bcf995
-doccontainersize 3003776
-doccontainerchecksum 8c75ba3eae72f257b40defa7dbcc597ae1cba4c2974ebd1173e02d44c03992d7e3da9e4b3c72ef5fe35f0d69359fe74bfe36e2957d74fcf244d10aed9f0747cf
-docfiles size=768
+containersize 207484
+containerchecksum 37b2e031e75fad5fb8ce276c7bb9acc67dd38558f25394c099519c5535a8a0e27385bfe88c7de25b3435fc308115cf18830b24693c486fa918f87693d254e7fa
+doccontainersize 3007440
+doccontainerchecksum 7d325390f3e07ed8c0533ffd39b7bd4417daa90b5ee88be1312ae925a1242ba8f67d14dc9385830d81e21d643c4a9f0bb3caf60f59bb26154c81f12166fcf48d
+docfiles size=770
texmf-dist/doc/latex/lwarp/README.txt details="Readme"
texmf-dist/doc/latex/lwarp/lwarp.pdf details="Package documentation"
texmf-dist/doc/latex/lwarp/lwarp_tutorial.txt details="Quick-start tutorial"
-srccontainersize 445160
-srccontainerchecksum afa7315a84b760733dba1e07f320efe7ca0c8a6335813bd68f595b00f797ef613ed7d0370dc18265e87bebf58a751cae6a1621493ee6eedb28c17a1a95375187
-srcfiles size=680
+srccontainersize 447516
+srccontainerchecksum c7240a571ffc5b5e7a09adede558b0996450789c40217919173244d25dc7565a6aef5cebdc0df1ead8eeab5ad0d996c0f2d1930ae4d9651a0824e22ffede26ea
+srcfiles size=683
texmf-dist/source/latex/lwarp/lwarp.dtx
texmf-dist/source/latex/lwarp/lwarp.ins
-runfiles size=787
+runfiles size=791
texmf-dist/scripts/lwarp/lwarpmk.lua
texmf-dist/tex/latex/lwarp/lwarp-2in1.sty
texmf-dist/tex/latex/lwarp/lwarp-2up.sty
@@ -187541,6 +187541,7 @@ runfiles size=787
texmf-dist/tex/latex/lwarp/lwarp-backref.sty
texmf-dist/tex/latex/lwarp/lwarp-balance.sty
texmf-dist/tex/latex/lwarp/lwarp-bbding.sty
+ texmf-dist/tex/latex/lwarp/lwarp-beamerarticle.sty
texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty
texmf-dist/tex/latex/lwarp/lwarp-bibunits.sty
texmf-dist/tex/latex/lwarp/lwarp-bigdelim.sty
@@ -187976,6 +187977,7 @@ runfiles size=787
texmf-dist/tex/latex/lwarp/lwarp-supertabular.sty
texmf-dist/tex/latex/lwarp/lwarp-svg.sty
texmf-dist/tex/latex/lwarp/lwarp-swfigure.sty
+ texmf-dist/tex/latex/lwarp/lwarp-sympytex.sty
texmf-dist/tex/latex/lwarp/lwarp-syntonly.sty
texmf-dist/tex/latex/lwarp/lwarp-tabfigures.sty
texmf-dist/tex/latex/lwarp/lwarp-tablefootnote.sty
@@ -188083,7 +188085,7 @@ catalogue-contact-home http://bdtechconcepts.com/
catalogue-ctan /macros/latex/contrib/lwarp
catalogue-license lppl1.3
catalogue-topics cvt-html
-catalogue-version 0.901
+catalogue-version 0.902
name lwarp.aarch64-linux
category Package
@@ -190510,7 +190512,7 @@ catalogue-version 1.4b
name markdown
category Package
-revision 60394
+revision 60667
shortdesc A package for converting and rendering markdown documents inside TeX
relocated 1
longdesc The package provides facilities for the conversion of markdown
@@ -190523,30 +190525,30 @@ longdesc down and rewritten for the needs of the package. Lunamark
longdesc provides speedy markdown parsing for the rest of the package.
longdesc On top of Lunamark sits code for the plain TeX, LaTeX, and
longdesc ConTeXt formats by Vit Novotny.
-containersize 33808
-containerchecksum e821b4097bc93f5fc93dfd6133bb8a54a9651cb96ef775b9a26e043350642152570ed85187a552ad57dec105a30051ba480c6b559d133af5b081fed255259edd
-doccontainersize 775388
-doccontainerchecksum 69446b572f5053ab969dbd0eeee1d1a4e488e576066ae71f9fc14e39dfb79e5b79c4c06d9a936b8496fb02d791ea35b73a3481a22065118e5bfd2cf8f9a5d9f3
-docfiles size=340
+containersize 40256
+containerchecksum 9e0a0cc36d95aff7567a90c64fe3ab81459175c64fee4a12412184c243820f9507cee87ef1e5c49347473ea585924c24d8d386f8633774ab8360f7394d2eeb6c
+doccontainersize 879728
+doccontainerchecksum 7be13326efc5b437395e13b373e7486909446e1b34cfa965adfa02f634314738077a5ba93d8f2d503763731a656607986b55174a68ad117c57e2a3e8bd625251
+docfiles size=383
RELOC/doc/context/third/markdown/examples/context.tex
RELOC/doc/context/third/markdown/examples/example.md
RELOC/doc/context/third/markdown/examples/scientists.csv
RELOC/doc/generic/markdown/README.md details="Readme"
- RELOC/doc/generic/markdown/banner.png
RELOC/doc/generic/markdown/markdown.css
RELOC/doc/generic/markdown/markdown.html details="User Manual (HTML)"
RELOC/doc/generic/markdown/markdown.md
RELOC/doc/generic/markdown/markdown.pdf details="Technical documentation"
+ RELOC/doc/generic/markdown/markdown.png
RELOC/doc/latex/markdown/examples/example.md
RELOC/doc/latex/markdown/examples/latex.tex
RELOC/doc/latex/markdown/examples/scientists.csv
-srccontainersize 76152
-srccontainerchecksum 5a75eab449d43007fc1cd6c43539903042afc36bd75e482a1f9dbfdf83a6d655642d089fda54ac2a73f0cbc9940d290a7562771c4b8551dd5e8c0a4b8722a7dd
-srcfiles size=130
+srccontainersize 83524
+srccontainerchecksum 1ac3f533a56aa89b6afe0d7b364899f4889a4d08cdf2a00ed0e706ae7e344371225871d81cca1ba56f77cfc29681911bed1c1d37bb86c50f887295e2a4a9abf6
+srcfiles size=143
RELOC/source/generic/markdown/docstrip.cfg
RELOC/source/generic/markdown/markdown.dtx
RELOC/source/generic/markdown/markdown.ins
-runfiles size=55
+runfiles size=65
RELOC/scripts/markdown/markdown-cli.lua
RELOC/tex/context/third/markdown/t-markdown.tex
RELOC/tex/generic/markdown/markdown.tex
@@ -190554,6 +190556,7 @@ runfiles size=55
RELOC/tex/latex/markdown/markdownthemewitiko_dot.sty
RELOC/tex/latex/markdown/markdownthemewitiko_graphicx_http.sty
RELOC/tex/latex/markdown/markdownthemewitiko_tilde.sty
+ RELOC/tex/luatex/markdown/markdown-tinyyaml.lua
RELOC/tex/luatex/markdown/markdown.lua
catalogue-contact-announce https://github.com/Witiko/markdown/releases
catalogue-contact-bugs https://github.com/Witiko/markdown/issues
@@ -190562,7 +190565,7 @@ catalogue-contact-repository https://github.com/Witiko/markdown
catalogue-ctan /macros/generic/markdown
catalogue-license lppl1.3
catalogue-topics markup
-catalogue-version 2.10.1
+catalogue-version 2.11.0-0-g4505824
name marvosym
category Package
@@ -216311,38 +216314,39 @@ catalogue-version 1.1.2
name njuthesis
category Package
-revision 60529
+revision 60668
shortdesc LaTeX thesis template for Nanjing University
relocated 1
-longdesc This is a LaTeX Template for Nanjing University Bachelor
-longdesc Thesis.
-containersize 9236
-containerchecksum 8159f93484c7900af5c958feb70d012e22e5eb6bfcc3dcb3ebdb183b54e03f1076e026d7d163905a625a9ab2db6b5298a52118c3a2700b8c19add772826abf06
-doccontainersize 702212
-doccontainerchecksum 486b63b29c88b66d9469cc316863e2dc8097044b59bc4d58e20d7499bdae3800c236263aae2d64186067109300a6a1e36d95122ac9f3d136db16bda7d6e7b4cb
-docfiles size=195
+longdesc The njuthesis class is intended for typesetting Nanjing
+longdesc University dissertations with LaTeX, providing support for
+longdesc bachelor, masters, and doctoral thesis.
+containersize 81624
+containerchecksum d6f3af398613f0bf63ce9e8eaf56ccce11446371df7ebfbcb9c15da271ab10c2ef735477414f222569b228d4d8706ad86d6211c572221c71d00468d40a3d1586
+doccontainersize 765028
+doccontainerchecksum ccd11c9405005549c0eaa5ab523df3c67d08341ef3a68e575df62bc827e2fd1dafad11e78259e44a0bdcbbee54562a96a470960501a8cb2a8923ab3f9959385f
+docfiles size=193
RELOC/doc/latex/njuthesis/LICENSE
RELOC/doc/latex/njuthesis/README.md details="Readme"
- RELOC/doc/latex/njuthesis/README_EN.md
- RELOC/doc/latex/njuthesis/README_ZH_CN.md
- RELOC/doc/latex/njuthesis/figure/njulogo.pdf
- RELOC/doc/latex/njuthesis/figure/njuname-large.pdf
- RELOC/doc/latex/njuthesis/figure/njuname.pdf
- RELOC/doc/latex/njuthesis/njuthesis.pdf
-srccontainersize 19732
-srccontainerchecksum f511fe665aae0d09bbfe19fe57757832a0f912446bdf16558faa96bf70f4dad1d5ac7052cc6fe37302a97d5390343d0ebf080349f45459887552afe702e92585
-srcfiles size=18
+ RELOC/doc/latex/njuthesis/njuthesis.pdf details="Package documentation" language="zh"
+srccontainersize 97712
+srccontainerchecksum 19d3d6bf5161b0fc3e42443d644ed5c6e602c578fca62ff09a87f3cc8b450f3bef75d0eb8995d7cf40d293afbc4ff2770211c5d78bf54eb69a9fb262825cc25b
+srcfiles size=103
RELOC/source/latex/njuthesis/njuthesis.dtx
-runfiles size=9
+ RELOC/source/latex/njuthesis/njuthesis.ins
+ RELOC/source/latex/njuthesis/njuvisual.dtx
+runfiles size=90
RELOC/tex/latex/njuthesis/njuthesis.cls
+ RELOC/tex/latex/njuthesis/njuvisual.sty
+catalogue-contact-announce https://github.com/nju-lug/NJUThesis/releases
catalogue-contact-bugs https://github.com/nju-lug/NJUThesis/issues
+catalogue-contact-development https://github.com/nju-lug
catalogue-contact-home https://github.com/nju-lug
catalogue-contact-repository https://github.com/nju-lug/NJUThesis
catalogue-contact-support https://github.com/nju-lug/NJUThesis/wiki
catalogue-ctan /macros/unicodetex/latex/njuthesis
catalogue-license lppl1.3c
-catalogue-topics dissertation proposal
-catalogue-version 0.7.3
+catalogue-topics dissertation proposal latex3 chinese
+catalogue-version 0.11.0
name nkarta
category Package
@@ -248243,32 +248247,28 @@ catalogue-version 0.01
name pst-fill
category Package
-revision 15878
+revision 60671
shortdesc Fill or tile areas with PSTricks
relocated 1
longdesc Pst-fill is a PSTricks-based package for filling and tiling
longdesc areas or characters.
-containersize 3892
-containerchecksum 69401352ca7e08d6d61ce7ae89f1201f186cec6221ac3b9c2cec61c6033df03b8151ee278ab2edab6a661c49f0867d7f9e764bf45e9dbf32feed655e12239688
-doccontainersize 1121256
-doccontainerchecksum 061dcab012577f3d6e30008c15127f2f70469340598c781a436c0c8b1831d36dfce86a8cd0b802a6f174d3510ee2ed1d9269b4c894793f10d79eaf8b6d0c1ec8
-docfiles size=303
+containersize 3864
+containerchecksum 5fa4ae2e862a9297073bf0559dc46d44109d1153571eb8538650410c96f5c43a9a8c85a379690820f63a5198ac1983fdeb514bf4b1342349352f1a16ef3ee375
+doccontainersize 838084
+doccontainerchecksum ad51d3aba8d9ee19b4a53081a5956e8cf26f2673faf521af088076c6a356e321ca2fb9a0b504e61529c5a2ae49480b3918bd12235a66ad5c45035ce92e2eae92
+docfiles size=249
RELOC/doc/generic/pst-fill/Changes
RELOC/doc/generic/pst-fill/README details="Package README"
- RELOC/doc/generic/pst-fill/pst-fill.pdf details="Package documentation"
-srccontainersize 20788
-srccontainerchecksum 35540e2a923b28393b68da71fc2c15166ec6e57ebed065dee8e8c9acdd7f10eb5327224e7422851b5a32d895eca29f19755bfda2cf1e0fb569deb473921c6d63
-srcfiles size=20
- RELOC/source/generic/pst-fill/Makefile
- RELOC/source/generic/pst-fill/pst-fill.dtx
- RELOC/source/generic/pst-fill/pst-fill.ins
+ RELOC/doc/generic/pst-fill/pst-fill-doc.bib
+ RELOC/doc/generic/pst-fill/pst-fill-doc.pdf details="Package documentation"
+ RELOC/doc/generic/pst-fill/pst-fill-doc.tex
runfiles size=5
RELOC/tex/generic/pst-fill/pst-fill.tex
RELOC/tex/latex/pst-fill/pst-fill.sty
catalogue-ctan /graphics/pstricks/contrib/pst-fill
catalogue-license lppl
catalogue-topics graphics-fill-tile pstricks
-catalogue-version 1.01
+catalogue-version 1.02
name pst-fit
category Package
@@ -250918,7 +250918,7 @@ catalogue-version 1.5e
name pstricks
category Package
-revision 60607
+revision 60670
catalogue pstricks-base
shortdesc PostScript macros for TeX
relocated 1
@@ -250938,10 +250938,10 @@ longdesc pdftricks package, to generate a PDF inclusion from a PSTricks
longdesc diagram. PSTricks macros can also generate PDF output when the
longdesc document is processed XeTeX, without the need for other
longdesc supporting packages.
-containersize 86744
-containerchecksum f39d6e3881311138ba2cd436be2336d31de9436d4fdb6aa1c7f971f862c02baa9099dd239de6dfdf5bd7993cdf08b07270678ec7a0179b4bafb9cdb623cbcf7e
-doccontainersize 7526604
-doccontainerchecksum e3964f828028ce22a58e05407ba30c89b543cba279fbd02752ca8b8058fb4af787464d298796e63df3bba7747c5e5fff386d0003e1e3fbf2be16c638b3a62bb0
+containersize 86880
+containerchecksum eaa6be142743232b200b03a797bbda19777a231b016372de844ba35ca40510add815c62e93bdbf65583343029ef098646875163377d98c16ddf97a715df29239
+doccontainersize 7526600
+doccontainerchecksum b17958c1944c75df866bdefdad7be542afa0f3c718e0d90a40515b5f263832a6873bf0acd3f7b60f86117730441cb1b5656041f65974b5cca6e4d1716fa7e0f2
docfiles size=2292
RELOC/doc/generic/pstricks/PSTricks.bib
RELOC/doc/generic/pstricks/README details="Readme"
@@ -251030,7 +251030,7 @@ catalogue-contact-support https://tug.org/mailman/listinfo/pstricks
catalogue-ctan /graphics/pstricks/base
catalogue-license lppl1.3
catalogue-topics graphics-in-tex colour pstricks dvips-special xetex
-catalogue-version 3.10a
+catalogue-version 3.11
name pstricks-add
category Package
@@ -282391,7 +282391,7 @@ catalogue-version 0.1
name tabularray
category Package
-revision 60389
+revision 60675
shortdesc Typeset tabulars and arrays with LaTeX3
relocated 1
longdesc LaTeX tables are implemented using TeX commands such as
@@ -282406,15 +282406,15 @@ longdesc typeset the entire table. Under the premise of being compatible
longdesc with the basic syntax of LaTeX2 tables, this macro package will
longdesc completely separate the content and style of the table, and the
longdesc style of the table can be completely set in keyval way.
-containersize 32116
-containerchecksum 1732f96f152683896928d6986fcdcc9a713fc5d8a603cc86d388ef1360d7f513f7188fddcc2591d08442e41b0d1b2934052fe627a78c9974de5a7a5be11d43f5
-doccontainersize 611736
-doccontainerchecksum 7b5d76202d08b6eac77d573f545c2b9e766321ed4e8351f885020f2f5dab323cba6c1926064e2f779d31a85cebf346873d68e3d451f964fc40c9858ed1a92a7d
-docfiles size=198
+containersize 33080
+containerchecksum 5e7604c0bd650a556883913c90725e096a980e5528dd176b3440fd23b3214c9ac5bb446688af3fdf7f2abe2e6e3ff26aaad0aaa6ee7d6393dbb2a9627c9d9329
+doccontainersize 643244
+doccontainerchecksum 9ccce073d93e40091e06b14c52a0af6ca71ba5f099ab95975872dad9d8e573f973343e4c45d4ade7e359af016fe337ff393092eeb5fd336f5cc6706b6f2157f6
+docfiles size=207
RELOC/doc/latex/tabularray/README details="Readme"
RELOC/doc/latex/tabularray/tabularray.pdf details="Package documentation"
RELOC/doc/latex/tabularray/tabularray.tex
-runfiles size=95
+runfiles size=96
RELOC/tex/latex/tabularray/tabularray-2021.sty
RELOC/tex/latex/tabularray/tabularray.sty
catalogue-contact-bugs https://github.com/lvjr/tabularray/issues
@@ -282424,7 +282424,7 @@ catalogue-contact-support https://github.com/lvjr/tabularray/discussions
catalogue-ctan /macros/latex/contrib/tabularray
catalogue-license lppl1.3
catalogue-topics table table-long expl3
-catalogue-version 2021N
+catalogue-version 2021P
name tabulary
category Package
@@ -295303,7 +295303,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 60657
+revision 60665
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.
@@ -295311,10 +295311,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 108284
-containerchecksum 680aa70c3f3e20b08cf6f795045cc157bc8ca13734dba77da723e91894bb6cdd8d7d7d1cd38a22d7e65bf82ee992fa099cd95173cd808246915627bbc2693078
+containersize 108292
+containerchecksum 2e923166eefec604948d17a8af8f7c5a8b61f561feb49eb556cfc76007e680c0f82081d65d4003a3366aa4d4e2b37ef5a821d3498e1643e2585192cc0789230f
doccontainersize 400432
-doccontainerchecksum 97502349ca98ada241a9d67086285e63b7126871a5609debe76da388a56e5d6a028922e53670de1df45000a054e0637376814b5d3b6dac061045693d9df871a5
+doccontainerchecksum 6c8ffa9154b1680e3a189aae9b869f6b125f73e9706fd5b47de6f17eb7931fc4d328d6961e22027e8b13398f8e35a0ece6a6c2c9105975c3738171be5fcd9e67
docfiles size=496
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -302983,7 +302983,7 @@ catalogue-version 1.3
name tipauni
category Package
-revision 60220
+revision 60669
shortdesc Producing Unicode characters with TIPA commands
relocated 1
longdesc Package TIPA uses the T3 encoding for producing IPA characters.
@@ -303000,11 +303000,10 @@ longdesc ASCII-based input method for producing IPA characters in
longdesc Unicode. It needs the Charis SIL font for printing IPA
longdesc characters.
containersize 5700
-containerchecksum 7bb80abb246ce480f3b5ae8c3be694def7d9bf48e3bd9ae3ffb8616d2a10bdced4db27bbc6a64e7e537f99ec4bd78b6cb8a26ed9458e3afdfbbef5683ca68d60
-doccontainersize 456832
-doccontainerchecksum dd70404eb9e55f3d5c4ff88c240f67ad45ef65a4de8cba907f1d4200fecb18f6bc6eb84d1dd492e02f36db00f45b8824338bf814c31469a5456ad7af4eeb130c
-docfiles size=128
- RELOC/doc/latex/tipauni/COPYING
+containerchecksum 38ed0adc940cbbc1008079b542f5207341b7ee47da571a309c6786c43b505c9afd73ebe08e20200d914de30283c30897be1b139de1a828c52858b0543631e766
+doccontainersize 397864
+doccontainerchecksum bef81b313c0e9e738bdf6c9bfce2d4905c8dc886203c392c55a4b90796df91b40a9440e7e23f63cc76b947df1bfd9cfdf247291ea27d9fbec9070ed380e36048
+docfiles size=109
RELOC/doc/latex/tipauni/README.txt details="Readme"
RELOC/doc/latex/tipauni/tipauni-commands.pdf details="Sample file"
RELOC/doc/latex/tipauni/tipauni-commands.tex
@@ -303012,7 +303011,7 @@ docfiles size=128
RELOC/doc/latex/tipauni/tipauni-example.tex
RELOC/doc/latex/tipauni/tipauni.pdf details="Package documentation"
srccontainersize 12520
-srccontainerchecksum 35db690d55ef5684eea697bf4fe09de73800521203468a021294aa73d9bdfa50cf6c73ec5754ea95381f04aba17945c5d1c3efae32e957a7ece81a2f1be8d4cb
+srccontainerchecksum 4c73876a8fd9e465249d712cb2d4ebe29eba59ef4c66a2e58353feb303bad6a2e4abb640814eaeb6b4f32def15a5b464395bff1a28b556d5c6a6dba24778c155
srcfiles size=14
RELOC/source/latex/tipauni/tipauni.dtx
RELOC/source/latex/tipauni/tipauni.ins
@@ -303023,7 +303022,7 @@ catalogue-contact-repository https://gitlab.com/niruvt/tipauni
catalogue-ctan /macros/unicodetex/latex/tipauni
catalogue-license gpl3+ fdl
catalogue-topics phonetic linguistic unicode
-catalogue-version 0.2
+catalogue-version 0.3
name tipfr
category Package
@@ -341996,27 +341995,29 @@ catalogue-version 2.1
name zitie
category Package
-revision 60595
+revision 60676
shortdesc Create CJK character calligraphy practicing sheets
relocated 1
longdesc This is a LaTeX package for creating CJK character calligraphy
longdesc practicing sheets (copybooks). Currently, only XeTeX is
longdesc supported.
-containersize 7316
-containerchecksum 54e00cb6d4202fce7012f8d49a69deb29a87a39bb029642a05f5a1c5dd1077cbd125be72ac06172f4cdbec91dff674f93b7ccd92d0eccbd39ba22953c2fdc05a
-doccontainersize 292028
-doccontainerchecksum c0cf2151e202b1d9b08befec52c4daee75406e0601e24983a47bb722a1e7e1e4429e19482aeb04bf62dbc8da157f43ddac8f02a8115034f9594a1f616d094e04
-docfiles size=79
+containersize 9584
+containerchecksum 10769951705e67bb929643e39d5480c4c2337a68f59ede2d77b2f8ddc3e2d6363c873d0e8e480a85e02f2062736570fa74171c862e50af73efa941a4d93cdd58
+doccontainersize 345476
+doccontainerchecksum 84f8e20beec5ba5ffbd79c6ffa68f0530b285761a8de6ed53e621ef39c0c14f59c33d76373581f94f10b1149a9fe5c92c1c74bbe2c4d6b8aa589d3a574bd9153
+docfiles size=94
RELOC/doc/xelatex/zitie/README.md details="Readme"
RELOC/doc/xelatex/zitie/zitie-cn.pdf details="Package documentation" language="zh"
RELOC/doc/xelatex/zitie/zitie-cn.tex
-runfiles size=11
+runfiles size=16
+ RELOC/tex/xelatex/zitie/zitie.luatex.def
RELOC/tex/xelatex/zitie/zitie.sty
+ RELOC/tex/xelatex/zitie/zitie.xetex.def
catalogue-contact-repository https://github.com/Sophanatprime/zitie
catalogue-ctan /macros/xetex/latex/zitie
catalogue-license lppl1.3c
catalogue-topics chinese xetex expl3
-catalogue-version 1.1
+catalogue-version 1.4.0
name zlmtt
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index a6ab34d255..f9734d1c99 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-460ed3ca56cac61e81a3075f040be8fb texlive.tlpdb
+b30bf1e67d43ce6264ed89a96c4bd266 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 652ff32d00..4b11fdb195 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-12fd5d4ea5897d8d0a490e1236fb9599a6da0ee1913834e37559c56e5a4b0a581c992df927ccf81bb8b47cf08396f2fb19688c23ce347fd3a4c254cd98021f67 texlive.tlpdb
+be4b6623150a88cbdf0883fb011484a08629eda60c9f8dc9260ab8d073f81bb4a1a3941443faad2893bd504ec2ae1eb0efef9fdc99384aef231352377161f28e texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index e3d389fc9b..0e9e04a89b 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-----
-iQEcBAEBCgAGBQJhVlBSAAoJEEzhh34ZQ4xwU0QIAKgU/qiO4ugHrSiZ36B4zEWF
-JwsF8EsZT+droV2KGJGpZ+StR/Ukn92PKLNW4OL9uyCx9Eu5MDyssxxZuxI3cb+q
-DQsfIWgf/FpwRCB75KvPQaWugBSzi66ElZKsbcweVNouTWE0K4a5na1eGPVAyoUk
-uGRmQdPosNE9XVpQaEOS43uEcTExJGR8zTwh/OAEldd1gIBwPABuIbABCj4KAvZE
-bKbiraOVY3YGPzAgOCrJiaB4AVVRtMhF2ka3h2PshYG09QOy1t8ERhuwhS9PLFg+
-ANA4TNkNQ3DxlcV4xxeKQwpp1BEQB00qg8maq/7/jyU988nGal+HJGvHRIvtsIc=
-=Apjs
+iQEcBAEBCgAGBQJhV6BRAAoJEEzhh34ZQ4xwsXwH/26OwRNGIq6k4+bA2iTNPMhp
+y05CFft7OEL36cIc14vdba3AhVQgNPLvNxFTT6EvjiKPOso95Us10y3FFt5iz7L7
+ftkbv4a4SUWgBAcc/iRHtKXJI2U/KuYTuBUiFLJ4ZJbBOIGzonmXCsBL0WoLcVYe
+tQsceLXK+5CVwvqK4J2CXHcMUJ1JIFO6YLSk1yeAdXyK2svnaR3WQBCtbEu41LU0
+iiZCkTlFHjhEzkanKyN6o4QIcrSzsYn2xgiQHK2RIHXBISKGIcuJxWytQKfXRVZX
+jOVMG6jMNiqWdbnXxxnAty9u2m0MRYE/+b5uB8jD9/MduKBQpBcyf5EMa7JR3j0=
+=06pQ
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 284b4ac9af..43f7c6072f 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/TLW64/00README.TLW64 b/systems/win32/TLW64/00README.TLW64
index afa596823e..3fc8f34884 100644
--- a/systems/win32/TLW64/00README.TLW64
+++ b/systems/win32/TLW64/00README.TLW64
@@ -45,6 +45,15 @@ directory $INSTALLDIR is shown by a command:
in texmf.cnf, because the preinstalled 32bit Ghostscript is
also used in several cases.
+ gs9550w64full-gpl.exe in this directory is Ghostscript 9.55.0
+ for 64bit Windows compiled with COMPILE_INITS=0. Users can install
+ their favorite 'traineddata' files obtained from
+ https://github.com/tesseract-ocr/tessdata_best
+ into the predefined directory Resource/Tesseract in order to use
+ ocr devices. Three files, eng.traineddata, jpn.traineddata
+ and jpn_vert.traineddata, are already installed as examples.
+ The eng.traineddata is the default for ocr devices.
+
From TeX Live 2020, the version of 64bit binaries will be
synchronized with that of 32bit binaries. It is expected that
common format files can be usable for 32bit/64bit binaries.
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 82056862b2..d375d85ef1 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=1633032970
+date=1633119366
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=0f1539adfdde0c2571124c701385b742
+lstdigest=3c5620f1f90f305114a8cfdf8abb7f07
numpkg=4816
relstate=next
-version=7943
+version=7944
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: VIS/vpYTaXbpLkEt+iUvmssDJVQVt3qFmcxjeuTzRQze6OSBgApuHqKjEzWDOszqyynyCH85pPb+TcLyJt4PjhVw6I+nSAjuvMHLBZPuO0eONN+PNE9QKtD2BabTGhLP7b+k7RewJtPEzeU+3LOE9HlHfhSHdU58TGROmIDi0G477ijRCRf7qqCCun/3MEf+m4q/Bi+fQwAWcNqXpHZf2938ygCuNNrX6/5UulEPAyKGM2xHEOH70lQZm7/FHCOn16bSS/LXSqWKiwW4o/WWWnIUfNzqylub3ICuxrmbGL4PndlHJrE26HJInZed4sOuVgLMdLoOexv4ID82+uC2oQ==
+;;;; signature/miktex: emuH9AqCQboFyMNKggeRZnm6Pk3Uj85AFT1GpOosfImWdXlRH1OAX0t1BW3ubKg3w0esC7YOqy3Sqz5EL5lpfWn6oaIpaHYOFnHuM5ZsHevy5EdQ2RlDbGaK3GpdNpmlfH2Ml9XN6+m4nPaMRtZ1Ug0Bwm+ZxqKQ1IjEIA7BajCMB2u9wpxIgNjoEUJFonzvqtWW+pSqksIu0WfKdPWIFXKsvss3uxm53avSjBa6vMzU9OPertynwI8FxyyqO9pQ9jhZ/EpimOFwFh6kE+6USGYTxOTdeWa9AuFWMNM9TLZQk6cSqVeyoYITdnoV71vsB5QYBnLUDaFnX9iQgBowkQ==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index da19b5d284..db8e283ed1 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1633032698
+date=1633119092
lastupd=clicks clicks__doc clicks__source dtk-bibliography dtk-bibliography__source exesheet exesheet__doc exesheet__source expkv-def expkv-def__doc expkv-def__source light-latex-make light-latex-make__doc light-latex-make__source luakeys luakeys__doc luakeys__source luatexja luatexja__doc luatexja__source
-lstdigest=4028feae19daf34c1116913e3a88c962
+lstdigest=5f7ec07daea262d5fd50f537a884e26b
numpkg=4816
relstate=stable
-version=7943
+version=7944
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: b71rzsUr2FwxzpVwEHBXsW5u/LmmVorlaU0T85pfOxknPNzIQRBHQD8c7wiFIg5rwEFN45h8Ks4MD7RW/oCAtIJ5J1YSyBC86QiAPmY1M4o9aiqgGWNvP9W3J9wzO6HO7BhFN7iRr9yWI+nxPyoxgP9HssZ5Lp3yl/j28mLG9h7CsXjeUdFvkkRW+x9+W9iCnMuAZ7GUA46Xroy7tKN1/+taboBxHUW/nCayGQnlCOjsP7fVh7agDyI2jzKODsra7qolx7vTxXZTlfz1Q8PfbJIjVyKEvSohPuh/JHTPJ8vuuShH/KvZIu2dJnbDT2by7d9SENbArK0MA/OAyjtWPg==
+;;;; signature/miktex: kdbge4R3EXirYAyNX/ojG4fYNpYU3jIhlnvR6sb08LrXmip7ZkRUO7kBiCArC2xiaCelLn/wFJiMk+ohX7yzLLUYNwMwgGD+6l5TQz0NNODbJrpNEO1G6bNYWDsQW2t90FAZp9wNM8Y/KlQUQDFDXvIagTyvimM5ri2eR/gRCP3vkaFttGreQANW0tzNE+5HeNQZPxTAHq1Wav5maOivfjr6xTLMfhV/erUQu0Lrht5H9BlOnf0X6zFIXOFVmpJjCxDJgA3T4jA2VVzLPcdjBmYNV/FM4UdK2+8rtxt1JN+3jsQpVUn2L6l0K8k2ndJKezQG4dQpvR9YPImzH2Gn0Q==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index b07728c08a..867a9da113 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-10-01-02-02
+2021-10-02-02-02
diff --git a/usergrps/usergrps/bg.html b/usergrps/usergrps/bg.html
index 705e32f8b6..e5645b4143 100644
--- a/usergrps/usergrps/bg.html
+++ b/usergrps/usergrps/bg.html
@@ -293,7 +293,7 @@ Bulgaria
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/br.html b/usergrps/usergrps/br.html
index cf4f959bca..c67c374d4d 100644
--- a/usergrps/usergrps/br.html
+++ b/usergrps/usergrps/br.html
@@ -285,7 +285,7 @@
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/cn.html b/usergrps/usergrps/cn.html
index 48d0c53943..64343786df 100644
--- a/usergrps/usergrps/cn.html
+++ b/usergrps/usergrps/cn.html
@@ -299,7 +299,7 @@ China
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/cz.html b/usergrps/usergrps/cz.html
index 84210ba71d..4497734ea7 100644
--- a/usergrps/usergrps/cz.html
+++ b/usergrps/usergrps/cz.html
@@ -295,7 +295,7 @@ Czech Republic
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/de.html b/usergrps/usergrps/de.html
index 332b38c67b..7d8fac1485 100644
--- a/usergrps/usergrps/de.html
+++ b/usergrps/usergrps/de.html
@@ -298,7 +298,7 @@ Germany
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/dk.html b/usergrps/usergrps/dk.html
index e66dd9affb..bb9e47e0b4 100644
--- a/usergrps/usergrps/dk.html
+++ b/usergrps/usergrps/dk.html
@@ -291,7 +291,7 @@ Denmark
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/ee.html b/usergrps/usergrps/ee.html
index 03957bacfd..44504ffec5 100644
--- a/usergrps/usergrps/ee.html
+++ b/usergrps/usergrps/ee.html
@@ -287,7 +287,7 @@ EE 2444 Estonia
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/es.html b/usergrps/usergrps/es.html
index b88c273732..c2c590ea4f 100644
--- a/usergrps/usergrps/es.html
+++ b/usergrps/usergrps/es.html
@@ -287,7 +287,7 @@ Spain
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/esc.html b/usergrps/usergrps/esc.html
index e947531e12..879bd41ce2 100644
--- a/usergrps/usergrps/esc.html
+++ b/usergrps/usergrps/esc.html
@@ -288,7 +288,7 @@ Spain
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/fr.html b/usergrps/usergrps/fr.html
index 10fd32e689..2ba2d2499f 100644
--- a/usergrps/usergrps/fr.html
+++ b/usergrps/usergrps/fr.html
@@ -293,7 +293,7 @@ FRANCE
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/gb.html b/usergrps/usergrps/gb.html
index bde83aba2e..569ad89a26 100644
--- a/usergrps/usergrps/gb.html
+++ b/usergrps/usergrps/gb.html
@@ -292,7 +292,7 @@ NN6 0NH
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/gr.html b/usergrps/usergrps/gr.html
index c5d55df531..12e90db06c 100644
--- a/usergrps/usergrps/gr.html
+++ b/usergrps/usergrps/gr.html
@@ -287,7 +287,7 @@ Greece
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/hu.html b/usergrps/usergrps/hu.html
index ee4fb2116e..e65083bc55 100644
--- a/usergrps/usergrps/hu.html
+++ b/usergrps/usergrps/hu.html
@@ -301,7 +301,7 @@ Hungary
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/ie.html b/usergrps/usergrps/ie.html
index 1642b45710..60559b1960 100644
--- a/usergrps/usergrps/ie.html
+++ b/usergrps/usergrps/ie.html
@@ -287,7 +287,7 @@ Ireland
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/index.html b/usergrps/usergrps/index.html
index cd596d5f1c..7722681475 100644
--- a/usergrps/usergrps/index.html
+++ b/usergrps/usergrps/index.html
@@ -163,7 +163,7 @@ the cell.
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/is.html b/usergrps/usergrps/is.html
index 4930094e52..0af7af4ebd 100644
--- a/usergrps/usergrps/is.html
+++ b/usergrps/usergrps/is.html
@@ -287,7 +287,7 @@ Iceland
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/it.html b/usergrps/usergrps/it.html
index ec4fda5c02..45d9da0623 100644
--- a/usergrps/usergrps/it.html
+++ b/usergrps/usergrps/it.html
@@ -288,7 +288,7 @@ Via Claudio 21
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/kh.html b/usergrps/usergrps/kh.html
index ae181fef5b..f7c3543bb6 100644
--- a/usergrps/usergrps/kh.html
+++ b/usergrps/usergrps/kh.html
@@ -287,7 +287,7 @@ Cambodia
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/kr.html b/usergrps/usergrps/kr.html
index 6ac22d8afb..f90869a63e 100644
--- a/usergrps/usergrps/kr.html
+++ b/usergrps/usergrps/kr.html
@@ -299,7 +299,7 @@ Republic of Korea
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/labels.pdf b/usergrps/usergrps/labels.pdf
index 5927c23b65..56e2d00d9e 100644
--- a/usergrps/usergrps/labels.pdf
+++ b/usergrps/usergrps/labels.pdf
Binary files differ
diff --git a/usergrps/usergrps/labels.tex b/usergrps/usergrps/labels.tex
index 71220c4c24..668da78a39 100644
--- a/usergrps/usergrps/labels.tex
+++ b/usergrps/usergrps/labels.tex
@@ -111,7 +111,7 @@ Seoul 100-715
Republic of Korea
Lietuvos TeX'o Vartotojų Grupė
-Akademijos
+Mokslininkų g. 2A
LT-08412 Vilnius
Lithuania
diff --git a/usergrps/usergrps/lt.html b/usergrps/usergrps/lt.html
index 4db1b0329e..4ede334984 100644
--- a/usergrps/usergrps/lt.html
+++ b/usergrps/usergrps/lt.html
@@ -149,7 +149,7 @@
<td class="tr">address
<td>
<textarea class="lug" cols="20" rows="6" name=
- "paddr">Akademijos
+ "paddr">Mokslininkų g. 2A
LT-08412 Vilnius
Lithuania
</textarea>
@@ -287,7 +287,7 @@ Lithuania
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/lugs.html b/usergrps/usergrps/lugs.html
index 94790812c2..88e7a52120 100644
--- a/usergrps/usergrps/lugs.html
+++ b/usergrps/usergrps/lugs.html
@@ -385,7 +385,7 @@ in this document.
<tr><td class="r">email: <td>tex-lietuva@googlegroups.com
<tr><td class="r">web site: <td><a href="http://ltex.lt">ltex.lt</a>
<tr><td class="r">name: <td>Linas Stonys
-<tr><td class="tr" >address: <td>Akademijos<br/>LT-08412 Vilnius<br/>Lithuania
+<tr><td class="tr" >address: <td>Mokslininkų g. 2A<br/>LT-08412 Vilnius<br/>Lithuania
<tr><td class="r">email: <td>lstonys@vtex.lt
<tr><td class="r">phone: <td>+37061288281
<tr><th class="kop"><img src="images/mx.png" width="48" alt="flag"><th class="kop" id="mx">mx - Mexico
@@ -579,7 +579,7 @@ in this document.
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:55 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/lugs.pdf b/usergrps/usergrps/lugs.pdf
index 8b3293613b..34dd4a2da8 100644
--- a/usergrps/usergrps/lugs.pdf
+++ b/usergrps/usergrps/lugs.pdf
Binary files differ
diff --git a/usergrps/usergrps/lugs.tex b/usergrps/usergrps/lugs.tex
index 63698f5035..add5e29431 100644
--- a/usergrps/usergrps/lugs.tex
+++ b/usergrps/usergrps/lugs.tex
@@ -394,7 +394,7 @@
\item[web site] \url{ltex.lt}
\subhead{President}
\item[name] Linas Stonys
-\item[address] \Longunderstack[l]{Akademijos\\LT-08412 Vilnius\\Lithuania\strut}
+\item[address] \Longunderstack[l]{Mokslininkų g. 2A\\LT-08412 Vilnius\\Lithuania\strut}
\item[email] \url{lstonys@vtex.lt}
\item[phone] +37061288281
\end{mylist}
diff --git a/usergrps/usergrps/mx.html b/usergrps/usergrps/mx.html
index cc9b9463f3..0aea5b669e 100644
--- a/usergrps/usergrps/mx.html
+++ b/usergrps/usergrps/mx.html
@@ -288,7 +288,7 @@ Mexico
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/nl.html b/usergrps/usergrps/nl.html
index de9b7ce9b6..d2ea82f9f2 100644
--- a/usergrps/usergrps/nl.html
+++ b/usergrps/usergrps/nl.html
@@ -292,7 +292,7 @@ The Netherlands
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/no.html b/usergrps/usergrps/no.html
index f52278c361..2a52ebc756 100644
--- a/usergrps/usergrps/no.html
+++ b/usergrps/usergrps/no.html
@@ -288,7 +288,7 @@ Norway
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/pl.html b/usergrps/usergrps/pl.html
index b2f057ab71..780a00121b 100644
--- a/usergrps/usergrps/pl.html
+++ b/usergrps/usergrps/pl.html
@@ -295,7 +295,7 @@ Poland
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/pt.html b/usergrps/usergrps/pt.html
index 4c1adad7d9..7dc2d7c01d 100644
--- a/usergrps/usergrps/pt.html
+++ b/usergrps/usergrps/pt.html
@@ -289,7 +289,7 @@ Portugal
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/us.html b/usergrps/usergrps/us.html
index 0f473c09c6..6b76c2d8da 100644
--- a/usergrps/usergrps/us.html
+++ b/usergrps/usergrps/us.html
@@ -287,7 +287,7 @@ USA
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/uy.html b/usergrps/usergrps/uy.html
index 10a489a83d..6a6b7c0026 100644
--- a/usergrps/usergrps/uy.html
+++ b/usergrps/usergrps/uy.html
@@ -285,7 +285,7 @@
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/vn.html b/usergrps/usergrps/vn.html
index 6a19144bbf..3a27540000 100644
--- a/usergrps/usergrps/vn.html
+++ b/usergrps/usergrps/vn.html
@@ -293,7 +293,7 @@ Việt Nam
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>
diff --git a/usergrps/usergrps/za.html b/usergrps/usergrps/za.html
index ccd2be3252..a0c297bd01 100644
--- a/usergrps/usergrps/za.html
+++ b/usergrps/usergrps/za.html
@@ -288,7 +288,7 @@ South Africa
<p id="copyright">&copy; NTG - last changed on
-2021-09-30 15:32:54 CEST
+2021-10-01 10:05:18 CEST
</div></body></html>