summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-05-02 03:04:05 +0000
committerNorbert Preining <norbert@preining.info>2022-05-02 03:04:05 +0000
commit29bacc2ed13a988db81626180c697ecff8583672 (patch)
treec38dd89d9be6eb09bc20c7b2588000f365baf25f
parentbd031e64d0627026284118a2a8ceaf112f7e04e9 (diff)
CTAN sync 202205020304
-rw-r--r--FILES.byname729
-rw-r--r--FILES.byname.gzbin2418810 -> 2418732 bytes
-rw-r--r--FILES.last07days662
-rw-r--r--info/install-latex-guide-zh-cn/appendix/updateinfo.tex7
-rw-r--r--info/install-latex-guide-zh-cn/appendix/wsladdition.tex3
-rw-r--r--info/install-latex-guide-zh-cn/chapter/ubuntu.tex76
-rw-r--r--info/install-latex-guide-zh-cn/chapter/windows.tex102
-rw-r--r--info/install-latex-guide-zh-cn/chapter/wsl.tex46
-rw-r--r--info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdfbin758391 -> 761151 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx11
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin591558 -> 591122 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex256
-rw-r--r--macros/latex/contrib/hvfloat/Changes1
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.pdfbin5031955 -> 5039170 bytes
-rw-r--r--macros/latex/contrib/hvfloat/doc/hvfloat.tex22
-rw-r--r--macros/latex/contrib/hvfloat/latex/hvfloat.sty53
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.dtx980
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.ins4
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.pdfbin1221585 -> 1261937 bytes
-rw-r--r--support/TeX4ht/source/ChangeLog6
-rw-r--r--support/TeX4ht/source/tex4ht-4ht.tex16
-rw-r--r--support/TeX4ht/source/tex4ht-mathml.tex6
-rw-r--r--support/TeX4ht/source/tex4ht-options.tex6
-rw-r--r--support/arara/README.md4
-rw-r--r--support/arara/doc/arara-manual.pdfbin1973729 -> 1193005 bytes
-rw-r--r--support/arara/doc/arara-manual.tex137
-rw-r--r--support/arara/doc/arara-quickstart.pdfbin250059 -> 211285 bytes
-rw-r--r--support/arara/doc/arara-quickstart.tex823
-rw-r--r--support/arara/doc/arara.12
-rw-r--r--support/arara/doc/arara.sty873
-rw-r--r--support/arara/doc/arararc.yaml4
-rw-r--r--support/arara/doc/chapters/building.tex163
-rw-r--r--support/arara/doc/chapters/cli.tex484
-rw-r--r--support/arara/doc/chapters/concepts.tex535
-rw-r--r--support/arara/doc/chapters/configuration.tex269
-rw-r--r--support/arara/doc/chapters/deploying.tex237
-rw-r--r--support/arara/doc/chapters/introduction.tex148
-rw-r--r--support/arara/doc/chapters/license.tex29
-rw-r--r--support/arara/doc/chapters/logging.tex169
-rw-r--r--support/arara/doc/chapters/methods.tex1010
-rw-r--r--support/arara/doc/chapters/mvel.tex242
-rw-r--r--support/arara/doc/chapters/rules.tex1857
-rw-r--r--support/arara/doc/chapters/yaml.tex106
-rw-r--r--support/arara/doc/figures/arara.pngbin140957 -> 0 bytes
-rw-r--r--support/arara/doc/figures/dropdown1.pdfbin60850 -> 0 bytes
-rw-r--r--support/arara/doc/figures/dropdown2.pdfbin59101 -> 0 bytes
-rw-r--r--support/arara/doc/figures/gl.pdf69
-rw-r--r--support/arara/doc/figures/inputbox1.pdfbin59941 -> 0 bytes
-rw-r--r--support/arara/doc/figures/inputbox2.pdfbin58249 -> 0 bytes
-rw-r--r--support/arara/doc/figures/messagebox1.pdfbin54949 -> 0 bytes
-rw-r--r--support/arara/doc/figures/messagebox2.pdfbin53224 -> 0 bytes
-rw-r--r--support/arara/doc/figures/optionbox1.pdfbin61172 -> 0 bytes
-rw-r--r--support/arara/doc/figures/optionbox2.pdfbin59540 -> 0 bytes
-rw-r--r--support/arara/doc/htmlmanualtopdf.sh208
-rw-r--r--support/arara/doc/htmlquickstarttopdf.sh84
-rw-r--r--support/arara/doc/logos/bird.pdfbin3026 -> 0 bytes
-rw-r--r--support/arara/doc/logos/logo1.pdfbin14215 -> 0 bytes
-rw-r--r--support/arara/doc/logos/logo2.pdfbin14166 -> 0 bytes
-rw-r--r--support/arara/doc/resources/CascadiaMono-ExtraLight.otfbin0 -> 273200 bytes
-rw-r--r--support/arara/doc/resources/CascadiaMono-ExtraLightItalic.otfbin0 -> 161924 bytes
-rw-r--r--support/arara/doc/resources/CascadiaMono-Italic.otfbin0 -> 168372 bytes
-rw-r--r--support/arara/doc/resources/CascadiaMono-Light.otfbin0 -> 282548 bytes
-rw-r--r--support/arara/doc/resources/CascadiaMono-LightItalic.otfbin0 -> 167028 bytes
-rw-r--r--support/arara/doc/resources/CascadiaMono-Regular.otfbin0 -> 285336 bytes
-rw-r--r--support/arara/doc/resources/arara-logo-with-text-bottom.svg309
-rw-r--r--support/arara/doc/resources/firasans-bold.otfbin0 -> 521796 bytes
-rw-r--r--support/arara/doc/resources/firasans-italic.otfbin0 -> 524840 bytes
-rw-r--r--support/arara/doc/resources/firasans-light.otfbin0 -> 505308 bytes
-rw-r--r--support/arara/doc/resources/firasans-lightitalic.otfbin0 -> 522236 bytes
-rw-r--r--support/arara/doc/resources/firasans-regular.otfbin0 -> 507828 bytes
-rw-r--r--support/arara/doc/resources/gitlab-icon.svg69
-rw-r--r--support/arara/doc/resources/manual.css356
-rw-r--r--support/arara/doc/resources/version.txt1
-rw-r--r--support/arara/doc/rules/manual.yaml41
-rw-r--r--support/arara/doc/rules/quickstart.yaml41
-rw-r--r--support/arara/doc/version.tex1
-rw-r--r--support/arara/scripts/rules/arara-rule-animate.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-asymptote.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-authorindex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-bib2gls.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-biber.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-bibtex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-bibtex8.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-bibtexu.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-clean.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-context.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-convert.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-copy.yaml3
-rw-r--r--support/arara/scripts/rules/arara-rule-csplain.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-datatooltk.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-detex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-dvipdfm.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-dvipdfmx.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-dvips.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-dvipspdf.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-dvisvgm.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-etex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-fig2dev.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-frontespizio.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-ghostscript.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-gnuplot.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-halt.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-indent.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-knitr.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-latex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-latexmk.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-llmk.yaml3
-rw-r--r--support/arara/scripts/rules/arara-rule-ltx2any.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-luahbtex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-lualatex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-luatex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-make.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-makeglossaries.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-makeindex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-metapost.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-move.yaml3
-rw-r--r--support/arara/scripts/rules/arara-rule-nomencl.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-pbibtex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-pdfcrop.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-pdfcsplain.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-pdflatex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-pdftex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-pdftk.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-perltex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-platex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-ps2pdf.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-ptex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-pythontex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-qpdf.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-sage.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-sketch.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-songidx.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-spix.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-tex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-texcount.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-texindy.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-tikzmake.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-upbibtex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-uplatex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-uptex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-xelatex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-xetex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-xindex.yaml2
-rw-r--r--support/arara/scripts/rules/arara-rule-xindy.yaml2
-rw-r--r--support/lacheck/ChangeLog5
-rw-r--r--support/lacheck/lacheck.c1457
-rw-r--r--support/lacheck/lacheck.l18
-rw-r--r--support/lacheck/test-def.tex4
-rw-r--r--support/luafindfont/CHANGELOG1
-rw-r--r--support/luafindfont/README.md1
-rw-r--r--support/luafindfont/doc/Examples/exa01.txt11
-rw-r--r--support/luafindfont/doc/Examples/exa02.txt16
-rw-r--r--support/luafindfont/doc/Examples/exa03.txt34
-rw-r--r--support/luafindfont/doc/Examples/exa04.txt14
-rw-r--r--support/luafindfont/doc/Examples/exa05.txt28
-rw-r--r--support/luafindfont/doc/Examples/exa06.txt19
-rw-r--r--support/luafindfont/doc/luafindfont-doc.pdfbin81252 -> 80641 bytes
-rw-r--r--support/luafindfont/doc/luafindfont-doc.tex33
-rw-r--r--support/luafindfont/man/luafindfont.12
-rwxr-xr-xsupport/luafindfont/scripts/luafindfont.lua44
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl1
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb146
-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.xzbin2369724 -> 2369032 bytes
-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
171 files changed, 3685 insertions, 9585 deletions
diff --git a/FILES.byname b/FILES.byname
index e1d4eec389..cdf066d3f6 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5228,7 +5228,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
-2022/04/30 | 93098 | FILES.last07days
+2022/05/01 | 84803 | 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
@@ -182692,22 +182692,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
-2022/03/23 | 5272 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex
-2022/02/25 | 3612 | info/install-latex-guide-zh-cn/appendix/wsladdition.tex
+2022/04/08 | 5482 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex
+2022/04/05 | 3458 | info/install-latex-guide-zh-cn/appendix/wsladdition.tex
2022/02/25 | 25306 | info/install-latex-guide-zh-cn/chapter/editor.tex
2022/03/23 | 6541 | info/install-latex-guide-zh-cn/chapter/macos.tex
2021/10/28 | 3833 | info/install-latex-guide-zh-cn/chapter/overleaf.tex
2021/06/01 | 2526 | info/install-latex-guide-zh-cn/chapter/preface.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/09/03 | 12115 | info/install-latex-guide-zh-cn/chapter/wsl.tex
-2022/04/01 | 758391 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
+2022/04/08 | 15078 | info/install-latex-guide-zh-cn/chapter/ubuntu.tex
+2022/04/08 | 20650 | info/install-latex-guide-zh-cn/chapter/windows.tex
+2022/04/08 | 12227 | info/install-latex-guide-zh-cn/chapter/wsl.tex
+2022/05/01 | 761151 | 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
-2022/04/01 | 799313 | info/install-latex-guide-zh-cn.zip
+2022/05/01 | 802025 | 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
@@ -186171,7 +186171,7 @@
2008/06/20 | 3954 | install/macros/xetex/plain/xetexfontinfo.tds.zip
2013/01/04 | 36361 | install/support/adhocfilelist.tds.zip
2021/11/27 | 2294905 | install/support/albatross.tds.zip
-2022/04/16 | 13764770 | install/support/arara.tds.zip
+2022/05/01 | 15583828 | install/support/arara.tds.zip
2019/11/05 | 310742 | install/support/chklref.tds.zip
2017/04/22 | 51557 | install/support/ctanify.tds.zip
2012/05/08 | 180596 | install/support/ctanupload.tds.zip
@@ -210601,12 +210601,12 @@
2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt
2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README
2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip
-2022/04/24 | 75139 | macros/latex/contrib/easybook/easybook.dtx
+2022/05/01 | 75154 | macros/latex/contrib/easybook/easybook.dtx
2022/04/21 | 2081 | macros/latex/contrib/easybook/easybook.ins
-2022/04/24 | 591558 | macros/latex/contrib/easybook/easybook.pdf
-2022/04/24 | 83443 | macros/latex/contrib/easybook/easybook.tex
+2022/05/01 | 591122 | macros/latex/contrib/easybook/easybook.pdf
+2022/05/01 | 83638 | macros/latex/contrib/easybook/easybook.tex
2022/03/12 | 799 | macros/latex/contrib/easybook/README.md
-2022/04/24 | 632821 | macros/latex/contrib/easybook.zip
+2022/05/01 | 632537 | macros/latex/contrib/easybook.zip
2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf
2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf
2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf
@@ -215403,7 +215403,7 @@
2022/04/30 | 17699 | macros/latex/contrib/hvextern/latex/hvextern.sty
2022/04/27 | 690 | macros/latex/contrib/hvextern/README
2022/04/30 | 1139170 | macros/latex/contrib/hvextern.zip
-2022/04/02 | 3993 | macros/latex/contrib/hvfloat/Changes
+2022/05/01 | 4066 | macros/latex/contrib/hvfloat/Changes
2021/06/26 | 80294 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.pdf
2021/05/17 | 2374 | macros/latex/contrib/hvfloat/doc/examples/after1s1c.tex
2021/06/26 | 86722 | macros/latex/contrib/hvfloat/doc/examples/after2s2c.pdf
@@ -215518,8 +215518,8 @@
2021/06/17 | 4184 | macros/latex/contrib/hvfloat/doc/examples/wide1s2c.tex
2021/06/26 | 121917 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.pdf
2021/06/17 | 3964 | macros/latex/contrib/hvfloat/doc/examples/wide2s2c.tex
-2022/04/02 | 5031955 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf
-2022/04/02 | 120588 | macros/latex/contrib/hvfloat/doc/hvfloat.tex
+2022/05/01 | 5039170 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf
+2022/05/01 | 120636 | macros/latex/contrib/hvfloat/doc/hvfloat.tex
2019/04/01 | 69089 | macros/latex/contrib/hvfloat/doc/images/CTAN.png
2021/03/12 | 1362739 | macros/latex/contrib/hvfloat/doc/images/felsen-wasser-small.pdf
2019/04/01 | 5208 | macros/latex/contrib/hvfloat/doc/images/frose.png
@@ -215527,9 +215527,9 @@
2019/04/01 | 2493 | macros/latex/contrib/hvfloat/doc/images/rose.png
2021/03/14 | 501524 | macros/latex/contrib/hvfloat/doc/images/sonne-meer.jpg
2021/06/20 | 918 | macros/latex/contrib/hvfloat/latex/hvfloat-fps.sty
-2022/04/02 | 69823 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
+2022/05/01 | 69796 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
2021/03/08 | 563 | macros/latex/contrib/hvfloat/README
-2022/04/02 | 14335905 | macros/latex/contrib/hvfloat.zip
+2022/05/01 | 14343080 | macros/latex/contrib/hvfloat.zip
2017/12/12 | 533 | macros/latex/contrib/hvindex/Changes
2017/12/12 | 74896 | macros/latex/contrib/hvindex/doc/hvindex-doc.pdf
2017/12/12 | 7652 | macros/latex/contrib/hvindex/doc/hvindex-doc.tex
@@ -242233,12 +242233,12 @@
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
-2022/04/09 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
-2022/04/09 | 224838 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
-2022/04/09 | 3315 | macros/unicodetex/latex/njuthesis/njuthesis.ins
-2022/04/09 | 1221585 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
-2022/04/09 | 1057 | macros/unicodetex/latex/njuthesis/README.md
-2022/04/09 | 1278660 | macros/unicodetex/latex/njuthesis.zip
+2022/05/01 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
+2022/05/01 | 238248 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
+2022/05/01 | 3315 | macros/unicodetex/latex/njuthesis/njuthesis.ins
+2022/05/01 | 1261937 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
+2022/05/01 | 1057 | macros/unicodetex/latex/njuthesis/README.md
+2022/05/01 | 1321579 | 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
@@ -266026,116 +266026,102 @@
2011/05/01 | 29792 | support/ant-worker-tasks/lib/worker-tools.jar
2011/05/01 | 1107 | support/ant-worker-tasks/README
2011/05/02 | 2079536 | support/ant-worker-tasks.zip
-2022/04/16 | 1724 | support/arara/doc/arara.1
-2022/04/16 | 1973729 | support/arara/doc/arara-manual.pdf
-2022/04/16 | 3362 | support/arara/doc/arara-manual.tex
-2022/04/16 | 250059 | support/arara/doc/arara-quickstart.pdf
-2022/04/16 | 40086 | support/arara/doc/arara-quickstart.tex
-2022/04/16 | 39 | support/arara/doc/arararc.yaml
-2022/04/16 | 33026 | support/arara/doc/arara.sty
-2022/04/16 | 12065 | support/arara/doc/chapters/building.tex
-2022/04/16 | 26880 | support/arara/doc/chapters/cli.tex
-2022/04/16 | 37238 | support/arara/doc/chapters/concepts.tex
-2022/04/16 | 20201 | support/arara/doc/chapters/configuration.tex
-2022/04/16 | 14613 | support/arara/doc/chapters/deploying.tex
-2022/04/16 | 12528 | support/arara/doc/chapters/introduction.tex
-2022/04/16 | 2108 | support/arara/doc/chapters/license.tex
-2022/04/16 | 11976 | support/arara/doc/chapters/logging.tex
-2022/04/16 | 81117 | support/arara/doc/chapters/methods.tex
-2022/04/16 | 13532 | support/arara/doc/chapters/mvel.tex
-2022/04/16 | 139883 | support/arara/doc/chapters/rules.tex
-2022/04/16 | 7353 | support/arara/doc/chapters/yaml.tex
-2022/04/16 | 140957 | support/arara/doc/figures/arara.png
-2022/04/16 | 60850 | support/arara/doc/figures/dropdown1.pdf
-2022/04/16 | 59101 | support/arara/doc/figures/dropdown2.pdf
-2022/04/16 | 1347 | support/arara/doc/figures/gl.pdf
-2022/04/16 | 59941 | support/arara/doc/figures/inputbox1.pdf
-2022/04/16 | 58249 | support/arara/doc/figures/inputbox2.pdf
-2022/04/16 | 54949 | support/arara/doc/figures/messagebox1.pdf
-2022/04/16 | 53224 | support/arara/doc/figures/messagebox2.pdf
-2022/04/16 | 61172 | support/arara/doc/figures/optionbox1.pdf
-2022/04/16 | 59540 | support/arara/doc/figures/optionbox2.pdf
-2022/04/16 | 3026 | support/arara/doc/logos/bird.pdf
-2022/04/16 | 14215 | support/arara/doc/logos/logo1.pdf
-2022/04/16 | 14166 | support/arara/doc/logos/logo2.pdf
-2022/04/16 | 1032 | support/arara/doc/rules/manual.yaml
-2022/04/16 | 1046 | support/arara/doc/rules/quickstart.yaml
-2022/04/16 | 5 | support/arara/doc/version.tex
-2022/04/16 | 4722 | support/arara/README.md
-2022/04/16 | 11876220 | support/arara/scripts/arara.jar
-2022/04/16 | 576 | support/arara/scripts/arara.sh
-2022/04/16 | 1107 | support/arara/scripts/rules/arara-rule-animate.yaml
-2022/04/16 | 1478 | support/arara/scripts/rules/arara-rule-asymptote.yaml
-2022/04/16 | 1105 | support/arara/scripts/rules/arara-rule-authorindex.yaml
-2022/04/16 | 5789 | support/arara/scripts/rules/arara-rule-bib2gls.yaml
-2022/04/16 | 839 | support/arara/scripts/rules/arara-rule-biber.yaml
-2022/04/16 | 621 | support/arara/scripts/rules/arara-rule-bibtex8.yaml
-2022/04/16 | 621 | support/arara/scripts/rules/arara-rule-bibtexu.yaml
-2022/04/16 | 592 | support/arara/scripts/rules/arara-rule-bibtex.yaml
-2022/04/16 | 1341 | support/arara/scripts/rules/arara-rule-clean.yaml
-2022/04/16 | 4254 | support/arara/scripts/rules/arara-rule-context.yaml
-2022/04/16 | 647 | support/arara/scripts/rules/arara-rule-convert.yaml
-2022/04/16 | 796 | support/arara/scripts/rules/arara-rule-copy.yaml
-2022/04/16 | 1272 | support/arara/scripts/rules/arara-rule-csplain.yaml
-2022/04/16 | 4074 | support/arara/scripts/rules/arara-rule-datatooltk.yaml
-2022/04/16 | 1837 | support/arara/scripts/rules/arara-rule-detex.yaml
-2022/04/16 | 812 | support/arara/scripts/rules/arara-rule-dvipdfmx.yaml
-2022/04/16 | 808 | support/arara/scripts/rules/arara-rule-dvipdfm.yaml
-2022/04/16 | 1278 | support/arara/scripts/rules/arara-rule-dvipspdf.yaml
-2022/04/16 | 799 | support/arara/scripts/rules/arara-rule-dvips.yaml
-2022/04/16 | 1448 | support/arara/scripts/rules/arara-rule-dvisvgm.yaml
-2022/04/16 | 1062 | support/arara/scripts/rules/arara-rule-etex.yaml
-2022/04/16 | 1672 | support/arara/scripts/rules/arara-rule-fig2dev.yaml
-2022/04/16 | 1989 | support/arara/scripts/rules/arara-rule-frontespizio.yaml
-2022/04/16 | 878 | support/arara/scripts/rules/arara-rule-ghostscript.yaml
-2022/04/16 | 950 | support/arara/scripts/rules/arara-rule-gnuplot.yaml
-2022/04/16 | 320 | support/arara/scripts/rules/arara-rule-halt.yaml
-2022/04/16 | 2990 | support/arara/scripts/rules/arara-rule-indent.yaml
-2022/04/16 | 1470 | support/arara/scripts/rules/arara-rule-knitr.yaml
-2022/04/16 | 1884 | support/arara/scripts/rules/arara-rule-latexmk.yaml
-2022/04/16 | 1610 | support/arara/scripts/rules/arara-rule-latex.yaml
-2022/04/16 | 1282 | support/arara/scripts/rules/arara-rule-llmk.yaml
-2022/04/16 | 2544 | support/arara/scripts/rules/arara-rule-ltx2any.yaml
-2022/04/16 | 1276 | support/arara/scripts/rules/arara-rule-luahbtex.yaml
-2022/04/16 | 1625 | support/arara/scripts/rules/arara-rule-lualatex.yaml
-2022/04/16 | 1268 | support/arara/scripts/rules/arara-rule-luatex.yaml
-2022/04/16 | 647 | support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml
-2022/04/16 | 2435 | support/arara/scripts/rules/arara-rule-makeglossaries.yaml
-2022/04/16 | 1503 | support/arara/scripts/rules/arara-rule-makeindex.yaml
-2022/04/16 | 984 | support/arara/scripts/rules/arara-rule-make.yaml
-2022/04/16 | 1274 | support/arara/scripts/rules/arara-rule-metapost.yaml
-2022/04/16 | 923 | support/arara/scripts/rules/arara-rule-move.yaml
-2022/04/16 | 832 | support/arara/scripts/rules/arara-rule-nomencl.yaml
-2022/04/16 | 596 | support/arara/scripts/rules/arara-rule-pbibtex.yaml
-2022/04/16 | 3253 | support/arara/scripts/rules/arara-rule-pdfcrop.yaml
-2022/04/16 | 1284 | support/arara/scripts/rules/arara-rule-pdfcsplain.yaml
-2022/04/16 | 1625 | support/arara/scripts/rules/arara-rule-pdflatex.yaml
-2022/04/16 | 1268 | support/arara/scripts/rules/arara-rule-pdftex.yaml
-2022/04/16 | 588 | support/arara/scripts/rules/arara-rule-pdftk.yaml
-2022/04/16 | 2100 | support/arara/scripts/rules/arara-rule-perltex.yaml
-2022/04/16 | 1517 | support/arara/scripts/rules/arara-rule-platex.yaml
-2022/04/16 | 809 | support/arara/scripts/rules/arara-rule-ps2pdf.yaml
-2022/04/16 | 1162 | support/arara/scripts/rules/arara-rule-ptex.yaml
-2022/04/16 | 1722 | support/arara/scripts/rules/arara-rule-pythontex.yaml
-2022/04/16 | 546 | support/arara/scripts/rules/arara-rule-qpdf.yaml
-2022/04/16 | 1324 | support/arara/scripts/rules/arara-rule-sage.yaml
-2022/04/16 | 682 | support/arara/scripts/rules/arara-rule-sketch.yaml
-2022/04/16 | 812 | support/arara/scripts/rules/arara-rule-songidx.yaml
-2022/04/16 | 651 | support/arara/scripts/rules/arara-rule-spix.yaml
-2022/04/16 | 1709 | support/arara/scripts/rules/arara-rule-texcount.yaml
-2022/04/16 | 1974 | support/arara/scripts/rules/arara-rule-texindy.yaml
-2022/04/16 | 1050 | support/arara/scripts/rules/arara-rule-tex.yaml
-2022/04/16 | 842 | support/arara/scripts/rules/arara-rule-tikzmake.yaml
-2022/04/16 | 626 | support/arara/scripts/rules/arara-rule-upbibtex.yaml
-2022/04/16 | 1522 | support/arara/scripts/rules/arara-rule-uplatex.yaml
-2022/04/16 | 1166 | support/arara/scripts/rules/arara-rule-uptex.yaml
-2022/04/16 | 1111 | support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml
-2022/04/16 | 1571 | support/arara/scripts/rules/arara-rule-xelatex.yaml
-2022/04/16 | 1512 | support/arara/scripts/rules/arara-rule-xetex.yaml
-2022/04/16 | 910 | support/arara/scripts/rules/arara-rule-xindex.yaml
-2022/04/16 | 1975 | support/arara/scripts/rules/arara-rule-xindy.yaml
-2022/04/16 | 131975 | support/arara/source/arara-6.1.7-src.zip
-2022/04/16 | 13778044 | support/arara.zip
+2022/05/01 | 1722 | support/arara/doc/arara.1
+2022/05/01 | 1193005 | support/arara/doc/arara-manual.pdf
+2022/05/01 | 211285 | support/arara/doc/arara-quickstart.pdf
+2022/05/01 | 7101 | support/arara/doc/htmlmanualtopdf.sh
+2022/05/01 | 2414 | support/arara/doc/htmlquickstarttopdf.sh
+2022/05/01 | 52445 | support/arara/doc/resources/arara-logo-with-text-bottom.svg
+2022/05/01 | 161924 | support/arara/doc/resources/CascadiaMono-ExtraLightItalic.otf
+2022/05/01 | 273200 | support/arara/doc/resources/CascadiaMono-ExtraLight.otf
+2022/05/01 | 168372 | support/arara/doc/resources/CascadiaMono-Italic.otf
+2022/05/01 | 167028 | support/arara/doc/resources/CascadiaMono-LightItalic.otf
+2022/05/01 | 282548 | support/arara/doc/resources/CascadiaMono-Light.otf
+2022/05/01 | 285336 | support/arara/doc/resources/CascadiaMono-Regular.otf
+2022/05/01 | 521796 | support/arara/doc/resources/firasans-bold.otf
+2022/05/01 | 524840 | support/arara/doc/resources/firasans-italic.otf
+2022/05/01 | 522236 | support/arara/doc/resources/firasans-lightitalic.otf
+2022/05/01 | 505308 | support/arara/doc/resources/firasans-light.otf
+2022/05/01 | 507828 | support/arara/doc/resources/firasans-regular.otf
+2022/05/01 | 3843 | support/arara/doc/resources/gitlab-icon.svg
+2022/05/01 | 6429 | support/arara/doc/resources/manual.css
+2022/05/01 | 5 | support/arara/doc/resources/version.txt
+2022/05/01 | 357222 | support/arara/doc/website-src.zip
+2022/05/01 | 4722 | support/arara/README.md
+2022/05/01 | 13139877 | support/arara/scripts/arara.jar
+2022/05/01 | 576 | support/arara/scripts/arara.sh
+2022/05/01 | 1107 | support/arara/scripts/rules/arara-rule-animate.yaml
+2022/05/01 | 1478 | support/arara/scripts/rules/arara-rule-asymptote.yaml
+2022/05/01 | 1105 | support/arara/scripts/rules/arara-rule-authorindex.yaml
+2022/05/01 | 5789 | support/arara/scripts/rules/arara-rule-bib2gls.yaml
+2022/05/01 | 839 | support/arara/scripts/rules/arara-rule-biber.yaml
+2022/05/01 | 621 | support/arara/scripts/rules/arara-rule-bibtex8.yaml
+2022/05/01 | 621 | support/arara/scripts/rules/arara-rule-bibtexu.yaml
+2022/05/01 | 592 | support/arara/scripts/rules/arara-rule-bibtex.yaml
+2022/05/01 | 1341 | support/arara/scripts/rules/arara-rule-clean.yaml
+2022/05/01 | 4254 | support/arara/scripts/rules/arara-rule-context.yaml
+2022/05/01 | 647 | support/arara/scripts/rules/arara-rule-convert.yaml
+2022/05/01 | 795 | support/arara/scripts/rules/arara-rule-copy.yaml
+2022/05/01 | 1272 | support/arara/scripts/rules/arara-rule-csplain.yaml
+2022/05/01 | 4074 | support/arara/scripts/rules/arara-rule-datatooltk.yaml
+2022/05/01 | 1837 | support/arara/scripts/rules/arara-rule-detex.yaml
+2022/05/01 | 812 | support/arara/scripts/rules/arara-rule-dvipdfmx.yaml
+2022/05/01 | 808 | support/arara/scripts/rules/arara-rule-dvipdfm.yaml
+2022/05/01 | 1278 | support/arara/scripts/rules/arara-rule-dvipspdf.yaml
+2022/05/01 | 799 | support/arara/scripts/rules/arara-rule-dvips.yaml
+2022/05/01 | 1448 | support/arara/scripts/rules/arara-rule-dvisvgm.yaml
+2022/05/01 | 1062 | support/arara/scripts/rules/arara-rule-etex.yaml
+2022/05/01 | 1672 | support/arara/scripts/rules/arara-rule-fig2dev.yaml
+2022/05/01 | 1989 | support/arara/scripts/rules/arara-rule-frontespizio.yaml
+2022/05/01 | 878 | support/arara/scripts/rules/arara-rule-ghostscript.yaml
+2022/05/01 | 950 | support/arara/scripts/rules/arara-rule-gnuplot.yaml
+2022/05/01 | 320 | support/arara/scripts/rules/arara-rule-halt.yaml
+2022/05/01 | 2990 | support/arara/scripts/rules/arara-rule-indent.yaml
+2022/05/01 | 1470 | support/arara/scripts/rules/arara-rule-knitr.yaml
+2022/05/01 | 1884 | support/arara/scripts/rules/arara-rule-latexmk.yaml
+2022/05/01 | 1610 | support/arara/scripts/rules/arara-rule-latex.yaml
+2022/05/01 | 1281 | support/arara/scripts/rules/arara-rule-llmk.yaml
+2022/05/01 | 2544 | support/arara/scripts/rules/arara-rule-ltx2any.yaml
+2022/05/01 | 1276 | support/arara/scripts/rules/arara-rule-luahbtex.yaml
+2022/05/01 | 1625 | support/arara/scripts/rules/arara-rule-lualatex.yaml
+2022/05/01 | 1268 | support/arara/scripts/rules/arara-rule-luatex.yaml
+2022/05/01 | 647 | support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml
+2022/05/01 | 2435 | support/arara/scripts/rules/arara-rule-makeglossaries.yaml
+2022/05/01 | 1503 | support/arara/scripts/rules/arara-rule-makeindex.yaml
+2022/05/01 | 984 | support/arara/scripts/rules/arara-rule-make.yaml
+2022/05/01 | 1274 | support/arara/scripts/rules/arara-rule-metapost.yaml
+2022/05/01 | 922 | support/arara/scripts/rules/arara-rule-move.yaml
+2022/05/01 | 832 | support/arara/scripts/rules/arara-rule-nomencl.yaml
+2022/05/01 | 596 | support/arara/scripts/rules/arara-rule-pbibtex.yaml
+2022/05/01 | 3253 | support/arara/scripts/rules/arara-rule-pdfcrop.yaml
+2022/05/01 | 1284 | support/arara/scripts/rules/arara-rule-pdfcsplain.yaml
+2022/05/01 | 1625 | support/arara/scripts/rules/arara-rule-pdflatex.yaml
+2022/05/01 | 1268 | support/arara/scripts/rules/arara-rule-pdftex.yaml
+2022/05/01 | 588 | support/arara/scripts/rules/arara-rule-pdftk.yaml
+2022/05/01 | 2100 | support/arara/scripts/rules/arara-rule-perltex.yaml
+2022/05/01 | 1517 | support/arara/scripts/rules/arara-rule-platex.yaml
+2022/05/01 | 809 | support/arara/scripts/rules/arara-rule-ps2pdf.yaml
+2022/05/01 | 1162 | support/arara/scripts/rules/arara-rule-ptex.yaml
+2022/05/01 | 1722 | support/arara/scripts/rules/arara-rule-pythontex.yaml
+2022/05/01 | 546 | support/arara/scripts/rules/arara-rule-qpdf.yaml
+2022/05/01 | 1324 | support/arara/scripts/rules/arara-rule-sage.yaml
+2022/05/01 | 682 | support/arara/scripts/rules/arara-rule-sketch.yaml
+2022/05/01 | 812 | support/arara/scripts/rules/arara-rule-songidx.yaml
+2022/05/01 | 651 | support/arara/scripts/rules/arara-rule-spix.yaml
+2022/05/01 | 1709 | support/arara/scripts/rules/arara-rule-texcount.yaml
+2022/05/01 | 1974 | support/arara/scripts/rules/arara-rule-texindy.yaml
+2022/05/01 | 1050 | support/arara/scripts/rules/arara-rule-tex.yaml
+2022/05/01 | 842 | support/arara/scripts/rules/arara-rule-tikzmake.yaml
+2022/05/01 | 626 | support/arara/scripts/rules/arara-rule-upbibtex.yaml
+2022/05/01 | 1522 | support/arara/scripts/rules/arara-rule-uplatex.yaml
+2022/05/01 | 1166 | support/arara/scripts/rules/arara-rule-uptex.yaml
+2022/05/01 | 1111 | support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml
+2022/05/01 | 1571 | support/arara/scripts/rules/arara-rule-xelatex.yaml
+2022/05/01 | 1512 | support/arara/scripts/rules/arara-rule-xetex.yaml
+2022/05/01 | 910 | support/arara/scripts/rules/arara-rule-xindex.yaml
+2022/05/01 | 1975 | support/arara/scripts/rules/arara-rule-xindy.yaml
+2022/05/01 | 154693 | support/arara/source/arara-7.0.0-src.zip
+2022/05/01 | 15577272 | support/arara.zip
2001/08/10 | 19878 | support/arraymaker/arraymaker
2001/08/11 | 1352 | support/arraymaker/README
1995/02/22 | 13087 | support/artex/artex
@@ -269618,26 +269604,26 @@
1996/12/30 | 4116 | support/l2x/README
2021/10/04 | 44049 | support/lacheck/aclocal.m4
2014/12/24 | 319 | support/lacheck/ac/withenable.ac
-2019/07/09 | 3810 | support/lacheck/ChangeLog
+2022/05/01 | 4152 | support/lacheck/ChangeLog
2014/12/24 | 738 | support/lacheck/config.h.in
2011/06/15 | 705 | support/lacheck/configure
-2019/07/09 | 873 | support/lacheck/configure.ac
-2021/07/27 | 175926 | support/lacheck/configure.texk
-2019/07/11 | 170373 | support/lacheck/lacheck.c
+2022/05/01 | 873 | support/lacheck/configure.ac
+2022/05/01 | 175926 | support/lacheck/configure.texk
+2022/05/01 | 174885 | support/lacheck/lacheck.c
2014/12/24 | 3950 | support/lacheck/lacheck.hlp
-2019/07/09 | 27307 | support/lacheck/lacheck.l
+2022/05/01 | 28221 | support/lacheck/lacheck.l
2019/07/09 | 4115 | support/lacheck/lacheck.man
2018/09/09 | 432 | support/lacheck/lacheck.test
-2019/07/09 | 666 | support/lacheck/Makefile.am
-2021/10/04 | 41635 | support/lacheck/Makefile.in
+2022/05/01 | 914 | support/lacheck/Makefile.am
+2022/05/01 | 41884 | support/lacheck/Makefile.in
2014/12/24 | 404 | support/lacheck/make_vms.com
2015/01/11 | 1193 | support/lacheck/README
2019/07/09 | 416 | support/lacheck/test-def.test
-2019/07/09 | 1575 | support/lacheck/test-def.tex
+2022/05/01 | 3179 | support/lacheck/test-def.tex
2019/07/09 | 0 | support/lacheck/test-def.xout
2014/12/24 | 2018 | support/lacheck/test.old
2014/12/24 | 1862 | support/lacheck/test.tex
-2021/10/05 | 133305 | support/lacheck.zip
+2022/05/01 | 135263 | support/lacheck.zip
1994/04/22 | 2442 | support/lametex/doc/commands.tex
1994/04/22 | 931 | support/lametex/doc/errors.tex
1994/04/22 | 42573 | support/lametex/doc/example1.ps
@@ -270330,19 +270316,13 @@
2021/05/22 | 283291 | support/ltximg.zip
1996/11/22 | 25535 | support/ltxinput/ltxinput.zip
1996/11/10 | 971 | support/ltxinput/readme.txt
-2022/02/08 | 667 | support/luafindfont/CHANGELOG
-2021/11/29 | 1023 | support/luafindfont/doc/Examples/exa01.txt
-2021/11/29 | 1598 | support/luafindfont/doc/Examples/exa02.txt
-2021/11/29 | 3779 | support/luafindfont/doc/Examples/exa03.txt
-2021/11/29 | 1104 | support/luafindfont/doc/Examples/exa04.txt
-2021/11/29 | 3272 | support/luafindfont/doc/Examples/exa05.txt
-2021/11/29 | 1259 | support/luafindfont/doc/Examples/exa06.txt
-2022/02/08 | 81252 | support/luafindfont/doc/luafindfont-doc.pdf
-2022/02/08 | 13630 | support/luafindfont/doc/luafindfont-doc.tex
-2022/02/08 | 5732 | support/luafindfont/man/luafindfont.1
-2021/11/30 | 916 | support/luafindfont/README.md
-2022/02/08 | 15560 | support/luafindfont/scripts/luafindfont.lua
-2022/02/08 | 95481 | support/luafindfont.zip
+2022/05/01 | 724 | support/luafindfont/CHANGELOG
+2022/05/01 | 80641 | support/luafindfont/doc/luafindfont-doc.pdf
+2022/05/01 | 14635 | support/luafindfont/doc/luafindfont-doc.tex
+2022/05/01 | 5795 | support/luafindfont/man/luafindfont.1
+2022/05/01 | 932 | support/luafindfont/README.md
+2022/05/01 | 16565 | support/luafindfont/scripts/luafindfont.lua
+2022/05/01 | 91669 | support/luafindfont.zip
2010/03/15 | 4720 | support/lualibs/lua-alt-getopt/lua-alt-getopt-0.7.0.tar.gz
2009/01/11 | 1463 | support/lualibs/lua-alt-getopt/README
2021/11/10 | 479 | support/lualibs/lua-uca/CHANGELOG.md
@@ -277381,7 +277361,7 @@
2021/02/07 | 136588 | systems/texlive/tlnet/archive/babel-danish.doc.r57642.tar.xz
2021/02/07 | 2488 | systems/texlive/tlnet/archive/babel-danish.r57642.tar.xz
2021/02/07 | 5792 | systems/texlive/tlnet/archive/babel-danish.source.r57642.tar.xz
-2022/02/27 | 842836 | systems/texlive/tlnet/archive/babel.doc.r62202.tar.xz
+2022/05/01 | 844824 | systems/texlive/tlnet/archive/babel.doc.r63189.tar.xz
2021/08/30 | 157392 | systems/texlive/tlnet/archive/babel-dutch.doc.r60362.tar.xz
2021/08/30 | 2920 | systems/texlive/tlnet/archive/babel-dutch.r60362.tar.xz
2021/08/30 | 7968 | systems/texlive/tlnet/archive/babel-dutch.source.r60362.tar.xz
@@ -277467,7 +277447,7 @@
2021/07/10 | 146580 | systems/texlive/tlnet/archive/babel-portuges.doc.r59883.tar.xz
2021/07/10 | 2828 | systems/texlive/tlnet/archive/babel-portuges.r59883.tar.xz
2021/07/10 | 6692 | systems/texlive/tlnet/archive/babel-portuges.source.r59883.tar.xz
-2022/02/27 | 183912 | systems/texlive/tlnet/archive/babel.r62202.tar.xz
+2022/05/01 | 184320 | systems/texlive/tlnet/archive/babel.r63189.tar.xz
2021/04/07 | 113056 | systems/texlive/tlnet/archive/babel-romanian.doc.r58776.tar.xz
2021/04/07 | 2124 | systems/texlive/tlnet/archive/babel-romanian.r58776.tar.xz
2021/04/07 | 4308 | systems/texlive/tlnet/archive/babel-romanian.source.r58776.tar.xz
@@ -277498,7 +277478,7 @@
2021/11/07 | 209804 | systems/texlive/tlnet/archive/babel-sorbian.doc.r60975.tar.xz
2021/11/07 | 3156 | systems/texlive/tlnet/archive/babel-sorbian.r60975.tar.xz
2021/11/07 | 6328 | systems/texlive/tlnet/archive/babel-sorbian.source.r60975.tar.xz
-2022/02/27 | 698968 | systems/texlive/tlnet/archive/babel.source.r62202.tar.xz
+2022/05/01 | 699432 | systems/texlive/tlnet/archive/babel.source.r63189.tar.xz
2021/05/28 | 183140 | systems/texlive/tlnet/archive/babel-spanish.doc.r59367.tar.xz
2021/05/28 | 8876 | systems/texlive/tlnet/archive/babel-spanish.r59367.tar.xz
2021/05/28 | 29800 | systems/texlive/tlnet/archive/babel-spanish.source.r59367.tar.xz
@@ -278258,8 +278238,8 @@
2022/04/18 | 2504 | systems/texlive/tlnet/archive/bxorigcapt.r63058.tar.xz
2022/04/30 | 3384 | systems/texlive/tlnet/archive/bxpapersize.doc.r63174.tar.xz
2022/04/30 | 4768 | systems/texlive/tlnet/archive/bxpapersize.r63174.tar.xz
-2021/02/16 | 4772 | systems/texlive/tlnet/archive/bxpdfver.doc.r57755.tar.xz
-2021/02/16 | 7180 | systems/texlive/tlnet/archive/bxpdfver.r57755.tar.xz
+2022/05/01 | 4912 | systems/texlive/tlnet/archive/bxpdfver.doc.r63185.tar.xz
+2022/05/01 | 7400 | systems/texlive/tlnet/archive/bxpdfver.r63185.tar.xz
2019/02/28 | 426348 | systems/texlive/tlnet/archive/bxtexlogo.doc.r47230.tar.xz
2019/02/28 | 5748 | systems/texlive/tlnet/archive/bxtexlogo.r47230.tar.xz
2019/06/02 | 182888 | systems/texlive/tlnet/archive/bxwareki.doc.r51286.tar.xz
@@ -278899,7 +278879,7 @@
2022/02/07 | 580 | systems/texlive/tlnet/archive/collection-langcjk.r61912.tar.xz
2020/03/04 | 608 | systems/texlive/tlnet/archive/collection-langcyrillic.r54074.tar.xz
2020/03/04 | 372 | systems/texlive/tlnet/archive/collection-langczechslovak.r54074.tar.xz
-2022/04/07 | 868 | systems/texlive/tlnet/archive/collection-langenglish.r62971.tar.xz
+2022/05/01 | 860 | systems/texlive/tlnet/archive/collection-langenglish.r63184.tar.xz
2021/12/28 | 716 | systems/texlive/tlnet/archive/collection-langeuropean.r61419.tar.xz
2022/04/27 | 616 | systems/texlive/tlnet/archive/collection-langfrench.r63147.tar.xz
2020/07/01 | 628 | systems/texlive/tlnet/archive/collection-langgerman.r55706.tar.xz
@@ -278915,7 +278895,7 @@
2020/12/03 | 696 | systems/texlive/tlnet/archive/collection-latex.r57048.tar.xz
2021/02/24 | 772 | systems/texlive/tlnet/archive/collection-latexrecommended.r57862.tar.xz
2022/04/20 | 804 | systems/texlive/tlnet/archive/collection-luatex.r63081.tar.xz
-2022/04/06 | 1580 | systems/texlive/tlnet/archive/collection-mathscience.r62932.tar.xz
+2022/05/01 | 1588 | systems/texlive/tlnet/archive/collection-mathscience.r63188.tar.xz
2021/06/10 | 548 | systems/texlive/tlnet/archive/collection-metapost.r59531.tar.xz
2021/02/24 | 476 | systems/texlive/tlnet/archive/collection-music.r57878.tar.xz
2022/04/06 | 1516 | systems/texlive/tlnet/archive/collection-pictures.r62930.tar.xz
@@ -278998,8 +278978,8 @@
2019/02/28 | 4048 | systems/texlive/tlnet/archive/competences.source.r47573.tar.xz
2019/02/28 | 265392 | systems/texlive/tlnet/archive/complexity.doc.r45322.tar.xz
2019/02/28 | 5604 | systems/texlive/tlnet/archive/complexity.r45322.tar.xz
-2019/02/28 | 11052 | systems/texlive/tlnet/archive/components-of-TeX.doc.r15878.tar.xz
-2019/02/28 | 392 | systems/texlive/tlnet/archive/components-of-TeX.r15878.tar.xz
+2022/05/01 | 11036 | systems/texlive/tlnet/archive/components.doc.r63184.tar.xz
+2022/05/01 | 368 | systems/texlive/tlnet/archive/components.r63184.tar.xz
2021/05/07 | 29910680 | systems/texlive/tlnet/archive/comprehensive.doc.r59099.tar.xz
2021/05/07 | 500 | systems/texlive/tlnet/archive/comprehensive.r59099.tar.xz
2019/02/28 | 799564 | systems/texlive/tlnet/archive/computational-complexity.doc.r44847.tar.xz
@@ -280440,8 +280420,8 @@
2020/11/25 | 10880 | systems/texlive/tlnet/archive/elsarticle.source.r56999.tar.xz
2022/04/06 | 349288 | systems/texlive/tlnet/archive/els-cas-templates.doc.r62931.tar.xz
2022/04/06 | 54856 | systems/texlive/tlnet/archive/els-cas-templates.r62931.tar.xz
-2021/09/21 | 967084 | systems/texlive/tlnet/archive/elteikthesis.doc.r60563.tar.xz
-2021/09/21 | 6196 | systems/texlive/tlnet/archive/elteikthesis.r60563.tar.xz
+2022/05/01 | 1107648 | systems/texlive/tlnet/archive/elteikthesis.doc.r63186.tar.xz
+2022/05/01 | 5780 | systems/texlive/tlnet/archive/elteikthesis.r63186.tar.xz
2019/02/28 | 176308 | systems/texlive/tlnet/archive/eltex.doc.r15878.tar.xz
2019/02/28 | 12888 | systems/texlive/tlnet/archive/eltex.r15878.tar.xz
2019/02/28 | 2380 | systems/texlive/tlnet/archive/elvish.doc.r15878.tar.xz
@@ -282082,8 +282062,8 @@
2019/02/28 | 24892 | systems/texlive/tlnet/archive/hustthesis.source.r42547.tar.xz
2021/06/02 | 150588 | systems/texlive/tlnet/archive/hvarabic.doc.r59423.tar.xz
2021/06/02 | 1468 | systems/texlive/tlnet/archive/hvarabic.r59423.tar.xz
-2022/04/28 | 853248 | systems/texlive/tlnet/archive/hvextern.doc.r63159.tar.xz
-2022/04/28 | 4664 | systems/texlive/tlnet/archive/hvextern.r63159.tar.xz
+2022/05/01 | 890192 | systems/texlive/tlnet/archive/hvextern.doc.r63187.tar.xz
+2022/05/01 | 4824 | systems/texlive/tlnet/archive/hvextern.r63187.tar.xz
2022/04/05 | 8718616 | systems/texlive/tlnet/archive/hvfloat.doc.r62893.tar.xz
2022/04/05 | 11704 | systems/texlive/tlnet/archive/hvfloat.r62893.tar.xz
2019/02/28 | 76336 | systems/texlive/tlnet/archive/hvindex.doc.r46051.tar.xz
@@ -288414,6 +288394,9 @@
2019/02/28 | 500 | systems/texlive/tlnet/archive/theatre.r45363.tar.xz
2020/03/24 | 333032 | systems/texlive/tlnet/archive/theoremref.doc.r54512.tar.xz
2020/03/24 | 4104 | systems/texlive/tlnet/archive/theoremref.r54512.tar.xz
+2022/05/01 | 202180 | systems/texlive/tlnet/archive/thermodynamics.doc.r63188.tar.xz
+2022/05/01 | 6556 | systems/texlive/tlnet/archive/thermodynamics.r63188.tar.xz
+2022/05/01 | 28040 | systems/texlive/tlnet/archive/thermodynamics.source.r63188.tar.xz
2021/08/13 | 322100 | systems/texlive/tlnet/archive/thesis-ekf.doc.r60228.tar.xz
2021/08/13 | 113096 | systems/texlive/tlnet/archive/thesis-ekf.r60228.tar.xz
2021/08/13 | 9064 | systems/texlive/tlnet/archive/thesis-ekf.source.r60228.tar.xz
@@ -289986,16 +289969,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
2022/04/18 | 108451 | systems/texlive/tlnet/install-tl
-2022/04/30 | 5800534 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/04/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/04/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/05/01 | 5800284 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/05/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/05/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2022/04/30 | 20462941 | systems/texlive/tlnet/install-tl-windows.exe
-2022/04/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/04/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/04/30 | 25483828 | systems/texlive/tlnet/install-tl.zip
-2022/04/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/04/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/05/01 | 20462948 | systems/texlive/tlnet/install-tl-windows.exe
+2022/05/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/05/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/05/01 | 25483828 | systems/texlive/tlnet/install-tl.zip
+2022/05/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/05/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2022/04/03 | 1229 | systems/texlive/tlnet/README.md
2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022
2022/02/28 | 7791 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -290047,12 +290030,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2022/04/30 | 17271863 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/04/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/05/01 | 17275070 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/05/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2022/04/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/04/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/04/30 | 2369192 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/05/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/05/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/05/01 | 2369724 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2022/04/18 | 42116 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -295241,7 +295224,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
-2022/04/30 | 645139 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/05/01 | 645139 | 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
@@ -296829,9 +296812,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/03/12 | 39680 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2022/03/29 | 43240 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/04/30 | 275589 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/04/30 | 1442167 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/04/30 | 1331188 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/05/01 | 275582 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/05/01 | 1443562 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/05/01 | 1331853 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/03/12 | 13516 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2022/03/29 | 14391 | 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
@@ -297055,191 +297038,191 @@
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
-2022/04/30 | 645392 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/04/30 | 51558 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/04/30 | 57330 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/04/30 | 1021847 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/04/30 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/04/30 | 28796 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/04/30 | 31521 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/04/30 | 30148 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/04/30 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/04/30 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/04/30 | 65056 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/04/30 | 86758 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2022/04/30 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/04/30 | 68873 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/04/30 | 77068 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/04/30 | 27250 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/04/30 | 31343 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/04/30 | 332415 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/04/30 | 394371 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/04/30 | 32956 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/04/30 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/04/30 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/04/30 | 57269 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/04/30 | 244961 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/04/30 | 270300 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/04/30 | 179878 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2022/04/30 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/04/30 | 92918 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2022/04/30 | 103095 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/04/30 | 21315 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/04/30 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/04/30 | 481498 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/04/30 | 46066 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/04/30 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/04/30 | 285715 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/04/30 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/04/30 | 41306 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/04/30 | 45823 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/04/30 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/04/30 | 135378 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/04/30 | 1302485 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/04/30 | 1454764 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/04/30 | 99819 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/04/30 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/04/30 | 43646 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/04/30 | 48826 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/04/30 | 25108 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/04/30 | 28570 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/04/30 | 56994 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/04/30 | 63311 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/04/30 | 135950 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/04/30 | 155499 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/04/30 | 73479 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/04/30 | 78975 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/04/30 | 72015 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/04/30 | 81461 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/04/30 | 259259 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2022/04/30 | 296039 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/04/30 | 22146 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/04/30 | 25060 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/04/30 | 97201 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/04/30 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/04/30 | 64544 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/04/30 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/04/30 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/04/30 | 115657 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/04/30 | 38425 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/04/30 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/04/30 | 484371 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/04/30 | 565928 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/04/30 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/04/30 | 247334 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/04/30 | 152030 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2022/04/30 | 168820 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/04/30 | 95433 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/04/30 | 109480 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/04/30 | 16504 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2022/04/30 | 18369 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/04/30 | 28423 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/04/30 | 30543 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/04/30 | 631281 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/04/30 | 681941 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/04/30 | 532455 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/04/30 | 598231 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/04/30 | 477848 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2022/04/30 | 528018 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/04/30 | 93957 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/04/30 | 103339 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/04/30 | 1752148 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/04/30 | 1982081 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/04/30 | 68010 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/04/30 | 74068 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/04/30 | 27591 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/04/30 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/04/30 | 7754 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/04/30 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/04/30 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2022/04/30 | 208809 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/04/30 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/04/30 | 286412 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/04/30 | 99257 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/04/30 | 104557 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/04/30 | 126533 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2022/04/30 | 139103 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/04/30 | 288202 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/04/30 | 325268 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/04/30 | 199832 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/04/30 | 181516 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/04/30 | 49770 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/04/30 | 55567 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/04/30 | 31414 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/04/30 | 35170 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/04/30 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/04/30 | 43915 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/04/30 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/04/30 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/04/30 | 45744 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/04/30 | 52327 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/04/30 | 197038 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/04/30 | 213279 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/04/30 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2022/04/30 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/04/30 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/04/30 | 824369 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/04/30 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/04/30 | 202837 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/04/30 | 210271 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/04/30 | 245098 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/04/30 | 79026 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/04/30 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/04/30 | 1181127 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/04/30 | 1322743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/04/30 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/04/30 | 23945 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/04/30 | 31588 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/04/30 | 37374 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/04/30 | 64709 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/04/30 | 72884 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/04/30 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/04/30 | 58664 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/04/30 | 693070 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/04/30 | 758956 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/04/30 | 1357071 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/04/30 | 1501239 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/04/30 | 42819 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2022/04/30 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/04/30 | 57618 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/04/30 | 63740 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/04/30 | 25551 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/04/30 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/04/30 | 16560 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/04/30 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/04/30 | 64490 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/04/30 | 71007 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/04/30 | 156965 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/04/30 | 173008 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/04/30 | 58666 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/04/30 | 67253 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/04/30 | 100487 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2022/04/30 | 107706 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2022/04/30 | 2694878 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/04/30 | 2820687 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/04/30 | 55286 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/04/30 | 62384 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/04/30 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/04/30 | 41201 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/04/30 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/04/30 | 34053 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/04/30 | 67706 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/04/30 | 73530 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/04/30 | 316243 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/04/30 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/04/30 | 55758 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/04/30 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/04/30 | 591571 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/04/30 | 629433 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/04/30 | 39728 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/04/30 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/04/30 | 275565 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/04/30 | 1444020 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/04/30 | 1332426 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/04/30 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/04/30 | 14412 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/05/01 | 645392 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/05/01 | 51557 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/05/01 | 57330 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/05/01 | 1021849 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/05/01 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/05/01 | 28798 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/05/01 | 31521 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/05/01 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/05/01 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/05/01 | 56619 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/05/01 | 65057 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/05/01 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/05/01 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/05/01 | 68873 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/05/01 | 77068 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/05/01 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/05/01 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/05/01 | 332415 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/05/01 | 394369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/05/01 | 32954 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/05/01 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/05/01 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/05/01 | 57271 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/05/01 | 244960 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/05/01 | 270299 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/05/01 | 179877 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/05/01 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/05/01 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/05/01 | 103092 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/05/01 | 21313 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/05/01 | 24120 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/05/01 | 481496 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/05/01 | 46067 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/05/01 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/05/01 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/05/01 | 326659 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/05/01 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/05/01 | 45826 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/05/01 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/05/01 | 135377 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/05/01 | 1302484 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/05/01 | 1454762 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/05/01 | 99816 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/05/01 | 113051 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/05/01 | 43645 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/05/01 | 48825 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/05/01 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/05/01 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/05/01 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/05/01 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/05/01 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/05/01 | 155498 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/05/01 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/05/01 | 78974 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/05/01 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/05/01 | 81460 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/05/01 | 259256 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/05/01 | 296038 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/05/01 | 22147 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/05/01 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/05/01 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/05/01 | 112590 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/05/01 | 64542 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/05/01 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/05/01 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/05/01 | 115657 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/05/01 | 38426 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/05/01 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/05/01 | 484369 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/05/01 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/05/01 | 203837 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/05/01 | 247333 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/05/01 | 152031 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/05/01 | 168820 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/05/01 | 95432 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/05/01 | 109478 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/05/01 | 16503 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/05/01 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/05/01 | 28422 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/05/01 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/05/01 | 631279 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/05/01 | 681939 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/05/01 | 532453 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/05/01 | 598231 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/05/01 | 477846 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/05/01 | 528016 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/05/01 | 93958 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/05/01 | 103335 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/05/01 | 1752146 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/05/01 | 1982082 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/05/01 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/05/01 | 74068 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/05/01 | 27591 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/05/01 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/05/01 | 7751 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/05/01 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/05/01 | 190506 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/05/01 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/05/01 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/05/01 | 286412 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/05/01 | 99258 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/05/01 | 104556 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/05/01 | 126533 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/05/01 | 139102 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/05/01 | 288198 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/05/01 | 325269 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/05/01 | 199831 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/05/01 | 181514 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/05/01 | 49770 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/05/01 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/05/01 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/05/01 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/05/01 | 38560 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/05/01 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/05/01 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/05/01 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/05/01 | 45741 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/05/01 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/05/01 | 197036 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/05/01 | 213279 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/05/01 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/05/01 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/05/01 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/05/01 | 824370 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/05/01 | 200396 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/05/01 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/05/01 | 210275 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/05/01 | 245097 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/05/01 | 79025 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/05/01 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/05/01 | 1181129 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/05/01 | 1322741 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/05/01 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/05/01 | 23943 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/05/01 | 31585 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/05/01 | 37374 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/05/01 | 64709 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/05/01 | 72887 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/05/01 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/05/01 | 58663 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/05/01 | 693066 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/05/01 | 758954 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/05/01 | 1357068 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/05/01 | 1501237 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/05/01 | 42819 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/05/01 | 52478 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/05/01 | 57618 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/05/01 | 63739 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/05/01 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/05/01 | 27637 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/05/01 | 16559 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/05/01 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/05/01 | 64489 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/05/01 | 71006 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/05/01 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/05/01 | 173007 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/05/01 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/05/01 | 67253 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/05/01 | 100487 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/05/01 | 107707 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/05/01 | 2694878 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/05/01 | 2820688 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/05/01 | 55285 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/05/01 | 62383 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/05/01 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/05/01 | 41204 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/05/01 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/05/01 | 34053 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/05/01 | 67706 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/05/01 | 73529 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/05/01 | 316241 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/05/01 | 351695 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/05/01 | 55755 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/05/01 | 57525 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/05/01 | 591568 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/05/01 | 629430 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/05/01 | 39727 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/05/01 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/05/01 | 275605 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/05/01 | 1442755 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/05/01 | 1332426 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/05/01 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/05/01 | 14411 | 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
-2022/04/30 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/05/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
@@ -297708,7 +297691,7 @@
2022/02/22 | 6917 | 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
-2022/04/30 | 994 | systems/win32/miktex/tm/packages/pr.ini
+2022/05/01 | 994 | 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
@@ -299544,7 +299527,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2022/05/01 | 186 | timestamp
+2022/05/02 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2022/02/28 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index fcbf92b05d..a7869e57aa 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 736e6fb0ff..28e5e31eb6 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,273 +1,419 @@
-2022/04/30 | 99819 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/04/30 | 994 | systems/win32/miktex/tm/packages/pr.ini
-2022/04/30 | 99257 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/04/30 | 97201 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/05/01 | 99816 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/05/01 | 994 | systems/win32/miktex/tm/packages/pr.ini
+2022/05/01 | 99258 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/05/01 | 984 | support/arara/scripts/rules/arara-rule-make.yaml
+2022/05/01 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/05/01 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/05/01 | 95432 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/05/01 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/05/01 | 950 | support/arara/scripts/rules/arara-rule-gnuplot.yaml
+2022/05/01 | 93958 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/05/01 | 932 | support/luafindfont/README.md
+2022/05/01 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/05/01 | 922 | support/arara/scripts/rules/arara-rule-move.yaml
+2022/05/01 | 91669 | support/luafindfont.zip
+2022/05/01 | 914 | support/lacheck/Makefile.am
+2022/05/01 | 910 | support/arara/scripts/rules/arara-rule-xindex.yaml
+2022/05/01 | 890192 | systems/texlive/tlnet/archive/hvextern.doc.r63187.tar.xz
+2022/05/01 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/05/01 | 878 | support/arara/scripts/rules/arara-rule-ghostscript.yaml
+2022/05/01 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/05/01 | 873 | support/lacheck/configure.ac
+2022/05/01 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/05/01 | 860 | systems/texlive/tlnet/archive/collection-langenglish.r63184.tar.xz
+2022/05/01 | 844824 | systems/texlive/tlnet/archive/babel.doc.r63189.tar.xz
+2022/05/01 | 842 | support/arara/scripts/rules/arara-rule-tikzmake.yaml
+2022/05/01 | 839 | support/arara/scripts/rules/arara-rule-biber.yaml
+2022/05/01 | 83638 | macros/latex/contrib/easybook/easybook.tex
+2022/05/01 | 832 | support/arara/scripts/rules/arara-rule-nomencl.yaml
+2022/05/01 | 824370 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/05/01 | 81460 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/05/01 | 812 | support/arara/scripts/rules/arara-rule-songidx.yaml
+2022/05/01 | 812 | support/arara/scripts/rules/arara-rule-dvipdfmx.yaml
+2022/05/01 | 809 | support/arara/scripts/rules/arara-rule-ps2pdf.yaml
+2022/05/01 | 808 | support/arara/scripts/rules/arara-rule-dvipdfm.yaml
+2022/05/01 | 80641 | support/luafindfont/doc/luafindfont-doc.pdf
+2022/05/01 | 802025 | info/install-latex-guide-zh-cn.zip
+2022/05/01 | 799 | support/arara/scripts/rules/arara-rule-dvips.yaml
+2022/05/01 | 795 | support/arara/scripts/rules/arara-rule-copy.yaml
+2022/05/01 | 79025 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/05/01 | 78974 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/05/01 | 7751 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/05/01 | 77068 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/05/01 | 761151 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
+2022/05/01 | 758954 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/05/01 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/05/01 | 75154 | macros/latex/contrib/easybook/easybook.dtx
+2022/05/01 | 74068 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/05/01 | 7400 | systems/texlive/tlnet/archive/bxpdfver.r63185.tar.xz
+2022/05/01 | 73529 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/05/01 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/05/01 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/05/01 | 72887 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/05/01 | 724 | support/luafindfont/CHANGELOG
+2022/05/01 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/05/01 | 7101 | support/arara/doc/htmlmanualtopdf.sh
+2022/05/01 | 71006 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/05/01 | 699432 | systems/texlive/tlnet/archive/babel.source.r63189.tar.xz
+2022/05/01 | 69796 | macros/latex/contrib/hvfloat/latex/hvfloat.sty
+2022/05/01 | 693066 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/05/01 | 68873 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/05/01 | 682 | support/arara/scripts/rules/arara-rule-sketch.yaml
+2022/05/01 | 681939 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/05/01 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/05/01 | 67706 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/05/01 | 67253 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/05/01 | 6556 | systems/texlive/tlnet/archive/thermodynamics.r63188.tar.xz
+2022/05/01 | 651 | support/arara/scripts/rules/arara-rule-spix.yaml
+2022/05/01 | 65057 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/05/01 | 647 | support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml
+2022/05/01 | 647 | support/arara/scripts/rules/arara-rule-convert.yaml
+2022/05/01 | 64709 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/05/01 | 64542 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/05/01 | 645392 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/05/01 | 645139 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/05/01 | 64489 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/05/01 | 6429 | support/arara/doc/resources/manual.css
+2022/05/01 | 63739 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/05/01 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/05/01 | 632537 | macros/latex/contrib/easybook.zip
+2022/05/01 | 631279 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/05/01 | 629430 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/05/01 | 626 | support/arara/scripts/rules/arara-rule-upbibtex.yaml
+2022/05/01 | 62383 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/05/01 | 621 | support/arara/scripts/rules/arara-rule-bibtexu.yaml
+2022/05/01 | 621 | support/arara/scripts/rules/arara-rule-bibtex8.yaml
+2022/05/01 | 5 | support/arara/doc/resources/version.txt
+2022/05/01 | 598231 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/05/01 | 596 | support/arara/scripts/rules/arara-rule-pbibtex.yaml
+2022/05/01 | 592 | support/arara/scripts/rules/arara-rule-bibtex.yaml
+2022/05/01 | 591568 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/05/01 | 591122 | macros/latex/contrib/easybook/easybook.pdf
+2022/05/01 | 588 | support/arara/scripts/rules/arara-rule-pdftk.yaml
+2022/05/01 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/05/01 | 58663 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/05/01 | 5800284 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/05/01 | 5795 | support/luafindfont/man/luafindfont.1
+2022/05/01 | 5789 | support/arara/scripts/rules/arara-rule-bib2gls.yaml
+2022/05/01 | 5780 | systems/texlive/tlnet/archive/elteikthesis.r63186.tar.xz
+2022/05/01 | 576 | support/arara/scripts/arara.sh
+2022/05/01 | 57618 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/05/01 | 57525 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/05/01 | 57330 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/05/01 | 57271 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/05/01 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/05/01 | 56619 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/05/01 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/05/01 | 55755 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/05/01 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/05/01 | 55285 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/05/01 | 546 | support/arara/scripts/rules/arara-rule-qpdf.yaml
+2022/05/01 | 532453 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/05/01 | 528016 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/05/01 | 524840 | support/arara/doc/resources/firasans-italic.otf
+2022/05/01 | 52478 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/05/01 | 52445 | support/arara/doc/resources/arara-logo-with-text-bottom.svg
+2022/05/01 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/05/01 | 522236 | support/arara/doc/resources/firasans-lightitalic.otf
+2022/05/01 | 521796 | support/arara/doc/resources/firasans-bold.otf
+2022/05/01 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/05/01 | 51557 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/05/01 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/05/01 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/05/01 | 507828 | support/arara/doc/resources/firasans-regular.otf
+2022/05/01 | 505308 | support/arara/doc/resources/firasans-light.otf
+2022/05/01 | 5039170 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf
+2022/05/01 | 49770 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/05/01 | 4912 | systems/texlive/tlnet/archive/bxpdfver.doc.r63185.tar.xz
+2022/05/01 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/05/01 | 48825 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/05/01 | 484369 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/05/01 | 4824 | systems/texlive/tlnet/archive/hvextern.r63187.tar.xz
+2022/05/01 | 481496 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/05/01 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/05/01 | 477846 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/05/01 | 4722 | support/arara/README.md
+2022/05/01 | 46067 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/05/01 | 45826 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/05/01 | 45741 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/05/01 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/05/01 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/05/01 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/05/01 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/05/01 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/05/01 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/05/01 | 43645 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/05/01 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/05/01 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/05/01 | 42819 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/05/01 | 4254 | support/arara/scripts/rules/arara-rule-context.yaml
+2022/05/01 | 41884 | support/lacheck/Makefile.in
+2022/05/01 | 4152 | support/lacheck/ChangeLog
+2022/05/01 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/05/01 | 41204 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/05/01 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/05/01 | 4074 | support/arara/scripts/rules/arara-rule-datatooltk.yaml
+2022/05/01 | 4066 | macros/latex/contrib/hvfloat/Changes
+2022/05/01 | 39727 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/05/01 | 394369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/05/01 | 38560 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/05/01 | 3843 | support/arara/doc/resources/gitlab-icon.svg
+2022/05/01 | 38426 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/05/01 | 37374 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/05/01 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/05/01 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/05/01 | 368 | systems/texlive/tlnet/archive/components.r63184.tar.xz
+2022/05/01 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/05/01 | 357222 | support/arara/doc/website-src.zip
+2022/05/01 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/05/01 | 351695 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/05/01 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/05/01 | 34053 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/05/01 | 332415 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/05/01 | 3315 | macros/unicodetex/latex/njuthesis/njuthesis.ins
+2022/05/01 | 32954 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/05/01 | 326659 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/05/01 | 3253 | support/arara/scripts/rules/arara-rule-pdfcrop.yaml
+2022/05/01 | 325269 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/05/01 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/05/01 | 320 | support/arara/scripts/rules/arara-rule-halt.yaml
+2022/05/01 | 3179 | support/lacheck/test-def.tex
+2022/05/01 | 316241 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/05/01 | 31585 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/05/01 | 31521 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/05/01 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/05/01 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/05/01 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/05/01 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/05/01 | 2990 | support/arara/scripts/rules/arara-rule-indent.yaml
+2022/05/01 | 296038 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/05/01 | 288198 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/05/01 | 28798 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/05/01 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/05/01 | 286412 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/05/01 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/05/01 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/05/01 | 285336 | support/arara/doc/resources/CascadiaMono-Regular.otf
+2022/05/01 | 28422 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/05/01 | 282548 | support/arara/doc/resources/CascadiaMono-Light.otf
+2022/05/01 | 28221 | support/lacheck/lacheck.l
+2022/05/01 | 2820688 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/05/01 | 28040 | systems/texlive/tlnet/archive/thermodynamics.source.r63188.tar.xz
+2022/05/01 | 27637 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/05/01 | 27591 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/05/01 | 275605 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/05/01 | 275582 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/05/01 | 273200 | support/arara/doc/resources/CascadiaMono-ExtraLight.otf
+2022/05/01 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/05/01 | 270299 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/05/01 | 2694878 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/05/01 | 259256 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/05/01 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/05/01 | 25483828 | systems/texlive/tlnet/install-tl.zip
+2022/05/01 | 2544 | support/arara/scripts/rules/arara-rule-ltx2any.yaml
+2022/05/01 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/05/01 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/05/01 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/05/01 | 247333 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/05/01 | 245097 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/05/01 | 244960 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/05/01 | 2435 | support/arara/scripts/rules/arara-rule-makeglossaries.yaml
+2022/05/01 | 2414 | support/arara/doc/htmlquickstarttopdf.sh
+2022/05/01 | 24120 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/05/01 | 23943 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/05/01 | 238248 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
+2022/05/01 | 2369724 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/05/01 | 22147 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/05/01 | 213279 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/05/01 | 21313 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/05/01 | 211285 | support/arara/doc/arara-quickstart.pdf
+2022/05/01 | 210275 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/05/01 | 2100 | support/arara/scripts/rules/arara-rule-perltex.yaml
+2022/05/01 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/05/01 | 20462948 | systems/texlive/tlnet/install-tl-windows.exe
+2022/05/01 | 203837 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/05/01 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/05/01 | 202180 | systems/texlive/tlnet/archive/thermodynamics.doc.r63188.tar.xz
+2022/05/01 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/05/01 | 200396 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/05/01 | 199831 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/05/01 | 1989 | support/arara/scripts/rules/arara-rule-frontespizio.yaml
+2022/05/01 | 1982082 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/05/01 | 1975 | support/arara/scripts/rules/arara-rule-xindy.yaml
+2022/05/01 | 1974 | support/arara/scripts/rules/arara-rule-texindy.yaml
+2022/05/01 | 197036 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/05/01 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/05/01 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
+2022/05/01 | 190506 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/05/01 | 1884 | support/arara/scripts/rules/arara-rule-latexmk.yaml
+2022/05/01 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/05/01 | 184320 | systems/texlive/tlnet/archive/babel.r63189.tar.xz
+2022/05/01 | 1837 | support/arara/scripts/rules/arara-rule-detex.yaml
+2022/05/01 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/05/01 | 181514 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/05/01 | 179877 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/05/01 | 175926 | support/lacheck/configure.texk
+2022/05/01 | 1752146 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/05/01 | 174885 | support/lacheck/lacheck.c
+2022/05/01 | 173007 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/05/01 | 17275070 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/05/01 | 1722 | support/arara/scripts/rules/arara-rule-pythontex.yaml
+2022/05/01 | 1722 | support/arara/doc/arara.1
+2022/05/01 | 1709 | support/arara/scripts/rules/arara-rule-texcount.yaml
+2022/05/01 | 168820 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/05/01 | 168372 | support/arara/doc/resources/CascadiaMono-Italic.otf
+2022/05/01 | 1672 | support/arara/scripts/rules/arara-rule-fig2dev.yaml
+2022/05/01 | 167028 | support/arara/doc/resources/CascadiaMono-LightItalic.otf
+2022/05/01 | 16565 | support/luafindfont/scripts/luafindfont.lua
+2022/05/01 | 16559 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/05/01 | 16503 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/05/01 | 1625 | support/arara/scripts/rules/arara-rule-pdflatex.yaml
+2022/05/01 | 1625 | support/arara/scripts/rules/arara-rule-lualatex.yaml
+2022/05/01 | 161924 | support/arara/doc/resources/CascadiaMono-ExtraLightItalic.otf
+2022/05/01 | 1610 | support/arara/scripts/rules/arara-rule-latex.yaml
+2022/05/01 | 1588 | systems/texlive/tlnet/archive/collection-mathscience.r63188.tar.xz
+2022/05/01 | 1571 | support/arara/scripts/rules/arara-rule-xelatex.yaml
+2022/05/01 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/05/01 | 15583828 | install/support/arara.tds.zip
+2022/05/01 | 15577272 | support/arara.zip
+2022/05/01 | 155498 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/05/01 | 154693 | support/arara/source/arara-7.0.0-src.zip
+2022/05/01 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/05/01 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/05/01 | 1522 | support/arara/scripts/rules/arara-rule-uplatex.yaml
+2022/05/01 | 152031 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/05/01 | 1517 | support/arara/scripts/rules/arara-rule-platex.yaml
+2022/05/01 | 1512 | support/arara/scripts/rules/arara-rule-xetex.yaml
+2022/05/01 | 1503 | support/arara/scripts/rules/arara-rule-makeindex.yaml
+2022/05/01 | 1501237 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/05/01 | 1478 | support/arara/scripts/rules/arara-rule-asymptote.yaml
+2022/05/01 | 1470 | support/arara/scripts/rules/arara-rule-knitr.yaml
+2022/05/01 | 14635 | support/luafindfont/doc/luafindfont-doc.tex
+2022/05/01 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/05/01 | 1454762 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/05/01 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/05/01 | 1448 | support/arara/scripts/rules/arara-rule-dvisvgm.yaml
+2022/05/01 | 1443562 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/05/01 | 1442755 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/05/01 | 14411 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/05/01 | 14343080 | macros/latex/contrib/hvfloat.zip
+2022/05/01 | 139102 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/05/01 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/05/01 | 1357068 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/05/01 | 135377 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/05/01 | 135263 | support/lacheck.zip
+2022/05/01 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/05/01 | 1341 | support/arara/scripts/rules/arara-rule-clean.yaml
+2022/05/01 | 1332426 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/05/01 | 1331853 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/05/01 | 1324 | support/arara/scripts/rules/arara-rule-sage.yaml
+2022/05/01 | 1322741 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/05/01 | 1321579 | macros/unicodetex/latex/njuthesis.zip
+2022/05/01 | 13139877 | support/arara/scripts/arara.jar
+2022/05/01 | 1302484 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/05/01 | 1284 | support/arara/scripts/rules/arara-rule-pdfcsplain.yaml
+2022/05/01 | 1281 | support/arara/scripts/rules/arara-rule-llmk.yaml
+2022/05/01 | 1278 | support/arara/scripts/rules/arara-rule-dvipspdf.yaml
+2022/05/01 | 1276 | support/arara/scripts/rules/arara-rule-luahbtex.yaml
+2022/05/01 | 1274 | support/arara/scripts/rules/arara-rule-metapost.yaml
+2022/05/01 | 1272 | support/arara/scripts/rules/arara-rule-csplain.yaml
+2022/05/01 | 1268 | support/arara/scripts/rules/arara-rule-pdftex.yaml
+2022/05/01 | 1268 | support/arara/scripts/rules/arara-rule-luatex.yaml
+2022/05/01 | 126533 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/05/01 | 1261937 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
+2022/05/01 | 120636 | macros/latex/contrib/hvfloat/doc/hvfloat.tex
+2022/05/01 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/05/01 | 1193005 | support/arara/doc/arara-manual.pdf
+2022/05/01 | 1181129 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/05/01 | 1166 | support/arara/scripts/rules/arara-rule-uptex.yaml
+2022/05/01 | 1162 | support/arara/scripts/rules/arara-rule-ptex.yaml
+2022/05/01 | 115657 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/05/01 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/05/01 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/05/01 | 113051 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/05/01 | 112590 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/05/01 | 1111 | support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml
+2022/05/01 | 1107 | support/arara/scripts/rules/arara-rule-animate.yaml
+2022/05/01 | 1107648 | systems/texlive/tlnet/archive/elteikthesis.doc.r63186.tar.xz
+2022/05/01 | 1105 | support/arara/scripts/rules/arara-rule-authorindex.yaml
+2022/05/01 | 11036 | systems/texlive/tlnet/archive/components.doc.r63184.tar.xz
+2022/05/01 | 109478 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/05/01 | 107707 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/05/01 | 1062 | support/arara/scripts/rules/arara-rule-etex.yaml
+2022/05/01 | 1057 | macros/unicodetex/latex/njuthesis/README.md
+2022/05/01 | 1050 | support/arara/scripts/rules/arara-rule-tex.yaml
+2022/05/01 | 104556 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/05/01 | 103335 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/05/01 | 103092 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/05/01 | 1021849 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/05/01 | 100487 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2022/04/30 | 9680 | systems/texlive/tlnet/archive/functional.r63176.tar.xz
-2022/04/30 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/04/30 | 95433 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/04/30 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2022/04/30 | 952160 | systems/texlive/tlnet/archive/tex4ht.r63180.tar.xz
-2022/04/30 | 93957 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2022/04/30 | 93792 | macros/latex/contrib/elteikthesis/elteikthesis_minted.pdf
-2022/04/30 | 92918 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2022/04/30 | 92664 | systems/texlive/tlnet/archive/codehigh.doc.r63175.tar.xz
-2022/04/30 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/04/30 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/04/30 | 86758 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2022/04/30 | 857732 | macros/latex/required/babel/base/babel.pdf
-2022/04/30 | 824369 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/04/30 | 81461 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2022/04/30 | 796166 | macros/latex/required/babel/base/locale.zip
2022/04/30 | 79032 | systems/texlive/tlnet/archive/dtk.doc.r63179.tar.xz
-2022/04/30 | 79026 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/04/30 | 78975 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/04/30 | 7754 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/04/30 | 77068 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/04/30 | 758956 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/04/30 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
2022/04/30 | 7461 | macros/latex/required/babel/base/babel.ins
-2022/04/30 | 74068 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/04/30 | 73530 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/04/30 | 73479 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/04/30 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/04/30 | 72884 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2022/04/30 | 724555 | macros/latex/required/babel/base/babel.dtx
-2022/04/30 | 72015 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/04/30 | 71007 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/04/30 | 693070 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/04/30 | 68873 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/04/30 | 681941 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/04/30 | 68010 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/04/30 | 67706 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/04/30 | 67253 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/04/30 | 65056 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/04/30 | 64709 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/04/30 | 64544 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/04/30 | 645392 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/04/30 | 645139 | systems/win32/miktex/tm/packages/files.csv.lzma
-2022/04/30 | 64490 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/04/30 | 63740 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
2022/04/30 | 6341 | macros/latex/contrib/bxpdfver/README-ja.md
-2022/04/30 | 63311 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/04/30 | 631281 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/04/30 | 629433 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/04/30 | 62384 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2022/04/30 | 613352 | systems/texlive/tlnet/archive/functional.doc.r63176.tar.xz
2022/04/30 | 6036 | systems/texlive/tlnet/archive/codehigh.r63175.tar.xz
-2022/04/30 | 598231 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/04/30 | 591571 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
2022/04/30 | 589112 | systems/texlive/tlnet/archive/l3kernel.source.r63177.tar.xz
-2022/04/30 | 58666 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/04/30 | 58664 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/04/30 | 5800534 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/04/30 | 57618 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/04/30 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/04/30 | 57330 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/04/30 | 57269 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/04/30 | 56994 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/04/30 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/04/30 | 565928 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2022/04/30 | 5653 | macros/latex/contrib/elteikthesis/samples_hu/impl.tex
2022/04/30 | 5578 | macros/latex/contrib/elteikthesis/samples_en/impl.tex
-2022/04/30 | 55758 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/04/30 | 55567 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/04/30 | 55286 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/04/30 | 532455 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
2022/04/30 | 528 | macros/latex/contrib/elteikthesis/elteikthesis_minted.tex
-2022/04/30 | 528018 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/04/30 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/04/30 | 52327 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/04/30 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/04/30 | 51558 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/04/30 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/04/30 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/04/30 | 49770 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/04/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2022/04/30 | 48826 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/04/30 | 484371 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/04/30 | 481498 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
2022/04/30 | 4806 | macros/latex/contrib/bxpdfver/README.md
-2022/04/30 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/04/30 | 477848 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2022/04/30 | 4768 | systems/texlive/tlnet/archive/bxpapersize.r63174.tar.xz
2022/04/30 | 470845 | macros/latex/contrib/elteikthesis/elteikthesis_hu.pdf
2022/04/30 | 4696 | systems/texlive/tlnet/archive/unisc.source.r63178.tar.xz
-2022/04/30 | 46066 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/04/30 | 45823 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/04/30 | 45744 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/04/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/04/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2022/04/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/04/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2022/04/30 | 442451 | macros/latex/contrib/elteikthesis/elteikthesis_en.pdf
-2022/04/30 | 43915 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/04/30 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/04/30 | 43646 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/04/30 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/04/30 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/04/30 | 42819 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2022/04/30 | 41924 | macros/latex/contrib/hvextern/doc/hvextern.tex
-2022/04/30 | 41306 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/04/30 | 41201 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/04/30 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
2022/04/30 | 406260 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63172.tar.xz
-2022/04/30 | 39728 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/04/30 | 394371 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/04/30 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/04/30 | 38425 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/04/30 | 37374 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/04/30 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/04/30 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/04/30 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
2022/04/30 | 3557 | macros/latex/contrib/elteikthesis/README_hu.md
2022/04/30 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx
-2022/04/30 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/04/30 | 35170 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/04/30 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/04/30 | 34053 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2022/04/30 | 3384 | systems/texlive/tlnet/archive/bxpapersize.doc.r63174.tar.xz
2022/04/30 | 3336 | macros/latex/contrib/elteikthesis/elteikthesis_hu.tex
-2022/04/30 | 332415 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/04/30 | 32956 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2022/04/30 | 3278 | macros/latex/contrib/elteikthesis/elteikthesis_en.tex
-2022/04/30 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/04/30 | 325268 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2022/04/30 | 3246 | macros/latex/contrib/elteikthesis/README.md
-2022/04/30 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/04/30 | 316243 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/04/30 | 31588 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/04/30 | 31521 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/04/30 | 31414 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/04/30 | 31343 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2022/04/30 | 30991 | macros/latex/contrib/bxpdfver/bxpdfver.sty
-2022/04/30 | 30543 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/04/30 | 30148 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/04/30 | 296039 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2022/04/30 | 2883399 | install/macros/latex/required/babel-base.tds.zip
-2022/04/30 | 288202 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/04/30 | 28796 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/04/30 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/04/30 | 286412 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/04/30 | 285715 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/04/30 | 28570 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/04/30 | 28423 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/04/30 | 2820687 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/04/30 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2022/04/30 | 275 | macros/latex/contrib/hvextern/Changes
-2022/04/30 | 27591 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/04/30 | 275589 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/04/30 | 275565 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/04/30 | 27250 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/04/30 | 270300 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/04/30 | 2694878 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/04/30 | 259259 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
2022/04/30 | 2584 | systems/texlive/tlnet/archive/unisc.r63178.tar.xz
-2022/04/30 | 25551 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/04/30 | 25483828 | systems/texlive/tlnet/install-tl.zip
-2022/04/30 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/04/30 | 25108 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/04/30 | 25060 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2022/04/30 | 2480 | macros/latex/contrib/elteikthesis/samples_hu/sim.tex
2022/04/30 | 2473 | macros/latex/contrib/elteikthesis/samples_en/sim.tex
-2022/04/30 | 247334 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/04/30 | 245098 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/04/30 | 244961 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/04/30 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/04/30 | 23945 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/04/30 | 2369192 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2022/04/30 | 230929 | macros/latex/contrib/thermodynamics.zip
-2022/04/30 | 22146 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2022/04/30 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
-2022/04/30 | 213279 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/04/30 | 21315 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/04/30 | 210271 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/04/30 | 208809 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/04/30 | 20462941 | systems/texlive/tlnet/install-tl-windows.exe
-2022/04/30 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/04/30 | 202837 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/04/30 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
2022/04/30 | 201715 | macros/latex/contrib/thermodynamics/thermodynamics.pdf
-2022/04/30 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/04/30 | 199832 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/04/30 | 1982081 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/04/30 | 197038 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2022/04/30 | 196864 | systems/texlive/tlnet/archive/unisc.doc.r63178.tar.xz
-2022/04/30 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2022/04/30 | 1951 | macros/latex/required/babel/base/README.md
-2022/04/30 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2022/04/30 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2022/04/30 | 1845037 | macros/latex/required/babel/base.zip
-2022/04/30 | 18369 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/04/30 | 181516 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/04/30 | 179878 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2022/04/30 | 17699 | macros/latex/contrib/hvextern/latex/hvextern.sty
-2022/04/30 | 1752148 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/04/30 | 173008 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/04/30 | 17271863 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2022/04/30 | 171456 | systems/texlive/tlnet/archive/l3kernel.r63177.tar.xz
-2022/04/30 | 168820 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2022/04/30 | 16727 | macros/latex/contrib/elteikthesis/elteikthesis.cls
2022/04/30 | 165883 | macros/latex/contrib/elteikthesis/README_hu.pdf
-2022/04/30 | 16560 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/04/30 | 16504 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2022/04/30 | 161870 | macros/latex/contrib/elteikthesis/README.pdf
-2022/04/30 | 156965 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/04/30 | 155499 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/04/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/04/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/04/30 | 152030 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2022/04/30 | 1512 | macros/latex/contrib/elteikthesis/elteikthesis.bib
2022/04/30 | 1503811 | macros/latex/contrib/elteikthesis.zip
-2022/04/30 | 1501239 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2022/04/30 | 14696 | systems/texlive/tlnet/archive/dtk.r63179.tar.xz
-2022/04/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/04/30 | 1454764 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/04/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/04/30 | 1444020 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/04/30 | 1442167 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/04/30 | 14412 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2022/04/30 | 1424 | macros/latex/contrib/elteikthesis/LICENSE
-2022/04/30 | 139103 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2022/04/30 | 138187 | macros/latex/contrib/thermodynamics/thermodynamics.dtx
2022/04/30 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63180.tar.xz
-2022/04/30 | 135950 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/04/30 | 1357071 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/04/30 | 135378 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/04/30 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
2022/04/30 | 13412 | macros/latex/contrib/bxpdfver.zip
-2022/04/30 | 1332426 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/04/30 | 1331188 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2022/04/30 | 1322743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2022/04/30 | 1310 | macros/latex/contrib/thermodynamics/README.md
-2022/04/30 | 1302485 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/04/30 | 126533 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2022/04/30 | 1250200 | systems/texlive/tlnet/archive/tex4ht.source.r63180.tar.xz
-2022/04/30 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2022/04/30 | 1198 | macros/latex/contrib/elteikthesis/samples_en/intro.tex
2022/04/30 | 1196 | macros/latex/contrib/elteikthesis/samples_hu/intro.tex
2022/04/30 | 1185723 | macros/latex/contrib/hvextern/doc/hvextern.pdf
-2022/04/30 | 1181127 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
2022/04/30 | 11690 | macros/latex/contrib/elteikthesis/samples_hu/user.tex
2022/04/30 | 11687 | macros/latex/contrib/elteikthesis/samples_en/user.tex
2022/04/30 | 11603476 | systems/texlive/tlnet/archive/l3kernel.doc.r63177.tar.xz
-2022/04/30 | 115657 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/04/30 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/04/30 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2022/04/30 | 1139170 | macros/latex/contrib/hvextern.zip
-2022/04/30 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/04/30 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
2022/04/30 | 109720 | systems/texlive/tlnet/archive/texlive-scripts.r63172.tar.xz
-2022/04/30 | 109480 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2022/04/30 | 1093458 | macros/latex/contrib/elteikthesis/images/elte_cimer_szines.eps
2022/04/30 | 1091 | macros/latex/contrib/bxpdfver/LICENSE
-2022/04/30 | 107706 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2022/04/30 | 1061 | macros/latex/contrib/elteikthesis/samples_hu/sum.tex
2022/04/30 | 1060 | macros/latex/contrib/elteikthesis/samples_en/sum.tex
-2022/04/30 | 104557 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/04/30 | 103339 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/04/30 | 103095 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/04/30 | 1021847 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/04/30 | 100487 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2022/04/29 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2022/04/29 | 99086 | usergrps/dante/dtk.zip
2022/04/29 | 960 | systems/texlive/tlnet/archive/collection-plaingeneric.r63165.tar.xz
@@ -424,13 +570,11 @@
2022/04/29 | 101444 | macros/latex/contrib/codehigh.zip
2022/04/28 | 966184 | systems/texlive/tlnet/archive/postnotes.doc.r63160.tar.xz
2022/04/28 | 858350 | macros/latex/contrib/doclicense.zip
-2022/04/28 | 853248 | systems/texlive/tlnet/archive/hvextern.doc.r63159.tar.xz
2022/04/28 | 7372 | systems/texlive/tlnet/archive/postnotes.r63160.tar.xz
2022/04/28 | 57766 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
2022/04/28 | 510766 | macros/latex/contrib/proflycee.zip
2022/04/28 | 498392 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
2022/04/28 | 470 | macros/generic/expex-acro/README.md
-2022/04/28 | 4664 | systems/texlive/tlnet/archive/hvextern.r63159.tar.xz
2022/04/28 | 367212 | systems/texlive/tlnet/archive/beamer-fuberlin.doc.r63161.tar.xz
2022/04/28 | 338099 | support/TeX4ht/source/tex4ht-ooffice.tex
2022/04/28 | 3168 | systems/texlive/tlnet/archive/beamer-fuberlin.r63161.tar.xz
@@ -910,111 +1054,3 @@
2022/04/25 | 102695 | macros/latex/contrib/colorist/colorist-doc.pdf
2022/04/25 | 10210 | macros/latex/contrib/crefthe/crefthe.sty
2022/04/25 | 10078 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
-2022/04/24 | 9274 | macros/luatex/generic/lua-widow-control/lua-widow-control.sty
-2022/04/24 | 910 | macros/latex/contrib/llncsconf/CHANGELOG.md
-2022/04/24 | 89361 | macros/latex/contrib/create-theorem/create-theorem.sty
-2022/04/24 | 8601 | macros/luatex/generic/lua-widow-control/lwc-documentation.mkxl
-2022/04/24 | 8532 | systems/texlive/tlnet/archive/messagepassing.source.r63116.tar.xz
-2022/04/24 | 83443 | macros/latex/contrib/easybook/easybook.tex
-2022/04/24 | 79889 | macros/latex/contrib/rec-thy/rec-thy.sty
-2022/04/24 | 75139 | macros/latex/contrib/easybook/easybook.dtx
-2022/04/24 | 74129 | macros/latex/contrib/uspace/uspace.pdf
-2022/04/24 | 729 | macros/latex/contrib/llncsconf/example/example.tex
-2022/04/24 | 706029 | macros/latex/contrib/zref-vario.zip
-2022/04/24 | 7051 | macros/latex/contrib/llncsconf/llncsconf.sty
-2022/04/24 | 693304 | systems/texlive/tlnet/archive/xduthesis.doc.r63116.tar.xz
-2022/04/24 | 6884 | systems/texlive/tlnet/archive/robotarm.source.r63116.tar.xz
-2022/04/24 | 676 | macros/latex/contrib/create-theorem/README.md
-2022/04/24 | 6656 | systems/texlive/tlnet/archive/ut-thesis.source.r63116.tar.xz
-2022/04/24 | 6568 | systems/texlive/tlnet/archive/uwa-letterhead.source.r63116.tar.xz
-2022/04/24 | 632821 | macros/latex/contrib/easybook.zip
-2022/04/24 | 6265 | macros/latex/contrib/rec-thy/README
-2022/04/24 | 6202 | macros/latex/contrib/uspace/uspace-test.tex
-2022/04/24 | 6060 | systems/texlive/tlnet/archive/uwa-pcf.source.r63116.tar.xz
-2022/04/24 | 591558 | macros/latex/contrib/easybook/easybook.pdf
-2022/04/24 | 578 | macros/latex/contrib/zref-vario/README.md
-2022/04/24 | 57656 | systems/texlive/tlnet/archive/uwa-letterhead.doc.r63116.tar.xz
-2022/04/24 | 570457 | macros/latex/contrib/zref-vario/zref-vario-code.pdf
-2022/04/24 | 5692 | systems/texlive/tlnet/archive/uwa-pif.source.r63116.tar.xz
-2022/04/24 | 5644 | systems/texlive/tlnet/archive/zref-check.r63116.tar.xz
-2022/04/24 | 55900 | systems/texlive/tlnet/archive/babel-french.source.r63116.tar.xz
-2022/04/24 | 5428 | systems/texlive/tlnet/archive/luamathalign.source.r63116.tar.xz
-2022/04/24 | 5407 | macros/latex/contrib/uspace/uspace.tex
-2022/04/24 | 52740 | systems/texlive/tlnet/archive/uwa-pcf.doc.r63116.tar.xz
-2022/04/24 | 513436 | systems/texlive/tlnet/archive/biblatex-swiss-legal.doc.r63116.tar.xz
-2022/04/24 | 508004 | systems/texlive/tlnet/archive/babel-french.doc.r63116.tar.xz
-2022/04/24 | 50612 | systems/texlive/tlnet/archive/zref-clever.source.r63116.tar.xz
-2022/04/24 | 50500 | systems/texlive/tlnet/archive/uwa-pif.doc.r63116.tar.xz
-2022/04/24 | 4916 | systems/texlive/tlnet/archive/graphpaper.r63116.tar.xz
-2022/04/24 | 43788 | systems/texlive/tlnet/archive/texlogsieve.r63116.tar.xz
-2022/04/24 | 426864 | systems/texlive/tlnet/archive/graphpaper.doc.r63116.tar.xz
-2022/04/24 | 4244 | systems/texlive/tlnet/archive/luamathalign.r63116.tar.xz
-2022/04/24 | 4233 | macros/latex/contrib/llncsconf/README.md
-2022/04/24 | 390260 | systems/texlive/tlnet/archive/luamathalign.doc.r63116.tar.xz
-2022/04/24 | 3895 | macros/luatex/generic/lua-widow-control/lwc-sample.tex
-2022/04/24 | 386431 | install/macros/luatex/generic/lua-widow-control.tds.zip
-2022/04/24 | 385495 | macros/luatex/generic/lua-widow-control/lua-widow-control.pdf
-2022/04/24 | 382897 | macros/luatex/generic/lua-widow-control.zip
-2022/04/24 | 34081 | macros/latex/contrib/uspace/uspace-test-lualatex.pdf
-2022/04/24 | 3348 | systems/texlive/tlnet/archive/uwa-letterhead.r63116.tar.xz
-2022/04/24 | 325 | macros/latex/contrib/uspace/README.md
-2022/04/24 | 32541 | macros/latex/contrib/uspace/uspace-test-xelatex.pdf
-2022/04/24 | 322092 | systems/texlive/tlnet/archive/oup-authoring-template.doc.r63116.tar.xz
-2022/04/24 | 31 | macros/latex/contrib/zref-vario/DEPENDS.txt
-2022/04/24 | 30465 | macros/latex/contrib/zref-vario/zref-vario.dtx
-2022/04/24 | 29719 | macros/luatex/generic/lua-widow-control/lwc-documentation.tex
-2022/04/24 | 294411 | macros/latex/contrib/uspace.zip
-2022/04/24 | 2924 | systems/texlive/tlnet/archive/uwa-pcf.r63116.tar.xz
-2022/04/24 | 2924 | systems/texlive/tlnet/archive/robotarm.r63116.tar.xz
-2022/04/24 | 2724 | macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
-2022/04/24 | 2724 | macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkiv
-2022/04/24 | 2699 | macros/luatex/generic/lua-widow-control/lua-widow-control-2022-02-22.sty
-2022/04/24 | 268036 | systems/texlive/tlnet/archive/messagepassing.doc.r63116.tar.xz
-2022/04/24 | 2644 | systems/texlive/tlnet/archive/messagepassing.r63116.tar.xz
-2022/04/24 | 2629 | macros/luatex/generic/lua-widow-control/README.md
-2022/04/24 | 2616 | systems/texlive/tlnet/archive/ut-thesis.r63116.tar.xz
-2022/04/24 | 2589 | macros/latex/contrib/zref-vario/zref-vario.ins
-2022/04/24 | 2588 | systems/texlive/tlnet/archive/uwa-pif.r63116.tar.xz
-2022/04/24 | 23565 | macros/latex/contrib/create-theorem/create-theorem-doc.tex
-2022/04/24 | 23148 | systems/texlive/tlnet/archive/zref-clever.r63116.tar.xz
-2022/04/24 | 2224 | macros/luatex/generic/lua-widow-control/lua-widow-control.tex
-2022/04/24 | 20771 | macros/luatex/generic/lua-widow-control/lua-widow-control.lua
-2022/04/24 | 19376 | systems/texlive/tlnet/archive/zref-check.source.r63116.tar.xz
-2022/04/24 | 19106 | macros/latex/contrib/create-theorem/LICENSE
-2022/04/24 | 1873 | macros/luatex/generic/lua-widow-control/lua-widow-control.opm
-2022/04/24 | 1860 | macros/latex/contrib/uspace/uspace-ctanify.sh
-2022/04/24 | 184700 | systems/texlive/tlnet/archive/robotarm.doc.r63116.tar.xz
-2022/04/24 | 18148 | systems/texlive/tlnet/archive/biblatex-swiss-legal.r63116.tar.xz
-2022/04/24 | 1795 | macros/latex/contrib/uspace/uspace.sty
-2022/04/24 | 17492 | systems/texlive/tlnet/archive/oup-authoring-template.r63116.tar.xz
-2022/04/24 | 15976 | systems/texlive/tlnet/archive/xduthesis.source.r63116.tar.xz
-2022/04/24 | 15900 | systems/texlive/tlnet/archive/babel-french.r63116.tar.xz
-2022/04/24 | 153067 | macros/latex/contrib/uspace/uspace-test-pdflatex.pdf
-2022/04/24 | 1518088 | systems/texlive/tlnet/archive/zref-clever.doc.r63116.tar.xz
-2022/04/24 | 1492 | macros/luatex/generic/lua-widow-control/lwc-documentation.bib
-2022/04/24 | 143334 | macros/latex/contrib/zref-vario/zref-vario.pdf
-2022/04/24 | 142078 | macros/latex/contrib/rec-thy.zip
-2022/04/24 | 141562 | macros/latex/contrib/create-theorem.zip
-2022/04/24 | 1411 | macros/latex/contrib/zref-vario/zref-vario-code.tex
-2022/04/24 | 138168 | systems/texlive/tlnet/archive/ut-thesis.doc.r63116.tar.xz
-2022/04/24 | 131996 | macros/latex/contrib/llncsconf/example/example_llncs_crop.pdf
-2022/04/24 | 131977 | macros/latex/contrib/llncsconf/example/example_llncs_nocrop.pdf
-2022/04/24 | 131793 | macros/latex/contrib/llncsconf/example/example_submitted_crop.pdf
-2022/04/24 | 131776 | macros/latex/contrib/llncsconf/example/example_submitted_nocrop.pdf
-2022/04/24 | 131639 | macros/latex/contrib/llncsconf/example/example_intended_crop.pdf
-2022/04/24 | 131626 | macros/latex/contrib/llncsconf/example/example_intended_nocrop.pdf
-2022/04/24 | 1298 | macros/latex/contrib/llncsconf/LICENSE
-2022/04/24 | 127698 | macros/latex/contrib/rec-thy/rec-thy.pdf
-2022/04/24 | 125447 | macros/latex/contrib/llncsconf/example/example_proceedings_crop.pdf
-2022/04/24 | 125428 | macros/latex/contrib/llncsconf/example/example_proceedings_nocrop.pdf
-2022/04/24 | 1244680 | macros/latex/contrib/llncsconf.zip
-2022/04/24 | 120072 | macros/latex/contrib/create-theorem/create-theorem-doc.pdf
-2022/04/24 | 118430 | macros/latex/contrib/llncsconf/example/example_accepted_crop.pdf
-2022/04/24 | 118411 | macros/latex/contrib/llncsconf/example/example_accepted_nocrop.pdf
-2022/04/24 | 113392 | systems/texlive/tlnet/archive/xduthesis.r63116.tar.xz
-2022/04/24 | 110876 | systems/texlive/tlnet/archive/texlogsieve.doc.r63116.tar.xz
-2022/04/24 | 11052 | macros/latex/contrib/zref-vario/zref-vario.tex
-2022/04/24 | 10952 | systems/texlive/tlnet/archive/graphpaper.source.r63116.tar.xz
-2022/04/24 | 1072 | macros/latex/contrib/uspace/LICENSE
-2022/04/24 | 1049052 | systems/texlive/tlnet/archive/zref-check.doc.r63116.tar.xz
-2022/04/24 | 1011 | macros/latex/contrib/zref-vario/CHANGELOG.md
diff --git a/info/install-latex-guide-zh-cn/appendix/updateinfo.tex b/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
index 05ce69b53d..c7c2ac998a 100644
--- a/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
+++ b/info/install-latex-guide-zh-cn/appendix/updateinfo.tex
@@ -2,6 +2,13 @@
\chapter{版本信息}
+\section*{v2022.5.1}
+
+\begin{enumerate}
+ \item Windows、Ubuntu 和 WSL 下安装 \TeX{} Live 2022 的内容更新
+ \item 统一挂载、加载为装载, 与现行 Windows 系统名称统一
+\end{enumerate}
+
\section*{v2022.4.1}
\begin{enumerate}
diff --git a/info/install-latex-guide-zh-cn/appendix/wsladdition.tex b/info/install-latex-guide-zh-cn/appendix/wsladdition.tex
index 23aa123f0d..d5a67fc4aa 100644
--- a/info/install-latex-guide-zh-cn/appendix/wsladdition.tex
+++ b/info/install-latex-guide-zh-cn/appendix/wsladdition.tex
@@ -39,9 +39,6 @@ WSL (本质上是 Ubuntu) 中安装字体比较麻烦.
sudo apt-get install fonts-noto-cjk-extra
\end{lstlisting}
-在目前的版本中, 本文在 WSL 中进行编译.
-目前感受是该方法较之 Windows 10 系统中的编译更快.
-其他方面并未进行比较.
由于 \TeX studio 在 WSL 中无法正常正反搜索,
因此我使用了 VS Code 配合
\href{https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl}{Remote WSL}
diff --git a/info/install-latex-guide-zh-cn/chapter/ubuntu.tex b/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
index 1634ed85d9..87b118abd8 100644
--- a/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
+++ b/info/install-latex-guide-zh-cn/chapter/ubuntu.tex
@@ -5,39 +5,39 @@
\section{安装 \TeX{} Live}
这里只阐述如何用镜像安装.
-为使用户顺利使用 \TeX{} Live 2021,
+为使用户顺利使用 \TeX{} Live 2022,
建议用户首先卸载从源内安装的 \TeX{} Live 的相关包,
具体方法见 \ref{sec:ubuntu:uninstall}~节.
下载
-\href{https://mirrors.ctan.org/systems/texlive/Images/texlive2021.iso}{iso 镜像文件}
+\href{https://mirrors.ctan.org/systems/texlive/Images/texlive2022.iso}{iso 镜像文件}
的方法见 \ref{sec:windows:install}~节.
下载完毕后, 打开 \textsf{Terminal} 窗口验证 MD5 值,
即执行以下命令
\begin{lstlisting}[language = bash]
cd ~/Downloads
- md5sum texlive2021.iso
+ md5sum texlive2022.iso
\end{lstlisting}
若显示
\begin{lstlisting}
- 2893d180f1559a7bf80dfc0740f6b889 texlive2021.iso
+ adadcf7ea5224f174ec2abcea6923a42 texlive2022.iso
\end{lstlisting}
则镜像文件下载正确.
同样可验证 SHA512 值,
执行
\begin{lstlisting}[language = bash]
cd ~/Downloads
- sha512sum texlive2021.iso
+ sha512sum texlive2022.iso
\end{lstlisting}
正确的返回结果为
\begin{lstlisting}[language=bash,literate={a}{a}{1} {b}{b}{1} {c}{c}{1} {d}{d}{1} {e}{e}{1} {f}{f}{1}]
- bad51ec47613cf295ed77472d10e517fe79e501f73ff918a1068f03ef43f4394ceb165051132bcbcb53a05650b77ea907f327c1799c38ae476ca38620aa7c1fe texlive2021.iso
+ b3d4d2e9b0e3d34a7ca0763fb5c669bb9a26518f86af5cc292c56f7d61ff25dc5fce3373f814d970d99b0d40df393ad594336cf1b35a95a9655289666d964d59 texlive2022.iso
\end{lstlisting}
-将下载的光盘镜像进行挂载
+将下载的光盘镜像进行装载
\begin{lstlisting}[language = bash]
sudo mkdir /mnt/texlive
- sudo mount ./texlive2021.iso /mnt/texlive
+ sudo mount ./texlive2022.iso /mnt/texlive
\end{lstlisting}
接下来执行
\begin{lstlisting}[language = bash]
@@ -59,21 +59,21 @@
<S> set installation scheme: scheme-full
<C> set installation collections:
- 40 collections out of 41, disk space required: 6963 MB
+ 40 collections out of 41, disk space required: 7262 MB (free: 239411 MB)
<D> set directories:
TEXDIR (the main TeX directory):
- /usr/local/texlive/2021
+ /usr/local/texlive/2022
TEXMFLOCAL (directory for site-wide local files):
/usr/local/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
- /usr/local/texlive/2021/texmf-var
+ /usr/local/texlive/2022/texmf-var
TEXMFSYSCONFIG (directory for local config):
- /usr/local/texlive/2021/texmf-config
+ /usr/local/texlive/2022/texmf-config
TEXMFVAR (personal directory for variable and automatically generated data):
- ~/.texlive2021/texmf-var
+ ~/.texlive2022/texmf-var
TEXMFCONFIG (personal directory for local config):
- ~/.texlive2021/texmf-config
+ ~/.texlive2022/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
@@ -102,7 +102,7 @@
如安装路径等.
为简化起见,
以下内容我们均认为用户采用默认安装.
-安装完毕后, 将挂载的光盘镜像弹出并删除文件夹
+安装完毕后, 将装载的光盘镜像弹出并删除文件夹
\begin{lstlisting}[language = bash]
sudo umount /mnt/texlive
sudo rm -r /mnt/texlive
@@ -116,9 +116,9 @@
在打开的文件末尾添加
\begin{lstlisting}
# Add TeX Live to the PATH, MANPATH, INFOPATH
- export PATH=/usr/local/texlive/2021/bin/x86_64-linux:$PATH
- export MANPATH=/usr/local/texlive/2021/texmf-dist/doc/man:$MANPATH
- export INFOPATH=/usr/local/texlive/2021/texmf-dist/doc/info:$INFOPATH
+ export PATH=/usr/local/texlive/2022/bin/x86_64-linux:$PATH
+ export MANPATH=/usr/local/texlive/2022/texmf-dist/doc/man:$MANPATH
+ export INFOPATH=/usr/local/texlive/2022/texmf-dist/doc/info:$INFOPATH
\end{lstlisting}
并保存退出.
这时再打开 \textsf{Terminal} 执行
@@ -127,9 +127,9 @@
\end{lstlisting}
若显示
\begin{lstlisting}
- TeX 3.141592653 (TeX Live 2021)
- kpathsea version 6.3.3
- Copyright 2021 D.E. Knuth.
+ TeX 3.141592653 (TeX Live 2022)
+ kpathsea version 6.3.4
+ Copyright 2022 D.E. Knuth.
There is NO warranty. Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
@@ -142,7 +142,7 @@
接下来处理字体.
在 \textsf{Terminal} 中执行
\begin{lstlisting}[language=bash]
- sudo cp /usr/local/texlive/2021/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
+ sudo cp /usr/local/texlive/2022/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
\end{lstlisting}
将配置文件复制到系统,
然后继续执行
@@ -156,7 +156,7 @@
如果用户更改了安装路径,
要注意将
\begin{lstlisting}
- /usr/local/texlive/2021/
+ /usr/local/texlive/2022/
\end{lstlisting}
在各处替换.
@@ -170,19 +170,19 @@
\end{lstlisting}
只不过这时安装路径需要选择
\begin{lstlisting}[language=bash]
- ~/texlive/2021
+ ~/texlive/2022
\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
+ export PATH=~/texlive/2022/bin/x86_64-linux:$PATH
+ export MANPATH=~/texlive/2022/texmf-dist/doc/man:$MANPATH
+ export INFOPATH=~/texlive/2022/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
+ cp ~/texlive/2022/texmf-var/fonts/conf/texlive-fontconfig.conf ~/.fonts.conf/09-texlive.conf
\end{lstlisting}
然后执行
\begin{lstlisting}[language=bash]
@@ -282,8 +282,8 @@
进而通过 \texttt{sudo rm -rf} 命令进行删除.
默认安装的用户直接运行
\begin{lstlisting}[language = bash]
- sudo rm -rf /usr/local/texlive/2021
- rm -rf ~/.texlive2021
+ sudo rm -rf /usr/local/texlive/2022
+ rm -rf ~/.texlive2022
\end{lstlisting}
卸载完成后,可以进一步移除之前设置的环境变量.
在 \textsf{Terminal} 中执行
@@ -293,11 +293,19 @@
然后移除之前在文件末尾添加的
\begin{lstlisting}
# Add TeX Live to the PATH, MANPATH, INFOPATH
- export PATH=/usr/local/texlive/2021/bin/x86_64-linux:$PATH
- export MANPATH=/usr/local/texlive/2021/texmf-dist/doc/man:$MANPATH
- export INFOPATH=/usr/local/texlive/2021/texmf-dist/doc/info:$INFOPATH
+ export PATH=/usr/local/texlive/2022/bin/x86_64-linux:$PATH
+ export MANPATH=/usr/local/texlive/2022/texmf-dist/doc/man:$MANPATH
+ export INFOPATH=/usr/local/texlive/2022/texmf-dist/doc/info:$INFOPATH
\end{lstlisting}
并保存退出.
+同时在 \textsf{Terminal} 中执行
+\begin{lstlisting}[language = bash]
+ sudo visudo
+\end{lstlisting}
+在 \texttt{secure\_path} 中删除
+\begin{lstlisting}
+ /usr/local/texlive/2022/bin/x86_64-linux:
+\end{lstlisting}
\subsection{使用 \texttt{tlmgr} 工具}
@@ -327,7 +335,7 @@ please get the new TL by doing a new installation instead of proceeding here}.
\end{lstlisting}
\begin{lstlisting}
- /usr/local/texlive/2021/bin/x86_64-linux:
+ /usr/local/texlive/2022/bin/x86_64-linux:
\end{lstlisting}
添加在 \texttt{secure\_path} 中%
\footnote{这里只讨论默认安装的情况}.
diff --git a/info/install-latex-guide-zh-cn/chapter/windows.tex b/info/install-latex-guide-zh-cn/chapter/windows.tex
index 04ef8e35a6..fe0b888d9f 100644
--- a/info/install-latex-guide-zh-cn/chapter/windows.tex
+++ b/info/install-latex-guide-zh-cn/chapter/windows.tex
@@ -8,7 +8,7 @@
在文件夹菜单栏 \menu{查看 > 显示/隐藏} 中选择 \menu{文件扩展名}.
用户可以从最近的 CTAN 源\footnote{这里所谓的最近, 其实是由系统判定的, 实际上系统可能会误判}下载 \TeX{} Live 的
-\href{https://mirrors.ctan.org/systems/texlive/Images/texlive2021.iso}{iso 镜像文件},
+\href{https://mirrors.ctan.org/systems/texlive/Images/texlive2022.iso}{iso 镜像文件},
也可以找大陆地区的源自行下载\footnote{新版本发布时, 各镜像网站同步的进度会有不同}.
通过大陆地区的源下载 iso 文件的方法请参考附录~\ref{chp:appendix:mirror}.
@@ -50,13 +50,13 @@
打开 \textsf{cmd} 窗口依次执行以下代码
\begin{lstlisting}[language = bash]
cd /d X:\Y
- certutil -hashfile texlive2021.iso md5
+ certutil -hashfile texlive2022.iso md5
\end{lstlisting}
若系统显示
\begin{lstlisting}
- MD5 的 texlive2021.iso 哈希:
- 2893d180f1559a7bf80dfc0740f6b889
- CertUtil: -hashfile 命令成功完成
+ MD5 的 texlive2022.iso 哈希:
+ adadcf7ea5224f174ec2abcea6923a42
+ CertUtil: -hashfile 命令成功完成。
\end{lstlisting}
则表明下载的镜像文件正常.
除 MD5 值外,
@@ -64,26 +64,26 @@
依然是在 \textsf{cmd} 执行
\begin{lstlisting}[language = bash]
cd /d X:\Y
- certutil -hashfile texlive2021.iso sha512
+ certutil -hashfile texlive2022.iso sha512
\end{lstlisting}
若系统显示
\begin{lstlisting}[language=bash,literate={a}{a}{1} {b}{b}{1} {c}{c}{1} {d}{d}{1} {e}{e}{1} {f}{f}{1}]
- SHA512 的 texlive2021.iso 哈希:
- bad51ec47613cf295ed77472d10e517fe79e501f73ff918a1068f03ef43f4394ceb165051132bcbcb53a05650b77ea907f327c1799c38ae476ca38620aa7c1fe
- CertUtil: -hashfile 命令成功完成
+ SHA512 的 texlive2022.iso 哈希:
+ b3d4d2e9b0e3d34a7ca0763fb5c669bb9a26518f86af5cc292c56f7d61ff25dc5fce3373f814d970d99b0d40df393ad594336cf1b35a95a9655289666d964d59
+ CertUtil: -hashfile 命令成功完成。
\end{lstlisting}
即为验证成功.
接下来开始安装.
推荐用户先手动建立 \TeX{} Live 的安装路径 (文件夹) 再进行安装,
注意路径的名称是\textbf{不带空格的英文},
-默认路径为 \texttt{C:\textbackslash texlive\textbackslash 2021}.
+默认路径为 \texttt{C:\textbackslash texlive\textbackslash 2022}.
假如系统用了中文作为用户名,
那么用户需要先按照 \ref{sec:chinesename} 节的方法更改临时环境变量后再安装.
-将镜像文件挂载至虚拟光驱\footnote{Windows 10 默认双击镜像文件便可加载;
+将镜像文件装载至虚拟光驱\footnote{Windows 10 默认双击镜像文件便可装载;
受某些压缩软件影响双击失效时,
-可通过文件夹菜单栏
-\menu{主页 > 打开 > Windows 资源管理器} 加载;
+可在文件夹菜单栏
+\menu{管理 > 光盘映像工具 > 装载};
第三方虚拟光驱软件可考虑 WinCDEmu 或 UltraISO;
不鼓励解压缩镜像文件}.
假设加载后的路径为 \texttt{Z:\textbackslash}.
@@ -107,21 +107,21 @@
<S> set installation scheme: scheme-full
<C> set installation collections:
- 41 collections out of 41, disk space required: 7155 MB
+ 41 collections out of 41, disk space required: 7462 MB
<D> set directories:
TEXDIR (the main TeX directory):
- C:/texlive/2021
+ C:/texlive/2022
TEXMFLOCAL (directory for site-wide local files):
C:/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
- C:/texlive/2021/texmf-var
+ C:/texlive/2022/texmf-var
TEXMFSYSCONFIG (directory for local config):
- C:/texlive/2021/texmf-config
+ C:/texlive/2022/texmf-config
TEXMFVAR (personal directory for variable and automatically generated data):
- ~/.texlive2021/texmf-var
+ ~/.texlive2022/texmf-var
TEXMFCONFIG (personal directory for local config):
- ~/.texlive2021/texmf-config
+ ~/.texlive2022/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
@@ -153,15 +153,15 @@
==============================================================================
Directories customization:
- <1> TEXDIR: C:/texlive/2021
- main tree: C:/texlive/2021/texmf-dist
+ <1> TEXDIR: C:/texlive/2022
+ main tree: C:/texlive/2022/texmf-dist
<2> TEXMFLOCAL: C:/texlive/texmf-local
- <3> TEXMFSYSVAR: C:/texlive/2021/texmf-var
- <4> TEXMFSYSCONFIG: C:/texlive/2021/texmf-config
+ <3> TEXMFSYSVAR: C:/texlive/2022/texmf-var
+ <4> TEXMFSYSCONFIG: C:/texlive/2022/texmf-config
- <5> TEXMFVAR: ~/.texlive2021/texmf-var
- <6> TEXMFCONFIG: ~/.texlive2021/texmf-config
+ <5> TEXMFVAR: ~/.texlive2022/texmf-var
+ <6> TEXMFCONFIG: ~/.texlive2022/texmf-config
<7> TEXMFHOME: ~/texmf
Note: ~ will expand to %USERPROFILE%
@@ -174,9 +174,9 @@
\end{lstlisting}
这时按键盘 \keys{1}, 将看到
\begin{lstlisting}
- New value for TEXDIR [C:/texlive/2021]:
+ New value for TEXDIR [C:/texlive/2022]:
\end{lstlisting}
-这时可更改路径, 如 \texttt{D:/texlive/2021}.
+这时可更改路径, 如 \texttt{D:/texlive/2022}.
接下来, 按键盘 \keys{R} 即可回到初始的安装界面,
再按键盘 \keys{I} 便可在刚才指定的路径安装.
用户可通过阅读英文执行其他操作, 这里不再赘述.
@@ -192,9 +192,9 @@
\end{lstlisting}
显示
\begin{lstlisting}
- TeX 3.141592653 (TeX Live 2021/W32TeX)
- kpathsea version 6.3.3
- Copyright 2021 D.E. Knuth.
+ TeX 3.141592653 (TeX Live 2022)
+ kpathsea version 6.3.4
+ Copyright 2022 D.E. Knuth.
There is NO warranty. Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
@@ -206,7 +206,7 @@
\footnote{若未能正确显示结果, 则可能是因为环境变量未改变,
用户可手动添加 \texttt{<TEXDIR>\textbackslash bin\textbackslash win32} 至环境变量,
\texttt{<TEXDIR>} 需与你方才的安装路径一致}.
-弹出前面加载的光盘镜像,
+弹出前面装载的光盘镜像,
安装到此结束.
\subsection{下载镜像一直不成功的处理办法}
@@ -218,14 +218,14 @@
将 \textsf{wget} 所在目录添加到环境变量中.
打开 \textsf{cmd} 窗口执行以下代码
\begin{lstlisting}[language = bash]
- wget http://mirrors.ctan.org/systems/texlive/Images/texlive2021.iso
+ wget http://mirrors.ctan.org/systems/texlive/Images/texlive2022.iso
\end{lstlisting}
即可下载最近的镜像.
类似地,
也可以指定国内的源进行下载,
例如选择清华大学镜像
\begin{lstlisting}[language = bash]
- wget https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/texlive2021.iso
+ wget https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/texlive2022.iso
\end{lstlisting}
其他国内镜像只需要将链接替换即可,
链接和方法请参考附录~\ref{chp:appendix:mirror}.
@@ -253,7 +253,7 @@
set TMP=C:\temp
\end{lstlisting}
便可更改这两个环境变量为 \texttt{C:\textbackslash temp}.
-更改后按照前述内容安装 \TeX{} Live 2021 即可.
+更改后按照前述内容安装 \TeX{} Live 2022 即可.
这样的更改是临时的,
待 \textsf{cmd} 窗口关闭,
环境变量将恢复为原始状态.
@@ -281,32 +281,32 @@
\footnote{双击或在 \texttt{cmd} 中运行}%
安装路径中的卸载批处理文件即可实现卸载, 如默认安装时执行
\begin{lstlisting}[language=bash]
- C:\texlive\2021\tlpkg\installer\uninst.bat
+ C:\texlive\2022\tlpkg\installer\uninst.bat
\end{lstlisting}
结束以上步骤后,
-手动删除用户文件夹中的 \texttt{.texlive2021}.
+手动删除用户文件夹中的 \texttt{.texlive2022}.
如果用户安装 \TeX{} Live 时需要管理员权限,
那么在卸载时同样需要管理员权限.
卸载后,
用户需要清理注册表
\begin{lstlisting}
- HKEY_CURRENT_USER\Software\Classes\TL.bitmap2eps.convert.2021
- HKEY_CURRENT_USER\Software\Classes\TL.DVIOUT.view.2021
- HKEY_CURRENT_USER\Software\Classes\TL.TeXworks.edit.2021
- HKEY_CURRENT_USER\Software\Classes\TL.PSViewer.view.2021
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\TL.bitmap2eps.convert.2021_.jpg
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\TL.bitmap2eps.convert.2021_.png
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\TL.TeXworks.edit.2021_.sty
- HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\TL.TeXworks.edit.2021_.tex
+ HKEY_CURRENT_USER\Software\Classes\TL.bitmap2eps.convert.2022
+ HKEY_CURRENT_USER\Software\Classes\TL.DVIOUT.view.2022
+ HKEY_CURRENT_USER\Software\Classes\TL.TeXworks.edit.2022
+ HKEY_CURRENT_USER\Software\Classes\TL.PSViewer.view.2022
+ HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\TL.bitmap2eps.convert.2022_.jpg
+ HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\TL.bitmap2eps.convert.2022_.png
+ HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\TL.TeXworks.edit.2022_.sty
+ HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ApplicationAssociationToasts\TL.TeXworks.edit.2022_.tex
\end{lstlisting}
但若在安装时使用管理员权限``为所有人安装'',
则注册表位置将变为
\begin{lstlisting}
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TL.bitmap2eps.convert.2021
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TL.DVIOUT.view.2021
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TL.TeXworks.edit.2021
- HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TL.PSViewer.view.2021
+ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TL.bitmap2eps.convert.2022
+ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TL.DVIOUT.view.2022
+ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TL.TeXworks.edit.2022
+ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TL.PSViewer.view.2022
\end{lstlisting}
\subsection{手动卸载}
@@ -368,13 +368,9 @@ Doing a new installation is necessary.}.
\subsection{升级宏包的必要性}
自本手册撰写以来,
-每年镜像文件打包时都可能存在一些问题.
-使用镜像文件安装 \TeX{} Live 2021 后,
-系统平台无法被识别.
-该问题只见于 Windows 平台,
+每年镜像文件打包时都可能存在一些问题,
具体讨论见%
\href{https://github.com/CTeX-org/ctex-kit/issues/569}{这里}.
-目前这一问题已经可以通过更新宏包解决,
用户安装完毕后,
请按照本节提供的方法升级.
diff --git a/info/install-latex-guide-zh-cn/chapter/wsl.tex b/info/install-latex-guide-zh-cn/chapter/wsl.tex
index da388c34ab..4b7775d81c 100644
--- a/info/install-latex-guide-zh-cn/chapter/wsl.tex
+++ b/info/install-latex-guide-zh-cn/chapter/wsl.tex
@@ -14,7 +14,7 @@
在主系统%
\footnote{在 Windows 10 中直接进行的操作即为在主系统中的操作}%
中下载
-\href{https://mirrors.ctan.org/systems/texlive/Images/texlive2021.iso}{iso 镜像文件},
+\href{https://mirrors.ctan.org/systems/texlive/Images/texlive2022.iso}{iso 镜像文件},
可选择国内源以加快下载速度.
下载完毕后, 在 \textsf{cmd} 中验证文件是否正常.
下载及文件验证方法同 \ref{sec:windows:install}~节.
@@ -37,14 +37,14 @@
不熟悉 \textsf{vim} 的用户,
可参考 \ref{sec:no-vim}~节.
-接下来, 在主系统中将镜像挂载,
+接下来, 在主系统中将镜像装载,
例如挂载到 \texttt{X:\textbackslash},
而后进入 \textsf{bash} 并执行如下命令
\begin{lstlisting}[language = bash]
sudo mkdir /mnt/x
sudo mount -t drvfs X: /mnt/x
\end{lstlisting}
-如此便可在 \textsf{bash} 中找到挂载的光盘镜像.
+如此便可在 \textsf{bash} 中找到装载的光盘镜像.
之后执行
\begin{lstlisting}[language = bash]
sudo /mnt/x/install-tl
@@ -65,21 +65,21 @@
<S> set installation scheme: scheme-full
<C> set installation collections:
- 40 collections out of 41, disk space required: 6963 MB
+ 40 collections out of 41, disk space required: 7262 MB (free: 239411 MB)
<D> set directories:
TEXDIR (the main TeX directory):
- /usr/local/texlive/2021
+ /usr/local/texlive/2022
TEXMFLOCAL (directory for site-wide local files):
/usr/local/texlive/texmf-local
TEXMFSYSVAR (directory for variable and automatically generated data):
- /usr/local/texlive/2021/texmf-var
+ /usr/local/texlive/2022/texmf-var
TEXMFSYSCONFIG (directory for local config):
- /usr/local/texlive/2021/texmf-config
+ /usr/local/texlive/2022/texmf-config
TEXMFVAR (personal directory for variable and automatically generated data):
- ~/.texlive2021/texmf-var
+ ~/.texlive2022/texmf-var
TEXMFCONFIG (personal directory for local config):
- ~/.texlive2021/texmf-config
+ ~/.texlive2022/texmf-config
TEXMFHOME (directory for user-specific files):
~/texmf
@@ -110,7 +110,7 @@
sudo umount /mnt/x
sudo rmdir /mnt/x
\end{lstlisting}
-弹出已加载的光盘镜像.
+弹出已装载的光盘镜像.
默认安装完成后, 用户需要设置环境变量.
继续在 \textsf{bash} 中执行
@@ -120,9 +120,9 @@
在打开的文件末尾添加
\begin{lstlisting}
# Add TeX Live to the PATH, MANPATH, INFOPATH
- export PATH=/usr/local/texlive/2021/bin/x86_64-linux:$PATH
- export MANPATH=/usr/local/texlive/2021/texmf-dist/doc/man:$MANPATH
- export INFOPATH=/usr/local/texlive/2021/texmf-dist/doc/info:$INFOPATH
+ export PATH=/usr/local/texlive/2022/bin/x86_64-linux:$PATH
+ export MANPATH=/usr/local/texlive/2022/texmf-dist/doc/man:$MANPATH
+ export INFOPATH=/usr/local/texlive/2022/texmf-dist/doc/info:$INFOPATH
\end{lstlisting}
并保存退出.
同样, 不熟悉 \textsf{vim} 的用户可参考 \ref{sec:no-vim}~节.
@@ -132,9 +132,9 @@
\end{lstlisting}
将显示
\begin{lstlisting}
- TeX 3.141592653 (TeX Live 2021)
- kpathsea version 6.3.3
- Copyright 2021 D.E. Knuth.
+ TeX 3.141592653 (TeX Live 2022)
+ kpathsea version 6.3.4
+ Copyright 2022 D.E. Knuth.
There is NO warranty. Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
@@ -148,7 +148,7 @@
首先将配置文件复制到系统,
在 \textsf{Terminal} 执行
\begin{lstlisting}[language=bash]
- sudo cp /usr/local/texlive/2021/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
+ sudo cp /usr/local/texlive/2022/texmf-var/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
\end{lstlisting}
然后在 \textsf{Terminal} 执行
\begin{lstlisting}[language=bash]
@@ -195,9 +195,9 @@ WSL 中的方法同 \ref{sec:ubuntu:installpackage}~节.
\end{lstlisting}
系统返回类似如下内容
\begin{lstlisting}[language=bash]
- /mnt/d/texlive-wsl/2021/texmf-dist/scripts/texdoc/texdoclib.tlu 3.2.2
+ /mnt/d/texlive-wsl/2022/texmf-dist/scripts/texdoc/texdoclib.tlu 3.4.1
Configuration file(s):
- active /mnt/d/texlive-wsl/2021/texmf-dist/texdoc/texdoc.cnf
+ active /mnt/d/texlive-wsl/2022/texmf-dist/texdoc/texdoc.cnf
Recommended file(s) for personal settings:
/home/<username>/texmf/texdoc/texdoc.cnf
\end{lstlisting}
@@ -222,14 +222,14 @@ WSL 中的方法同 \ref{sec:ubuntu:installpackage}~节.
\end{lstlisting}
系统会显示
\begin{lstlisting}
- 1 /usr/local/texlive/2021/texmf-dist/doc/latex/lshort-chinese/lshort-zh-cn.pdf
+ 1 /usr/local/texlive/2022/texmf-dist/doc/latex/lshort-chinese/lshort-zh-cn.pdf
= [zh] The document itself
Enter number of file to view, RET to view 1, anything else to skip:
\end{lstlisting}
这时按其他键 (如 \keys{x}) 退出.
然后分别执行
\begin{lstlisting}[language=bash]
- cd /usr/local/texlive/2021/texmf-dist/doc/latex/lshort-chinese/
+ cd /usr/local/texlive/2022/texmf-dist/doc/latex/lshort-chinese/
explorer.exe .
\end{lstlisting}
主系统的资源管理器便会打开.
@@ -312,7 +312,9 @@ WSL 中的方法同 \ref{sec:ubuntu:installpackage}~节.
\footnote{注意主系统中的字体默认不能直接被调用,
如果打算使用主系统中的字体,
-\href{https://github.com/OsbertWang/install-latex-guide-zh-cn/issues/14}{github 上的讨论}},
+\href{https://github.com/OsbertWang/install-latex-guide-zh-cn/issues/14}{github 上的讨论},
+鉴于 WSL2 和主系统文件系统互访速度慢,
+该方法很可能拖慢 xelatex 速度},
在 WSL 中安装字体的方法见附录~\ref{chp:appendix:wsl}.
编译命令可添加参数, 这里与 \ref{sec:windows:compile}~节中的情形一致, 不再赘述.
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 bbab5e21eb..c44eea0c1a 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/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 07c562221e..2a1c0e3d78 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/04/24}{1.68}
+\ProvidesExplClass{easybook}{2022/05/01}{1.682}
{Easily typesetting Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -303,7 +303,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/04/24}{1.68}
+\ProvidesExplPackage{easybase}{2022/05/01}{1.682}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -496,7 +496,7 @@
\LoadPackage
{
- spbmark[both]+
+ spbmark[text]+
ulem[normalem]+
enumitem[shortlabels,inline]+
chemformula+siunitx+pifont+
@@ -1142,7 +1142,8 @@
{ \cs_set:Npn \@makefnmark { \hbox:n {#1} } }
\cs_new_protected:Npn \defdownfntmark #1
{ \cs_set:Npn \eb@makefnmark { \hbox:n {#1} } }
-\cs_new:Npn \notminipage { \tl_if_eq:NnTF \@mpfn { footnote } }
+\cs_new_protected:Npn \notminipage
+ { \tl_if_eq:NnTF \@mpfn { footnote } }
\defupfntmark
{
\eb_fnmate_format_initial:
@@ -2322,7 +2323,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/04/24}{1.68}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/05/01}{1.682}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 9dc4327a1a..b0ba222f53 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index b7cf89b7aa..0525656103 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,8 +21,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v1.68,
- date = 2022/04/24,
+ version = v1.682,
+ date = 2022/05/01,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -239,7 +239,9 @@
\section{文档类选项}
\label{sec:document class options}
-文档类选项应当在使用 \cls*{easybook} 文档类或 \pkg*{easybase} 宏包(部分支持)时载入,可见\ref{subsec:basic usage} 的例子。选项前带有 \ding{73} 符号表示只可用于文档类,否则文档类与宏包都适用。除了下面列举的选项以外,还支持标准和 \CTeX 文档类的选项。
+文档类选项应当在使用 \cls*{easybook} 文档类或 \pkg*{easybase} 宏包(部分支持)时指定,可见\ref{subsec:basic usage} 的例子。选项前带有 \ding{73} 符号表示只可用于文档类,否则文档类与宏包都适用。除了下面列举的选项以外,还支持标准和 \CTeX 文档类的选项。
+
+\subsection{基本选项}
\begin{options}
\opt{draft}
开启草稿模式会加快编译速度,表现有显示页面边框、行溢出的地方显示黑色方块、图片变成占位方框、显示当前日期和关闭超链接渲染。不使用绘图宏包及依赖于 \pkg*{tcolorbox} 宏包的盒子环境也会增快编译速度,详情见\ref{subsec:box}。
@@ -259,7 +261,7 @@
是否提供定理功能支持。选项开启时定理样式模块生效,此时会载入 \pkg*{amsthm} 和 \pkg*{thmtools} 宏包。
\end{options}
-\subsection{中文字体}
+\subsection{配置字体}
\begin{options}
\keychoice{cjkfont}{adobe,fandol,founder,mac,macnew,macold,ubuntu,windows,none}\dtag
中文字体采用 \CTeX 宏集包含的字库并与其一致,具体配置方案可以查看 \CTeX 使用手册。它与 \option*{fontset} 选项是等效的,如果没有指定 \option{cjkfont} 的值,将会自动检测操作系统并选择相应的字体。
@@ -273,7 +275,6 @@
\end{ctexexam}
\end{options}
-\subsection{英文字体}
\begin{options}
\keychoice{font}{noto,times,times*,ebgaramond,libertine,palatino,auto}\dtag\Default{auto}
预置的英文字体相关配置方案如下表所示。这些字体已经包含在了 \TeX Live 发行版中,所以通常不需要再专门安装。如果您想使用其它英文字体,可以使用 \pkg*{fontspec} 宏包的相关命令进行设置。
@@ -294,7 +295,6 @@
}
\end{options}
-\subsection{数学字体}
\begin{options}
\keychoice{mathfont}{times,noto,notosans,nc,stix2,charter,ebgaramond,libertine,none}\dtag\Default{times}
选择合适的数学字体,将会加载 \pkg*{newtxmath} 和 \pkg*{bm} 宏包。使用选项 \code{none} 时可以使用 \pkg*{unicode-math} 等其它数学字体宏包定义字体。
@@ -303,125 +303,13 @@
\subsection{\textsf{article} 模式}
\begin{options}
\keychoice{class}{book,article}\Default{book}
- 使用 \cls*{easybook} 文档类可以有两种模式,默认为 \cls*{book} 模式。选用 \code{article} 会变为 \code{oneside} 单面排版,同时使文档编号、结构等与标准 \cls*{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \cs*{chapter} 命令。此时\ref{sec:document command} 中目录命令的 \option{chapter} 选项会失效,将以 \code{section} 标题级别输出目录。如果使用 \cls*{ctexart} 配合 \pkg*{easybase} 宏包,则选项值 \code{book} 会失效。
+ 使用 \cls*{easybook} 文档类可以有两种模式,默认为 \cls*{book} 模式。选用 \code{article} 会变为 \code{oneside} 单面排版,同时使文档编号、结构等与标准 \cls*{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \cs*{chapter} 命令。此时\ref{subsec:directory command} 中目录命令的 \option{chapter} 选项会失效,将以 \code{section} 标题级别输出目录。如果使用 \cls*{ctexart} 配合 \pkg*{easybase} 宏包,则选项值 \code{book} 会失效。
\opt{book}
开启 \cls*{book} 书籍模式,与 \keyis*{class}{book} 等效。
\opt{article}
开启 \cls*{article} 文章模式,与 \keyis*{class}{article} 等效。
\end{options}
-\section{文档命令}
-\label{sec:document command}
-
-\subsection{文区命令}
-\begin{commands}
- \command{frontmatter}[\sarg\oarg{编号格式}]\Default{Roman}
- 前言区命令。使部分和章标题不编号,带有星号的变体命令不使用 \cs{cleardoublepage} 命令。页码 \meta{编号格式} 可设置为例如 \code{roman} 或 \code{Alph} 等形式。
- \command{mainmatter}[\sarg]
- 主文区命令。章标题正常编号且页码为从1开始计数的阿拉伯数字,带有星号的变体命令不使用 \cs{cleardoublepage} 清双页命令。
- \command{backmatter}
- 后记区命令。页码格式与编号保持不变,章标题不编号。
- \command{cleardoublepage}[\oarg{页面风格}]\Default{empty}
- 清双页命令可以确保下一页文本总在奇数页开始,在奇数页使用它会产生空白偶数页。文区命令 \cs{frontmatter} 和 \cs{mainmatter} 会用到清双页命令,在启用文类选项 \option*{openright} 时标题命令 \cs*{part} 和 \cs*{chapter} 也会默认用到清双页命令。
- \command{blankpagestyle}[\marg{页面风格}]
- 多出空白页的 \meta{页面风格} 用空白页面风格命令 \cs{blankpagestyle} 全局指定,或使用清双页命令的可选参数局部指定。空白页默认的风格为 \code{empty},即空的页眉页脚。
- \end{commands}
-
-\subsection{目录命令}
-\begin{commands}
- \command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
- 文档主目录命令。带有星号参数的命令不输出目录标题。\meta{代码钩子} 是当方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入目录样式和换页等命令。
- \begin{options}
- \keychoice{plan}{cn,bi,both}\Default{cn}\newtag[Exp]%
- 文档主目录的输出方案。\code{cn} 只输出中文目录,\code{bi} 只输出英文目录。\code{both} 同时连续输出中文和英文目录,需要与双语目录标题命令 \cs{bichapter} 等或双语标题选项 \option{title} 配合使用。
- \keyval{bicontentsname}{英文目录标题}\Default{Contents}\newtag%
- 英文目录的标题,为通用接口命令 \cs*{ctexset} 的选项。
- \end{options}
- \command{listoffigures}[\sarg\oarg{键值列表}]
- 输出图片目录命令。带有星号参数的命令不输出目录标题。
- \command{listoftables}[\sarg\oarg{键值列表}]
- 输出表格目录命令。带有星号参数的命令不输出目录标题。
- \command{listoflstlistings}[\sarg\oarg{键值列表}]
- 输出代码目录命令。带有星号参数的命令不输出目录标题。
-
- 如果需要部分而不是全文的目录或其它类型的目录,可以查看 \pkg*{titletoc} 宏包的相关示例。如果需要双语图表目录,可以查看 \pkg*{bicaption} 宏包的相关示例。上面目录命令的可选参数改进了原本单一的功能,其中 \meta{键值列表} 的选项如下:
- \begin{options}
- \keyval{level}{标题命令}\newtag%
- 设定输出目录标题的命令。如果使用 \option{title} 选项设置了双语标题则需要配合双语标题命令。
- \begin{ctexexam}
- \tableofcontents[level = \chapter*]
- \listoffigures[level = \bichapter,title = {图片索引,List of Figures}]
- \end{ctexexam}
- \keyval{multoc}{整数}\Default{2}
- 设置目录的排版栏数。\meta{整数} 代表目录栏数,不指定栏数的值则默认为双栏。
- \kvsplit{title}{中文目录标题,英文目录标题}
- 用于更改目录的双语标题。标题之间用一个英文逗号分开,对主目录来说前部分为中文目录标题,后部分为英文目录标题,对图表和代码目录来说后部分则是加入英文目录的条目。也可以只有一部分,表示中文目录的标题。
- \keychoice{bilist}{mix,new}\Default{new}
- 确定文档主目录中双语标题列表的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出,\code{new} 则在新建的英文目录中输出英文标题。
- \keyval{format}{目录标题格式}
- 设置目录标题的格式,在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。
- \keyval{aftertitle}{标题后代码}
- 目录标题文本之后插入的代码,生效情形同上。
- \keyval{pagestyle}{页面风格}\Default{empty}
- 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。除了上述选项还支持 \CTeX 键值列表路径 \module*{chapter} 或 \module*{section} 所有的章节标题样式选项。
- \end{options}
-\end{commands}
-
-\subsection{双语标题}
-双语目录标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录。类似于标准文档类,这三个标题命令分别具有独立的计数器\footnote{默认情况下与普通标题命令共享使用计数器。},并对应 \cs*{the}\meta{计数器} 的值,可以用于 \option{binumber} 选项更改英文目录中的编号。这个功能是为国内一些高校的学位论文模板的要求设计,在一般情况和英文模式下\textbf{不需要使用}。
-\begin{commands}
- \command{bichapter}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
- \code{chapter} 章级别的双语目录标题命令,具有独立的 \code{bichapter} 计数器。
- \command{bisection}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
- \code{section} 节级别的双语目录标题命令,具有独立的 \code{bisection} 计数器。
- \command{bisubsection}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
- \code{subsection} 小节级别的双语目录标题命令,具有独立的 \code{bisubsection} 计数器。
-
- 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \cs*{chapter}\sarg{} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。默认情况下双语目录的格式是一致的,共享使用 \module*{tocset} 模块的设置,英文目录的章级别标题名及编号的修改方式如下:
- \begin{options}
- \kvsplit{biname}{英文目录前名字,英文目录后名字}\Module{chapter}\Default{Chapter\cs*{space}}
- 更改英文目录 \code{chapter} 级别的标题编号前后名字,类似于 \CTeX 的 \option*{name} 选项。
- \keyval{binmuber}{英文目录数字输出命令}\Default{\cs*{arabic}\Marg{chapter}}
- 更改英文目录 \code{chapter} 级别的标题编号输出格式,类似于 \CTeX 的 \option*{number} 选项。
- \end{options}
-\end{commands}
-
-\begin{commands}
- \command{appendix}[\splitoarg{前名字,后名字}\darg{数字输出命令}]
- 附录起始命令,其后的章节标题变为附录形式。英文目录中附录标题的 \meta{前名字} 为英文附录目录前名字,\meta{后名字} 为英文附录目录后名字。前后名字之间用一个半角逗号分开,也可以只有一部分,表示英文附录目录前名字。\meta{数字输出命令} 为附录标题计数器在英文目录中的编号命令。
- \command{BeforeAddBitoc}[\sarg\marg{英文标题加入目录前的代码}]
- 作用于局部范围的英文目录钩子,可以插入标题或目录设置的命令改变英文目录中标题的显示格式,也可以覆盖上述的目录前后名字和编号等设置,带有星号的命令会重置之前的代码,放置在导言区或 \cs{bichapter} 等命令前生效。
-\end{commands}
-
-\subsection{上标和下标}
-上标和下标的功能来自 \pkg*{spbmark} 宏包,下面有三个命令可以用于输出上标和下标。可以使用键值列表的形式对上下标格式进行局部或全局设置,下面命令中两个可选参数的键值列表是等效的。全局设置的详情见\ref{subsubsec:super-sub-script}。
-\begin{commands}
- \command{super}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
- 输出上标的命令,与简短命令 \cs{sp} 等效。
- \command{sub}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
- 输出下标的命令,与简短命令 \cs{sb} 等效。用法和参数与上标命令 \cs{super} 类似。
- \command{supersub}[\sarg\oarg{键值列表1}\marg{上标内容}\marg{下标内容}\oarg{键值列表2}]
- 同时输出上标和下标的命令,与简短命令 \cs{spb} 等效。
- \command{spbifmath}[\marg{数学模式代码}\marg{文本模式代码}]
- 根据上下标处于数学还是文本模式分别设置不同的值,应当在格式命令或偏移距离选项中使用。
-
- 上下标命令键值列表中共同的选项如下所示。当下面除 \option{mode} 以外的选项用于 \module*{style} 模块全局设置时,它们将根据前面最近一个命令的类型设定相应值。
- \begin{options}
- \keyval{vmove}{刚性长度}\Default{0pt}
- 上标或下标的垂直偏移。如果是上下标命令使用则代表上标和上标间的额外垂直距离 \option{vsep}。
- \keyval{hmove}{刚性长度}\Default{0pt}
- 上标或下标的水平偏移。如果是上下标命令使用则代表上标和上标的共同偏移。
- \keyval{cmd}{格式命令}
- 上标或下标的格式命令选项。最后一个命令可以带有一个参数,这个参数用于接受上标或下标。
- \keyval{height}{刚性长度}
- 段落中当前行上标或下标的基线与前一行的间距。
- \keyval{depth}{刚性长度}
- 段落中当前行上标或下标的基线与下一行的间距。
- \keychoice{mode}{text,math,match}\Default{match}
- 上标或下标的输出格式。可以为文本 \code{text} 或数学 \code{math} 模式。当使用选项 \code{match} 时可以根据当前段落所处的模式自动匹配。
- \end{options}
-\end{commands}
-
\section{接口选项}
\label{sec:interface options}
\begin{commands}
@@ -469,7 +357,7 @@
\keyval{color-every}{HTML颜色代码}
统一设置主题的各部分颜色。参数是6个十六进制数字组成的 \code{HTML} 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。
\keyval{multoc}{整数}\Default{2}
- 设置目录的排版栏数,与\ref{sec:document command} 中目录命令的同名选项有相同效果。
+ 设置目录的排版栏数,与\ref{subsec:directory command} 中目录命令的同名选项有相同效果。
\keybool{withpart}\Default{false}
使章标题跟随部分计数器编号,当开启新的一部分时章编号从1开始。
\keychoice{fntnumwith}{part,chapter,page}\Default{chapter}
@@ -616,7 +504,7 @@
\begin{commands}
\command{printbibliography}[\oarg{键值列表}]
- 两种方式\textbf{均使用}此命令打印参考文献,不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与\ref{sec:document command} 目录命令的选项相同,使用 \hologo{biber} 处理时常用的选项如下:
+ 两种方式\textbf{均使用}此命令打印参考文献,不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与\ref{subsec:directory command} 目录命令的选项相同,使用 \hologo{biber} 处理时常用的选项如下:
\end{commands}
\begin{options}
@@ -840,13 +728,14 @@
\keychoice{fntext-vmove}{fixed length,match}\Default{0pt}
脚注内容标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option*{spvmove} 全局的值。
\keychoice{fnmate-form}{format code,match}
- 默认脚注标记的格式,选项 \code{match} 可以匹配 \option*{spcmd} 全局的值。一般配合 \keyis{fnmate-num}{plain} 原生编号形式使用,例如用 \pkg*{circledsteps} 宏包的带圈符号命令 \cs*{Circled} 给脚注标记添加圆圈:
+ 默认脚注标记的格式,选项 \code{match} 可以匹配 \option*{spcmd} 全局的值。一般配合 \keyis{fnmate-num}{plain} 原生编号形式使用,例如用 \pkg*{circledtext} 宏包的带圈字符命令 \cs*{circledtext} 给脚注标记添加圆圈:
\begin{ctexexam}
- \usepackage{circledsteps}
+ \usepackage{circledtext}
+ \circledtextset{resize = real,width = 0.5em}
\ebhdrset
{
fntext-pos = normal,
- fnmate-form = \tiny\Circled
+ fnmate-form = \circledtext
}
\end{ctexexam}
\begin{commands}
@@ -854,7 +743,7 @@
定义脚注正文标记的格式,与正文标记编号命令 \cs{theupfootnote} 配合使用。
\command{defdownfntmark}[\marg{脚注内容标记格式}]
定义脚注内容标记的格式,与内容标记编号命令 \cs{thedownfootnote} 配合使用。
- \command{notminipage}[\marg{普通页内容}\marg{迷你页内容}]
+ \command{notminipage}[\marg{普通页内容}\marg{迷你页内容}]\newtag[Chg]%
用于在定义脚注标记的命令中判断当前脚注是否处于迷你页而输出不同的内容。
\command{theupfootnote}
保存正文标记编号类型选项 \option{fnmark-num} 指定的正文标记。
@@ -933,7 +822,7 @@
\command{contentsuse}[\marg{条目名}\marg{扩展名}]
激活名称为 \meta{条目名} 的浮动环境目录定制功能,它使用的目录文件后缀为 \meta{扩展名}。需要在激活条目后再使用命令 \cs{RegisterTocName} 注册选项。
\command{DeclareFloatList}[\marg{条目名}\marg{扩展名}]\newtag%
- 声明一个新的 \cs*{listof}\meta{条目名}\code{\textcolor{cs}{s}} 的浮动环境目录命令,并且支持\ref{sec:document command} 中图表目录命令的机制。使用这个命令要确保将条目加入目录的机制已经存在,推荐搭配 \pkg*{newfloat} 宏包创建新的浮动环境。选项前有符号 \textcolor{red}{\ding{73}} 表示在声明后可用。下面举一个声明算法目录的例子:
+ 声明一个新的 \cs*{listof}\meta{条目名}\code{\textcolor{cs}{s}} 的浮动环境目录命令,并且支持\ref{subsec:directory command} 中图表目录命令的机制。使用这个命令要确保将条目加入目录的机制已经存在,推荐搭配 \pkg*{newfloat} 宏包创建新的浮动环境。选项前有符号 \textcolor{red}{\ding{73}} 表示在声明后可用。下面举一个声明算法目录的例子:
\begin{ctexexam}
\usepackage{newfloat}
\DeclareFloatingEnvironment[
@@ -975,7 +864,117 @@
统一设置所有级别的目录引导线样式。
\end{options}
-\section{常用环境}
+\section{环境和命令}
+
+\subsection{文区命令}
+\begin{commands}
+ \command{frontmatter}[\sarg\oarg{编号格式}]\Default{Roman}
+ 前言区命令。使部分和章标题不编号,带有星号的变体命令不使用 \cs{cleardoublepage} 命令。页码 \meta{编号格式} 可设置为例如 \code{roman} 或 \code{Alph} 等形式。
+ \command{mainmatter}[\sarg]
+ 主文区命令。章标题正常编号且页码为从1开始计数的阿拉伯数字,带有星号的变体命令不使用 \cs{cleardoublepage} 清双页命令。
+ \command{backmatter}
+ 后记区命令。页码格式与编号保持不变,章标题不编号。
+ \command{cleardoublepage}[\oarg{页面风格}]\Default{empty}
+ 清双页命令可以确保下一页文本总在奇数页开始,在奇数页使用它会产生空白偶数页。文区命令 \cs{frontmatter} 和 \cs{mainmatter} 会用到清双页命令,在启用文类选项 \option*{openright} 时标题命令 \cs*{part} 和 \cs*{chapter} 也会默认用到清双页命令。
+ \command{blankpagestyle}[\marg{页面风格}]
+ 多出空白页的 \meta{页面风格} 用空白页面风格命令 \cs{blankpagestyle} 全局指定,或使用清双页命令的可选参数局部指定。空白页默认的风格为 \code{empty},即空的页眉页脚。
+ \end{commands}
+
+\subsection{目录命令}
+\label{subsec:directory command}
+\begin{commands}
+ \command{tableofcontents}[\sarg\oarg{键值列表}\darg{代码钩子}]
+ 文档主目录命令。带有星号参数的命令不输出目录标题。\meta{代码钩子} 是当方案 \keyis{plan}{both} 时中文与英文目录之间执行的代码,可以插入目录样式和换页等命令。
+ \begin{options}
+ \keychoice{plan}{cn,bi,both}\Default{cn}\newtag[Exp]%
+ 文档主目录的输出方案。\code{cn} 只输出中文目录,\code{bi} 只输出英文目录。\code{both} 同时连续输出中文和英文目录,需要与双语目录标题命令 \cs{bichapter} 等或双语标题选项 \option{title} 配合使用。
+ \keyval{bicontentsname}{英文目录标题}\Default{Contents}\newtag%
+ 英文目录的标题,为通用接口命令 \cs*{ctexset} 的选项。
+ \end{options}
+ \command{listoffigures}[\sarg\oarg{键值列表}]
+ 输出图片目录命令。带有星号参数的命令不输出目录标题。
+ \command{listoftables}[\sarg\oarg{键值列表}]
+ 输出表格目录命令。带有星号参数的命令不输出目录标题。
+ \command{listoflstlistings}[\sarg\oarg{键值列表}]
+ 输出代码目录命令。带有星号参数的命令不输出目录标题。
+
+ 如果需要部分而不是全文的目录或其它类型的目录,可以查看 \pkg*{titletoc} 宏包的相关示例。如果需要双语图表目录,可以查看 \pkg*{bicaption} 宏包的相关示例。上面目录命令的可选参数改进了原本单一的功能,其中 \meta{键值列表} 的选项如下:
+ \begin{options}
+ \keyval{level}{标题命令}\newtag%
+ 设定输出目录标题的命令。如果使用 \option{title} 选项设置了双语标题则需要配合双语标题命令。
+ \begin{ctexexam}
+ \tableofcontents[level = \chapter*]
+ \listoffigures[level = \bichapter,title = {图片索引,List of Figures}]
+ \end{ctexexam}
+ \keyval{multoc}{整数}\Default{2}
+ 设置目录的排版栏数。\meta{整数} 代表目录栏数,不指定栏数的值则默认为双栏。
+ \kvsplit{title}{中文目录标题,英文目录标题}
+ 用于更改目录的双语标题。标题之间用一个英文逗号分开,对主目录来说前部分为中文目录标题,后部分为英文目录标题,对图表和代码目录来说后部分则是加入英文目录的条目。也可以只有一部分,表示中文目录的标题。
+ \keychoice{bilist}{mix,new}\Default{new}
+ 确定文档主目录中双语标题列表的输出排列方式。选项 \code{mix} 使每个英文标题条目在中文目录中跟随对应的中文标题输出,\code{new} 则在新建的英文目录中输出英文标题。
+ \keyval{format}{目录标题格式}
+ 设置目录标题的格式,在标题级别为 \code{chapter} 或者 \cls*{article} 模式且标题级别为 \code{section} 时有效。
+ \keyval{aftertitle}{标题后代码}
+ 目录标题文本之后插入的代码,生效情形同上。
+ \keyval{pagestyle}{页面风格}\Default{empty}
+ 目录标题所在页的页面格式,仅当目录以 \code{chapter} 级别输出时有效。除了上述选项还支持 \CTeX 键值列表路径 \module*{chapter} 或 \module*{section} 所有的章节标题样式选项。
+ \end{options}
+\end{commands}
+
+\subsection{双语标题}
+双语目录标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录。类似于标准文档类,这三个标题命令分别具有独立的计数器\footnote{默认情况下与普通标题命令共享使用计数器。},并对应 \cs*{the}\meta{计数器} 的值,可以用于 \option{binumber} 选项更改英文目录中的编号。这个功能是为国内一些高校的学位论文模板的要求设计,在一般情况和英文模式下\textbf{不需要使用}。
+\begin{commands}
+ \command{bichapter}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
+ \code{chapter} 章级别的双语目录标题命令,具有独立的 \code{bichapter} 计数器。
+ \command{bisection}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
+ \code{section} 节级别的双语目录标题命令,具有独立的 \code{bisection} 计数器。
+ \command{bisubsection}[\sarg\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}]
+ \code{subsection} 小节级别的双语目录标题命令,具有独立的 \code{bisubsection} 计数器。
+
+ 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \cs*{chapter}\sarg{} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。默认情况下双语目录的格式是一致的,共享使用 \module*{tocset} 模块的设置,英文目录的章级别标题名及编号的修改方式如下:
+ \begin{options}
+ \kvsplit{biname}{英文目录前名字,英文目录后名字}\Module{chapter}\Default{Chapter\cs*{space}}
+ 更改英文目录 \code{chapter} 级别的标题编号前后名字,类似于 \CTeX 的 \option*{name} 选项。
+ \keyval{binmuber}{英文目录数字输出命令}\Default{\cs*{arabic}\Marg{chapter}}
+ 更改英文目录 \code{chapter} 级别的标题编号输出格式,类似于 \CTeX 的 \option*{number} 选项。
+ \end{options}
+\end{commands}
+
+\begin{commands}
+ \command{appendix}[\splitoarg{前名字,后名字}\darg{数字输出命令}]
+ 附录起始命令,其后的章节标题变为附录形式。英文目录中附录标题的 \meta{前名字} 为英文附录目录前名字,\meta{后名字} 为英文附录目录后名字。前后名字之间用一个半角逗号分开,也可以只有一部分,表示英文附录目录前名字。\meta{数字输出命令} 为附录标题计数器在英文目录中的编号命令。
+ \command{BeforeAddBitoc}[\sarg\marg{英文标题加入目录前的代码}]
+ 作用于局部范围的英文目录钩子,可以插入标题或目录设置的命令改变英文目录中标题的显示格式,也可以覆盖上述的目录前后名字和编号等设置,带有星号的命令会重置之前的代码,放置在导言区或 \cs{bichapter} 等命令前生效。
+\end{commands}
+
+\subsection{上标和下标}
+上标和下标的功能来自 \pkg*{spbmark} 宏包,下面有三个命令可以用于输出上标和下标。可以使用键值列表的形式对上下标格式进行局部或全局设置,下面命令中两个可选参数的键值列表是等效的。全局设置的详情见\ref{subsubsec:super-sub-script}。
+\begin{commands}
+ \command{super}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
+ 输出上标的命令,与简短命令 \cs{sp} 等效。
+ \command{sub}[\sarg\oarg{键值列表1}\marg{内容}\oarg{键值列表2}]
+ 输出下标的命令,与简短命令 \cs{sb} 等效。用法和参数与上标命令 \cs{super} 类似。
+ \command{supersub}[\sarg\oarg{键值列表1}\marg{上标内容}\marg{下标内容}\oarg{键值列表2}]
+ 同时输出上标和下标的命令,与简短命令 \cs{spb} 等效。
+ \command{spbifmath}[\marg{数学模式代码}\marg{文本模式代码}]
+ 根据上下标处于数学还是文本模式分别设置不同的值,应当在格式命令或偏移距离选项中使用。
+
+ 上下标命令键值列表中共同的选项如下所示。当下面除 \option{mode} 以外的选项用于 \module*{style} 模块全局设置时,它们将根据前面最近一个命令的类型设定相应值。
+ \begin{options}
+ \keyval{vmove}{刚性长度}\Default{0pt}
+ 上标或下标的垂直偏移。如果是上下标命令使用则代表上标和上标间的额外垂直距离 \option{vsep}。
+ \keyval{hmove}{刚性长度}\Default{0pt}
+ 上标或下标的水平偏移。如果是上下标命令使用则代表上标和上标的共同偏移。
+ \keyval{cmd}{格式命令}
+ 上标或下标的格式命令选项。最后一个命令可以带有一个参数,这个参数用于接受上标或下标。
+ \keyval{height}{刚性长度}
+ 段落中当前行上标或下标的基线与前一行的间距。
+ \keyval{depth}{刚性长度}
+ 段落中当前行上标或下标的基线与下一行的间距。
+ \keychoice{mode}{text,math,match}\Default{match}
+ 上标或下标的输出格式。可以为文本 \code{text} 或数学 \code{math} 模式。当使用选项 \code{match} 时可以根据当前段落所处的模式自动匹配。
+ \end{options}
+\end{commands}
\subsection{公式}
\begin{environments}\noitemsep
@@ -1218,7 +1217,7 @@
\command{makeindex}[\oarg{键值列表}]
用于导言区开启索引收集的命令。这个命令可以重复使用收集多个索引表,以不同的 \meta{索引名} 作为区分,如果仅打印一个索引表没必要重复使用。
\command{printindex}[\sarg\oarg{键值列表}]
- 打印不同索引表的命令。这个命令被重新定义,\meta{键值列表} 中的选项与\ref{sec:document command} 其它目录命令相同,但是接口命令 \cs{indexsetup} 的部分选项失效。
+ 打印不同索引表的命令。这个命令被重新定义,\meta{键值列表} 中的选项与\ref{subsec:directory command} 其它目录命令相同,但是接口命令 \cs{indexsetup} 的部分选项失效。
\begin{options}
\keyval{name}{索引名}
指定输出名为 \meta{索引名} 的索引表,如果只使用一个索引表则默认为项目文件名不需要指定。
@@ -1319,6 +1318,7 @@
\end{version}
\shortversion{v = 1.638,date = 2022/03/04,changes = 增加目录条目样式选项注册命令 \cs{RegisterTocName}。}
\shortversion{v = 1.644,date = 2022/03/10,changes = 增加浮动环境目录声明命令 \cs{DeclareFloatList} 配合 \pkg*{caption} 宏包。}
+ \shortversion{v = 1.682,date = 2022/05/01,changes = 将迷你页判断命令 \cs*{notminipage} 改为被保护命令兼容 \pkg*{circledtext} 宏包。}
\end{changelog}
\nocite{*}
diff --git a/macros/latex/contrib/hvfloat/Changes b/macros/latex/contrib/hvfloat/Changes
index 5cd0c94e9d..9976f84d27 100644
--- a/macros/latex/contrib/hvfloat/Changes
+++ b/macros/latex/contrib/hvfloat/Changes
@@ -1,4 +1,5 @@
hvfloat.sty:
+2.39 2022-05-01 - fix for using package calc and global length setting
2.38 2022-04-02 - added option l for capWidth to get a caption with linewidth,
if also using the option wide for the object
2.37 2022-02-28 - fix bug for doublepage floats in twoside and twocolumn mode
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
index 856cdd1ffb..83ad56d472 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvfloat/doc/hvfloat.tex b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
index 820136ff36..116141dec6 100644
--- a/macros/latex/contrib/hvfloat/doc/hvfloat.tex
+++ b/macros/latex/contrib/hvfloat/doc/hvfloat.tex
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.tex 488 2022-04-02 19:32:17Z herbert $
+%% $Id: hvfloat.tex 530 2022-05-01 11:01:31Z herbert $
\listfiles
\errorcontextlines=100
\documentclass[twoside,paper=a4,usegeometry]{scrartcl}
@@ -2610,7 +2610,7 @@ in the inner margin on both pages.
\begin{lstlisting}
-\hvFloat[doubleFULLPAGE,capPos=right,bindCorr=5mm]%
+\hvFloat[doubleFULLPAGE,capPos=after,bindCorr=5mm]%
{figure}%
{\includegraphics[width=2\paperwidth]{images/r+j3}}%
[A doublepage image with a caption on the image.]%
@@ -2622,7 +2622,7 @@ in the inner margin on both pages.
\end{lstlisting}
\marginnote{Fig.~\ref{fig:doubleFULLPAGE0a}}
- \hvFloat[doubleFULLPAGE,capPos=right,bindCorr=5mm]%
+ \hvFloat[doubleFULLPAGE,capPos=after,bindCorr=5mm]%
{figure}%
{\includegraphics[height=2\paperwidth]{images/r+j3}}%
[A doublepage image with a caption on the image.]%
@@ -2771,6 +2771,7 @@ There will be pagenumbers and a caption can be rotated on the right of the objec
{fig:doublePAGE0}
\hvblindtext
+\hvblindtext
\Blindtext
@@ -2813,7 +2814,9 @@ and the rest of the text area is filled with text.
\hvblindtext
+\Blindtext
+\hvblindtext
\begin{lstlisting}
@@ -2825,13 +2828,13 @@ and the rest of the text area is filled with text.
right-hand part of the illustration. The illustration begins on the left edge of
the paper. A short form is used for the LOF.
The parameter is \texttt{doublePage}}%
- {fig:doublePage0}
+ {fig:doublePage1}
\end{lstlisting}
\hvFloatSetDefaults
-\marginnote{Fig. \ref{fig:doublePage0}}
+\marginnote{Fig. \ref{fig:doublePage1}}
\hvFloat[doublePage,capPos=right,capVPos=top]%
{figure}%
{\includegraphics[width=2\textwidth]{images/sonne-meer}}%
@@ -2840,7 +2843,9 @@ and the rest of the text area is filled with text.
right-hand part of the illustration. The illustration begins on the left edge of
the paper. A short form is used for the LOF.
The parameter is \texttt{doublePage}}%
- {fig:doublePage0}
+ {fig:doublePage1}
+
+\Blindtext
\Blindtext
@@ -2867,7 +2872,8 @@ and the rest of the text area is filled with text.
\hvFloatSetDefaults
\marginnote{Fig. \ref{fig:doublePage0sH2}}
-\hvFloat[doublePage,,bindCorr=inner]%
+\hvFloat[doublePage,bindCorr=inner
+]%
{figure}%
{\includegraphics[width=2\textwidth]{images/sonne-meer}}%
[A doublepage image with a caption on the right side of the right part.]%
@@ -2881,7 +2887,7 @@ and the rest of the text area is filled with text.
\Blindtext
-%\Blindtext
+\Blindtext
diff --git a/macros/latex/contrib/hvfloat/latex/hvfloat.sty b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
index c3d8d0e57d..ec23f2c318 100644
--- a/macros/latex/contrib/hvfloat/latex/hvfloat.sty
+++ b/macros/latex/contrib/hvfloat/latex/hvfloat.sty
@@ -1,4 +1,4 @@
-%% $Id: hvfloat.sty 488 2022-04-02 19:32:17Z herbert $
+%% $Id: hvfloat.sty 530 2022-05-01 11:01:31Z herbert $
%%
%%
%% IMPORTANT NOTICE:
@@ -6,6 +6,7 @@
%% This is file `hvfloat.sty',
%%
%% Herbert Voss <hvoss@tug.org>
+%% Copyright (C) 2003-22
%%
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
@@ -15,8 +16,8 @@
%% `hvfloat' offers rotating of captions and objects for floats
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.38}
-\def\filedate{2022/04/02}
+\def\fileversion{2.39}
+\def\filedate{2022/05/01}
%\message{`hvfloat' v\fileversion, \filedate\space (Herbert Voss)}
\ProvidesPackage{hvfloat}[\filedate\space v\fileversion\space special floating objects (hv)]
\let\hvFloatFileVersion\fileversion
@@ -299,13 +300,13 @@
\newcommand\hv@set@noverticalSpace{% no space on top for a float page
\let\hv@dblfptop\@dblfptop
\let\hv@fptop\@fptop
- \global\setlength{\@dblfptop}{0\p@}%
- \global\setlength{\@fptop}{0\p@}%
+ \global\@dblfptop=0\p@
+ \global\@fptop=0\p@
}
\newcommand\hv@reset@noverticalSpace{%
- \global\setlength{\@dblfptop}{\hv@dblfptop}%
- \global\setlength{\@fptop}{\hv@fptop}%
+ \global\@dblfptop=\hv@dblfptop
+ \global\@fptop=\hv@fptop
}
\providecommand\figcaption[2][]{}%
@@ -560,8 +561,8 @@
\gdef\hv@label{#3}%
\ifhv@capbeside\def\@@temp{1}\else\def\@@temp{0}\fi
\ifhv@sameHeight\global\hv@global@sameHeighttrue\else\global\hv@global@sameHeightfalse\fi
- \global\setlength\hvSet@bindCorrection{\hvSet@bindCorr}% for doublepage objects
- \global\setlength\hv@floatCapSep{\hvSet@floatCapSep}%
+ \global\hvSet@bindCorrection=\hvSet@bindCorr% for doublepage objects
+ \global\hv@floatCapSep=\hvSet@floatCapSep%
%
\ifhv@fullpage
\def\hvSet@CapWidth{n}% relative value
@@ -1099,10 +1100,11 @@
%
\def\do@hvFloat@doublePage#1{% image on left and right page with caption on the right page
% #1-> 0/1 caption under/right
- \global\setlength\hv@leftPageObjectWidth{\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection}%
- \global\setlength\hv@tempWidthA{\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection}%
+ \hv@typeout{>>>doublePage: start with definitions of \hv@floatObject}%
+ \global\hv@leftPageObjectWidth=\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection\relax
+ \global\hv@tempWidthA=\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection\relax
\xdef\hv@caption@format@temp{\hv@caption@format}% it gets lost otherwise for next afterpage
- \setlength\@dblfpbot{0\p@ \@plus 1fil}%
+ \@dblfpbot=0\p@ \@plus 1fil%
\global\hv@switchTypefalse
\setcounter{hv@tempCNTfigA}{\value{figure}}%
\setcounter{hv@tempCNTfigB}{\value{figure}}%
@@ -1196,8 +1198,8 @@
}
%
\def\do@hvFloat@doublePageCaptionRightObjectLeft#1{% left part of the object
- \hv@typeout{do@hvFloat@doublePageCaptionRightObjectLeft: start}%
\begin{\hv@floatType*}[!t]
+ \hv@typeout{>>>doublePage: start with left side of the object \hv@floatObject}%
\hv@set@noverticalSpace
\hfuzz=\maxdimen
\let\c@hv@tempCNTfigA\c@figure
@@ -1225,15 +1227,16 @@
}
\def\do@hvFloat@doublePageCaptionRightObjectRight#1{% right part of the object
\begin{\hv@floatType*}[!t]
+ \hv@typeout{>>>doublePage: start with right side of the object \hv@floatObject}%
\hv@set@noverticalSpace
\hfuzz=\maxdimen
\expandafter\hvFloatSet\expandafter{\hv@save@setting}%
- \global\savebox\hvObjectBox{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \global\setlength\hv@tempWidthA{\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection}% FÜR DTK
+ \savebox\hvObjectBox{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
+ \hv@tempWidthA=\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection\relax% FÜR DTK
\hspace*{-\hv@tempWidthA}%
- \global\setlength\hv@leftPageObjectWidth{\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection}% FÜR FTK
+ \hv@leftPageObjectWidth=\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection\relax% FÜR FTK
\savebox\hv@rightBox{\clipbox*{\hv@leftPageObjectWidth{} -\depth{} \width{} \height{}}{\usebox\hvObjectBox}}%
- \global\setlength\hv@tempWidthB{\dimexpr\textwidth-\wd\hv@rightBox-\hvSet@bindCorrection+1in+\oddsidemargin-\hv@floatCapSep\relax}%
+ \hv@tempWidthB=\dimexpr\textwidth-\wd\hv@rightBox-\hvSet@bindCorrection+1in+\oddsidemargin-\hv@floatCapSep\relax
\hv@typeout{Height of right box: \the\ht\hv@rightBox}%
\hv@typeout{Depth of right box : \the\dp\hv@rightBox}%
\ifdim\dp\hv@rightBox > \z@
@@ -1271,11 +1274,11 @@
}}}%
\ifx\hv@label\@empty\else\label{\hv@label-cap}\fi
\else
- \global\setlength\hv@tempWidthB{\dimexpr\textwidth-\wd\hv@rightBox-\hvSet@bindCorrection+1in+\oddsidemargin-\hv@floatCapSep\relax}%
+ \hv@tempWidthB=\dimexpr\textwidth-\wd\hv@rightBox-\hvSet@bindCorrection+1in+\oddsidemargin-\hv@floatCapSep\relax
\hspace{\hv@floatCapSep}%
\rlap{\parbox[b][\dimexpr\ht\hv@rightBox+\dp\hv@rightBox][\hv@@capVPos]{\hv@tempWidthB}{%
- \abovecaptionskip=0pt% local inside parbox
- \belowcaptionskip=0pt% local inside parbox
+ \abovecaptionskip=0pt % local inside parbox
+ \belowcaptionskip=0pt % local inside parbox
\ifx\hv@shortCap\@empty
\caption{\hv@longCap}%
\else
@@ -1351,8 +1354,8 @@
\global\savebox\hvObjectBox{\hv@floatObject}%
\fi
\noindent
- \global\setlength\hv@tempWidthA{\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection}%
- \global\setlength\hv@leftPageObjectWidth{\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection}%
+ \global\hv@tempWidthA=\the\dimexpr1in+\oddsidemargin-\hvSet@bindCorrection%
+ \global\hv@leftPageObjectWidth=\the\dimexpr\paperwidth-1in-\evensidemargin-\hvSet@bindCorrection%
\clipbox*{0 -\depth{} \hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}%
\null\newpage\if@twocolumn\null\newpage\fi
\expandafter\global\expandafter\savebox\expandafter\hvObjectBox\expandafter{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
@@ -1410,9 +1413,9 @@
\fi\fi
\checkoddpage
\global\savebox{\hvObjectBox}{\ifhv@useOBox\usebox{\hvOBox}\else\hv@floatObject\fi}%
- \global\setlength\hv@tempWidthA{\dimexpr-\oddsidemargin-1in-\parindent+\hvSet@bindCorrection}% the width of the right side offset
- \global\setlength\hv@tempWidthB{\dimexpr\ht\hvCaptionBox+\wd\hvObjectBox+2\hvSet@bindCorrection}%
- \global\setlength\hv@leftPageObjectWidth{\dimexpr\paperwidth-\hvSet@bindCorrection}%
+ \global\hv@tempWidthA=\dimexpr-\oddsidemargin-1in-\parindent+\hvSet@bindCorrection% the width of the right side offset
+ \global\hv@tempWidthB=\dimexpr\ht\hvCaptionBox+\wd\hvObjectBox+2\hvSet@bindCorrection%
+ \global\hv@leftPageObjectWidth=\dimexpr\paperwidth-\hvSet@bindCorrection%
% \savebox\hv@leftBox{\clipbox*{0 0 \the\hv@leftPageObjectWidth{} \height}{\usebox\hvObjectBox}}%
% \savebox\hv@rightBox{\clipbox*{\the\hv@leftPageObjectWidth{} \depth{} \width{} \height}{\usebox\hvObjectBox}}%
% \expandafter\captionsetup\expandafter{\hv@caption@format}%
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.dtx b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
index f333e6d6b3..faeaa2defc 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.dtx
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
@@ -111,7 +111,7 @@ To produce the documentation run the original source files ending with
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<*!(driver|install)>
-%<+!driver>\GetIdInfo $Id: njuthesis.dtx 0.17.0 2022-04-09 16:30:00 +0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
+%<+!driver>\GetIdInfo $Id: njuthesis.dtx 0.18.0 2022-05-01 12:40:00 +0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
%<class> {Thesis template for Nanjing University}
%<class>\ProvidesExplClass{njuthesis}
%<definition-ug> {Undergraduate definition file for njuthesis}
@@ -124,7 +124,7 @@ To produce the documentation run the original source files ending with
%<*driver>
\ProvidesFile{njuthesis.dtx}
\documentclass[fontset=fandol]{ctxdoc}
-\usepackage{listings,njuvisual,tabularray}
+\usepackage{listings,njuvisual,tabularray,unicode-math}
\usepackage[firstpage=true]{background}
\backgroundsetup{contents={\njuemblem[white!85!gray]{22cm}{!}},scale=1,angle=0,hshift=-4cm}
\colorlet{at@guard}{njuviolet}
@@ -144,7 +144,10 @@ To produce the documentation run the original source files ending with
\SetTblrStyle{caption-tag}{font=\bfseries}
\SetTblrInner{row{1}={font=\bfseries}}
\DefTblrTemplate{caption-sep}{default}{\quad}
-\lstdefinestyle{style@base}
+\setmathfont{XITSMath-Regular}[
+ BoldFont = XITSMath-Bold,
+ Extension = .otf]
+ \lstdefinestyle{style@base}
{
basewidth = 0.5 em,
gobble = 3,
@@ -200,7 +203,7 @@ To produce the documentation run the original source files ending with
% \thanks{E-mail: \href{mailto:git+nju-lug-email-3104-issue-@yaoge123.cn}
% {git+nju-lug-email-3104-issue-@yaoge123.cn}}}
%
-% \date{v0.17.0 \quad 2022-04-09}
+% \date{v0.18.0 \quad 2022-05-01}
%
% \changes{v0.1}{2021/09/04}{开始开发。}
% \changes{v0.2}{2021/09/07}{初步搭建了可用的模板。}
@@ -811,7 +814,7 @@ To produce the documentation run the original source files ending with
% \end{latexexample}
%
%
-% \subsubsection{单双面模式}
+% \subsubsection{页面模式}
%
% \begin{function}[added=2022-01-14]{oneside,twoside}
% \begin{syntax}
@@ -822,17 +825,15 @@ To produce the documentation run the original source files ending with
%
% 本选项继承自 \hologo{LaTeX2e} \cls{book} 标准文档类。
% 单双面选项为全局选项,开启后会改变页码编号,以及部分宏包的行为。
-% 在单面模式下,页面是连续的,不会产生空白页;在双面模式下,封面、摘要、
-% 参考文献表等特殊页面,以及新的章节都会从奇数页开始,更适合印刷输出。
-%
-%
-% \subsubsection{草稿模式}
+% 在单面模式下,页面是连续的,不会产生空白页;在双面模式下,
+% 新的一章以及封面、摘要、参考文献表等特殊页面都会从奇数页开始,
+% 在奇数页结束的内容后会补上一页空页,更适合印刷输出。
%
% \begin{function}[added=2021-12-15]{draft}
% \begin{syntax}
% draft = <\TFF>
% \end{syntax}
-% 选择是否开启草稿模式,默认关闭。
+% 是否开启草稿模式,默认关闭。
% \end{function}
%
% 本选项继承自 \hologo{LaTeX2e} \cls{book} 标准文档类。
@@ -850,6 +851,20 @@ To produce the documentation run the original source files ending with
% 宏包的代码环境不会显示内容,具体效果需要参照各个宏包的说明文档。
% 如需抵消草稿模式的影响,请使用 \opt{final} 选项载入相关宏包。
%
+% \begin{function}[added=2022-04-19]{blind}
+% \begin{syntax}
+% <blind>
+% \end{syntax}
+% 是否开启盲审模式。这个选项并不包含 |=| 号。
+% \end{function}
+%
+% 盲审模式会抹除论文中的学校和个人信息,效果包括:
+% \begin{itemize}
+% \item 不显示校名校徽图片
+% \item 不显示“南京大学”字样
+% \item 不显示作者、导师等基本信息
+% \end{itemize}
+%
%
% \subsubsection{配置文件}
%
@@ -1124,21 +1139,21 @@ To produce the documentation run the original source files ending with
% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info}]
% \njusetup {
% info = {
-% title = {第一行标题\\第二行标题},
-% 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 Chemistry and Chemical Engineering},
-% major = {化学},
-% major* = {Chemistry},
-% supervisor = {李成殿,教授},
-% supervisor*= {Professor Li Chengdian},
-% submit-date = {2021-09-12}
+% title = {第一行标题\\第二行标题},
+% 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 Chemistry and Chemical Engineering},
+% major = {化学},
+% major* = {Chemistry},
+% supervisor = {李成殿,教授},
+% supervisor* = {Professor Li Chengdian},
+% submit-date = {2021-09-12}
% }
% }
% \end{latexexample}
@@ -1148,30 +1163,30 @@ To produce the documentation run the original source files ending with
% \begin{latexexample}[moretexcs={\njusetup},emph={[2]info}]
% \njusetup {
% info = {
-% title = {第一行标题\\第二行标题\\第三行标题},
-% 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 Chemistry and Chemical Engineering},
-% major = {化学},
-% major* = {Chemistry},
-% field = {物理化学},
-% field* = {Physical Chemistry},
-% supervisor = {李成殿,教授},
-% supervisor*= {Professor Li Chengdian},
-% submit-date = {2021-09-12},
-% defend-date = {2022-01-15},
-% email = {git+nju-lug-email-3104-issue-@yaoge123.cn},
-% chairman = {张晓山~教授},
-% reviewer = {王瑞希~教授,郭德纲~副教授,华芈库~教授,戴菲菲~教授},
-% clc = {0175.2},
+% title = {第一行标题\\第二行标题\\第三行标题},
+% 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 Chemistry and Chemical Engineering},
+% major = {化学},
+% major* = {Chemistry},
+% field = {物理化学},
+% field* = {Physical Chemistry},
+% supervisor = {李成殿,教授},
+% supervisor* = {Professor Li Chengdian},
+% submit-date = {2021-09-12},
+% defend-date = {2022-01-15},
+% email = {git+nju-lug-email-3104-issue-@yaoge123.cn},
+% chairman = {张晓山~教授},
+% reviewer = {王瑞希~教授,郭德纲~副教授,华芈库~教授,戴菲菲~教授},
+% clc = {0175.2},
% secret-level = {限制},
-% udc = {004.72},
+% udc = {004.72},
% supervisor-contact = {拉太赫科学与技术学院 枝江市结丘路 19 号 114514}
% }
% }
@@ -1252,7 +1267,7 @@ To produce the documentation run the original source files ending with
% \end{latexexample}
%
%
-% \subsubsection{文字}
+% \subsubsection{字形}
%
% \begin{function}{\songti,\heiti,\kaishu,\fangsong,\zihao}
% \begin{syntax}
@@ -1269,9 +1284,29 @@ To produce the documentation run the original source files ending with
% \begin{syntax}
% \tn{njuline}\Arg{文字}
% \end{syntax}
-% 为了避免原生\tn{uline}命令在中文环境下不能正常换行的问题,本模板使用\tn{njuline}作为替代方案,分别对 \hologo{XeLaTeX} 的 \pkg{xeCJKfntef} 包和 \hologo{LuaLaTeX} 的 \pkg{lua-ul} 包中的下划线命令进行了包装。
+% 为了避免原生 \tn{uline} 命令在中文环境下不能正常换行的问题,
+% 本模板使用 \tn{njuline} 作为替代方案,分别对 \hologo{XeLaTeX} 的
+% \pkg{xeCJKfntef} 包和 \hologo{LuaLaTeX} 的 \pkg{lua-ul}
+% 包中的下划线命令进行了包装。
+% \end{function}
+%
+% \subsubsection{列表}
+%
+% \begin{function}{itemize,enumerate,description}
+% \begin{syntax}
+% \tn{begin}\marg{列表环境}
+% \tn{item}\oarg{标签1} \meta{条目1}
+% \tn{item}\oarg{标签2} \meta{条目2}
+% ...
+% \tn{end}\marg{列表环境}
+% \end{syntax}
+% 添加列表环境。
% \end{function}
%
+% 模板默认载入 \pkg{enumitem} 宏包,对三个常用列表环境内的条目间距进行压缩。
+%
+% \subsubsection{脚注}
+%
% \begin{function}{\footnote}
% \begin{syntax}
% \tn{footnote}\Arg{脚注}
@@ -1279,6 +1314,13 @@ To produce the documentation run the original source files ending with
% 添加脚注。
% \end{function}
%
+% \begin{function}[added=2022-05-01]{style/footnote-style}
+% \begin{syntax}
+% footnote-style = <(plain)|pifont>
+% \end{syntax}
+% 设置脚注编号样式。默认为普通数字,使用 |pifont|
+% 选项可修改为带圈数字。单一页面内请尽量避免超过 10 条脚注。
+% \end{function}
%
% \subsubsection{图片}
%
@@ -1293,8 +1335,7 @@ To produce the documentation run the original source files ending with
%
% 在使用特定类型的图片文件时,可以省略其扩展名,包括 \file{*.jpg}, \file{*.png}, \file{*.pdf}, \file{*.eps}。
%
-%
-% \paragraph{图片}
+% \paragraph{单张图片}
%
% 下面这个例子展示了如何插入一张名称为 \file{myfig.jpg},宽度占页面文字宽度一半的图片。注意标签命令 \tn{label} 必须放在图注命令 \tn{caption} 之后。
% \begin{latexexample}[moretexcs={\includegraphics},emph={[1]figure}]
@@ -1308,7 +1349,6 @@ To produce the documentation run the original source files ending with
%
% \emph{以下图片相关功能的实现均需要手动载入相关宏包}。
%
-%
% \paragraph{文字环绕}
%
% 对于较为瘦长,或者仅起到辅助作用的图像,可以使用 \pkg{wrapfig} 宏包提供的 \env{wrapfigure} 实现文字环绕效果。注意这个环境后紧跟的一行不能为空。
@@ -1322,7 +1362,6 @@ To produce the documentation run the original source files ending with
% <text>
% \end{latexexample}
%
-%
% \paragraph{多张嵌套}
%
% 使用 \pkg{subcaption} 宏包提供的 \env{subfigure} 环境可以实现多张图片嵌套的效果。
@@ -1349,7 +1388,6 @@ To produce the documentation run the original source files ending with
%
% 请尽量避免使用较为老旧的 \pkg{subfig} 宏包,完全不要使用过时的 \pkg{subfigure} 宏包。两者的 CTAN 页面上均建议转移至更新的 \pkg{subcaption} 宏包。
%
-%
% \subsubsection{表格}
%
% 下面这个例子展示了如何插入一张表格。通过 \pkg{booktabs} 宏包提供的 \tn{toprule}、\tn{midrule} 和 \tn{bottomrule} 命令,我们可以很轻松地绘制出一张漂亮规范的三线表。
@@ -1370,7 +1408,6 @@ To produce the documentation run the original source files ending with
%
% \emph{以下表格功能的实现均需要手动载入相关宏包。}
%
-%
% \paragraph{合并单元格}
%
% \begin{function}{\multirow,\multicolumn}
@@ -1384,7 +1421,6 @@ To produce the documentation run the original source files ending with
% TODO:\pkg{multirow} 宏包的使用方法,命令较为复杂。
% \url{http://www.ctex.org/documents/packages/table/multirow.htm}
%
-%
% \paragraph{更多样式}
%
% \pkg{tabularray} 宏包\cite{tabularray}运用 \hologo{LaTeX3} 语法重新实现了表格的绘制,提供了简明的用户接口与丰富的单元格样式,详见其使用手册。
@@ -1402,29 +1438,78 @@ To produce the documentation run the original source files ending with
% \end{latexexample}
%
% 如不需要编号,可以用 \env{equation*} 或者 |\[|\meta{公式}|\]|,
-% 请不要使用可能引发问题的 |$$|\meta{公式}|$$|\footnote{\url{https://tex.stackexchange.com/questions/503/why-is-preferable-to}}。
+% 请不要使用可能引发问题的 |$$|\meta{公式}|$$|
+% \footnote{\url{https://tex.stackexchange.com/q/503/}}。
%
%
% \paragraph{符号和单位}
%
-% 模板使用 \pkg{unicode-math} 配置数学字体,可以替代传统方案下的 \pkg{bm}、
-% \pkg{mathrsfs} 等宏包\footnote{\url{https://tex.stackexchange.com/questions/528831/why-doesnt-the-bm-package-work-with-the-unicode-math-package}}。
-% 相应地,也需要使用新方案提供的命令。例如,加粗数学符号的命令可以使用
-% \tn{symbf}。更多细节请查阅 \pkg{unicode-math} 手册。
-%
-% 符号表可以参考 \url{https://www.caam.rice.edu/~heinken/latex/symbols.pdf}。
-%
-% 单位请参考相关国家标准\footnote{GB 3100-1993, GB/T 3101-1993, GB/T 3102-1993},使用 \pkg{siunitx} 宏包。\pkg{siunitx} 是一个更新频繁的包,可能会引发兼容性问题。
+% ^^A \url{https://www.caam.rice.edu/~heinken/latex/symbols.pdf}
+% 模板使用 \pkg{unicode-math} 宏包配置数学字体,完整符号表可以参考
+% \href{http://mirrors.ctan.org/macros/unicodetex/latex/unicode-math/unimath-symbols.pdf}{\file{unimath-symbols.pdf}}。
+% 该方案目前不兼容传统的 \pkg{amsfonts}、\pkg{amssymb}、\pkg{bm}
+% \footnote{\url{https://tex.stackexchange.com/q/528831/}}
+% 、\pkg{upgreek} 等宏包。需要使用新方案提供的相应命令。
+% 例如,加粗数学符号的命令为 \tn{symbf}。
+% 更多细节请查阅 \pkg{unicode-math} 手册。
+%
+% ^^A 本段说明来自 THuThesis,待补充相应配置
+% 中文论文的数学符号默认遵循 GB/T 3102--93《物理科学和技术中
+% 使用的数学符号》\cite{gb-3102-93},该标准参照采纳 ISO 31-11:1992,
+% 但是与 \TeX{} 默认的美国数学学会(AMS)的习惯有许多差异。
+% 本模板尚未完成自动样式适配,一些需要写作时手动处理的要点包括:
+% \begin{itemize}
+% ^^A \item 小于等于号和大于等于号使用斜线($\leqslant$、$\geqslant$)
+% \item 数学常数和特殊函数名用正体,如
+% \begin{itemize}
+% \item $\uppi$ 使用 |$\uppi$|
+% \item $\symup{i}$ 使用 |$\symup{e}$|
+% \item $\symup{e}$ 使用 |$\symup{i}$|
+% \end{itemize}
+% \item 微分号使用正体,如
+% \begin{itemize}
+% \item $\mathrm{d} \varphi / \mathrm{d} t$
+% 使用 |$\mathrm{d} \varphi / \mathrm{d} t$|
+% \end{itemize}
+% ^^A 可以提供一个设置项,|\renewcommand{\vec}[1]{\symbf{#1}}|
+% \item 向量、矩阵和张量用粗斜体(\cs{symbf}),如
+% \begin{itemize}
+% \item $\symbf{\Sigma}$ 使用 |$\symbf{\Sigma}$|
+% \item $\symbfsf{T}$ 使用 |$\symbfsf{T}$|
+% \end{itemize}
+% \end{itemize}
%
+% 单位默认遵循 GB 3100--93《国际单位制及其应用》\cite{gb-3100-93}和
+% GB 3101--93《有关量、单位和符号的一般原则》\cite{gb-3101-93},
+% SI 单位可通过载入 \pkg{siunitx} 宏包\cite{siunitx}进行输入。
+% ^^A \pkg{siunitx} 是一个更新频繁的包,可能会引发兼容性问题。
%
% \paragraph{定理环境}
%
% 本模板也提供了一系列的数学定理环境。
-% 全部预定义的数学定理环境如表~\ref{tab:mathenv} 所示。其中证明环境较为特殊,会在结尾添加证毕符号(\mdwhtsquare)。用户也可以选择使用 \tn{newtheorem} 定义新的定理环境。
+%
+% \begin{function}[added=2022-04-21]{theorem/predefine}
+% \begin{syntax}
+% predefine = <\TTF>
+% \end{syntax}
+% 是否使用模板默认配置的定理环境。默认会载入 \pkg{ntheorem} 并进行相关设置。
+% \end{function}
+%
+% 全部预定义的数学定理环境如表~\ref{tab:mathenv} 所示。
+% 其中证明环境较为特殊,会在结尾添加证毕符号(\mdwhtsquare)。
+% 当然,你也可以创建属于自己的定理环境,其样式继承自前部的设定。
+%
+% \begin{function}{\newtheorem,\newtheorem*,\renewtheorem}
+% \begin{syntax}
+% \cs{newtheorem}\marg{环境名称}\marg{标题名称}\oarg{计数器范围}
+% \end{syntax}
+% 定义新的定理环境或者修改已有的定理环境。带星号的命令不包含计数器。
+% 本模板中请在 |\begin{document}| 后进行定制。
+% \end{function}
%
% \begin{table}[htbp]
% \centering
-% \caption{数学定理环境}
+% \caption{预置的数学定理环境}
% \label{tab:mathenv}
% \begin{tabular}{cc|cc}
% \toprule
@@ -1449,6 +1534,53 @@ To produce the documentation run the original source files ending with
% \end{definition}
% \end{latexexample}
%
+% 对于预置的定理环境样式,本模板也提供了一系列选项进行修改。
+% 这些选项目前只对模板预定义的若干种环境有效。
+%
+% \begin{function}[added=2022-04-21]{theorem/style}
+% \begin{syntax}
+% style = <(plain)|break|change|margin|empty|...>
+% \end{syntax}
+% 定理基本样式。等效于 \cs{theoremstyle}\marg{样式名称}。
+% \end{function}
+%
+% \begin{function}[added=2022-04-21]{theorem/header-font}
+% \begin{syntax}
+% header-font = \meta{头部字体格式}
+% \end{syntax}
+% 定理头部字体格式。等效于 \cs{theoremheaderfont}\marg{格式}。
+% \end{function}
+%
+% \begin{function}[added=2022-04-21]{theorem/body-font}
+% \begin{syntax}
+% body-font = \meta{内部字体格式}
+% \end{syntax}
+% 定理内部字体格式。等效于 \cs{theorembodyfont}\marg{格式}。
+% \end{function}
+%
+% \begin{function}[added=2022-04-21]{theorem/counter}
+% \begin{syntax}
+% counter = <part|(chapter)|section|...>
+% \end{syntax}
+% 定理计数器范围。
+% \end{function}
+%
+% 模板的默认设置等效于
+%
+% \begin{latexexample}[moretexcs={\njusetup,\bfseries,\itshape,\mdwhtsquare},
+% emph={[2]theorem}]
+% \njusetup {
+% theorem = {
+% predefine = true,
+% style = plain,
+% header=font = \normalfont \bfseries,
+% body-font = \itshape,
+% qed-symbol = \ensuremath { \mdwhtsquare },
+% counter = chapter
+% }
+% }
+% \end{latexexample}
+%
%
% \subsubsection{代码}
% \changes{v0.13}{2021/12/13}{提供简化的行内代码环境。}
@@ -1611,14 +1743,10 @@ To produce the documentation run the original source files ending with
% }
% \end{latexexample}
%
-% 如果开启了草稿模式,您可能会注意到部分条目存在超宽的问题,这时就要果断假装没有看到。
-% 该问题的产生是由于 \hologo{LaTeX} 中只有固定的字母组合中间可以断行。使条目右侧平齐的方法有如下两种
-% \footnote{详见 \url{https://github.com/nju-lug/NJUThesis/issues/57}。很不幸,\pkg{microtype} 与 \pkg{babel} 没能在我们的模板中解决问题。}:
-% \begin{itemize}
-% \item 自行在 \file{.bib} 文件中设置断行点,例如可以将 graphene 一词修改为 graph|\-|ene。缺点是需要逐条手动排查,建议在定稿时进行修改。
-% \item 在 |\printbibliography| 前添加 |\sloppy| 命令拉伸词间距,缺点是可能降低美观度。
-% \end{itemize}
-%
+% 如果开启了草稿模式,您可能会注意到部分条目存在超宽的问题。
+% 对此,需要将 \pkg{biblatex-gb7714-2015} 宏包手动更新至 2022-04-16 以后的版本。
+% 此外,由于 \TeX{} 预置的断词位置是有限的,不能覆盖学术上使用的复杂词汇,
+% 您也可以自行在 \file{.bib} 文件中设置断行点,例如可以将 graphene 一词修改为 graph|\-|ene。
%
% \subsubsection{正文引用}
%
@@ -2059,6 +2187,21 @@ To produce the documentation run the original source files ending with
%
% \subsection*{标准、规范}
%
+% \bibitem{gb-3100-93}
+% 全国信息与文献标准化技术委员会.
+% \newblock \textit{国际单位制及其应用: GB 3100--93} [S].
+% \newblock 北京: 中国标准出版社, 1993
+%
+% \bibitem{gb-3101-93}
+% 全国信息与文献标准化技术委员会.
+% \newblock \textit{有关量、单位和符号的一般原则: GB 3101--93} [S].
+% \newblock 北京: 中国标准出版社, 1993
+%
+% \bibitem{gb-3102-93}
+% 全国信息与文献标准化技术委员会.
+% \newblock \textit{物理科学和技术中使用的数学符号: GB/T 3102--93} [S].
+% \newblock 北京: 中国标准出版社, 1993
+%
% \bibitem{gb-t-7408-2005}
% 全国信息与文献标准化技术委员会.
% \newblock \textit{数据元和交换格式\quad 信息交换~ 日期和时间表示法: GB/T 7408--2005} [S].
@@ -2131,6 +2274,14 @@ To produce the documentation run the original source files ending with
% \urlprefix\url{https://ctan.org/pkg/njuvisual}
% \urlprefix\CTANurl[文档:]{macros/latex/contrib/njuvisual/njuvisual.pdf}
%
+% \bibitem{siunitx}
+% \textsc{Wright J}.
+% \newblock \textit{A comprehensive (SI) units package} [EB/OL].
+% \newblock version 3.1.0,
+% \newblock (2022-04-25)
+% \urlprefix\url{https://www.ctan.org/pkg/siunitx}
+% \urlprefix\CTANurl[文档:]{macros/latex/contrib/siunitx/siunitx.pdf}
+%
% \bibitem{tabularray}
% \textsc{Jianrui Lyu}.
% \newblock \textit{Typeset tabulars and arrays with \hologo{LaTeX3}} [EB/OL].
@@ -2398,17 +2549,17 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\g_@@_name_type_clist,\g_@@_name_type_en_clist,
-% \g_@@_name_degree_clist,\g_@@_name_degree_en_clist}
+% \begin{variable}{\c_@@_name_type_clist,\c_@@_name_type_en_clist,
+% \c_@@_name_degree_clist,\c_@@_name_degree_en_clist}
% 论文类型与学位类型。
% \begin{macrocode}
-\clist_const:Nn \g_@@_name_type_clist
+\clist_const:Nn \c_@@_name_type_clist
{ 毕业论文, 毕业设计 }
-\clist_const:Nn \g_@@_name_type_en_clist
+\clist_const:Nn \c_@@_name_type_en_clist
{ THESIS, DESIGN }
-\clist_const:Nn \g_@@_name_degree_clist
+\clist_const:Nn \c_@@_name_degree_clist
{ 学士, 硕士, 硕士专业, 博士 }
-\clist_const:Nn \g_@@_name_degree_en_clist
+\clist_const:Nn \c_@@_name_degree_en_clist
{ Bachelor, Master, Master, Doctor~of~Philosophy }
% \end{macrocode}
% \end{variable}
@@ -2424,6 +2575,22 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\c_@@_blind_info_clist,\c_@@_blind_info_en_clist,
+% \c_@@_blind_infolist_clist}
+% 盲审模式下不显示的个人信息项。
+% \begin{macrocode}
+\clist_const:Nn \c_@@_blind_info_clist
+ {
+ author, chairman, clc, dept, email, field, grade,
+ id, major, secretlv, supvcont, udc
+ }
+\clist_const:Nn \c_@@_blind_info_en_clist
+ { author, dept, field, major, supv, supv_ii }
+\clist_const:Nn \c_@@_blind_infolist_clist
+ { reviewer, supv, supv_ii }
+% \end{macrocode}
+% \end{variable}
+%
%
% \subsection{内部函数}
%
@@ -2438,8 +2605,8 @@ To produce the documentation run the original source files ending with
% \begin{macro}{\@@_vskip:,\@@_hskip:}
% 生成一个较小的 skip。
% \begin{macrocode}
-\cs_new:Nn \@@_vskip: { \skip_vertical:N \g_@@_smallvskip_dim }
-\cs_new:Nn \@@_hskip: { \skip_horizontal:N \g_@@_smallhskip_dim }
+\cs_new:Nn \@@_vskip: { \skip_vertical:N \c_@@_smallvskip_dim }
+\cs_new:Nn \@@_hskip: { \skip_horizontal:N \c_@@_smallhskip_dim }
% \end{macrocode}
% \end{macro}
%
@@ -2461,16 +2628,11 @@ To produce the documentation run the original source files ending with
% 用来定义默认名称的辅助函数。
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_name:nn #1#2
- {
- \tl_new:c { g_@@_name_ #1 _tl }
- \tl_gset:cn { g_@@_name_ #1 _tl } { #2 }
- }
+ { \tl_const:cn { c_@@_name_ #1 _tl } { #2 } }
\cs_new_protected:Npn \@@_define_name:nnn #1#2#3
{
- \tl_new:c { g_@@_name_ #1 _tl }
- \tl_gset:cn { g_@@_name_ #1 _tl } { #2 }
- \tl_new:c { g_@@_name_ #1 _en_tl }
- \tl_gset:cn { g_@@_name_ #1 _en_tl } { #3 }
+ \tl_const:cn { c_@@_name_ #1 _tl } { #2 }
+ \tl_const:cn { c_@@_name_ #1 _en_tl } { #3 }
}
% \end{macrocode}
% \end{macro}
@@ -2479,10 +2641,7 @@ To produce the documentation run the original source files ending with
% 用来定义默认样式的辅助函数。
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_fmt:nn #1#2
- {
- \tl_new:c { g_@@_fmt_ #1 _tl }
- \tl_gset:cn { g_@@_fmt_ #1 _tl } { #2 }
- }
+ { \tl_const:cn { c_@@_fmt_ #1 _tl } { #2 } }
% \end{macrocode}
% \end{macro}
%
@@ -2490,15 +2649,9 @@ To produce the documentation run the original source files ending with
% 用来定义默认间距的辅助函数。
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_dim:nn #1#2
- {
- \dim_new:c { g_@@_ #1 _dim }
- \dim_gset:cn { g_@@_ #1 _dim } { #2 }
- }
+ { \dim_const:cn { c_@@_ #1 _dim } { #2 } }
\cs_new_protected:Npn \@@_define_skip:nn #1#2
- {
- \skip_new:c { g_@@_ #1 _skip }
- \skip_gset:cn { g_@@_ #1 _skip } { #2 }
- }
+ { \skip_const:cn { c_@@_ #1 _skip } { #2 } }
% \end{macrocode}
% \end{macro}
%
@@ -2516,7 +2669,7 @@ To produce the documentation run the original source files ending with
% \begin{macro}{\@@_name:n,\@@_info:n}
% 根据变量名调用名称和内容信息。
% \begin{macrocode}
-\cs_new:Npn \@@_name:n #1 { \tl_use:c { g_@@_name_ #1 _tl } }
+\cs_new:Npn \@@_name:n #1 { \tl_use:c { c_@@_name_ #1 _tl } }
\cs_new:Npn \@@_info:n #1 { \tl_use:c { g_@@_info_ #1 _tl } }
% \end{macrocode}
% \end{macro}
@@ -2579,24 +2732,6 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_put_inempty_seg:nnn}
-% 将固定长度的非空字符串插入 |clist|。
-% \begin{arguments}
-% \item 原始字符串
-% \item 起始位置
-% \item 长度
-% \end{arguments}
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_put_inempty_seg:nnn #1#2#3
- {
- \tl_set:Nx \l_@@_tmpa_tl
- { \tl_range:Nnn { #1 } { #2 } { #2 + #3 - 1 } }
- \tl_if_empty:NF \l_@@_tmpa_tl
- { \clist_put_right:NV \l_@@_tmp_clist { \l_@@_tmpa_tl } }
- }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{\@@_uline:n}
% 指定宽度的下划线。
% \begin{arguments}
@@ -2761,17 +2896,17 @@ To produce the documentation run the original source files ending with
{
\tl_if_empty:NT \g_@@_info_title_tl
{ \msg_error:nn { njuthesis } { missing-title } }
- \@@_spread_box:nnV { #2 } { \kaishu } \g_@@_name_title_tl
+ \@@_spread_box:nnV { #2 } { \kaishu } \c_@@_name_title_tl
\mode_leave_vertical: \@@_hskip:
% \end{macrocode}
% 这里需要存储 \tn{baselineskip} 的值,以使 \tn{parbox} 后行距正确。
-% \footnote{\url{https://tex.stackexchange.com/questions/34971/how-to-keep-a-constant-baselineskip-when-using-minipages-or-parboxes}}
+% \footnote{\url{https://tex.stackexchange.com/q/34971/}}
% \begin{macrocode}
\parbox [ t ] { #3 }
{
- \dim_set_eq:NN \baselineskip \g_@@_coverlineskip_dim
+ \dim_set_eq:NN \baselineskip \c_@@_coverlineskip_dim
#1 \@@_uline_title:
- \dim_set_eq:NN \l_@@_tmpa_dim \prevdepth
+ \dim_gset_eq:NN \l_@@_tmpa_dim \prevdepth
}
\par \prevdepth \l_@@_tmpa_dim
}
@@ -2834,7 +2969,7 @@ To produce the documentation run the original source files ending with
\@@_ulined_center_box:nn { #3 }
{ \clist_item:cn { g_@@_info_ #1 _clist } { 1 } }
\@@_hskip:
- \@@_spread_box:nnV { #2 } { \kaishu } \g_@@_name_supv_ttl_tl
+ \@@_spread_box:nnV { #2 } { \kaishu } \c_@@_name_supv_ttl_tl
\@@_hskip:
\@@_ulined_center_box:nn { #3 }
{ \clist_item:cn { g_@@_info_ #1 _clist } { 2 } }
@@ -2843,6 +2978,17 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_emblem:N,\@@_name:N}
+% 封装图片绘制命令,参数为图片宽度。
+% 此时 \cs{njuemblem}、\cs{njuname} 和相关长度都是没有定义的。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_emblem:N #1
+ { \njuemblem [ black ] { #1 } { ! } }
+\cs_new_protected:Npn \@@_name:N #1
+ { \njuname [ black ] { #1 } { ! } }
+% \end{macrocode}
+% \end{macro}
+%
% \subsubsection{摘要相关}
%
% \begin{macro}{\@@_abs_bookmark:nn,\@@_abs_bookmark:Vn}
@@ -2905,8 +3051,10 @@ To produce the documentation run the original source files ending with
% \item 内容
% \item 左边距
% \end{arguments}
-% 这里使用了 Primitive \TeX{} 语法以利用原生的断行算法\footnote{\url{https://tex.stackexchange.com/questions/637861/underline-list-item-to-page-width}}。
-% 对其语法的简要介绍可以参考 \href{http://petr.olsak.net/ftp/olsak/optex/tex-nutshell.pdf}{\file{tex-nutshell.pdf}}。
+% 这里使用了 Primitive \TeX{} 语法以利用原生的断行算法
+% \footnote{\url{https://tex.stackexchange.com/q/637861/}}。
+% 对其语法的简要介绍可以参考
+% \href{http://petr.olsak.net/ftp/olsak/optex/tex-nutshell.pdf}{\file{tex-nutshell.pdf}}。
% \begin{macrocode}
\cs_new_protected:Npn \@@_uline_list:nnn #1#2#3
{
@@ -3062,7 +3210,8 @@ To produce the documentation run the original source files ending with
}
{
\AssignTemplateKeys
- \newpage
+ \clearpage
+ \thispagestyle { empty }
\__nju_vskip:N \l_@@_top_skip
\group_begin:
\l_@@_format_tl
@@ -3155,6 +3304,15 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{blind}
+% \changes{v0.18}{2022/04/19}{新增盲审模式选项。}
+% 盲审模式。
+% \begin{macrocode}
+ blind .value_forbidden:n = true,
+ blind .bool_set:N = \g_@@_blind_bool,
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{latin-font,cjk-font}
% \changes{v0.14}{2021/12/12}{简化字体选项名称。}
% 字体选项。
@@ -3185,14 +3343,22 @@ To produce the documentation run the original source files ending with
%
% \subsection{用户接口}
%
-% \begin{macro}{bib,info,style}
-% 定义元(meta)键值对。
+% \begin{macro}{bib,info,style,theorem}
+% 定义元(meta)键值对。为 v1.0 升级预留了新的接口。
% \begin{macrocode}
\keys_define:nn { nju }
{
- bib .meta:nn = { nju / bib } { #1 },
- info .meta:nn = { nju / info } { #1 },
- style .meta:nn = { nju / style } { #1 }
+ % abstract .meta:nn = { nju / abstract } { #1 },
+ bib .meta:nn = { nju / bib } { #1 },
+ % cover .meta:nn = { nju / cover } { #1 },
+ % font .meta:nn = { nju / font } { #1 },
+ % footer .meta:nn = { nju / footer } { #1 },
+ % footnote .meta:nn = { nju / footnote } { #1 },
+ % header .meta:nn = { nju / header } { #1 },
+ info .meta:nn = { nju / info } { #1 },
+ style .meta:nn = { nju / style } { #1 },
+ theorem .meta:nn = { nju / theorem } { #1 }
+ % toc .meta:nn = { nju / toc } { #1 }
}
% \end{macrocode}
% \end{macro}
@@ -3210,7 +3376,7 @@ To produce the documentation run the original source files ending with
% 定义修改固定文本的接口。
% \begin{macrocode}
\NewDocumentCommand \njusetformat { m m }
- { \tl_gset:cn { g_@@_fmt_ #1 _tl } { #2 } }
+ { \tl_gset:cn { c_@@_fmt_ #1 _tl } { #2 } }
% \end{macrocode}
% \end{macro}
%
@@ -3221,8 +3387,8 @@ To produce the documentation run the original source files ending with
\NewDocumentCommand \njusetlength { s m m }
{
\bool_if:nTF { #1 }
- { \skip_gset:cn { g_@@_ #2 _skip } { #3 } }
- { \dim_gset:cn { g_@@_ #2 _dim } { #3 } }
+ { \skip_gset:cn { c_@@_ #2 _skip } { #3 } }
+ { \dim_gset:cn { c_@@_ #2 _dim } { #3 } }
}
% \end{macrocode}
% \end{macro}
@@ -3256,7 +3422,7 @@ To produce the documentation run the original source files ending with
\bool_if:nTF { #1 }
{ \tl_set:Nn \l_@@_tmpb_tl { _en } }
{ \tl_clear:N \l_@@_tmpb_tl }
- \tl_gset:cn { g_@@_ #5 _ #2 \l_@@_tmpa_tl \l_@@_tmpb_tl _tl } {#4}
+ \tl_gset:cn { c_@@_ #5 _ #2 \l_@@_tmpa_tl \l_@@_tmpb_tl _tl } {#4}
}
% \end{macrocode}
% \end{macro}
@@ -3303,7 +3469,6 @@ To produce the documentation run the original source files ending with
{
{ no-math } { fontspec },
{ perpage } { footmisc },
- { amsmath, thmmarks } { ntheorem },
{ hyphens } { url },
{ warnings-off={ mathtools-colon, mathtools-overbracket } }
{ unicode-math },
@@ -3326,19 +3491,20 @@ To produce the documentation run the original source files ending with
{
geometry,
fancyhdr,
+ footmisc,
setspace,
% \end{macrocode}
% \changes{v0.13}{2021/12/13}{使用 \pkg{ntheorem} 创建定理环境,删除
% \pkg{amsthm} 和 \pkg{thmtools}。}
% \changes{v0.16}{2022/03/19}{不显式载入 \pkg{amsmath}。}
-% 数学相关的宏包。其中,\pkg{amsmath} 必须在 \pkg{unicode-math} 前加载。
+% \changes{v0.18}{2022/04/20}{不强制载入 \pkg{ntheorem}。}
+% 数学相关的宏包。其中,\pkg{amsmath} 会被 \pkg{unicode-math} 自动载入。
% \pkg{unicode-math} 指定了 \hologo{XeTeX} 和 \hologo{LuaTeX} 下所使用的
% 数学字体。用于配置数学环境的 \pkg{mathtools} 会与 \pkg{unicode-math}
% 发生冲突,需要手动消除其警告。
% \begin{macrocode}
mathtools,
unicode-math,
- ntheorem,
% \end{macrocode}
% \changes{v0.14}{2021/12/21}{移除内置的 \pkg{multirow}、\pkg{subcaption}
% 和 \pkg{wrapfig}。}
@@ -3394,8 +3560,8 @@ To produce the documentation run the original source files ending with
{ \RequirePackage { tabularray } }
% \end{macrocode}
%
-% \begin{macro}{\@@_check_package:nnn}
-% 检查过时宏包。
+% \begin{macro}{\@@_check_pkg_version:nnn}
+% 检查宏包版本是否过时。
% \begin{macrocode}
\msg_new:nnn { njuthesis } { package-too-old }
{
@@ -3405,7 +3571,7 @@ To produce the documentation run the original source files ending with
Please~ update~ an~ up-to-date~ version~ of~ it~
using~ your TeX~ package~ manager~ or~ from~ CTAN.
}
-\cs_new_protected:Npn \@@_check_package:nnn #1#2#3
+\cs_new_protected:Npn \@@_check_pkg_version:nnn #1#2#3
{
\@ifpackagelater {#1} {#2}
{ } { \msg_error:nnnn { njuthesis } { package-too-old } {#1} {#3} }
@@ -3417,9 +3583,48 @@ To produce the documentation run the original source files ending with
% 解决了下划线中断问题,然而在 2021-10-24 的更新才提供了正确的内嵌日期。
% \begin{macrocode}
\sys_if_engine_luatex:T
- { \@@_check_package:nnn { luatexja } { 2021/10/24 } { 20211024.0 } }
+ { \@@_check_pkg_version:nnn { luatexja } { 2021/10/24 } { 20211024.0 } }
+% \end{macrocode}
+%
+% \changes{v0.18}{2022/04/28}{增加宏包冲突检查。}
+% \begin{macrocode}
+\RequirePackage { filehook }
+% \end{macrocode}
+%
+% \begin{macro}{\@@_check_pkg_conflict:nn}
+% 检查用户载入的宏包是否会与预置宏包发生冲突。
+% \begin{arguments}
+% \item 模板载入的宏包
+% \item 产生冲突的宏包
+% \item 替代的解决办法
+% \end{arguments}
+% \begin{macrocode}
+\msg_new:nnn { njuthesis } { package-conflict }
+ {
+ The~ "#2"~ package~ is~ incompatible~ with~ "#1".\\
+ I~ have~ loaded~ "#1"~ by~ default.~ Maybe~ You~ should~
+ refer~ to~ section~ 4~ of~ the~ "njuthesis"~ manual.
+ }
+\cs_new_protected:Npn \@@_check_pkg_conflict:nn #1#2
+ {
+ \AtEndOfPackageFile * { #1 }
+ {
+ \AtBeginOfPackageFile * { #2 }
+ { \msg_error:nnnn { njuthesis } { package-conflict } {#1} {#2} }
+ }
+ }
% \end{macrocode}
+% \end{macro}
%
+% 检查数学宏包冲突。
+% \begin{macrocode}
+\clist_map_inline:nn
+ {
+ amscd, amsfonts, amssymb, bbm, bm, eucal,
+ eufrak, mathrsfs, newtxmath, upgreek
+ }
+ { \@@_check_pkg_conflict:nn { unicode-math } { #1 } }
+% \end{macrocode}
%
% \subsection{配置文件}
%
@@ -3552,7 +3757,7 @@ To produce the documentation run the original source files ending with
clc .tl_set:N = \g_@@_info_clc_tl,
secret-level .tl_set:N = \g_@@_info_secretlv_tl,
udc .tl_set:N = \g_@@_info_udc_tl,
- supervisor-contact .tl_set:N = \g_@@_info_supv_cont_tl,
+ supervisor-contact .tl_set:N = \g_@@_info_supvcont_tl,
% \end{macrocode}
% \end{macro}
%
@@ -3571,7 +3776,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\tl_set:Nx \g_@@_info_degree_tl
{
- \clist_item:Nn \g_@@_name_degree_clist
+ \clist_item:Nn \c_@@_name_degree_clist
{ \g_@@_info_degree_int }
}
\int_compare:nTF { \g_@@_info_degree_int == 1 }
@@ -3582,11 +3787,29 @@ To produce the documentation run the original source files ending with
% 设置类型信息。
% \begin{macrocode}
\tl_set:Nx \g_@@_info_type_tl
- { \clist_item:Nn \g_@@_name_type_clist { \g_@@_info_type_int } }
+ { \clist_item:Nn \c_@@_name_type_clist { \g_@@_info_type_int } }
\tl_set:Nx \g_@@_info_type_en_tl
- { \clist_item:Nn \g_@@_name_type_en_clist { \g_@@_info_type_int } }
+ { \clist_item:Nn \c_@@_name_type_en_clist { \g_@@_info_type_int } }
\tl_put_left:Nx \g_@@_info_type_tl
- { \tl_use:c { g_@@_name_ \g_@@_info_diploma_tl _tl } }
+ { \tl_use:c { c_@@_name_ \g_@@_info_diploma_tl _tl } }
+% \end{macrocode}
+%
+% 盲审模式下抹去个人信息和学校名称。
+% \begin{macrocode}
+\bool_if:NT \g_@@_blind_bool
+ {
+ \ctex_at_end_preamble:n
+ {
+ \clist_map_inline:Nn \c_@@_blind_info_clist
+ { \tl_gclear:c { g_@@_info_ #1 _tl } }
+ \clist_map_inline:Nn \c_@@_blind_info_en_clist
+ { \tl_gclear:c { g_@@_info_ #1 _en_tl } }
+ \clist_map_inline:Nn \c_@@_blind_infolist_clist
+ { \clist_gclear:c { g_@@_info_ #1 _clist } }
+ \tl_gclear:N \c_@@_name_nju_tl
+ \tl_gclear:N \c_@@_name_nju_en_tl
+ }
+ }
% \end{macrocode}
%
% \changes{v0.15}{2022/01/22}{正确处理双导师信息。}
@@ -4190,7 +4413,7 @@ To produce the documentation run the original source files ending with
% 为无编号章添加目录条目,需手动指定格式为四号、不加粗、黑体。
% \begin{macrocode}
\cs_new_protected:Npn \@@_add_tocline:n #1
- { \addcontentsline { toc } { chapter } { \g_@@_fmt_chapterintoc_tl #1 } }
+ { \addcontentsline { toc } { chapter } { \c_@@_fmt_chapterintoc_tl #1 } }
\cs_generate_variant:Nn \@@_add_tocline:n { V }
% \end{macrocode}
% \end{macro}
@@ -4234,10 +4457,12 @@ To produce the documentation run the original source files ending with
{
chapter / beforeskip = 10 pt,
chapter / afterskip = 60 pt,
- chapter / format = \g_@@_fmt_chapter_tl,
- section / format = \g_@@_fmt_section_tl,
- subsection / format = \g_@@_fmt_subsection_tl,
- subsubsection / format = \g_@@_fmt_subsubsection_tl,
+ chapter / format = \c_@@_fmt_chapter_tl,
+ section / format = \c_@@_fmt_section_tl,
+ subsection / format = \c_@@_fmt_subsection_tl,
+ subsubsection / format = \c_@@_fmt_subsubsection_tl,
+ paragraph / format = \c_@@_fmt_paragraph_tl,
+ subparagraph / format = \c_@@_fmt_subparagraph_tl,
% \end{macrocode}
%
%
@@ -4246,13 +4471,13 @@ To produce the documentation run the original source files ending with
%
% 设置目录标题默认名称。
% \begin{macrocode}
- contentsname = \g_@@_name_tableofcontents_tl,
- listfigurename = \g_@@_name_listoffigures_tl,
- listtablename = \g_@@_name_listoftables_tl,
+ contentsname = \c_@@_name_tableofcontents_tl,
+ listfigurename = \c_@@_name_listoffigures_tl,
+ listtablename = \c_@@_name_listoftables_tl,
% \end{macrocode}
% 设置目录中章标题的样式。
% \begin{macrocode}
- chapter / tocline = \g_@@_fmt_chapterintoc_tl \CTEXnumberline { #1 } #2
+ chapter / tocline = \c_@@_fmt_chapterintoc_tl \CTEXnumberline { #1 } #2
}
% \end{macrocode}
%
@@ -4279,7 +4504,7 @@ To produce the documentation run the original source files ending with
{
\group_begin:
\keys_set:nn { ctex }
- { chapter/format = \g_@@_fmt_toctitle_tl }
+ { chapter/format = \c_@@_fmt_toctitle_tl }
\bool_if:NTF \g_@@_toc_in_toc_bool
{ \@@_chapter:n { #1 } }
{
@@ -4486,7 +4711,7 @@ To produce the documentation run the original source files ending with
pdftitle = \g_@@_info_title_tl,
pdfauthor = \g_@@_info_author_tl,
pdfkeywords = \g_@@_info_keywords_clist,
- pdfcreator = \g_@@_name_pdfcreator_tl
+ pdfcreator = \c_@@_name_pdfcreator_tl
}
}
% \end{macrocode}
@@ -4523,6 +4748,90 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
%
%
+% \subsection{脚注}
+% \changes{v0.18}{2022/05/01}{提供脚注设置项。}
+% ^^A 来自 fduthesis
+% \begin{macrocode}
+\tl_new:N \l_@@_fn_style_tl
+\keys_define:nn { nju / style }
+ {
+% \end{macrocode}
+% \begin{macro}{style/footnote-style}
+% \begin{macrocode}
+ footnote-style .choices:nn = { plain, pifont }
+% \end{macrocode}
+% 若使用 \opt{pifont} 类型,则需引入 \pkg{pifont} 宏包。
+% \begin{macrocode}
+ {
+ \tl_gset_eq:NN \l_@@_fn_style_tl \l_keys_choice_tl
+ \int_compare:nT { \l_keys_choice_int = 2 }
+ { \RequirePackage { pifont } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_fn_symbol_pifont:n}
+% \opt{pifont} 普通版。以下四种都只包含 \numrange{1}{10}。
+% \begin{macrocode}
+\cs_new:Npn \@@_fn_symbol_pifont:n #1
+ { \ding { \int_eval:n { 171 + #1 } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_footnote_number:N}
+% 脚注编号样式。
+% \begin{macrocode}
+\tl_const:Nn \c_@@_fn_style_plain_tl { plain }
+\tl_const:Nn \c_@@_fn_style_pifont_tl { pifont }
+\cs_new:Npn \@@_footnote_number:N #1
+ {
+ \tl_case:NnF \l_@@_fn_style_tl
+ {
+% \end{macrocode}
+% \opt{plain} 类型直接使用计数器 |footnote| 的值。
+% \begin{macrocode}
+ \c_@@_fn_style_plain_tl
+ { \int_use:N #1 }
+% \end{macrocode}
+% \opt{pifont} 类型无需进行额外的操作。
+% \begin{macrocode}
+ \c_@@_fn_style_pifont_tl
+ { \@@_fn_symbol_pifont:n {#1} }
+ }
+% \end{macrocode}
+% 变量 \cs{l_@@_fn_style_tl} 保存的类型未知时,默认使用 \opt{plain}
+% 类型。
+% \begin{macrocode}
+ { \int_use:N #1 }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thefootnote}
+% 重定义脚注编号。
+% \begin{macrocode}
+\cs_set:Npn \thefootnote { \@@_footnote_number:N \c@footnote }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{整体样式}
+%
+% \begin{macro}[int]{\@makefntext}
+% 重定义内部脚注文字命令,使脚注编号不使用上标,宽度为 \qty{1.5}{em}。
+% 见 \url{http://tex.stackexchange.com/q/19844} 和
+% \url{https://www.zhihu.com/question/53030087}。
+% \begin{macrocode}
+\cs_set:Npn \@makefntext #1
+ {
+ \mode_leave_vertical:
+ \hbox_to_wd:nn { 1.5 em } { \@thefnmark \hfil }
+ #1
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
% \subsection{图片表格}
%
% 设置默认图片扩展名,允许在不键入扩展名时自动进行补全。
@@ -4562,35 +4871,87 @@ To produce the documentation run the original source files ending with
%
% \subsection{定理环境}
%
-% \begin{macro}{\@@_new_theorem:N}
+% \changes{v0.18}{2022/04/21}{新增定理环境的若干定制项。}
+%
+% \begin{macro}{theorem/style,theorem/header-font,theorem/body-font,
+% theorem/qed-symbol,theorem/counter}
+% 定义 |nju/theorem| 键值类。
+% 目前这套选项只适用于模板预定义的若干种定理环境。
+% \begin{macrocode}
+\keys_define:nn { nju / theorem }
+ {
+ predefine .bool_set:N = \g_@@_thm_predefine_bool,
+ style .tl_set:N = \l_@@_thm_style_tl,
+ header-font .tl_set:N = \l_@@_thm_header_font_tl,
+ body-font .tl_set:N = \l_@@_thm_body_font_tl,
+ qed-symbol .tl_set:N = \l_@@_thm_qed_symbol_tl,
+ counter .tl_set:N = \l_@@_thm_counter_tl,
+% \end{macrocode}
+% 定理环境的缺省值。
+% \begin{macrocode}
+ predefine .initial:n = true,
+ style .initial:n = plain,
+ header-font .initial:n = \normalfont \bfseries,
+ body-font .initial:n = \itshape,
+ qed-symbol .initial:n = \ensuremath { \mdwhtsquare },
+ counter .initial:n = chapter
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_new_theorem:Nn,\@@_new_theorem:NV}
% 用于定义普通定理环境的辅助函数。
% \begin{arguments}
% \item 定理名称列表,|clist| 型变量
+% \item 编号范围
% \end{arguments}
-% 除证明以外的环境都不需要证毕符号,在此清空其设置。
% \begin{macrocode}
-\cs_new_protected:Npn \@@_new_theorem:N #1
+\cs_new_protected:Npn \@@_new_theorem:Nn #1#2
{
- \theoremsymbol { }
\clist_map_inline:Nn #1
- { \newtheorem { ##1 } { \@@_name:n { ##1 } } }
+ { \newtheorem { ##1 } { \@@_name:n { ##1 } } [#2] }
}
+\cs_generate_variant:Nn \@@_new_theorem:Nn { NV }
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_ntheorem_post_setup:}
+% 载入 \pkg{ntheorem} 后的相应设置。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_ntheorem_post_setup:
+ {
+ \exp_args:NV \theoremstyle \l_@@_thm_style_tl
+ \exp_args:NV \theoremheaderfont \l_@@_thm_header_font_tl
+ \exp_args:NV \theorembodyfont \l_@@_thm_body_font_tl
+ \exp_args:NV \theoremsymbol \l_@@_thm_qed_symbol_tl
+% \end{macrocode}
% 定义证明环境。证毕符号使用 \tn{mdlgwhtsquare} 绘制,对应于 |U+25A1| 字符
-% \footnote{\url{https://tex.stackexchange.com/questions/567135/how-get-box-like-symbol-with-xelatex}}。
+% \footnote{\url{https://tex.stackexchange.com/q/567135/}}。
+% \begin{macrocode}
+ \newtheorem* { proof } { \c_@@_name_proof_tl }
+% \end{macrocode}
+% 定义普通定理环境。清除预设的证毕符号,并排除 \env{proof}。
% \begin{macrocode}
-\theoremsymbol { \ensuremath { \mdwhtsquare } }
-\newtheorem* { proof } { \g_@@_name_proof_tl }
+ \theoremsymbol { }
+ \group_begin:
+ \clist_remove_all:Nn \g_@@_theorem_type_clist { proof }
+ \@@_new_theorem:NV \g_@@_theorem_type_clist \l_@@_thm_counter_tl
+ \group_end:
+ }
% \end{macrocode}
+% \end{macro}
%
-% 定义普通定理环境,需要排除 \env{proof}。
+% 在导言区末尾,通过吸收的用户设置,选择是否载入并设置 \pkg{ntheorem}。
% \begin{macrocode}
-\group_begin:
- \clist_remove_all:Nn \g_@@_theorem_type_clist { proof }
- \@@_new_theorem:N \g_@@_theorem_type_clist
-\group_end:
+\ctex_at_end_preamble:n
+ {
+ \bool_if:NT \g_@@_thm_predefine_bool
+ {
+ \PassOptionsToPackage { amsmath, thmmarks } { ntheorem }
+ \RequirePackage { ntheorem }
+ \@@_ntheorem_post_setup:
+ }
+ }
%</class>
% \end{macrocode}
%
@@ -4610,9 +4971,9 @@ To produce the documentation run the original source files ending with
%<*definition-ug>
\@@_declare_element:nn { cover / ug / emblem-img }
{
- content = \njuemblem [ black ] { ! } { 3.35 cm },
+ content = \@@_emblem:N \c_@@_emblemwidth_dim,
bottom-skip = 1 cm,
- align = l
+ align = l
}
% \end{macrocode}
% \end{macro}
@@ -4622,7 +4983,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { cover / ug / name-img }
{
- content = \njuname [ black ] { ! } { 3 cm },
+ content = \@@_name:N \c_@@_namewidth_dim,
bottom-skip = 1 cm
}
% \end{macrocode}
@@ -4647,7 +5008,7 @@ To produce the documentation run the original source files ending with
\@@_declare_element:nn { cover / ug / info }
{
content =
- \@@_cover_info_ug:NN \g_@@_coverlabel_dim \g_@@_coveruline_dim,
+ \@@_cover_info_ug:NN \c_@@_coverlabel_dim \c_@@_coveruline_dim,
format = \zihao { 3 }
}
% \end{macrocode}
@@ -4663,18 +5024,18 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_info_ug:NN #1#2
{
- \begin{minipage} { #1 + #2 + \g_@@_smallhskip_dim }
- \dim_set_eq:NN \baselineskip \g_@@_coverlineskip_dim
- \dim_set:Nn \l_@@_tmpb_dim { .5 #2 - .5 #1 - \g_@@_smallhskip_dim }
- \@@_cover_entry:nnn { dept } { #1 } { #2 }
- \@@_cover_entry:nnn { major } { #1 } { #2 }
- \@@_cover_entry_title:nnn { \bf } { #1 } { #2 }
- \@@_cover_bientry:nnnn { grade } { id } { #1 } { \l_@@_tmpb_dim }
- \@@_cover_entry:nnn { author } { #1 } { #2 }
+ \begin{minipage} { #1 + #2 + \c_@@_smallhskip_dim }
+ \dim_set_eq:NN \baselineskip \c_@@_coverlineskip_dim
+ \dim_set:Nn \l_@@_tmpb_dim { .5 #2 - .5 #1 - \c_@@_smallhskip_dim }
+ \@@_cover_entry:nnn { dept } { #1 } { #2 }
+ \@@_cover_entry:nnn { major } { #1 } { #2 }
+ \@@_cover_entry_title:nnn { \bf } { #1 } { #2 }
+ \@@_cover_bientry:nnnn { grade } { id } { #1 } { \l_@@_tmpb_dim }
+ \@@_cover_entry:nnn { author } { #1 } { #2 }
\@@_cover_entry_supv:nnn { supv } { #1 } { \l_@@_tmpb_dim }
\bool_if:NT \l_@@_second_supv_bool
{ \@@_cover_entry_supv:nnn { supv_ii } { #1 } { \l_@@_tmpb_dim } }
- \@@_cover_entry:nnn { submitdate } { #1 } { #2 }
+ \@@_cover_entry:nnn { submitdate } { #1 } { #2 }
\end{minipage}
}
%</definition-ug>
@@ -4691,8 +5052,8 @@ To produce the documentation run the original source files ending with
%<*definition-g>
\@@_declare_element:nn { cover / g / emblem-img }
{
- content = \njuemblem [ black ] { ! } { 1.9 cm },
- bottom-skip = 1 cm
+ content = \@@_emblem:N \c_@@_emblemwidthi_dim,
+ bottom-skip = 1.5 cm
}
% \end{macrocode}
% \end{macro}
@@ -4702,7 +5063,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { cover / g / name-img }
{
- content = \njuname [ black ] { 4.4 cm } { ! },
+ content = \@@_name:N \c_@@_namewidth_dim,
bottom-skip = 2 cm
}
% \end{macrocode}
@@ -4726,7 +5087,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { cover / g / degree }
{
- content = \g_@@_name_apply_tl,
+ content = \c_@@_name_apply_tl,
format = \zihao { -1 } \bfseries,
bottom-skip = 1 cm plus 1.5 fil
}
@@ -4739,7 +5100,7 @@ To produce the documentation run the original source files ending with
\@@_declare_element:nn { cover / g / info }
{
content =
- \@@_cover_info_g:NN \g_@@_coverlabel_dim \g_@@_coveruline_dim,
+ \@@_cover_info_g:NN \c_@@_coverlabel_dim \c_@@_coveruline_dim,
bottom-skip = 0 pt plus 1.5 fil
}
% \end{macrocode}
@@ -4762,8 +5123,8 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_info_g:NN #1#2
{
- \begin{minipage} { #1 + #2 + \g_@@_smallhskip_dim }
- \dim_set_eq:NN \baselineskip \g_@@_coverlineskip_dim
+ \begin{minipage} { #1 + #2 + \c_@@_smallhskip_dim }
+ \dim_set_eq:NN \baselineskip \c_@@_coverlineskip_dim
\@@_cover_entry_title:nnn { } { #1 } { #2 }
\clist_map_inline:nn { author, major, field, supvfull }
{ \@@_cover_entry:nnn { ##1 } { #1 } { #2 } }
@@ -4790,14 +5151,14 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_back_g:
{
- \@@_spread_box:nnV { 6.2 em } { \kaishu } \g_@@_name_id_tl
+ \@@_spread_box:nnV { 6.2 em } { \kaishu } \c_@@_name_id_tl
{ : \@@_quad: } \g_@@_info_id_tl
\@@_vskip:
- \@@_spread_box:nnV { 6.2 em } { \kaishu } \g_@@_name_defenddate_tl
+ \@@_spread_box:nnV { 6.2 em } { \kaishu } \c_@@_name_defenddate_tl
{ : \@@_quad: } \g_@@_info_defenddate_tl
\@@_vskip:
- \@@_spread_box:nnV { 6.2 em } { \kaishu } \g_@@_name_supvfull_tl
- { : \@@_quad: } \skip_horizontal:n { 8 em } \g_@@_name_sign_tl
+ \@@_spread_box:nnV { 6.2 em } { \kaishu } \c_@@_name_supvfull_tl
+ { : \@@_quad: } \skip_horizontal:n { 8 em } \c_@@_name_sign_tl
}
% \end{macrocode}
% \end{macro}
@@ -4841,8 +5202,8 @@ To produce the documentation run the original source files ending with
\@@_declare_element:nn { cover / g / en / middle }
{
content =
- \g_@@_text_cover_en_tl \@@_vskip:
- \textsc { \clist_item:Nn \g_@@_name_degree_en_clist
+ \c_@@_text_cover_en_tl \@@_vskip:
+ \textsc { \clist_item:Nn \c_@@_name_degree_en_clist
{ \g_@@_info_degree_int } }
\@@_vskip: { in } \@@_vskip:
\g_@@_info_major_en_tl,
@@ -4856,7 +5217,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { cover / g / en / emblem-img }
{
- content = \njuemblem [ black ] { ! } { 2.5 cm },
+ content = \@@_emblem:N \c_@@_emblemwidthii_dim,
bottom-skip = 1.5 cm
}
% \end{macrocode}
@@ -4869,7 +5230,7 @@ To produce the documentation run the original source files ending with
{
content =
\g_@@_info_dept_en_tl \skip_vertical:N \c_zero_skip
- \g_@@_name_nju_en_tl \skip_vertical:n { 1 cm }
+ \c_@@_name_nju_en_tl \skip_vertical:n { 1 cm }
\g_@@_info_submitdate_en_tl
}
% \end{macrocode}
@@ -4894,7 +5255,7 @@ To produce the documentation run the original source files ending with
\@@_declare_element:nn { cover / nl / name }
{
content =
- \@@_spread_box:nnV { 6 em } { } \g_@@_name_title_tl,
+ \@@_spread_box:nnV { 6 em } { } \c_@@_name_title_tl,
format = \zihao { -0 },
bottom-skip = 0 pt plus 1 fil
}
@@ -4953,11 +5314,11 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_top_nl:
{
- \@@_spread_box:nnV { 3.2 em } { } \g_@@_name_clc_tl \@@_hskip:
+ \@@_spread_box:nnV { 3.2 em } { } \c_@@_name_clc_tl \@@_hskip:
\@@_ulined_center_box:nn { 9 em } { \g_@@_info_clc_tl } \hfill
- \@@_spread_box:nnV { 3.2 em } { } \g_@@_name_secretlv_tl \@@_hskip:
+ \@@_spread_box:nnV { 3.2 em } { } \c_@@_name_secretlv_tl \@@_hskip:
\@@_ulined_center_box:nn { 9 em } { \g_@@_info_secretlv_tl } \\
- \@@_spread_box:nnV { 3.2 em } { } \g_@@_name_udc_tl \@@_hskip:
+ \@@_spread_box:nnV { 3.2 em } { } \c_@@_name_udc_tl \@@_hskip:
\@@_ulined_center_box:nn { 9 em } { \g_@@_info_udc_tl } \hfill \null
}
% \end{macrocode}
@@ -4970,11 +5331,11 @@ To produce the documentation run the original source files ending with
{
\parbox [ b ] { 15 em } { \@@_uline_title: } \par
\skip_vertical:n { - 0.5 cm }
- { \zihao { 4 } \g_@@_name_title_b_tl }
+ { \zihao { 4 } \c_@@_name_title_b_tl }
\skip_vertical:N \c_zero_skip
\@@_ulined_center_box:nn { 4.5 em } { \g_@@_info_author_tl }
\skip_vertical:n { - 0.5 cm }
- { \zihao { 4 } { ( } \g_@@_name_author_tl { ) } }
+ { \zihao { 4 } { ( } \c_@@_name_author_tl { ) } }
}
% \end{macrocode}
% \end{macro}
@@ -4985,18 +5346,18 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_info_nl:
{
- \@@_uline_list:nnn { \g_@@_name_supvinfo_tl }
+ \@@_uline_list:nnn { \c_@@_name_supvinfo_tl }
{
\clist_use:Nn \g_@@_info_supv_clist { ~ }
- \clist_use:Nn \g_@@_info_supv_ii_clist { ~ } ~
- \g_@@_info_supv_cont_tl
+ \clist_use:Nn \g_@@_info_supv_ii_clist { ~ }
+ \@@_hskip: \g_@@_info_supvcont_tl
}
{ 1 em plus 1 fill }
\@@_uline_bientry:Nnnn \l_@@_tmpa_dim { degree } { degree } { }
\@@_uline_bientry:Nnnn \l_@@_tmpa_dim { major_b } { major } { } \\
\@@_uline_bientry:Nnnn \l_@@_tmpa_dim { submitdate } { submitdate } { }
\@@_uline_bientry:Nnnn \l_@@_tmpa_dim { defenddate } { defenddate } { } \\
- \@@_full_uline:Nn \l_@@_tmpa_dim { \g_@@_name_confer_tl }
+ \@@_full_uline:Nn \l_@@_tmpa_dim { \c_@@_name_confer_tl }
\@@_uline:n { \l_@@_tmpa_dim }
}
% \end{macrocode}
@@ -5023,8 +5384,8 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { authdecl / g / title }
{
- content = \g_@@_name_authdecl_tl,
- format = \g_@@_fmt_chapter_tl,
+ content = \c_@@_name_authdecl_tl,
+ format = \c_@@_fmt_chapter_tl,
bottom-skip = 3 cm
}
% \end{macrocode}
@@ -5035,7 +5396,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { authdecl / g / text }
{
- content = \g_@@_text_authdecl_tl,
+ content = \c_@@_text_authdecl_tl,
align = n,
bottom-skip = 2 cm
}
@@ -5106,22 +5467,26 @@ To produce the documentation run the original source files ending with
cell{1}{2} = {c=5}{m}, cell{3}{2} = {c=5}{m},
cell{4}{2} = {c=5}{m}, cell{5}{2} = {c=5}{m}
}
- \g_@@_name_title_c_tl & \g_@@_info_title_tl \\
- \g_@@_name_id_a_tl & \g_@@_info_id_tl &
- \g_@@_name_dept_a_tl & \g_@@_info_dept_tl &
- \g_@@_name_year_tl &
+ \c_@@_name_title_c_tl & \g_@@_info_title_tl \\
+ \c_@@_name_id_a_tl & \g_@@_info_id_tl &
+ \c_@@_name_dept_a_tl & \g_@@_info_dept_tl &
+ \c_@@_name_year_tl &
\tl_range:Nnn \g_@@_info_submitdate_raw_tl {1} {4} \\
- \g_@@_name_degree_a_tl &
+ \c_@@_name_degree_a_tl &
{
\@@_degree_checkbox:n { 2 } 学术学位硕士 \qquad{}
\@@_degree_checkbox:n { 3 } 专业学位硕士 \\
\@@_degree_checkbox:n { 4 } 学术学位博士 \qquad{}
\@@_degree_checkbox:n { 5 } 专业学位博士
} \\
- \g_@@_name_email_tl & \g_@@_info_email_tl \\
- \g_@@_name_supv_b_tl &
- \clist_item:Nn \g_@@_info_supv_clist {1}
- \clist_item:Nn \g_@@_info_supv_ii_clist {1} \\
+ \c_@@_name_email_tl & \g_@@_info_email_tl \\
+ \c_@@_name_supv_b_tl &
+ \clist_item:Nn \g_@@_info_supv_clist {1}
+ \bool_if:NT \l_@@_second_supv_bool
+ {
+ \@@_quad:
+ \clist_item:Nn \g_@@_info_supv_ii_clist {1}
+ } \\
\end{tblr}
}
% \end{macrocode}
@@ -5132,8 +5497,8 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_authdecl_sign_g:
{
- \g_@@_name_authsign_tl \par
- \g_@@_name_blankdate_tl
+ \c_@@_name_authsign_tl \par
+ \c_@@_name_blankdate_tl
}
% \end{macrocode}
% \end{macro}
@@ -5143,9 +5508,9 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_authdecl_secretlv_g:
{
- \g_@@_name_secretstatus_tl \par
- \ensuremath { \mdwhtsquare } \g_@@_name_secretfree_tl \par
- \ensuremath { \mdwhtsquare } \g_@@_name_secretdate_tl
+ \c_@@_name_secretstatus_tl \par
+ \ensuremath { \mdwhtsquare } \c_@@_name_secretfree_tl \par
+ \ensuremath { \mdwhtsquare } \c_@@_name_secretdate_tl
}
%</definition-g>
% \end{macrocode}
@@ -5266,9 +5631,9 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_make_origdecl:
{
- \chapter* { \g_@@_name_origdecl_tl }
+ \chapter* { \c_@@_name_origdecl_tl }
\thispagestyle { empty }
- \g_@@_text_origdecl_tl
+ \c_@@_text_origdecl_tl
\vfil
\begin{flushright}
%<definition-ug> \clist_map_inline:nn { origsign, id, origdate }
@@ -5286,12 +5651,8 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_make_authdecl:
{
-%<definition-ug> \prg_do_nothing:
-%<*definition-g>
- \thispagestyle{empty}
- \UseInstance { nju } { authdecl-g-default }
- \cleardoublepage
-%</definition-g>
+%<definition-ug> \prg_do_nothing:
+%<definition-g> \UseInstance { nju } { authdecl-g-default }
}
%</(definition-ug|definition-g)>
% \end{macrocode}
@@ -5362,6 +5723,11 @@ To produce the documentation run the original source files ending with
\msg_warning:nn { njuthesis } { missing-image }
\RequirePackage { njuvisual }
}
+ \bool_if:NT \g_@@_blind_bool
+ {
+ \RenewDocumentCommand \njuemblem { o m m } { \prg_do_nothing: }
+ \RenewDocumentCommand \njuname { o m m } { \prg_do_nothing: }
+ }
}
% \end{macrocode}
%
@@ -5393,15 +5759,19 @@ To produce the documentation run the original source files ending with
% 如果在选择了 \opt{decl-page},就生成本科生的诚信承诺书,
% 或研究生的原创性声明和出版授权书。
% \begin{macrocode}
-\bool_if:NF \g_@@_draft_bool
- {
- \bool_if:NT \g_@@_decl_bool
+ \bool_if:NF \g_@@_draft_bool
{
- \@@_make_origdecl:
- \AtEndEnvironment { document }
- { \@@_make_authdecl: }
+ \bool_if:NT \g_@@_decl_bool
+ {
+ \@@_make_origdecl:
+ \AtEndEnvironment { document }
+ {
+ \cleardoublepage
+ \@@_make_authdecl:
+ \cleardoublepage
+ }
+ }
}
- }
% \end{macrocode}
% 在标题页后使用大写罗马字母页码,恢复正常字体设置。
% \begin{macrocode}
@@ -5426,7 +5796,7 @@ To produce the documentation run the original source files ending with
%<*(definition-ug|definition-g)>
\@@_declare_element:nn { abstract / title }
{
- content = \@@_abs_title:V \g_@@_name_abstracttitle_tl,
+ content = \@@_abs_title:V \c_@@_name_abstracttitle_tl,
format = \bfseries \kaishu \zihao { -2 },
bottom-skip = 1.2 cm
}
@@ -5454,7 +5824,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { abstract / en / title }
{
- content = \@@_abs_title:V \g_@@_name_abstracttitle_en_tl,
+ content = \@@_abs_title:V \c_@@_name_abstracttitle_en_tl,
format = \bfseries \kaishu \zihao { -2 },
bottom-skip = 1.2 cm
}
@@ -5496,13 +5866,13 @@ To produce the documentation run the original source files ending with
% 确定标题类型。
% \begin{macrocode}
\tl_if_blank:eTF { #1 }
- { \g_@@_name_title_tl }
- { \clist_item:Nn \g_@@_name_type_en_clist { \g_@@_info_type_int } }
+ { \c_@@_name_title_tl }
+ { \clist_item:Nn \c_@@_name_type_en_clist { \g_@@_info_type_int } }
#2 \tl_use:c { g_@@_info_title #1 _tl } \\
% \end{macrocode}
% 由于作者姓名使用的字样发生了变动,这里进行替换以便嵌入循环。
% \begin{macrocode}
- \tl_set_eq:NN \g_@@_name_author_tl \g_@@_name_author_a_tl
+ \tl_set_eq:NN \c_@@_name_author_tl \c_@@_name_author_a_tl
% \end{macrocode}
% 使用循环输出院系、专业、作者、导师信息。
% \begin{macrocode}
@@ -5522,7 +5892,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { abstract / mark }
{
- content = \g_@@_name_abstract_b_tl,
+ content = \c_@@_name_abstract_b_tl,
format = \sffamily \zihao { -3 },
bottom-skip = 1 cm
}
@@ -5534,7 +5904,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { abstract / en / mark }
{
- content = \g_@@_name_abstract_b_en_tl,
+ content = \c_@@_name_abstract_b_en_tl,
format = \sffamily \zihao { -3 },
bottom-skip = 1 cm
}
@@ -5553,8 +5923,8 @@ To produce the documentation run the original source files ending with
{
\@@_uline_list:xnn
{
- \clist_item:Nn \g_@@_name_type_clist { \g_@@_info_type_int }
- \g_@@_name_title_a_tl #1
+ \clist_item:Nn \c_@@_name_type_clist { \g_@@_info_type_int }
+ \c_@@_name_title_a_tl #1
}
{ \g_@@_info_title_tl } { \g_@@_abs_title_left_skip }
% \end{macrocode}
@@ -5563,9 +5933,9 @@ To produce the documentation run the original source files ending with
\@@_full_uline:NV \l_@@_tmpa_dim
{
\@@_ulined_center_box:nn { 11 em } { \g_@@_info_major_tl }
- \g_@@_name_major_a_tl
+ \c_@@_name_major_a_tl
\@@_ulined_center_box:nn { 4 em } { \g_@@_info_grade_tl }
- \g_@@_name_grade_tl \g_@@_name_author_a_tl #1
+ \c_@@_name_grade_tl \c_@@_name_author_a_tl #1
}
\@@_ulined_center_box:nn { \l_@@_tmpa_dim }
{ \g_@@_info_author_tl } \\
@@ -5573,7 +5943,7 @@ To produce the documentation run the original source files ending with
% 导师姓名、职称。
% \begin{macrocode}
\@@_full_uline:NV \l_@@_tmpa_dim
- { \g_@@_name_supv_a_tl #1 }
+ { \c_@@_name_supv_a_tl #1 }
\@@_ulined_center_box:nn { \l_@@_tmpa_dim }
{ \g_@@_info_supvfull_tl }
}
@@ -5618,7 +5988,7 @@ To produce the documentation run the original source files ending with
%<*class>
\cs_new_protected:Npn \@@_print_keywords:nn #1#2
{
- \tl_set:Nv \l_@@_tmpa_tl { g_@@_name_keywords #1 _tl }
+ \tl_set:Nv \l_@@_tmpa_tl { c_@@_name_keywords #1 _tl }
\@@_get_text_width:NV \l_@@_tmpa_dim \l_@@_tmpa_tl
% \end{macrocode}
% 关键词列表的悬挂缩进样式由 \tn{list} 环境产生。
@@ -5723,7 +6093,7 @@ To produce the documentation run the original source files ending with
{
\cleardoublepage
\thispagestyle { plain }
- \@@_abs_bookmark:Vn \g_@@_name_abstract_a_tl { abstract }
+ \@@_abs_bookmark:Vn \c_@@_name_abstract_a_tl { abstract }
\@@_make_abstract:
\group_begin: \kaishu \zihao { -4 } #1
}
@@ -5738,7 +6108,7 @@ To produce the documentation run the original source files ending with
{
\cleardoublepage
\thispagestyle { plain }
- \@@_abs_bookmark:Vn \g_@@_name_abstract_a_en_tl { abstract-en }
+ \@@_abs_bookmark:Vn \c_@@_name_abstract_a_en_tl { abstract-en }
\@@_make_abstract_en:
\group_begin: \zihao { -4 } #1
}
@@ -5754,9 +6124,11 @@ To produce the documentation run the original source files ending with
% 单独制作的前言致谢页。
% \begin{macrocode}
\NewDocumentEnvironment { preface } { +b }
- { \@@_chapter:V \g_@@_name_preface_tl #1 } { }
+ { \@@_chapter:V \c_@@_name_preface_tl #1 }
+ { \cleardoublepage }
\NewDocumentEnvironment { acknowledgement } { +b }
- { \@@_chapter:V \g_@@_name_acknowledgement_tl #1 } { }
+ { \@@_chapter:V \c_@@_name_acknowledgement_tl #1 }
+ { \cleardoublepage }
% \end{macrocode}
% \end{environment}
% \end{environment}
@@ -5770,7 +6142,7 @@ To produce the documentation run the original source files ending with
% 成果列表。
% \begin{macrocode}
\NewDocumentCommand \njupaperlist
- { O { \g_@@_name_paperlist_tl } m }
+ { O { \c_@@_name_paperlist_tl } m }
{
\group_begin:
% \end{macrocode}
@@ -5848,10 +6220,10 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\NewDocumentEnvironment { notation } { O { 10 em } O { 5 em } }
{
- \@@_chapter:V \g_@@_name_notation_tl
+ \@@_chapter:V \c_@@_name_notation_tl
\@@_make_notation:nn { #1 } { #2 }
}
- { \endlist }
+ { \endlist \cleardoublepage }
% \end{macrocode}
% \end{environment}
%
@@ -5860,7 +6232,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\NewDocumentEnvironment { notation* } { O { 10 em } O { 5 em } }
{
- \chapter * { \g_@@_name_notation_tl }
+ \chapter * { \c_@@_name_notation_tl }
\@@_make_notation:nn { #1 } { #2 }
}
{ \endlist }
@@ -5872,6 +6244,7 @@ To produce the documentation run the original source files ending with
% \subsection{配置常量}
% \label{subsec:constant-config}
% \changes{v0.16}{2022/02/23}{将名称常量分离到 \file{.def} 文件。}
+% \changes{v0.18}{2022/04/20}{使用 |const| 类型统一定义常量。}
%
% 本节内容用于生成常量的默认定义,分为本科生和研究生模板两种。
%
@@ -5931,7 +6304,7 @@ To produce the documentation run the original source files ending with
{ author_a } { 本科生姓名 },
{ grade } { 年级 },
{ origdecl }
- { \g_@@_name_nju_tl 本科毕业论文(设计)诚信承诺书 },
+ { \c_@@_name_nju_tl 本科毕业论文(设计)诚信承诺书 },
{ origsign } { 作者签名 },
{ submitdate } { 提交日期 },
{ supv } { 导师 },
@@ -5944,12 +6317,12 @@ To produce the documentation run the original source files ending with
{
{ abstracttitle }
{
- \g_@@_name_nju_tl \g_@@_name_type_tl
- \g_@@_name_lang_tl \g_@@_name_abstract_tl
+ \c_@@_name_nju_tl \c_@@_name_type_tl
+ \c_@@_name_lang_tl \c_@@_name_abstract_tl
}
{
- \g_@@_name_nju_tl \g_@@_name_type_tl
- \g_@@_name_lang_en_tl \g_@@_name_abstract_tl
+ \c_@@_name_nju_tl \c_@@_name_type_tl
+ \c_@@_name_lang_en_tl \c_@@_name_abstract_tl
},
{ author } { 学生姓名 } { UNDERGRADUATE },
{ major } { 专业 } { SPECIALIZATION },
@@ -5991,15 +6364,16 @@ To produce the documentation run the original source files ending with
{ major_a } { 专业 },
% 用于国家图书馆封面的专业名称字样
{ major_b } { 专业名称 },
- { origdecl } { 南京大学学位论文原创性声明 },
+ { origdecl }
+ { \c_@@_name_nju_tl 学位论文原创性声明 },
{ origsign } { 研究生签名 },
{ reviewer } { 评阅人: },
{ secretlv } { 密级 },
{ secretstatus } { 论文涉密情况: },
{ secretfree } { 不保密 },
{ secretdate }
- { 保密,保密期( \g_@@_name_blankdate_tl 至
- \g_@@_name_blankdate_tl ) },
+ { 保密,保密期( \c_@@_name_blankdate_tl 至
+ \c_@@_name_blankdate_tl ) },
{ sign } { (签字) },
{ submitdate } { 论文提交日期 },
{ supv } { 导师 },
@@ -6024,11 +6398,11 @@ To produce the documentation run the original source files ending with
\clist_map_inline:nn
{
{ abstracttitle }
- { 南京大学 \g_@@_info_type_tl 中文摘要首页用纸 }
- { 南京大学 \g_@@_info_type_tl 英文摘要首页用纸 },
- { author } { 作者姓名 } { POSTGRADUATE },
- { major } { 专业方向 } { SPECIALIZATION },
- { supvfull } { 指导教师 } { MENTOR }
+ { \c_@@_name_nju_tl \g_@@_info_type_tl 中文摘要首页用纸 }
+ { \c_@@_name_nju_tl \g_@@_info_type_tl 英文摘要首页用纸 },
+ { author } { 作者姓名 } { POSTGRADUATE },
+ { major } { 专业方向 } { SPECIALIZATION },
+ { supvfull } { 指导教师 } { MENTOR }
}
{ \@@_define_name:nnn #1 }
%</definition-g>
@@ -6037,10 +6411,10 @@ To produce the documentation run the original source files ending with
% \subsubsection{文本}
% \label{subsubsec:constant-text}
%
-% \begin{variable}{\g_@@_text_origdecl_tl}
+% \begin{variable}{\c_@@_text_origdecl_tl}
% 本科生的学位论文诚信承诺书,或研究生的学位论文原创性声明。
% \begin{macrocode}
-\tl_const:Nn \g_@@_text_origdecl_tl
+\tl_const:Nn \c_@@_text_origdecl_tl
{
%<*definition-ug>
本人郑重承诺:所呈交的毕业论文(设计)(题目: \g_@@_info_title_tl )
@@ -6050,21 +6424,21 @@ To produce the documentation run the original source files ending with
本人承诺不存在抄袭、伪造、篡改、代写、买卖毕业论文(设计)等违纪行为。
%</definition-ug>
%<*definition-g>
- 本人郑重声明,所提交的学位论文是本人在导师指导下独立进行科学研究工作
- 所取得的成果。除本论文中已经注明引用的内容外,本论文不包含其他个人或
- 集体已经发表或撰写过的研究成果,也不包含为获得南京大学或其他教育机构
- 的学位证书而使用过的材料。对本文的研究做出重要贡献的个人和集体,均已
- 在论文的致谢部分明确标明。本人郑重申明愿承担本声明的法律责任。
+ 本人郑重声明,所提交的学位论文是本人在导师指导下独立进行科学研究工作所
+ 取得的成果。除本论文中已经注明引用的内容外,本论文不包含其他个人或集体
+ 已经发表或撰写过的研究成果,也不包含为获得 \c_@@_name_nju_tl 或其他教
+ 育机构的学位证书而使用过的材料。对本文的研究做出重要贡献的个人和集体,
+ 均已在论文的致谢部分明确标明。本人郑重申明愿承担本声明的法律责任。
%</definition-g>
}
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\g_@@_text_authdecl_tl}
+% \begin{variable}{\c_@@_text_authdecl_tl}
% 研究生的学位论文出版授权书。
% \begin{macrocode}
%<*definition-g>
-\tl_gset:Nn \g_@@_text_authdecl_tl
+\tl_const:Nn \c_@@_text_authdecl_tl
{
本人完全同意《中国优秀博硕士学位论文全文数据库出版章程》
(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊
@@ -6078,13 +6452,13 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\g_@@_text_cover_en_tl}
+% \begin{variable}{\c_@@_text_cover_en_tl}
% 研究生的英文封面字样。
% \begin{macrocode}
-\tl_gset:Nn \g_@@_text_cover_en_tl
+\tl_const:Nn \c_@@_text_cover_en_tl
{
A~ dissertation~ submitted~ to \\
- the~ graduate~ school~ of~ Nanjing~ University \\
+ the~ graduate~ school~ of~ \c_@@_name_nju_en_tl \\
in~ partial~ fulfilment~ of~ the~ requirements~ for~ the~ degree~ of
}
%</definition-g>
@@ -6112,6 +6486,7 @@ To produce the documentation run the original source files ending with
% \label{subsubsec:constant-length}
%
% \changes{v0.17}{2022/04/09}{将长度值分离到 \file{.def} 文件。}
+% \changes{v0.18}{2022/04/20}{统一管理校名校徽尺寸。}
% 默认长度值。
% \begin{macrocode}
\clist_map_inline:nn
@@ -6120,6 +6495,11 @@ To produce the documentation run the original source files ending with
%<definition-g> { coverlabel } { 100 pt },
{ coverlineskip } { 40 pt },
{ coveruline } { 270 pt },
+%<definition-ug> { emblemwidth } { 68 pt },
+%<definition-g> { emblemwidthi } { 46 pt },
+%<definition-g> { emblemwidthii } { 61 pt },
+%<definition-ug> { namewidth } { 300 pt },
+%<definition-g> { namewidth } { 126 pt },
{ smallhskip } { 5 pt },
{ smallvskip } { 1 ex }
}
@@ -6134,12 +6514,14 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\clist_map_inline:nn
{
- { chapterintoc } { \large \normalfont \sffamily },
- { chapter } { \large \normalfont \sffamily \centering },
- { section } { \large \normalfont \sffamily },
- { subsection } { \large \normalfont \sffamily },
- { subsubsection } { \large \normalfont \sffamily },
- { toctitle } { \centering \zihao { 3 } \bfseries }
+ { section } { \large \normalfont \sffamily },
+ { chapter } { \c_@@_fmt_section_tl \centering },
+ { chapterintoc } { \c_@@_fmt_section_tl },
+ { subsection } { \c_@@_fmt_section_tl },
+ { subsubsection } { \c_@@_fmt_section_tl },
+ { paragraph } { \c_@@_fmt_section_tl },
+ { subparagraph } { \c_@@_fmt_section_tl },
+ { toctitle } { \centering \zihao { 3 } \bfseries }
}
{ \@@_define_fmt:nn #1 }
%</(definition-ug|definition-g)>
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.ins b/macros/unicodetex/latex/njuthesis/njuthesis.ins
index 131bf3bb9c..5efc57a52f 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.ins
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.ins
@@ -78,13 +78,13 @@ To produce the documentation run the original source files ending with
\endbatchfile
\__nju_declare_element:nn { abstract / mark }
{
- content = \g__nju_name_abstract_b_tl,
+ content = \c__nju_name_abstract_b_tl,
format = \sffamily \zihao { -3 },
bottom-skip = 1 cm
}
\__nju_declare_element:nn { abstract / en / mark }
{
- content = \g__nju_name_abstract_b_en_tl,
+ content = \c__nju_name_abstract_b_en_tl,
format = \sffamily \zihao { -3 },
bottom-skip = 1 cm
}
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.pdf b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
index 4863e8f027..97e9015106 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.pdf
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
Binary files differ
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index 657bfe47d9..a8924e8b5f 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,9 @@
+2022-05-01 Karl Berry <karl@freefriends.org>
+
+ * tex4ht-4ht.tex,
+ * tex4ht-mathml.tex,
+ * tex4ht-options.tex: copyright 2022, \write version.
+
2022-04-29 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-4ht.tex (multicol.4ht),
diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex
index 7c6439ebc1..f4b07a72b8 100644
--- a/support/TeX4ht/source/tex4ht-4ht.tex
+++ b/support/TeX4ht/source/tex4ht-4ht.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1124 2022-04-29 15:04:44Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1125 2022-05-01 15:26:13Z karl $
% tex tex4ht-4ht or ht tex tex4ht-4ht
%
% Copyright 2009-2022 TeX Users Group
@@ -28369,10 +28369,9 @@ A style file for resumes.
%%%%%%%%%%%%%
\<enumitem.4ht\><<<
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% enumitem.4ht |version %
-% Copyright (C) |CopyYear.2009. Eitan M. Gurari %
-|<TeX4ht copyright|>
+% enumitem.4ht (|version), generated from |jobname.tex
+% Copyright |CopyYear.2009. Eitan M. Gurari
+|<TeX4ht copywrite|>
|<enumitem config|>
\Hinput{enumitem}
\endinput
@@ -30903,10 +30902,9 @@ d|<haddr prefix|>\last:haddr
%%%%%%%%%%%%%%%%%%%
\<ulem.4ht\><<<
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% ulem.4ht |version %
-% Copyright (C) |CopyYear.2001. Eitan M. Gurari %
-|<TeX4ht copyright|>
+% ulem.4ht (|version), generated from |jobname.tex
+% Copyright |CopyYear.2001. Eitan M. Gurari
+|<TeX4ht copywrite|>
|<ulem sty|>
\Hinput{ulem}
diff --git a/support/TeX4ht/source/tex4ht-mathml.tex b/support/TeX4ht/source/tex4ht-mathml.tex
index 5c277625e5..1c74e91a05 100644
--- a/support/TeX4ht/source/tex4ht-mathml.tex
+++ b/support/TeX4ht/source/tex4ht-mathml.tex
@@ -1,8 +1,8 @@
-% $Id: tex4ht-mathml.tex 1120 2022-04-27 10:47:56Z michal_h21 $$
+% $Id: tex4ht-mathml.tex 1125 2022-05-01 15:26:13Z karl $$
% compile 3 times: latex tex4ht-mathltx
% or xhlatex tex4ht-mathltx "html,3,sections+"
%
-% Copyright 2009-2021 TeX Users Group
+% Copyright 2009-2022 TeX Users Group
% Copyright 1999-2009 Eitan M. Gurari
% Released under LPPL 1.3c+.
% See tex4ht-cpright.tex for license text.
@@ -519,7 +519,7 @@ xmlns="http://www.w3.org/1999/xhtml"
\<mathml\><<<
% mathml.4ht (|version), generated from |jobname.tex
-% Copyright 2009-2021 TeX Users Group
+% Copyright 2009-2022 TeX Users Group
% Copyright |CopyYear.1999. Eitan M. Gurari
|<TeX4ht copywrite|>
>>>
diff --git a/support/TeX4ht/source/tex4ht-options.tex b/support/TeX4ht/source/tex4ht-options.tex
index c19e0ce444..2f059e93cc 100644
--- a/support/TeX4ht/source/tex4ht-options.tex
+++ b/support/TeX4ht/source/tex4ht-options.tex
@@ -1,7 +1,7 @@
-% $Id: tex4ht-options.tex 959 2021-06-20 22:33:23Z karl $
+% $Id: tex4ht-options.tex 1125 2022-05-01 15:26:13Z karl $
% latex tex4ht-options or xhlatex tex4ht-options
%
-% Copyright 2009-2021 TeX Users Group
+% Copyright 2009-2022 TeX Users Group
% Copyright 2000-2009 Eitan M. Gurari
% Released under LPPL 1.3c+.
% See tex4ht-cpright.tex for license text.
@@ -49,7 +49,7 @@ tail>>>
\string:RestoreCatcodes\endcsname{\catcode`\%|=\the
\catcode`\%}\catcode`\%|=14\fi
% tex4ht.4ht (|version), generated from |jobname.tex
-% Copyright 2009-2021 TeX Users Group
+% Copyright 2009-2022 TeX Users Group
% Copyright |CopyYear.1997. Eitan M. Gurari
|<TeX4ht copywrite|>
|<save catcodes|>
diff --git a/support/arara/README.md b/support/arara/README.md
index 51ace5b5b5..9319dd66e6 100644
--- a/support/arara/README.md
+++ b/support/arara/README.md
@@ -1,6 +1,6 @@
![arara](https://i.stack.imgur.com/hjUsN.png)
-# arara v6.1.7
+# arara v7.0.0
![Language: Kotlin](https://img.shields.io/badge/Language-Kotlin-blue.svg?style=flat-square)
![Minimum JRE: 8.0](https://img.shields.io/badge/Minimum_JRE-8-blue.svg?style=flat-square)
@@ -18,7 +18,7 @@ might write their own rules when the provided ones do not suffice.
## Basic use
To use `arara`, you need to tell it what to do. Unlike most other tools, you
-give `arara` these _directives_ in the document itself – usually near the top.
+give `arara` these _directives_ in the document itself ??? usually near the top.
So to run `pdflatex` once on your document, you should say something like:
```tex
diff --git a/support/arara/doc/arara-manual.pdf b/support/arara/doc/arara-manual.pdf
index 9eb91c3953..ed83551d87 100644
--- a/support/arara/doc/arara-manual.pdf
+++ b/support/arara/doc/arara-manual.pdf
Binary files differ
diff --git a/support/arara/doc/arara-manual.tex b/support/arara/doc/arara-manual.tex
deleted file mode 100644
index 91d2bcf4a7..0000000000
--- a/support/arara/doc/arara-manual.tex
+++ /dev/null
@@ -1,137 +0,0 @@
-% arara: manual
-
-% Arara, the cool TeX automation tool
-% Copyright (c) 2012 -- 2020, Island of TeX
-% All rights reserved.
-%
-% Redistribution and use in source and binary forms, with or without
-% modification, are permitted provided that the following conditions
-% are met:
-%
-% 1. Redistributions of source code must retain the above copyright
-% notice, this list of conditions and the following disclaimer.
-%
-% 2. Redistributions in binary form must reproduce the above copyright
-% notice, this list of conditions and the following disclaimer in the
-% documentation and/or other materials provided with the distribution.
-%
-% 3. Neither the name of the project's author nor the names of its
-% contributors may be used to endorse or promote products derived from
-% this software without specific prior written permission.
-%
-% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-% "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-% LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-% FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-% COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-% INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-% BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-% LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-% LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-% WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-% POSSIBILITY OF SUCH DAMAGE.
-
-\pdfobjcompresslevel=1
-\pdfpageattr {/Group << /S /Transparency /I true /CS /DeviceRGB>>}
-
-\documentclass[a4paper,oneside,12pt]{memoir}
-
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage[margin=2.5cm]{geometry}
-\usepackage{arara}
-
-\newcommand{\araraversion}{%
- \InputIfFileExists{version.tex}{}{undefined}}
-
-\begin{document}
-
-\begin{titlingpage}
-\vspace*{2em}
-
-\begin{center}
-\includegraphics[scale=0.7]{logos/logo2.pdf}
-
-\vspace{4em}
-
-\begin{tcolorbox}[
- boxrule=0pt,
- colback=araracolour,
- top=1em,
- bottom=1em
-]
- \color{white}
- \centering
- \Huge
- \sffamily
- \bfseries Reference manual
-\end{tcolorbox}
-
-\vspace{6em}
-
-{\large\em The Island of \TeX\par}
-
-\vspace{3em}
-
-\href{https://gitlab.com/islandoftex/arara}{\includegraphics[scale=.3]{figures/gl}}
-
-\vfill
-
-{\color{araracolour}
-\LARGE
-\sffamily
-\bfseries
-Version \araraversion}
-
-\end{center}
-\end{titlingpage}
-
-\chapterstyle{araraheadings}
-\pagestyle{headings}
-\frontmatter
-\nouppercaseheads
-
-\cleardoublepage
-
-\vspace*{25em}
-
-\begin{flushright}
-\em No birds were harmed in the making of this manual.
-\end{flushright}
-
-\include{chapters/license}
-
-\cleardoublepage
-
-\tableofcontents*
-
-\cleardoublepage
-
-\mainmatter
-
-\include{chapters/introduction}
-
-\part{The application}
-\label{part:application}
-
-\include{chapters/concepts}
-\include{chapters/cli}
-\include{chapters/configuration}
-\include{chapters/logging}
-\include{chapters/methods}
-\include{chapters/rules}
-
-\part{Development and deployment}
-\label{part:developmentanddeployment}
-
-\include{chapters/building}
-\include{chapters/deploying}
-
-\part{A primer on formats and scripting}
-\label{part:primer}
-
-\include{chapters/yaml}
-\include{chapters/mvel}
-
-\end{document}
diff --git a/support/arara/doc/arara-quickstart.pdf b/support/arara/doc/arara-quickstart.pdf
index b9894ed75f..f590ec9381 100644
--- a/support/arara/doc/arara-quickstart.pdf
+++ b/support/arara/doc/arara-quickstart.pdf
Binary files differ
diff --git a/support/arara/doc/arara-quickstart.tex b/support/arara/doc/arara-quickstart.tex
deleted file mode 100644
index 2eef9002e8..0000000000
--- a/support/arara/doc/arara-quickstart.tex
+++ /dev/null
@@ -1,823 +0,0 @@
-% arara: quickstart
-
-% Arara, the cool TeX automation tool
-% Copyright (c) 2012 -- 2020, Island of TeX
-% All rights reserved.
-%
-% Redistribution and use in source and binary forms, with or without
-% modification, are permitted provided that the following conditions
-% are met:
-%
-% 1. Redistributions of source code must retain the above copyright
-% notice, this list of conditions and the following disclaimer.
-%
-% 2. Redistributions in binary form must reproduce the above copyright
-% notice, this list of conditions and the following disclaimer in the
-% documentation and/or other materials provided with the distribution.
-%
-% 3. Neither the name of the project's author nor the names of its
-% contributors may be used to endorse or promote products derived from
-% this software without specific prior written permission.
-%
-% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-% "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-% LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-% FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-% COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-% INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-% BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-% LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-% LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-% WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-% POSSIBILITY OF SUCH DAMAGE.
-
-\pdfobjcompresslevel=1
-\pdfpageattr {/Group << /S /Transparency /I true /CS /DeviceRGB>>}
-
-\documentclass[a4paper,oneside,11pt]{memoir}
-
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage[margin=2.5cm]{geometry}
-\usepackage{arara}
-
-\usepackage{tikzlings}
-
-\newcommand{\araraversion}{%
- \InputIfFileExists{version.tex}{}{undefined}}
-
-\newcommand{\peter}[1][1]{\begin{tikzpicture}[scale=#1, transform shape]
-\node[
- draw=araracolour,
- thick,
- fill=araracolour!20!white,
- rectangle,
- minimum width=4cm,
- minimum height=3cm,
- rounded corners
-] (box) {};
-
-\begin{scope}
-\clip (box.south west) rectangle (box.north east);
-\anteater[
- yshift=-3.2cm,
- xshift=-.3cm,
- scale=2,
- hat=warningcolour
-]
-\end{scope}
-\end{tikzpicture}}
-
-\newcommand{\accessories}{%
-\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-.044,
- xscale=.044,
- inner sep=0pt,
- outer sep=0pt
-]
-% hat
-\path[
- fill=black,
- line width=0.080pt
-]
-(332.9381,0.2962) .. controls (310.4381,2.1962) and (301.5381,3.0962) ..
-(289.9381,4.7962) .. controls (211.3381,16.4962) and (164.7381,42.8962) ..
-(142.9381,88.0962) .. controls (131.0381,112.7962) and (127.8381,130.5962) ..
-(125.9381,181.6962) .. controls (125.4381,197.3962) and (124.4381,217.1962) ..
-(123.8381,225.6962) .. controls (122.5381,245.4962) and (119.2381,269.7962) ..
-(117.6381,271.3962) .. controls (117.3381,271.6962) and (112.3381,270.9962) ..
-(106.5381,269.7962) .. controls (85.2381,265.4962) and (64.2381,266.0962) ..
-(46.0381,271.2962) .. controls (30.7381,275.7962) and (22.5381,281.8962) ..
-(13.0381,296.0962) .. controls (-1.7619,317.9962) and (-3.9619,338.7962) ..
-(6.4381,358.5962) .. controls (15.4381,375.5962) and (45.7381,403.5962) ..
-(70.2381,417.5962) .. controls (85.8381,426.3962) and (97.2381,430.6962) ..
-(133.4381,441.2962) .. controls (169.9381,451.8962) and (171.7381,452.3962) ..
-(192.2381,455.0962) .. controls (276.5381,466.4962) and (311.0381,469.0962) ..
-(373.9381,468.9962) .. controls (420.8381,468.9962) and (440.8381,467.8962) ..
-(477.4381,463.1962) .. controls (576.5381,450.5962) and (634.4381,433.0962) ..
-(672.8381,404.1962) .. controls (694.7381,387.5962) and (708.5381,368.3962) ..
-(714.0381,346.6962) .. controls (718.7381,328.2962) and (714.3381,312.9962) ..
-(699.0381,295.0962) .. controls (678.4381,270.7962) and (647.1381,260.3962) ..
-(612.5381,266.2962) .. controls (607.5381,267.0962) and (600.9381,267.6962) ..
-(597.9381,267.4962) -- (592.4381,267.1962) -- (591.8381,262.6962) ..
-controls (591.4381,260.1962) and (590.6381,248.6962) .. (590.0381,237.1962) ..
-controls (589.4381,225.5962) and (588.2381,203.7962) .. (587.4381,188.6962) ..
-controls (584.0381,126.1962) and (577.3381,96.5962) .. (560.7381,71.0962) ..
-controls (554.2381,61.0962) and (537.7381,44.5962) .. (527.9381,38.1962) ..
-controls (500.3381,20.1962) and (458.5381,7.4962) .. (409.4381,2.1962) ..
-controls (396.3381,0.6962) and (343.1381,-0.6038) .. (332.9381,0.2962) -- cycle;
-
-% glasses
-\path[
- fill=black,
- line width=0.080pt
-] (141.9381,516.6962) .. controls (122.6381,518.5962) and (104.4381,521.6962) ..
-(60.9381,530.5962) .. controls (50.2381,532.7962) and (39.0381,534.8962) ..
-(36.2381,535.2962) .. controls (33.3381,535.5962) and (30.4381,536.5962) ..
-(29.8381,537.2962) .. controls (29.1381,538.1962) and (28.8381,543.1962) ..
-(29.1381,552.3962) .. controls (29.5381,569.4962) and (30.7381,572.2962) ..
-(41.6381,583.8962) .. controls (51.4381,594.3962) and (53.8381,598.8962) ..
-(58.4381,615.5962) .. controls (64.4381,637.4962) and (76.8381,670.5962) ..
-(85.3381,687.5962) .. controls (96.3381,709.3962) and (117.6381,722.2962) ..
-(155.8381,730.3962) .. controls (167.4381,732.8962) and (170.3381,733.0962) ..
-(191.9381,733.0962) .. controls (210.5381,733.0962) and (217.5381,732.7962) ..
-(225.4381,731.2962) .. controls (261.7381,724.5962) and (285.6381,708.1962) ..
-(308.4381,674.1962) .. controls (317.1381,661.1962) and (325.9381,643.2962) ..
-(329.8381,630.4962) .. controls (331.6381,624.7962) and (334.2381,616.4962) ..
-(335.5381,612.0962) .. controls (338.6381,602.0962) and (343.2381,594.7962) ..
-(347.9381,592.4962) .. controls (353.1381,589.8962) and (371.8381,589.9962) ..
-(377.6381,592.5962) .. controls (385.1381,596.0962) and (389.1381,602.7962) ..
-(397.9381,627.6962) .. controls (418.0381,684.3962) and (441.0381,710.1962) ..
-(484.8381,724.6962) .. controls (517.3381,735.4962) and (548.1381,736.1962) ..
-(580.4381,726.8962) .. controls (612.4381,717.5962) and (633.1381,701.2962) ..
-(646.4381,674.6962) .. controls (651.3381,664.6962) and (654.5381,655.1962) ..
-(662.9381,625.1962) .. controls (669.9381,599.9962) and (675.6381,586.7962) ..
-(681.4381,582.0962) .. controls (683.4381,580.4962) and (686.6381,577.7962) ..
-(688.5381,575.9962) -- (692.0381,572.7962) -- (691.7381,556.5962) ..
-controls (691.4381,540.5962) and (691.4381,540.3962) .. (688.9381,538.5962) ..
-controls (687.5381,537.4962) and (682.8381,535.9962) .. (678.4381,535.2962) ..
-controls (674.0381,534.4962) and (663.0381,531.9962) .. (653.9381,529.7962) ..
-controls (635.4381,525.2962) and (617.4381,521.7962) .. (595.9381,518.5962) ..
-controls (583.9381,516.6962) and (577.0381,516.2962) .. (555.4381,516.2962) ..
-controls (525.2381,516.1962) and (520.0381,516.8962) .. (462.9381,527.2962) ..
-controls (372.7381,543.7962) and (353.8381,544.2962) .. (288.4381,531.1962) ..
-controls (248.4381,523.1962) and (229.0381,520.1962) .. (199.9381,517.7962) ..
-controls (182.3381,516.2962) and (152.5381,515.6962) .. (141.9381,516.6962) --
-cycle(237.4381,532.2962) ..
-controls (256.8381,535.0962) and (276.8381,540.7962) .. (291.4381,547.6962) ..
-controls (309.0381,555.8962) and (318.3381,566.0962) .. (321.5381,580.3962) ..
-controls (323.0381,587.0962) and (323.0381,589.2962) .. (322.0381,597.1962) ..
-controls (320.4381,609.6962) and (314.2381,627.2962) .. (305.0381,646.1962) ..
-controls (295.2381,666.1962) and (288.7381,675.9962) .. (278.4381,686.1962) ..
-controls (261.9381,702.5962) and (241.9381,712.6962) .. (216.9381,717.2962) ..
-controls (202.3381,719.9962) and (172.9381,719.7962) .. (158.3381,716.8962) ..
-controls (140.0381,713.1962) and (129.7381,709.1962) .. (118.3381,701.0962) ..
-controls (106.1381,692.4962) and (98.8381,682.1962) .. (91.5381,663.5962) ..
-controls (80.4381,635.1962) and (75.2381,608.3962) .. (76.1381,584.1962) ..
-controls (76.5381,573.1962) and (76.9381,571.2962) .. (79.6381,565.4962) ..
-controls (85.0381,553.8962) and (92.0381,548.0962) .. (107.0381,542.5962) ..
-controls (124.8381,536.0962) and (148.5381,532.8962) .. (197.9381,530.2962) ..
-controls (208.1381,529.7962) and (226.4381,530.6962) .. (237.4381,532.2962) --
-cycle(564.1381,532.2962) ..
-controls (597.8381,535.5962) and (620.2381,541.1962) .. (632.6381,549.2962) ..
-controls (642.6381,555.9962) and (647.9381,564.1962) .. (650.0381,576.1962) ..
-controls (653.6381,596.8962) and (643.6381,647.3962) .. (630.6381,673.6962) ..
-controls (626.2381,682.7962) and (624.3381,685.3962) .. (616.4381,693.2962) ..
-controls (603.2381,706.5962) and (590.1381,712.5962) .. (564.6381,717.2962) ..
-controls (550.4381,719.9962) and (522.7381,719.7962) .. (508.2381,716.8962) ..
-controls (480.4381,711.3962) and (463.6381,702.5962) .. (446.5381,684.6962) ..
-controls (428.8381,666.1962) and (411.7381,632.7962) .. (405.4381,604.3962) ..
-controls (402.9381,593.0962) and (403.6381,580.0962) .. (407.1381,572.4962) ..
-controls (413.8381,557.9962) and (429.7381,547.3962) .. (456.4381,539.6962) ..
-controls (488.6381,530.3962) and (521.8381,528.0962) .. (564.1381,532.2962) -- cycle;
-
-% mustache
-\path[
- fill=black,
- line width=0.080pt
-] (294.9381,961.1962) .. controls (277.8381,964.7962) and (259.4381,974.1962) ..
-(239.9381,989.1962) .. controls (236.9381,991.4962) and (225.4381,1000.9962) ..
-(214.4381,1010.1962) .. controls (190.2381,1030.3962) and (181.1381,1036.8962) ..
-(165.8381,1044.6962) .. controls (149.4381,1053.0962) and (137.7381,1056.8962) ..
-(126.2381,1057.4962) .. controls (114.7381,1058.0962) and (109.8381,1056.4962) ..
-(104.0381,1050.1962) .. controls (97.1381,1042.6962) and (94.7381,1029.2962) ..
-(99.2381,1022.5962) .. controls (102.3381,1017.9962) and (107.6381,1015.2962) ..
-(117.2381,1013.1962) .. controls (127.3381,1011.0962) and (133.4381,1008.4962) ..
-(134.8381,1005.7962) .. controls (135.8381,1004.0962) and (135.5381,1003.4962) ..
-(133.5381,1002.1962) .. controls (121.3381,994.1962) and (102.0381,995.0962) ..
-(88.8381,1004.2962) .. controls (78.6381,1011.2962) and (68.7381,1025.7962) ..
-(65.4381,1038.2962) .. controls (63.7381,1044.8962) and (63.5381,1056.0962) ..
-(64.9381,1062.4962) .. controls (66.6381,1069.8962) and (72.0381,1079.5962) ..
-(78.1381,1086.1962) .. controls (111.5381,1122.5962) and (206.0381,1138.0962) ..
-(290.6381,1121.1962) .. controls (313.6381,1116.4962) and (326.8381,1111.2962) ..
-(341.4381,1100.6962) .. controls (352.2381,1092.8962) and (357.2381,1090.5962) ..
-(364.1381,1089.9962) .. controls (369.7381,1089.3962) and (370.0381,1089.4962) ..
-(377.1381,1094.3962) .. controls (399.2381,1109.5962) and (430.5381,1119.7962) ..
-(472.4381,1125.3962) .. controls (489.0381,1127.5962) and (541.4381,1127.8962) ..
-(555.9381,1125.8962) .. controls (588.2381,1121.3962) and (613.9381,1113.9962) ..
-(631.6381,1104.0962) .. controls (673.5381,1080.6962) and (680.2381,1040.4962) ..
-(647.4381,1009.8962) .. controls (630.3381,993.9962) and (611.1381,990.9962) ..
-(600.5381,1002.7962) .. controls (598.5381,1004.8962) and (596.9381,1007.0962) ..
-(596.9381,1007.6962) .. controls (596.9381,1009.4962) and (602.5381,1011.4962) ..
-(614.7381,1013.9962) .. controls (628.6381,1016.8962) and (633.0381,1019.2962) ..
-(634.9381,1025.2962) .. controls (637.8381,1034.0962) and (632.5381,1043.8962) ..
-(620.2381,1052.2962) .. controls (611.9381,1057.9962) and (605.1381,1059.4962) ..
-(595.6381,1057.8962) .. controls (580.8381,1055.2962) and (572.4381,1049.8962) ..
-(519.9381,1008.7962) .. controls (482.8381,979.8962) and (463.8381,968.9962) ..
-(439.2381,962.5962) .. controls (432.0381,960.6962) and (427.8381,960.2962) ..
-(415.9381,960.2962) .. controls (398.7381,960.2962) and (389.4381,962.1962) ..
-(373.0381,969.1962) .. controls (367.3381,971.6962) and (362.1381,973.6962) ..
-(361.4381,973.6962) .. controls (360.7381,973.6962) and (355.9381,971.6962) ..
-(350.8381,969.2962) .. controls (336.7381,962.5962) and (328.6381,960.5962) ..
-(313.9381,960.0962) .. controls (305.6381,959.8962) and (299.2381,960.1962) ..
-(294.9381,961.1962) -- cycle;
-\end{tikzpicture}}
-
-\newcommand{\dad}[1][1]{\begin{tikzpicture}[scale=#1, transform shape]
-\node[
- thick,
- rectangle,
- minimum width=4cm,
- minimum height=3cm,
- rounded corners
-] (box) {};
-
-\begin{scope}[
- scale=2,
- yshift=-1.7cm,
- xshift=-.13cm
-]
-\clip (box.south west) rectangle (box.north east);
-\anteater
-\node at (0, 1.72) {\accessories};
-\end{scope}
-
-\node[
- draw=araracolour,
- rectangle,
- rounded corners=2pt,
- fill=araracolour!20!white,
- inner sep=4pt
-] at ([yshift=-.5cm]box.south) {\parbox{3.5cm}{\centering\small\em Anteater facts\\
-with Peter's dad}};
-\end{tikzpicture}}
-
-\definecolor{pinkglasses}{RGB}{128,0,128}
-
-\newcommand{\hair}{%
-\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.4,
- xscale=1.4,
- inner sep=0pt,
- outer sep=0pt
-]
-\path[
- fill=black
-] (17.0420,6.0910) .. controls (12.7510,7.3280) and (12.2310,11.1080) ..
-(11.8050,13.0730) .. controls (11.3790,15.0400) and (10.6560,17.5560) ..
-(11.1750,19.1090) .. controls (10.2290,18.4300) and (10.4470,17.3390) ..
-(10.4470,17.3390) .. controls (10.4470,17.3390) and (4.7500,25.7270) ..
-(14.6650,29.8970) .. controls (13.9870,30.7220) and (10.7380,29.4140) ..
-(10.7380,29.4140) .. controls (10.7380,29.4140) and (10.5200,31.2310) ..
-(12.7250,30.6750) .. controls (9.1380,33.7790) and (5.3550,26.0690) ..
-(5.3550,26.0690) -- (5.8400,28.2530) .. controls (5.8400,28.2530) and (4.5780,28.5910) ..
-(2.6880,17.8760) .. controls (0.7980,7.1580) and (8.0710,1.6300) .. (9.8650,0.9510) ..
-controls (11.6590,0.2710) and (14.7140,0.0780) .. (16.3140,0.9510) ..
-controls (19.9510,-1.8140) and (23.5730,2.2030) .. (24.4110,3.4720) ..
-controls (25.2490,4.7430) and (27.9030,8.5160) .. (28.3880,11.0850) ..
-controls (28.8720,13.6530) and (31.2480,31.0860) .. (22.2790,28.6870) ..
-controls (25.4300,27.7900) and (25.4300,22.1880) .. (25.4300,22.1880) ..
-controls (25.4300,22.1880) and (22.9810,24.7100) .. (22.2300,23.6920) ..
-controls (25.4300,22.1880) and (25.5520,15.6690) .. (23.5400,12.0060) ..
-controls (21.9730,9.0630) and (18.5870,6.7300) .. (17.0420,6.0910) -- cycle;
-\end{tikzpicture}}
-
-\newcommand{\glasses}{%
-\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-.2,
- xscale=.2,
- inner sep=0pt,
- outer sep=0pt
-]
-\begin{scope}[
- shift={(-25.07793,-59.30764)}
-]
-\path[fill=pinkglasses,nonzero rule,line width=0.028pt] (31.6043,59.6053) ..
-controls (28.0060,60.1443) and (25.0779,61.4535) .. (25.0779,62.5231) ..
-controls (25.0779,62.7567) and (25.9951,63.3250) .. (27.1240,63.7910) ..
-controls (31.3253,65.5249) and (32.2359,66.4389) .. (37.1406,73.8473) ..
-controls (38.8222,76.3873) and (41.5881,80.0071) .. (43.3400,81.9612) ..
-controls (50.2579,89.6764) and (55.7343,92.5720) .. (66.3529,94.1285) ..
-controls (72.3149,95.0023) and (75.6172,94.8746) .. (80.8168,93.5693) ..
-controls (88.1546,91.7271) and (92.0344,88.9779) .. (95.4564,83.1959) ..
-controls (97.6069,79.5623) and (98.5566,78.9626) .. (102.1599,78.9626) ..
-controls (105.7229,78.9626) and (106.7220,79.5760) .. (108.7639,83.0195) ..
-controls (110.9603,86.7237) and (112.5710,88.6054) .. (114.8246,90.1008) ..
-controls (119.1140,92.9470) and (128.2654,95.1434) .. (133.8746,94.6732) ..
-controls (146.2571,93.6346) and (153.4679,90.3231) .. (160.5548,82.4198) ..
-controls (163.7718,78.8320) and (166.3481,75.3995) .. (168.7894,71.4484) ..
-controls (171.2087,67.5326) and (173.2485,65.5979) .. (176.4902,64.1445) ..
-controls (178.0071,63.4647) and (179.2418,62.7210) .. (179.2418,62.4878) ..
-controls (179.2418,61.7759) and (177.3015,60.6477) .. (174.9732,60.0057) ..
-controls (173.0499,59.4755) and (171.3043,59.3912) .. (163.1904,59.4360) ..
-controls (148.3865,59.5174) and (144.2463,60.3013) .. (109.9210,69.5183) ..
-controls (105.3349,70.7499) and (101.0751,71.0293) .. (97.7502,70.3170) ..
-controls (96.4883,70.0465) and (90.7299,68.5574) .. (84.9443,67.0059) ..
-controls (70.5510,63.1447) and (62.6551,61.3417) .. (54.6760,60.0932) ..
-controls (49.8429,59.3368) and (35.4310,59.0320) .. (31.6043,59.6053) --
-cycle(61.9432,66.4778) .. controls (66.9188,67.3121) and (74.3257,69.2894) ..
-(82.5807,71.9864) .. controls (90.2713,74.4992) and (92.8077,76.2134) ..
-(92.7975,78.8920) .. controls (92.7852,82.1249) and (89.4599,86.1225) ..
-(85.0149,88.2491) .. controls (80.2234,90.5411) and (75.4899,91.2706) ..
-(69.5985,90.6250) .. controls (64.3421,90.0490) and (61.0930,89.1024) ..
-(56.2635,86.7395) .. controls (50.6896,84.0129) and (46.9510,80.6612) ..
-(44.9516,76.5989) .. controls (43.2501,73.1417) and (42.9986,70.5195) ..
-(44.1972,68.7320) .. controls (45.7894,66.3578) and (48.9257,65.5231) ..
-(55.2404,65.7937) .. controls (57.1807,65.8770) and (60.1970,66.1846) ..
-(61.9432,66.4778) -- cycle(157.0168,66.4397) ..
-controls (161.0198,67.7657) and (161.9222,71.2014) ..
-(159.5833,76.2109) .. controls (156.0940,83.6838) and (145.9396,89.5096) ..
-(134.4038,90.6564) .. controls (124.3496,91.6562) and (115.1051,87.8921) ..
-(112.1802,81.6084) .. controls (110.7116,78.4531) and (111.6849,76.2441) ..
-(115.3538,74.4047) .. controls (118.8759,72.6390) and (133.3102,68.2554) ..
-(140.2952,66.8298) .. controls (146.5746,65.5482) and (153.8171,65.3792) ..
-(157.0168,66.4397);
-\end{scope}
-\end{tikzpicture}}
-
-\newcommand{\mum}[1][1]{\begin{tikzpicture}[scale=#1, transform shape]
-\node[
- thick,
- rectangle,
- minimum width=4cm,
- minimum height=3cm,
- rounded corners
-] (box) {};
-
-\begin{scope}[
- scale=2,
- yshift=-1.7cm,
- xshift=-.13cm
-]
-\clip (box.south west) rectangle (box.north east);
-\anteater
-\node at (0, 1.55) {\glasses};
-\node at (-0.07, 1.6) {\hair};
-\end{scope}
-
-\node[
- draw=warningcolour,
- rectangle,
- rounded corners=2pt,
- fill=warningcolour!20!white,
- inner sep=4pt
-] at ([yshift=-.5cm]box.south) {\parbox{3.5cm}{\centering\small\em Interesting tips\\
-with Peter's mum}};
-\end{tikzpicture}}
-
-\newtcolorbox{talkbox}{
- sidebyside,
- lower separated=false,
- lefthand width=3.3cm,
- sidebyside gap=10pt,
- colback=white,
- boxrule=0pt,
- frame hidden,
- colframe=white,
- left=0pt,
- right=0pt,
- top=0pt,
- bottom=0pt
-}
-
-\newtcolorbox{factbox}{
- sidebyside,
- lower separated=false,
- righthand width=3.3cm,
- sidebyside gap=14pt,
- colback=attentioncolour!20!white,
- boxrule=0pt,
- frame hidden,
- colframe=white,
- left=6pt,
- right=6pt,
- top=4pt,
- bottom=4pt,
- width=1\textwidth
-}
-
-\newtcolorbox{tipbox}{
- sidebyside,
- lower separated=false,
- righthand width=3.3cm,
- sidebyside gap=14pt,
- colback=pinkglasses!20!white,
- boxrule=0pt,
- frame hidden,
- colframe=white,
- left=6pt,
- right=6pt,
- top=4pt,
- bottom=4pt,
- width=1\textwidth
-}
-
-\title{A quickstart guide to \arara}
-\author{Peter, the anteater, for the Island of \TeX}
-
-\begin{document}
-
-\maketitle
-
-\parskip=1em
-
-Welcome to \arara, the cool \TeX\ automation tool! This document is intended to be a quickstart guide, providing the basic instructions to start using our tool. We will help our good friend Peter,\footnote{Peter was graduated from Termite High School, Alta Floresta, Mato Grosso, Brazil. He went on to study at the California Institute of Ti\textit{k}Zlings with a scholarship from San Diego Zoo. He completed his university education at the Rain Forest Academy, Manaus. He is currently teaching as a Fellow of the Federal University for the Advancement of Furry Animals, Cuiabá. He is a Corresponding Member of Duckpond Academy, Sempione Park, Milano, Italy.}\ the anteater, in his learning adventure. He is very excited about it! Hello, Peter!
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em Hello, nice to meet you, person from the Island of \TeX! I am Peter, the anteater. So I heard about this tool named \arara, what is it? Is there anything to do with \TeX\ and friends?
-\end{talkbox}
-
-As a matter of fact, it is! \arara\ is a \TeX\ automation tool. The name was chosen as an homage to a Brazilian bird of the same name, which is a macaw. The word \emph{arara} comes from the Tupian word \emph{a'rara}, which means \emph{big bird}. The tool is an effort to provide a concise way to automate the daily \TeX\ workflow for users and also package writers.
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em It definitely sounds intriguing! So tell me, how does \arara\ work? Does it do everything automatically for me, like other tools? Do things happen by magic?
-\end{talkbox}
-
-A very good question, Peter. The best way to explain how \arara\ works is to provide a quick comparison with similar tools. I believe you are familiar with \TeX\ documents, right? Let us use the following file \rbox{article.tex} as an example:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{article.tex}
-\documentclass{article}
-
-\begin{document}
-Hello world!
-\end{document}
-\end{ncodebox}
-
-How would one successfully compile \rbox{article.tex} with \rbox{latexmk} and \rbox{rubber}, for instance? It is quite straightforward: it is just a matter of providing the file to the tool and letting it do the hard work:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ latexmk -pdf article.tex
-$ rubber --pdf article.tex
-\end{codebox}
-
-The mentioned tools perform an analysis on the file and decide what has to be done. However, if one tries to invoke \rbox{arara} on \rbox{article.tex}, I am afraid \emph{nothing} will be generated; the truth is, \arara\ does not know what to do with your file, and the tool will even raise an error message complaining about this issue:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara article.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing "article.tex" (size: 70 B, last modified: 12/28/2020
-07:03:16), please wait.
-
- ERROR
-
-It looks like no directives were found in the provided file. Make
-sure to include at least one directive and try again.
-
-Total: 0.04 seconds
-\end{codebox}
-
-Peter, this is the major difference of \arara\ when compared to other tools: \emph{it is not an automatic process and the tool does not employ any guesswork on its own}. You are in control of your documents; \arara\ will not do anything unless you \emph{teach it how to do a task and explicitly tell it to execute the task}. So, it is not magic.
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em I see. On the other hand, this approach gives me, as user, full control of my document compilation. Being aware of the compilation steps makes me understand the \TeX\ tooling better. Quite clever! Now, do tell me: how does one tell \arara\ to do a task?
-\end{talkbox}
-
-First of all, Peter, \arara\ has to know \emph{how} to do a task. This is done by defining rules. A rule is a formal description of how the tool should handle a certain task. For example, if we want to use \rbox{pdflatex} with \arara, we need a rule for that. Once a rule is defined, the tool automatically provides an access layer to the user. Note that \arara\ is distributed with dozens of predefined rules, so you already have several options out of the box to set up your workflow.
-
-\begin{factbox}
-\small\em Giant anteaters can be found throughout South and Central America, though their numbers have diminished considerably from the latter. To thrive, they need to be able to move throughout large areas with patches of forest. They can often be found in tropical and dry forests, savannas, and open grasslands, where the ants upon which they feed are abundant.~\href{https://www.nationalgeographic.com/animals/mammals/g/giant-anteater/}{\faExternalLink}
-\tcblower
-\dad[.7]
-\end{factbox}
-
-Now, back to your question. Once we know how to execute a task, we need to explicitly tell \arara\ when to do it. That is actually the easy part, provided that you have everything up and running. We accomplish the task by adding a special comment line, hereafter known as a \emph{directive}, somewhere in our document to indicate how the tool should work, e.g:
-
-\begin{codebox}{Source file}{teal}{\icnote}{white}
-% arara: pdflatex
-\end{codebox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em Makes sense. So, a directive is a special comment line which is not the command to be executed, but the name of the rule associated with that directive. Is that correct?
-\end{talkbox}
-
-Perfect, Peter! That is basically how \arara\ works: we teach the tool to do a task by providing a rule, and tell it to execute it
-via directives in the source code. Let us see how our \rbox{article.tex} file should be:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{article.tex}
-% arara: pdflatex
-\documentclass{article}
-
-\begin{document}
-Hello world!
-\end{document}
-\end{ncodebox}
-
-Note, Peter, that the tool expects \emph{you} to provide a list of tasks, and this is done by inserting special comments, i.e, directives, in the source file. Since we just added one directive in our document, let us see how \arara\ behaves with this updated code:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara article.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing "article.tex" (size: 88 B, last modified: 12/28/2020
-07:05:05), please wait.
-
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-
-Total: 0.56 seconds
-\end{codebox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em Goodness me, it worked like a charm! The moment we specified a directive, \arara\ knew exactly what I wanted to do with that particular file! Awesome!
-\end{talkbox}
-
-Exactly! You see, Peter, there is no guesswork from \arara. The tool will do exactly what you tell it to do, no more, no less. There is a lot of freedom to this design, which gives you an interesting way to enhance your \TeX\ experience.
-
-\begin{factbox}
-\small\em Anteaters are not aggressive, but they can be fierce. A cornered anteater will rear up on its hind legs, using its tail for balance, and lash out with dangerous claws. The giant anteater's claws are some four inches long, and the animal can fight off even a puma or jaguar.~\href{https://www.nationalgeographic.com/animals/mammals/g/giant-anteater/}{\faExternalLink}
-\tcblower
-\dad[.7]
-\end{factbox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em I have been wondering: there are scenarios in which we need to provide additional information to the underlying commands~---~for instance, we need to enable shell escape when using the \rbox[araracolour]{minted} package. How can we achieve this?
-\end{talkbox}
-
-For such scenarios, \arara\ provides a second type of directive, a parametrized one, which allows passing arguments to the corresponding rule. From your example, to enable shell escape, one simply needs to write the following directive:
-
-\begin{codebox}{Source file}{teal}{\icnote}{white}
-% arara: pdflatex: { shell: yes }
-\end{codebox}
-
-Of course, \rbox[cyan]{shell} is not taken randomly, but defined in the rule scope, otherwise \arara\ would raise an error about an invalid key. The reference manual has a list of all available keys for each predefined rule. It is worth a read.
-
-
-\begin{tipbox}
-\small\em Do you know that a directive can be split into multiple lines? Simply use the \abox[araracolour]{arara: {-}{-}>} mark to each line which should compose the directive. Although it is possible to spread lines of a multiline directive all over the code, it is considered good practice to keep them together for easier reading and editing.
-\tcblower
-\mum[.7]
-\end{tipbox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em Great, these directives are really convenient! I am now curious on how to explore \arara: shall we move to a more complex document? Consider the following addition to my document:
-\end{talkbox}
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{article.tex}
-\documentclass{article}
-
-\begin{document}
-\section{Termite recipes}
-\label{sec:termiterecipes}
-
-Hello, this is Section~\ref{sec:termiterecipes}.
-\end{document}
-\end{ncodebox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em As we can see, this document has to be compiled twice, or the reference to the first section will not be resolved accordingly. How can I tackle this scenario with \arara?
-\end{talkbox}
-
-The solution is quite straightforward, Peter: how about adding two directives into your document? You can keep them together for convenience (usually at the top), but they can happen anywhere in your file. Let us update the code:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{article.tex}
-% arara: pdflatex
-% arara: pdflatex
-\documentclass{article}
-
-\begin{document}
-\section{Termite recipes}
-\label{sec:termiterecipes}
-
-Hello, this is Section~\ref{sec:termiterecipes}.
-\end{document}
-\end{ncodebox}
-
-The execution workflow is now as expected: our document was correctly compiled twice, as it should be, so references are resolved accordingly!
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara article.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'article.tex' (size: 196 B, last modified: 01/07/2021
-08:18:00), please wait.
-
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-
-Total: 1.60 seconds
-\end{codebox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em Cool! But I have been wondering: once the references are resolved, subsequents runs will add an extra, unnecessary compilation. It would not do any harm, surely, but is there a way to avoid it?
-\end{talkbox}
-
-There is a way, Peter! We can use logical expressions and special operators and methods processed at runtime in order to determine whether and how a directive should be processed. This feature is named \emph{directive conditional}, or simply \emph{conditional} for short. Let us update the document to include this feature:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{article.tex}
-% arara: pdflatex
-% arara: pdflatex if found('log', 'undefined references')
-\documentclass{article}
-
-\begin{document}
-\section{Termite recipes}
-\label{sec:termiterecipes}
-
-Hello, this is Section~\ref{sec:termiterecipes}.
-\end{document}
-\end{ncodebox}
-
-Observe, Peter, that the first directive has no conditional, so it will always be processed. The second one, however, has an associated logical test: check if the log file contains a warning about undefined references and, if so, process the directive itself. When references are resolved accordingly, the tool will not process the second directive at all, as we can see in the following run:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara article.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'article.tex' (size: 236 B, last modified: 01/07/2021
-08:42:02), please wait.
-
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-
-Total: 0.97 seconds
-\end{codebox}
-
-In this particular case, the test is evaluated beforehand, and the directive is processed if, and only if, the result of such evaluation is true. This directive, when the conditional holds true, is executed at most once.
-
-\begin{tipbox}
-\small\em When using certain conditional operators, there are no conceptual guarantees for proper halting of unbounded loops. However, do not worry, dear! The team has provided a technical solution for potentially infinite iterations: \arara\ has a predefined maximum number of loops. The default value is set to 10, but it can be overridden.
-\tcblower
-\mum[.7]
-\end{tipbox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em These conditionals can help me dictate how my workflow should behave in certain scenarios! I gather there are several possible ways of tackling them, right?
-\end{talkbox}
-
-Correct, Peter. In the previous example, we used the \rbox[attentioncolour]{\color{black}if} operator, but we could have used \rbox[attentioncolour]{\color{black}while} or \rbox[attentioncolour]{\color{black}until} as well. The logical expression could also be rewritten. We could even have combined these two directives into one! So you see, there is always room for improvement.
-
-\begin{factbox}
-\small\em The giant anteater uses its sharp claws to tear an opening into an anthill and put its long snout, sticky saliva, and efficient tongue to work. But it has to eat quickly, flicking its tongue up to 150 times per minute. Ants fight back with painful stings, so an anteater may spend only a minute feasting on each mound.~\href{https://www.nationalgeographic.com/animals/mammals/g/giant-anteater/}{\faExternalLink}
-\tcblower
-\dad[.7]
-\end{factbox}
-
-If this subject caught your attention, take a look at the reference manual for more details on directive conditionals and available methods. There are multiple code excerpts to help you understand better the inner workings.
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em I will certainly check them out! Now, I am curious to see other directives in action together, so let us try a different yet common scenario: bibliographies and citations. Consider the following bibliography file, containing a reference\footnotemark\ to my doctoral thesis:
-\end{talkbox}
-
-\footnotetext[2]{Peter’s doctoral thesis ``On flexibilty: \LaTeX, latex and rubber'' was published at Manaus. His reputation in the academic world is based on his famous study ``The Mandelbrot heritage: towards a fractal topology of formicaries''. Some of his works arose from a fruitful cooperation with the well known Brazilian-Italian savant Professore P.\ van Duck.}
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{bibliography.bib}
-@phdthesis{peter:2020,
- author = {Peter Anteater},
- title = {On flexibility: \LaTeX, latex and rubber},
- school = {Polytechnic University of P{\^{a}}ntano Fundo},
- year = 2020,
- address = {Pantanal},
- month = {jan}
-}
-\end{ncodebox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em I want to cite my thesis in the article you and I are writing for this quickstart guide. From the \TeX\ side, it is quite straightforward! How about \arara? Here is my code:
-\end{talkbox}
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{article.tex}
-\documentclass{article}
-
-\begin{document}
-\section{Termite recipes}
-\label{sec:termiterecipes}
-
-A citation from my thesis~\cite{peter:2020}.
-
-\bibliographystyle{alpha}
-\bibliography{bibliography}
-\end{document}
-\end{ncodebox}
-
-Peter, remember that \arara\ does not employ any guesswork, so do not expect it to magically compile your document and get all the citations correctly. We need to explicitly tell it what to do, as if we were explaining the compilation steps to a friend. \arara\ is focused on reproducibility.
-
-\begin{factbox}
-\small\em Anteaters are edentate animals -- they have no teeth. But their long tongues are more than sufficient to lap up the 35,000 ants and termites they swallow whole each day. As the largest of all four anteater species, the giant anteater can reach eight feet long from the tip of its snout to the end of its tail.~\href{https://www.nationalgeographic.com/animals/mammals/g/giant-anteater/}{\faExternalLink}
-\tcblower
-\dad[.7]
-\end{factbox}
-
-We, as users, can learn a great deal about \TeX\ and friends by organising our workflow into directives. Let us review what should be done in order to correctly compile your document:
-
-\begin{enumerate}
-\item For starters, we need to run the \TeX\ engine in order to write (amongst other things) the relevant bibliography information to the auxiliary file. We can achieve this by inserting the following directive:
-
-\begin{codebox}{Directive}{teal}{\icnote}{white}
-% arara: pdflatex
-\end{codebox}
-
-\item Once the auxiliary file holds the relevant bibliography information, we need to run the Bib\TeX\ tool as a means to map entries from the bibliography database to the existing citations into an intermediate bibliography file. We can achieve this by inserting the following directive:
-
-\begin{codebox}{Directive}{teal}{\icnote}{white}
-% arara: bibtex
-\end{codebox}
-
-\item Once the intermediate bibliography file is generated, we can now have a proper bibliography section in our document, so we need to run the \TeX\ engine again. We can achieve this by inserting the following directive:
-
-\begin{codebox}{Directive}{teal}{\icnote}{white}
-% arara: pdflatex
-\end{codebox}
-
-\item However, the citations are still not yet referenced in the document, so a final run of the \TeX\ engine is required in order to correctly adjust these references. We can achieve this by inserting the following directive:
-
-\begin{codebox}{Directive}{teal}{\icnote}{white}
-% arara: pdflatex
-\end{codebox}
-\end{enumerate}
-
-And we are done! These are the compilation steps required to correctly generate your article from the given source and bibliography files. Note that the entire workflow involves two different tools working together: the \TeX\ engine and the Bib\TeX\ tool.
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em Wait a minute, no less than four compilation steps? I would never guessed it! This is great: \arara\ is also helping me understand better how the \TeX\ workflow works!
-\end{talkbox}
-
-Quite true, Peter! \arara\ tries its best to help users think out of the box! Now that we know the exact compilation steps to be taken, we just need to arrange them in the correct order in our document:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{article.tex}
-% arara: pdflatex
-% arara: bibtex
-% arara: pdflatex
-% arara: pdflatex
-\documentclass{article}
-
-\begin{document}
-\section{Termite recipes}
-\label{sec:termiterecipes}
-
-A citation from my thesis~\cite{peter:2020}.
-
-\bibliographystyle{alpha}
-\bibliography{bibliography}
-\end{document}
-\end{ncodebox}
-
-Now, let us take \arara\ into action! By running the tool on our article, we can see all compilation steps being performed in the exact order we specified in the source code, as expected:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara article.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'article.tex' (size: 281 B, last modified: 01/08/2021
-06:17:20), please wait.
-
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-(BibTeX) The BibTeX reference management software ....... SUCCESS
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-
-Total: 2.49 seconds
-\end{codebox}
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em Great! I see \arara\ is quite expressive! I am very curious: what about other possibilities, will I learn them by looking at the reference manual? Surely there are way more features to discover.
-\end{talkbox}
-
-Of course, Peter! The reference manual contains everything there is to know about \arara, so it is a great resource for learning! In this quickstart guide, we simply covered the basics, as an introductory material. The tool has several features, including support for working directory, processing of multiple files, argument passing through command line flags, configuration files, default preambles, file hashing, safe mode, and much more. There is a world of possibilities!
-
-\begin{talkbox}
-\peter[.7]
-\tcblower
-\em Thank you very much, person from the Island of \TeX! I am sure I will have a lot of fun with \arara! Should I need any assistance, how can I contact the team?
-\end{talkbox}
-
-Great talking to you, Peter! If you run into any issue with \arara, please let us know. We all have very active profiles in the \href{https://tex.stackexchange.com/}{\TeX\ community at StackExchange}, so just use the \rbox[gray]{arara} tag in your question and we will help you the best we can (also, take a look at their \href{https://tex.meta.stackexchange.com/q/1436}{starter guide}). We also have a \href{https://gitter.im/Island-of-TeX/arara}{Gitter} and \href{https://matrix.to/#/!HfEWIEvFtDplCLSQvz:matrix.org?via=matrix.org}{Matrix} chat rooms, in which we occasionally hang out. Also, if you think the report is worthy of an issue, open one in our \href{https://gitlab.com/islandoftex/arara/issues}{GitLab repository}. Happy \TeX ing with \arara, Peter!
-
-\end{document}
diff --git a/support/arara/doc/arara.1 b/support/arara/doc/arara.1
index 8bc4f6065b..7531654efe 100644
--- a/support/arara/doc/arara.1
+++ b/support/arara/doc/arara.1
@@ -1,4 +1,4 @@
-.TH ARARA 1 "16 April 2022" "v6.1.7"
+.TH ARARA 1 "01 May 2022" "v7.0.0"
.SH NAME
arara \- a TeX automation tool based on rules and directives.
.SH SYNOPSIS
diff --git a/support/arara/doc/arara.sty b/support/arara/doc/arara.sty
deleted file mode 100644
index 3430afdb05..0000000000
--- a/support/arara/doc/arara.sty
+++ /dev/null
@@ -1,873 +0,0 @@
-% Arara, the cool TeX automation tool
-% Copyright (c) 2012 -- 2020, Island of TeX
-% All rights reserved.
-%
-% Redistribution and use in source and binary forms, with or without
-% modification, are permitted provided that the following conditions
-% are met:
-%
-% 1. Redistributions of source code must retain the above copyright
-% notice, this list of conditions and the following disclaimer.
-%
-% 2. Redistributions in binary form must reproduce the above copyright
-% notice, this list of conditions and the following disclaimer in the
-% documentation and/or other materials provided with the distribution.
-%
-% 3. Neither the name of the project's author nor the names of its
-% contributors may be used to endorse or promote products derived from
-% this software without specific prior written permission.
-%
-% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-% "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-% LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-% FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-% COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-% INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-% BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-% LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-% CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-% LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
-% WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-% POSSIBILITY OF SUCH DAMAGE.
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{arara}[2020/03/01 Arara User Manual Configuration]
-
-\RequirePackage{tikz}
-\RequirePackage{xcolor}
-\RequirePackage{upquote}
-
-\usetikzlibrary{patterns}
-
-\definecolor{okcolour}{rgb}{0.09, 0.45, 0.27}
-\definecolor{araracolour}{rgb}{0, 0.72, 0.28}
-\definecolor{warningcolour}{rgb}{0.75, 0.09, 0}
-\definecolor{attentioncolour}{rgb}{0.82, 0.86, 0.07}
-
-\RequirePackage{tcolorbox}
-\tcbuselibrary{skins}
-\tcbuselibrary{breakable}
-\tcbuselibrary{listings}
-
-\RequirePackage{amsmath}
-\RequirePackage{amssymb}
-\RequirePackage{amsfonts}
-\RequirePackage{kmath}
-\RequirePackage{bookman}
-\RequirePackage{comfortaa}
-\RequirePackage[regular]{sourcecodepro}
-
-\RequirePackage{fontawesome}
-
-\RequirePackage{forest}
-\useforestlibrary{edges}
-
-\RequirePackage{enumitem}
-\setlist[description]{font=\sffamily\bfseries,style=nextline,leftmargin=2em}
-
-\RequirePackage{tabularx}
-\newcolumntype{Y}{>{\centering\arraybackslash}X}
-
-\RequirePackage[
- colorlinks,
- linkcolor={black},
- citecolor={araracolour},
- urlcolor={araracolour},
- pdfpagelabels
-]{hyperref}
-
-\newcommand{\araratext}[1]{{\normalfont\comfortaa\color{araracolour}\bfseries#1}}
-\newcommand*\arara{\araratext{ar\kern-.03emar\kern-.03ema}}
-\newcommand*\slogan{\araratext{The cool \TeX\ automation tool}}
-
-\newcommand{\icattention}[1]{%
- \begin{scope}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- shift={([xshift=0.35em, yshift=0.31em]frame.north west)},
- scale=.11
- ]
-
- \path[fill=#1!5] (208.8560,104.4280) .. controls (208.8560,162.1050) and
- (162.1040,208.8610) .. (104.4270,208.8610) .. controls (46.7500,208.8610) and
- (0.0000,162.1050) .. (0.0000,104.4280) .. controls (0.0000,46.7540) and
- (46.7500,0.0000) .. (104.4270,0.0000) .. controls (162.1040,0.0000) and
- (208.8560,46.7540) .. (208.8560,104.4280) -- cycle;
-
- \begin{scope}[shift={(-46.415,-45.369)}]
- \path[fill=#1] (166.3660,93.4020) -- (165.8010,162.0250) --
- (137.0310,162.0250) -- (135.3300,93.4020) -- cycle;
- \path[fill=#1] (164.4210,200.6400) .. controls (160.6350,204.3420) and
- (156.0710,206.1950) .. (150.7290,206.1950) .. controls (145.1560,206.1950) and
- (140.5820,204.4020) .. (136.9930,200.8000) .. controls (133.3970,197.2110) and
- (131.6020,192.6350) .. (131.6020,187.0710) .. controls (131.6020,181.6690) and
- (133.4650,177.0890) .. (137.1910,173.3350) .. controls (140.9190,169.5810) and
- (145.4270,167.7130) .. (150.7290,167.7130) .. controls (156.0230,167.7130) and
- (160.5790,169.6260) .. (164.3730,173.4640) .. controls (168.1870,177.2980) and
- (170.0840,181.8620) .. (170.0840,187.1560) .. controls (170.0880,192.4580) and
- (168.1950,196.9410) .. (164.4210,200.6400) -- cycle;
- \end{scope}
- \end{scope}%
-}
-
-\newcommand{\icerror}[1]{%
- \begin{scope}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- shift={([xshift=0.35em, yshift=0.31em]frame.north west)},
- scale=.11
- ]
-
- \path[fill=#1!5] (104.4280,104.4280) circle (2.9472cm);
- \path[shift={(-46.913,-45.374)},fill=#1] (88.7990,180.6000) --
- (119.5860,149.8020) -- (88.7990,119.0130) -- (120.5410,87.2560) --
- (151.3380,118.0580) -- (182.1310,87.2560) -- (213.8780,119.0130) --
- (183.0770,149.8020) -- (213.8780,180.6000) -- (182.1310,212.3440) --
- (151.3380,181.5470) -- (120.5410,212.3440) -- cycle;
- \end{scope}%
-}
-
-\newcommand{\ichelp}[1]{%
- \begin{scope}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- shift={([xshift=0.35em, yshift=0.31em]frame.north west)},
- scale=.11
- ]
-
- \path[fill=#1!5] (209.4880,104.7460) .. controls (209.4880,162.5980) and
- (162.5940,209.4910) .. (104.7430,209.4910) .. controls (46.8930,209.4910) and
- (0.0000,162.5970) .. (0.0000,104.7460) .. controls (0.0000,46.8950) and
- (46.8930,0.0000) .. (104.7430,0.0000) .. controls (162.5940,0.0000) and
- (209.4880,46.8940) .. (209.4880,104.7460) -- cycle;
- \begin{scope}[shift={(-46.099,-45.188)}]
- \path[fill=#1] (164.9220,204.1480) .. controls (160.9950,207.9860) and
- (156.2530,209.9090) .. (150.7010,209.9090) .. controls (144.9260,209.9090) and
- (140.1760,208.0510) .. (136.4420,204.3170) .. controls (132.7170,200.5840) and
- (130.8520,195.8340) .. (130.8520,190.0560) .. controls (130.8520,184.4490) and
- (132.7830,179.6940) .. (136.6530,175.7990) .. controls (140.5190,171.9020) and
- (145.2050,169.9540) .. (150.6960,169.9540) .. controls (156.1910,169.9540) and
- (160.9140,171.9450) .. (164.8720,175.9240) .. controls (168.8230,179.9060) and
- (170.8020,184.6460) .. (170.8020,190.1410) .. controls (170.8070,195.6410) and
- (168.8440,200.3070) .. (164.9220,204.1480) -- cycle;
- \path[fill=#1] (172.9950,153.2160) .. controls (169.6370,154.9020) and
- (167.5810,156.3590) .. (166.8560,157.5930) .. controls (166.1250,158.8210) and
- (165.7700,161.4630) .. (165.7700,165.5020) -- (134.5650,165.5020) --
- (134.5650,160.1990) .. controls (134.5650,153.1880) and (135.3450,148.0140) ..
- (136.9200,144.6720) .. controls (138.4870,141.3370) and (141.3490,138.7460) ..
- (145.5030,136.8920) -- (151.2240,134.3740) .. controls (155.5440,132.4630) and
- (157.7010,129.7760) .. (157.7010,126.2960) .. controls (157.7010,124.2730) and
- (156.9890,122.5710) .. (155.5970,121.1590) .. controls (154.1980,119.7670) and
- (152.4800,119.0550) .. (150.4640,119.0550) .. controls (144.9690,119.0550) and
- (142.2170,122.8770) .. (142.2170,130.5000) -- (113.1980,130.5000) .. controls
- (113.1980,120.2900) and (115.5590,111.9670) .. (120.2680,105.5190) .. controls
- (123.7470,100.7520) and (128.2570,96.9670) .. (133.8090,94.1630) .. controls
- (139.3620,91.3630) and (145.1090,89.9550) .. (151.0550,89.9550) .. controls
- (161.6020,89.9550) and (170.4680,93.4510) .. (177.6770,100.4300) .. controls
- (184.8860,107.4090) and (188.4870,116.0620) .. (188.4870,126.3810) .. controls
- (188.4710,139.1080) and (183.3130,148.0590) .. (172.9950,153.2160) -- cycle;
- \end{scope}
- \end{scope}%
-}
-
-\newcommand{\icinfo}[1]{%
- \begin{scope}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- shift={([xshift=0.35em, yshift=0.31em]frame.north west)},
- scale=.11
- ]
-
- \path[fill=#1!5] (104.4310,104.4310) circle (2.9473cm);
- \begin{scope}[shift={(-46.694,-45.371)}]
- \path[fill=#1] (139.1560,93.9220) .. controls (142.1760,91.1310) and
- (145.7940,89.7390) .. (149.9850,89.7390) .. controls (154.1800,89.7390) and
- (157.7700,91.1310) .. (160.7780,93.9220) .. controls (163.7740,96.7260) and
- (165.2740,100.0830) .. (165.2740,104.0130) .. controls (165.2740,107.9440) and
- (163.7570,111.2920) .. (160.7340,114.0640) .. controls (157.7130,116.8320) and
- (154.1320,118.2150) .. (149.9850,118.2150) .. controls (145.8020,118.2150) and
- (142.1840,116.8360) .. (139.1560,114.0640) .. controls (136.1320,111.2930) and
- (134.6200,107.9440) .. (134.6200,104.0130) .. controls (134.6200,100.0830) and
- (136.1320,96.7260) .. (139.1560,93.9220) -- cycle;
- \path[fill=#1] (176.6040,209.8610) -- (127.5580,209.8610) --
- (127.5580,204.1980) .. controls (128.9050,204.0980) and (130.2210,203.9620) ..
- (131.5200,203.8090) .. controls (132.8070,203.6490) and (133.9220,203.3960) ..
- (134.8490,203.0310) .. controls (136.5140,202.4180) and (137.6730,201.5150) ..
- (138.3540,200.3520) .. controls (139.0200,199.1890) and (139.3650,197.6530) ..
- (139.3650,195.7360) -- (139.3650,150.5640) .. controls (139.3650,148.7550) and
- (138.9480,147.1710) .. (138.1260,145.7990) .. controls (137.2960,144.4190) and
- (136.2570,143.3160) .. (135.0180,142.4940) .. controls (134.0920,141.8760) and
- (132.6720,141.2790) .. (130.7910,140.7050) .. controls (128.9060,140.1400) and
- (127.1820,139.7830) .. (125.6330,139.6220) -- (125.6330,133.9630) --
- (163.6620,131.9450) -- (164.8250,133.1040) -- (164.8250,194.7240) .. controls
- (164.8250,196.5370) and (165.2180,198.0690) .. (165.9830,199.3400) .. controls
- (166.7650,200.6080) and (167.8730,201.5460) .. (169.3240,202.1750) .. controls
- (170.3590,202.6410) and (171.5070,203.0620) .. (172.7370,203.4140) .. controls
- (173.9850,203.7790) and (175.2720,204.0320) .. (176.6200,204.1920) --
- (176.6200,209.8590) -- (176.6040,209.8590) -- cycle;
- \end{scope}
- \end{scope}%
-}
-
-\newcommand{\icnote}[1]{%
- \begin{scope}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- shift={([xshift=0.35em, yshift=0.31em]frame.north west)},
- scale=.11
- ]
-
- \path[fill=#1!5] (104.4280,104.4280) circle (2.9472cm);
- \begin{scope}[shift={(-46.08801,-45.37)}]
- \path[fill=#1] (113.9190,187.9100) -- (127.1980,200.4160) --
- (109.7220,205.6600) -- (92.2560,210.9060) -- (96.4470,193.1470) --
- (100.6380,175.3930) -- cycle;
- \path[fill=#1] (133.3760,194.1100) -- (106.7160,169.1000) --
- (182.1210,88.6910) -- (208.7790,113.7040) -- cycle;
- \end{scope}
- \end{scope}%
-}
-
-\newcommand{\icok}[1]{%
- \begin{scope}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- shift={([xshift=0.35em, yshift=0.31em]frame.north west)},
- scale=.11
- ]
-
- \path[fill=#1!5] (209.4910,104.7440) .. controls (209.4910,162.5960) and
- (162.5940,209.4880) .. (104.7470,209.4880) .. controls (46.8950,209.4880) and
- (0.0000,162.5950) .. (0.0000,104.7440) .. controls (0.0000,46.8930) and
- (46.8950,0.0000) .. (104.7470,0.0000) .. controls (162.5930,-0.0010) and
- (209.4910,46.8930) .. (209.4910,104.7440) -- cycle;
- \path[shift={(-45.773,-45.19)},fill=#1] (219.0590,88.4660) --
- (137.2020,211.4010) -- (81.9780,125.9940) -- (81.9780,124.9200) --
- (133.7180,148.3000) -- cycle;
- \end{scope}%
-}
-
-% 1 -> title
-% 2 -> frame colour
-% 3 -> icon description
-% 4 -> title colour
-\newtcolorbox{messagebox}[4]{
- adjusted title=#1,
- adjusted title after break={\centering #1 (ctd.)},
- halign title=center,
- fonttitle=\bfseries\sffamily,
- enhanced,
- drop lifted shadow,
- colback=#2!5,
- colframe=#2,
- breakable,
- overlay={#3{#2}},
- toptitle=0.2em,
- bottomtitle=.2em,
- coltitle=#4,
- before skip=1em,
- after skip=1.4em
-}
-
-% 1 -> title
-% 2 -> frame colour
-% 3 -> icon description
-% 4 -> title colour
-\newtcblisting{codebox}[4]{
- adjusted title=#1,
- adjusted title after break={\centering #1 (ctd.)},
- halign title=center,
- fonttitle=\bfseries\sffamily,
- enhanced,
- drop lifted shadow,
- colback=#2!5,
- colframe=#2,
- breakable,
- overlay={#3{#2}},
- toptitle=0.2em,
- bottomtitle=.2em,
- coltitle=#4,
- before skip=1em,
- left=8mm,
- listing only,
- listing options={
- numbers=left,
- numberstyle=\scriptsize\sffamily\color{#2},
- basicstyle=\footnotesize\ttfamily,
- },
- after skip=1.4em
-}
-
-\newcommand{\addname}[2]{%
- \begin{scope}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- shift={([xshift=-0.8em, yshift=3.6em]frame.north east)},
- ]
- \node [anchor=east] {\rbox[#2]{#1}};
- \end{scope}
-}
-
-% 1 -> title
-% 2 -> frame colour
-% 3 -> icon description
-% 4 -> title colour
-% 5 -> code name
-\newtcblisting{ncodebox}[5]{
- adjusted title=#1,
- adjusted title after break={\centering #1 (ctd.)},
- halign title=center,
- fonttitle=\bfseries\sffamily,
- enhanced,
- drop lifted shadow,
- colback=#2!5,
- colframe=#2,
- breakable,
- overlay={#3{#2}\addname{#5}{#2}},
- toptitle=0.2em,
- bottomtitle=.2em,
- coltitle=#4,
- before skip=1em,
- left=8mm,
- listing only,
- listing options={
- numbers=left,
- numberstyle=\scriptsize\sffamily\color{#2},
- basicstyle=\footnotesize\ttfamily,
- },
- after skip=1.4em
-}
-
-\newtcbox{\abox}[1][teal]{
- on line,
- arc=3pt,
- colback=#1!10,
- tcbox raise=-1.1mm,
- colframe=#1,
- before upper={
- \vphantom{dp}
- },
- boxrule=1pt,
- fontupper=\footnotesize\normalfont\ttfamily\color{#1},
- boxsep=0pt,
- left=2pt,
- right=2pt,
- top=1.6pt,
- bottom=0.8pt
-}
-
-\newtcbox{\rbox}[1][teal]{
- on line,
- arc=3pt,
- colback=#1,
- tcbox raise=-1.1mm,
- colframe=#1,
- before upper={
- \vphantom{dp}
- },
- boxrule=1pt,
- fontupper=\footnotesize\normalfont\ttfamily\color{#1!10},
- boxsep=0pt,
- left=2pt,
- right=2pt,
- top=1.6pt,
- bottom=0.8pt
-}
-
-\newcommand{\varbox}[1]{\rbox[araracolour]{$\diamondsuit$\,#1}}
-\newcommand{\mtbox}[1]{\rbox{$\diamondsuit$\,#1}}
-\newcommand{\prbox}[1]{\rbox[attentioncolour]{\color{black}$\rhd$\,#1}}
-\newcommand{\opbox}[1]{\rbox[cyan]{\color{black}{-}#1}}
-\newcommand{\cdbox}[1]{\rbox{$\star$\,#1}}
-\newcommand{\describe}[2]{\rbox[araracolour]{#1}~%
-\abox{#2}}
-\newcommand{\describecontext}[3]{\rbox[araracolour]{#1}~%
-\rbox{#2$\rightarrow$}~\abox{#3}}
-\newcommand{\describecontextt}[4]{\rbox[araracolour]{#1}~%
-\rbox[araracolour]{#2}~\rbox{#3$\rightarrow$}~\abox{#4}}
-\newcommand{\describeconditional}[2]{\rbox[araracolour]%
-{\normalfont\itshape\,\,#1\enspace}~\cdbox{#2}}
-\newcommand{\describeop}[2]{\opbox{#1}~\opbox{{-}#2}}
-\newcommand{\describeopp}[3]{\describeop{#1}{#2}~\prbox{#3}}
-\newcommand{\describecf}[4]{\rbox[araracolour]{#1}~%
-\rbox{\normalfont\itshape\,\,#2\enspace}~\abox{#3}%
-\hfill{\normalfont\itshape default:} \rbox{#4}}
-\newcommand{\describecfn}[3]{\rbox[araracolour]{#1}~%
-\rbox{\normalfont\itshape\,\,#2\enspace}~\abox{#3}}
-\newcommand{\rrbox}[1]{\rbox[araracolour]{$\triangle$\,#1}}
-\newcommand{\ctbox}[1]{\rbox[cyan]{#1}}
-\newcommand{\mdbox}[3]{\ctbox{#1}~\mtbox{#2}\hfill\rrbox{#3}}
-\newcommand{\mddbox}[4]{\ctbox{#1}~\mdbox{#2}{#3}{#4}}
-\newcommand{\mdddbox}[5]{\ctbox{#1}~\mddbox{#2}{#3}{#4}{#5}}
-
-\renewcommand{\secheadstyle}{\Large\normalfont\em}
-\renewcommand{\subsecheadstyle}{\large\normalfont\em}
-\renewcommand{\subsubsecheadstyle}{\normalsize\normalfont\em}
-\renewcommand{\paraheadstyle}{\normalsize\normalfont\em}
-\renewcommand{\subparaheadstyle}{\normalsize\normalfont\em}
-\renewcommand{\partnumfont}{\Large\comfortaa\bfseries}
-\renewcommand{\partnamefont}{\Large\comfortaa\bfseries}
-\renewcommand{\parttitlefont}{\Huge\normalfont\em}
-\renewcommand{\booktitlefont}{\huge\normalfont\em}
-\renewcommand{\booknamefont}{\huge\normalfont\em}
-\renewcommand{\booknumfont}{\huge\normalfont\em}
-\renewcommand{\printpartname}{\centering\includegraphics[scale=.3]{logos/bird.pdf}\par\partnamefont \textcolor{araracolour}{part}}
-\renewcommand{\printpartnum}{\partnumfont\textcolor{araracolour}{\numtoname{\c@part}}}
-\cftpagenumbersoff{part}
-\renewcommand\partnumberline[1]{\hfil\hspace\@tocrmarg#1\hspace{0.5em}---\hspace{0.5em}}
-\renewcommand*{\cftpartafterpnum}{}
-\setlength\cftchapternumwidth{2em}
-\setlength\cftsectionnumwidth{3em}
-
-\renewcommand{\midpartskip}{\par\vskip 3.0\onelineskip}
-
-\makechapterstyle{araraheadings}{%
- \setlength{\beforechapskip}{2\onelineskip}%
- \setlength{\afterchapskip}{1.5\onelineskip%
- \@plus .1\onelineskip%
- \@minus 0.167\onelineskip}%
- \renewcommand*{\chapnamefont}{\normalfont}%
- \renewcommand*{\printchaptername}{%
- \centering\includegraphics[scale=.15]{logos/bird.pdf}\par}%
- \renewcommand*{\chapnumfont}{\comfortaa\bfseries}%
- \renewcommand*{\printchapternum}{\centering \chapnumfont \ifanappendix
- \thechapter \else \textcolor{araracolour}{\numtoname{\c@chapter}}\fi}%
- \renewcommand*{\chaptitlefont}{\normalfont\itshape\huge\centering}%
- \renewcommand*{\printchapternonum}{%
- \centering\includegraphics[scale=.15]{logos/bird.pdf}\par%
- \vskip\midchapskip}%
-}
-
-\newcommand{\cbyes}[1]{%
-\raisebox{#1pt}{\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- scale=.11
-]
- \begin{scope}[
- shift={(-23.18884,-26.87932)}
- ]
- \path[line width=0.212pt,fill=araracolour] (56.2485,74.7821) -- (46.8029,84.2278) --
- (77.1638,114.5887) -- (144.6326,47.1199) -- (135.1870,37.6743) --
- (77.1638,95.6974) -- cycle(131.1388,134.8293) -- (36.6826,134.8293) --
- (36.6826,40.3731) -- (104.1513,40.3731) -- (104.1513,26.8793) --
- (36.6826,26.8793) .. controls (29.2610,26.8793) and (23.1888,32.9515) ..
- (23.1888,40.3731) -- (23.1888,134.8293) .. controls (23.1888,142.2509) and
- (29.2610,148.3231) .. (36.6826,148.3231) -- (131.1388,148.3231) .. controls
- (138.5604,148.3231) and (144.6326,142.2509) .. (144.6326,134.8293) --
- (144.6326,80.8543) -- (131.1388,80.8543) -- cycle;
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \end{scope}
-\end{tikzpicture}}}
-
-\newcommand{\cbno}[1]{%
-\raisebox{#1pt}{\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- scale=.11
-]
- \begin{scope}[
- shift={(-23.18884,-26.87932)}
- ]
- \path[line width=0.212pt, fill=warningcolour] (131.1388,134.8293) -- (36.6826,134.8293) --
- (36.6826,40.3731) -- (104.1513,40.3731) -- (104.1513,26.8793) --
- (36.6826,26.8793) .. controls (29.2610,26.8793) and (23.1888,32.9515) ..
- (23.1888,40.3731) -- (23.1888,134.8293) .. controls (23.1888,142.2509) and
- (29.2610,148.3231) .. (36.6826,148.3231) -- (131.1388,148.3231) .. controls
- (138.5604,148.3231) and (144.6326,142.2509) .. (144.6326,134.8293) --
- (144.6326,80.8543) -- (131.1388,80.8543) -- cycle;
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(23.18884,26.87932)}}
- ]
- \end{scope}
- \end{scope}
-\end{tikzpicture}}}
-
-\newcommand{\uierror}[1]{%
-\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- scale=2.5
-]
- \begin{scope}[shift={(-8.53676,-270.7608)}]
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(8.53458,270.7608)}}
- ]
- \path [fill=#1]
- (46.1330,20.6880) .. controls (45.3520,19.9070) and (44.0860,19.9070) ..
- (43.3050,20.6880) -- (33.4060,30.5870) -- (23.5060,20.6880) .. controls
- (22.7250,19.9070) and (21.4590,19.9070) .. (20.6780,20.6880) .. controls
- (19.8970,21.4690) and (19.8970,22.7350) .. (20.6780,23.5160) --
- (30.5780,33.4150) -- (20.6780,43.3140) .. controls (19.8970,44.0950) and
- (19.8970,45.3610) .. (20.6780,46.1420) .. controls (21.0690,46.5330) and
- (21.5800,46.7280) .. (22.0920,46.7280) .. controls (22.6040,46.7280) and
- (23.1150,46.5330) .. (23.5060,46.1420) -- (33.4060,36.2430) --
- (43.3050,46.1420) .. controls (43.6960,46.5330) and (44.2070,46.7280) ..
- (44.7190,46.7280) .. controls (45.2310,46.7280) and (45.7420,46.5330) ..
- (46.1330,46.1420) .. controls (46.9140,45.3610) and (46.9140,44.0950) ..
- (46.1330,43.3140) -- (36.2340,33.4150) -- (46.1330,23.5160) .. controls
- (46.9140,22.7350) and (46.9140,21.4680) .. (46.1330,20.6880) -- cycle;
- \path [fill=#1]
- (57.1070,9.8000) .. controls (50.7880,3.4810) and (42.3860,0.0000) ..
- (33.4490,0.0000) .. controls (24.5120,0.0000) and (16.1120,3.4800) ..
- (9.7920,9.8000) .. controls (-3.2530,22.8450) and (-3.2530,44.0710) ..
- (9.7920,57.1150) .. controls (16.1100,63.4340) and (24.5130,66.9150) ..
- (33.4490,66.9150) .. controls (42.3870,66.9150) and (50.7890,63.4350) ..
- (57.1080,57.1150) .. controls (63.4270,50.7970) and (66.9070,42.3940) ..
- (66.9070,33.4570) .. controls (66.9060,24.5210) and (63.4260,16.1190) ..
- (57.1070,9.8000) -- cycle(54.2810,54.2870) .. controls (48.7170,59.8500) and
- (41.3190,62.9150) .. (33.4500,62.9150) .. controls (25.5820,62.9150) and
- (18.1840,59.8510) .. (12.6210,54.2870) .. controls (1.1360,42.8020) and
- (1.1360,24.1130) .. (12.6210,12.6280) .. controls (18.1850,7.0640) and
- (25.5810,4.0000) .. (33.4490,4.0000) .. controls (41.3170,4.0000) and
- (48.7150,7.0640) .. (54.2780,12.6270) .. controls (59.8410,18.1900) and
- (62.9060,25.5880) .. (62.9070,33.4570) .. controls (62.9070,41.3260) and
- (59.8440,48.7240) .. (54.2810,54.2870) -- cycle;
- \end{scope}
- \end{scope}
-\end{tikzpicture}}
-
-\newcommand{\uiwarning}[1]{%
-\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- scale=2.55
-]
- \begin{scope}[
- shift={(-8.53676,-270.7608)}
- ]
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}
- ]
- \path [fill=#1]
- (32.5000,65.0000) .. controls (50.4200,65.0000) and (65.0000,50.4210) ..
- (65.0000,32.5000) .. controls (65.0000,14.5790) and (50.4200,0.0000) ..
- (32.5000,0.0000) .. controls (14.5800,0.0000) and (0.0000,14.5790) ..
- (0.0000,32.5000) .. controls (0.0000,50.4210) and (14.5800,65.0000) ..
- (32.5000,65.0000) -- cycle(32.5000,4.0000) .. controls (48.2150,4.0000) and
- (61.0000,16.7850) .. (61.0000,32.5000) .. controls (61.0000,48.2150) and
- (48.2150,61.0000) .. (32.5000,61.0000) .. controls (16.7850,61.0000) and
- (4.0000,48.2150) .. (4.0000,32.5000) .. controls (4.0000,16.7850) and
- (16.7850,4.0000) .. (32.5000,4.0000) -- cycle;
- \path [fill=#1] (33.0180,43.6550) circle (0.0944cm);
- \path [fill=#1]
- (32.3320,35.3420) .. controls (33.4360,35.3420) and (34.3320,34.4460) ..
- (34.3320,33.3420) -- (34.3320,16.3420) .. controls (34.3320,15.2380) and
- (33.4360,14.3420) .. (32.3320,14.3420) .. controls (31.2280,14.3420) and
- (30.3320,15.2380) .. (30.3320,16.3420) -- (30.3320,33.3420) .. controls
- (30.3320,34.4460) and (31.2280,35.3420) .. (32.3320,35.3420) -- cycle;
- \end{scope}
- \end{scope}
-\end{tikzpicture}}
-
-\newcommand{\uiinfo}[1]{%
-\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- scale=2.55]
- \begin{scope}[
- shift={(-8.53676,-270.7608)}
- ]
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}
- ]
- \path [fill=#1]
- (32.5000,0.0000) .. controls (14.5800,0.0000) and (0.0000,14.5790) ..
- (0.0000,32.5000) .. controls (0.0000,50.4210) and (14.5800,65.0000) ..
- (32.5000,65.0000) .. controls (50.4200,65.0000) and (65.0000,50.4210) ..
- (65.0000,32.5000) .. controls (65.0000,14.5790) and (50.4200,0.0000) ..
- (32.5000,0.0000) -- cycle(32.5000,61.0000) .. controls (16.7850,61.0000) and
- (4.0000,48.2150) .. (4.0000,32.5000) .. controls (4.0000,16.7850) and
- (16.7850,4.0000) .. (32.5000,4.0000) .. controls (48.2150,4.0000) and
- (61.0000,16.7850) .. (61.0000,32.5000) .. controls (61.0000,48.2150) and
- (48.2150,61.0000) .. (32.5000,61.0000) -- cycle;
- \path [fill=#1] (33.0180,19.5410) circle (0.0944cm);
- \path [fill=#1]
- (32.1370,28.3420) .. controls (31.0330,28.3420) and (30.1370,29.2380) ..
- (30.1370,30.3420) -- (30.1370,47.3420) .. controls (30.1370,48.4460) and
- (31.0330,49.3420) .. (32.1370,49.3420) .. controls (33.2410,49.3420) and
- (34.1370,48.4460) .. (34.1370,47.3420) -- (34.1370,30.3420) .. controls
- (34.1370,29.2370) and (33.2410,28.3420) .. (32.1370,28.3420) -- cycle;
- \end{scope}
- \end{scope}
-\end{tikzpicture}}
-
-\newcommand{\uiplain}[1]{%
-\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- scale=2.55]
- \begin{scope}[
- shift={(-8.53676,-270.7608)}
- ]
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}
- ]
- \path [fill=#1]
- (32.5000,65.0000) .. controls (50.4200,65.0000) and (65.0000,50.4210) ..
- (65.0000,32.5000) .. controls (65.0000,14.5790) and (50.4200,0.0000) ..
- (32.5000,0.0000) .. controls (14.5800,0.0000) and (0.0000,14.5790) ..
- (0.0000,32.5000) .. controls (0.0000,50.4210) and (14.5800,65.0000) ..
- (32.5000,65.0000) -- cycle(32.5000,4.0000) .. controls (48.2150,4.0000) and
- (61.0000,16.7850) .. (61.0000,32.5000) .. controls (61.0000,48.2150) and
- (48.2150,61.0000) .. (32.5000,61.0000) .. controls (16.7850,61.0000) and
- (4.0000,48.2150) .. (4.0000,32.5000) .. controls (4.0000,16.7850) and
- (16.7850,4.0000) .. (32.5000,4.0000) -- cycle;
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \begin{scope}[cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}]
- \end{scope}
- \end{scope}
-\end{tikzpicture}}
-
-\newcommand{\uiquestion}[1]{%
-\begin{tikzpicture}[
- y=0.80pt,
- x=0.80pt,
- yscale=-1.000000,
- xscale=1.000000,
- inner sep=0pt,
- outer sep=0pt,
- scale=2.55
-]
- \begin{scope}[
- shift={(-8.53676,-270.7608)}
- ]
- \begin{scope}[
- cm={{0.26458,0.0,0.0,0.26458,(8.78795,271.01414)}}
- ]
- \path [fill=#1]
- (32.5000,0.0000) .. controls (14.5790,0.0000) and (0.0000,14.5790) ..
- (0.0000,32.5000) .. controls (0.0000,50.4210) and (14.5790,65.0000) ..
- (32.5000,65.0000) .. controls (50.4210,65.0000) and (65.0000,50.4210) ..
- (65.0000,32.5000) .. controls (65.0000,14.5790) and (50.4210,0.0000) ..
- (32.5000,0.0000) -- cycle(32.5000,61.0000) .. controls (16.7850,61.0000) and
- (4.0000,48.2150) .. (4.0000,32.5000) .. controls (4.0000,16.7850) and
- (16.7850,4.0000) .. (32.5000,4.0000) .. controls (48.2150,4.0000) and
- (61.0000,16.7850) .. (61.0000,32.5000) .. controls (61.0000,48.2150) and
- (48.2150,61.0000) .. (32.5000,61.0000) -- cycle;
- \path [fill=#1] (33.0170,49.5410) circle (0.0944cm);
- \path [fill=#1]
- (32.3850,12.7890) .. controls (29.3180,12.7890) and (26.3630,14.0890) ..
- (24.0650,16.4490) .. controls (23.2940,17.2410) and (23.3110,18.5070) ..
- (24.1020,19.2770) .. controls (24.8930,20.0480) and (26.1610,20.0310) ..
- (26.9300,19.2400) .. controls (28.4690,17.6590) and (30.4070,16.7890) ..
- (32.3850,16.7890) .. controls (36.7110,16.7890) and (40.2310,20.2300) ..
- (40.2310,24.4600) .. controls (40.2310,28.5450) and (36.4230,32.1280) ..
- (32.3690,32.1280) .. controls (31.2650,32.1280) and (30.1190,33.0240) ..
- (30.1190,34.1280) -- (30.1190,41.3420) .. controls (30.1190,42.4460) and
- (31.0150,43.3420) .. (32.1190,43.3420) .. controls (33.2230,43.3420) and
- (34.1190,42.4460) .. (34.1190,41.3420) -- (34.1190,35.9460) .. controls
- (40.1190,34.9620) and (43.9810,30.1010) .. (43.9810,24.4600) .. controls
- (43.9800,18.0240) and (38.9170,12.7890) .. (32.3850,12.7890) -- cycle;
- \end{scope}
- \end{scope}
-\end{tikzpicture}}
-
-\newcommand{\uimethod}[1]{\begin{minipage}{1\textwidth}
-\vspace*{.5em}
-\hspace{1em}\includegraphics[scale=1.9]{figures/#1.pdf}
-\vspace{.5em}
-\end{minipage}}
-
-\newcommand{\rulebox}[1]{\rbox{#1}}
-\newcommand{\rpbox}[2]{\abox{#1}\hfill%
-{\normalfont\itshape default:} \rbox[cyan]{#2}}
-\newcommand{\rpsbox}[1]{\abox{#1}~%
-\rbox[araracolour]{S}}
-
-\newcommand{\povalue}[1]{\rbox[cyan]{#1}}
-\newcommand{\rqbox}{\rbox[araracolour]{R}}
diff --git a/support/arara/doc/arararc.yaml b/support/arara/doc/arararc.yaml
deleted file mode 100644
index ad3389c9c9..0000000000
--- a/support/arara/doc/arararc.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-!config
-paths:
-- 'rules/'
-header: true
diff --git a/support/arara/doc/chapters/building.tex b/support/arara/doc/chapters/building.tex
deleted file mode 100644
index 4f894f01b7..0000000000
--- a/support/arara/doc/chapters/building.tex
+++ /dev/null
@@ -1,163 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{Building from source}
-\label{chap:buildingfromsource}
-
-\arara\ is a Kotlin application licensed under the \href{http://www.opensource.org/licenses/bsd-license.php}{New BSD License}, a verified GPL-compatible free software license, and the source code is available in the project repository at \href{https://gitlab.com/islandoftex/arara}{GitLab}. This chapter provides detailed instructions on how to build our tool from source.
-
-\section{Requirements}
-\label{sec:requirements}
-
-In order to build our tool from source, we need to ensure that our development environment has the minimum requirements for a proper compilation. Make sure the following items are available:
-
-\begin{itemize}[label={\cbyes{-2}}]
-\item On account of our project being hosted at \href{https://gitlab.com/}{GitLab}, an online source code repository, we highly recommend the installation of \rbox{git}, a version control system for tracking changes in computer files and coordinating work on those files among multiple people. Alternatively, you can directly obtain the source code by requesting a \href{https://gitlab.com/islandoftex/arara/-/archive/master/arara-master.zip}{source code download} in the repository. In order to check if \rbox{git} is available in your operating system, run the following command in the terminal (version numbers might vary):
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ git --version
-git version 2.29.2
-\end{codebox}
-
-Please refer to the \rbox{git} \href{https://git-scm.com/}{project website} in order to obtain specific installation instructions for your operating system. In general, most recent Unix systems have \rbox{git} installed out of the shelf.
-
-\item Our tool is written in the Kotlin programming language, so we need a proper Java Development Kit, a collection of programming tools for the Java platform. Our source code is known to be compliant with several vendors, including Oracle, OpenJDK, and Azul Systems. In order to check if your operating system has the proper tools, run the following command in the terminal (version numbers might vary):
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ javac -version
-javac 1.8.0_171
-\end{codebox}
-
-The previous command, as the name suggests, refers to the \rbox{javac} tool, which is the Java compiler itself. The most common Java Development Kit out there is from \href{http://www.oracle.com/technetwork/java/javase/downloads/index.html}{Oracle}. However, several Linux distributions (as well as some developers, yours truly included) favour the OpenJDK vendor, so your mileage may vary. Please refer to the corresponding website of the vendor of your choice in order to obtain specific installation instructions for your operating system.
-
-\item As a means to provide a straightforward and simplified compilation workflow, \arara\ relies on Gradle, a software project management and comprehension tool. Gradle is a build tool just like ours with a much more comprehensive build framework to provide support for the JVM ecosystem. In order to check if \rbox{gradle}, the Gradle binary, is available in your operating system, run the following command in the terminal (version numbers might vary):
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ gradle --version
-------------------------------------------------------------
-Gradle 6.0.1
-------------------------------------------------------------
-
-Build time: 2019-11-21 11:47:01 UTC
-Revision: <unknown>
-
-Kotlin: 1.3.50
-Groovy: 2.5.8
-Ant: Apache Ant(TM) version 1.10.7 compiled
- on September 1 2019
-JVM: 1.8.0_232 (Oracle Corporation 25.232-b09)
-OS: Linux 5.5.0-1-MANJARO amd64
-\end{codebox}
-
-Please refer to the Gradle \href{https://gradle.org}{project website} in order to obtain specific installation instructions for your operating system. In general, most recent Linux distributions have the Gradle binary, as well the proper associated dependencies, available in their corresponding repositories.
-
-\item For a proper repository cloning, as well as the first Gradle build, an active Internet connection is required. In particular, Gradle dynamically downloads Java libraries and plug-ins from one or more online repositories and stores them in a local cache. Be mindful that subsequent builds can occur offline, provided that the local Gradle cache exists.
-\end{itemize}
-
-\arara\ can be easily built from source, provided that the aforementioned requirements are available. The next section presents the compilation details, from repository cloning to a proper Java archive generation.
-
-\begin{messagebox}{One tool to rule them all}{araracolour}{\icok}{white}
-\setlength{\parskip}{1em}
-For the brave, there is the \href{https://sdkman.io/}{Software Development Kit Manager}, an interesting tool for managing parallel versions of multiple software development kits on most Unix based systems. In particular, this tool provides off the shelf support for several Java Development Kit vendors and versions, as well as most recent versions of Gradle.
-
-Personally, I prefer the packaged versions provided by my favourite Linux distribution (Fedora), but this tool is a very interesting alternative to set up a development environment with little to no effort.
-\end{messagebox}
-
-\section{Compiling the tool}
-\label{sec:compilingthetool}
-
-First and foremost, we need to clone the project repository into our development environment, so we can build our tool from source. The cloning will create a directory named \abox[araracolour]{arara/} within the current working directory, so remember to first ensure that you are in the appropriate directory. For example:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ mkdir git-projects
-$ cd git-projects
-\end{codebox}
-
-Run the following command in the terminal to clone the \arara\ project:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ git clone https://gitlab.com/islandoftex/arara.git
-\end{codebox}
-
-Wait a couple of seconds (or minutes, depending on your Internet connection) while the previous command clones the project repository hosted at GitLab. Be mindful that this operation pulls down every version of every file for the history of the project. Fortunately, the version control system has the notion of a \emph{shallow clone}, which is a more succinctly meaningful way of describing a local repository with history truncated to a particular depth during the clone operation. If you want to get only the latest revision of everything in our repository, run the following command in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ git clone https://gitlab.com/islandoftex/arara.git --depth 1
-\end{codebox}
-
-This operation is way faster than the previous one, for obvious reasons. Unix terminals typically start at \abox[araracolour]{USER\_HOME} as working directory, so, if you did not \rbox{cd} to another directory (as in the earlier example), the newly cloned \abox[araracolour]{arara/} directory is almost certain to be accessible from that level. Now, we need to navigate to the directory named \abox[araracolour]{arara/}. Run the following command in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ cd arara
-\end{codebox}
-
-The previous command should take us inside the \abox[araracolour]{arara/} directory of our project, where the source code and the corresponding build file are located. Let us make sure we are in the correct location by running the following command in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ ls build.gradle.kts
-build.gradle.kts
-\end{codebox}
-
-Great, we are in the correct location! From the previous output, let us inspect the directory contents. The \abox[araracolour]{application/} directory, as the name suggests, contains the source code of the main application organized in an established package structure, whereas \rbox{build.gradle.kts} is the corresponding Gradle build file written to efficiently compile the project. In order to build our tool, run the following command in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ gradle build
-\end{codebox}
-
-Gradle is based around the central concept of a build life cycle. The \rbox{compile} phase, as the name suggests, compiles the source code of the project using the underlying Java compiler. After compiling, the code can be packaged, tested and run. The \rbox{build} target actually compiles, tests and packages our tool. Afterwards, you will have a \abox[araracolour]{cli/build/libs/} directory with multiple JAR files, one containing \rbox{with-deps}. That file is ready to run as it bundles all dependencies. Subsequent builds will be significantly faster than the first build because they do not fetch dependencies and rely on a build cache. Finally, after some time, Gradle will output the following message as result (please note that the entire compilation and packaging only took 4 seconds on my development machine due to an existing local cache):
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-BUILD SUCCESSFUL in 4s
-15 actionable tasks: 15 up-to-date
-\end{codebox}
-
-Now, let us move the resulting Java archive file from that particular directory to our current directory. Run the following command in the terminal (please note that the Java archive file was also renamed during the move operation):
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ mv cli/build/libs/arara-cli-with-deps-*.jar arara.jar
-\end{codebox}
-
-Now, our current directory contains the final \rbox{arara.jar} Java archive file properly built from source. This file can be safely distributed and deployed, as seen later on, in Chapter~\ref{chap:deployingthetool}, on page~\pageref{chap:deployingthetool}. You can also test the resulting file by running the following command in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ java -jar arara.jar
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Usage: arara [OPTIONS] file...
-
-Options:
- -l, --log Generate a log output
- -v, --verbose / -s, --silent Print the command output
- -n, --dry-run Go through all the motions of running
- a command, but with no actual calls
- -s, --safe-run Run in safe mode and disable
- potentially harmful features. Make
- sure your projects uses only allowed
- features.
- -H, --header Extract directives only in the file
- header
- -p, --preamble TEXT Set the file preamble based on the
- configuration file
- -t, --timeout INT Set the execution timeout (in
- milliseconds)
- -L, --language TEXT Set the application language
- -m, --max-loops INT Set the maximum number of loops (> 0)
- -d, --working-directory PATH Set the working directory for all
- tools
- -P, --call-property VALUE Pass parameters to the application
- to be used within the session.
- -V, --version Show the version and exit
- -h, --help Show this message and exit
-
-Arguments:
- file The file(s) to evaluate and process
-\end{codebox}
-
-The following optional Gradle phase is used to handle the project cleaning, including the complete removal of the \abox[araracolour]{build/} directory. As a result, the project is then restored to the initial state without any generated Java bytecode. Run the following command in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ gradle clean
-\end{codebox}
-
-This section covered the compilation details for building \arara\ from source. The aforementioned steps are straightforward and can be automated in order to generate snapshots and daily builds. If you run into any issue, please let us know. Happy compilation!
diff --git a/support/arara/doc/chapters/cli.tex b/support/arara/doc/chapters/cli.tex
deleted file mode 100644
index 05d1d2f10a..0000000000
--- a/support/arara/doc/chapters/cli.tex
+++ /dev/null
@@ -1,484 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{Command line}
-\label{chap:commandline}
-
-\arara\ is a command line tool. It can be used in a plethora of command interpreter implementations, from bash to a Windows prompt, provided that the Java runtime environment is accessible within the current session. This chapter covers the user interface design, as well as options (also known as flags or switches) that modify the underlying application behaviour.
-
-\section{User interface design}
-\label{sec:userinterfacedesign}
-
-The goal of a user interface design is to make the interaction as simple and efficient as possible. Good user interface design facilitates finishing the task at hand without drawing unnecessary attention to itself. We redesigned the interface in order to look more pleasant to the eye, after all, we work with \TeX\ and friends:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'doc5.tex' (size: 285 B, last modified: 03/01/2020
-19:25:40), please wait.
-
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-(BibTeX) The BibTeX reference management software ....... SUCCESS
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-
-Total: 1.14 seconds
-\end{codebox}
-
-First of all, we have the nice application logo, displayed using ASCII art. The entire layout is based on monospaced font spacing, usually used in terminal prompts. Hopefully you follow the conventional use of a monospaced font in your terminal, otherwise the visual effect will not be so pleasant. First and foremost, \arara\ displays details about the file being processed, including size and modification status:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-Processing 'doc5.tex' (size: 285 B, last modified: 03/01/2020
-19:25:40), please wait.
-\end{codebox}
-
-The list of tasks was also redesigned to be fully justified, and each entry displays both task and subtask names (the former being displayed enclosed in parentheses), besides of course the usual execution result:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-(BibTeX) The BibTeX reference management software ....... SUCCESS
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-\end{codebox}
-
-As previously mentioned in Section~\ref{sec:rule}, on page~\pageref{sec:rule}, if a task fails, \arara\ will halt the entire execution at once and immediately report back to the user. This is an example of how a failed task looks like:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-(PDFLaTeX) PDFLaTeX engine .............................. FAILURE
-\end{codebox}
-
-Also, observe that our tool displays the execution time before terminating, in seconds. The execution time has a very simple precision, as it is meant to be easily readable, and should not be considered for command profiling.
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-Total: 1.14 seconds
-\end{codebox}
-
-The tool has two execution modes: \emph{silent}, which is the default, and \emph{verbose}, which prints as much information about tasks as possible. When in silent mode, \arara\ will simply display the task and subtask names, as well as the execution result. Nothing more is added to the output. For instance:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-(BibTeX) The BibTeX reference management software ....... SUCCESS
-\end{codebox}
-
-When executed in verbose mode, \arara\ will display the underlying system command output as well, when applied. In version 4.0 of our tool, this mode was also entirely redesigned in order to avoid unnecessary clutter, so it would be easier to spot each task. For instance:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
------------------------------------------------------------------
-(BibTeX) The BibTeX reference management software
------------------------------------------------------------------
-This is BibTeX, Version 0.99d (TeX Live 2020)
-The top-level auxiliary file: doc5.aux
-The style file: plain.bst
-Database file #1: mybib.bib
-
---------------------------------------------------------- SUCCESS
-\end{codebox}
-
-It is important to observe that, when in verbose mode, \arara\ can offer proper interaction if the system command requires user intervention. However, when in silent mode, the tool will simply discard this requirement and the command will almost surely fail.
-
-\section{Options}
-\label{sec:options}
-
-In order to run \arara\ on your \TeX\ file, the simplest possible way is to provide the file name to the tool in your favourite command interpreter session, provided that the file has at least one directive:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara doc6.tex
-\end{codebox}
-
-From version 5.0 on, \arara\ may receive more than one file as parameter. It will compile them sequentially (starting with the leftmost). The process fails on the first failure of these executions. For the files to be flawlessly compiled by \TeX, they should be in the same working directory. If you process your files with other tools, this requirement could be lifted.
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara doc20.tex doc21.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'doc20.tex' (size: 28 B, last modified: 02/28/2020
-07:15:02), please wait.
-
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-
-Processing 'doc21.tex' (size: 28 B, last modified: 02/28/2020
-07:15:10), please wait.
-
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-
-Total: 1.20 seconds
-\end{codebox}
-
-The tool has a set of command line options (also known as flags or switches) that modify the underlying execution behaviour or enhance the execution workflow. If you do not provide any parameters, \arara\ will display the tool usage and the available options:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Usage: arara [OPTIONS] file...
-
-Options:
- -l, --log Generate a log output
- -v, --verbose / -s, --silent Print the command output
- -n, --dry-run Go through all the motions of running
- a command, but with no actual calls
- -s, --safe-run Run in safe mode and disable
- potentially harmful features. Make
- sure your projects uses only allowed
- features.
- -H, --header Extract directives only in the file
- header
- -p, --preamble TEXT Set the file preamble based on the
- configuration file
- -t, --timeout INT Set the execution timeout (in
- milliseconds)
- -L, --language TEXT Set the application language
- -m, --max-loops INT Set the maximum number of loops (> 0)
- -d, --working-directory PATH Set the working directory for all
- tools
- -P, --call-property VALUE Pass parameters to the application
- to be used within the session.
- -V, --version Show the version and exit
- -h, --help Show this message and exit
-
-Arguments:
- file The file(s) to evaluate and process
-\end{codebox}
-
-The available options for our tool are detailed as follows. Each option contains short and long variations, which are denoted by \opbox{o} and \opbox{{-}option} in the command line, respectively. Additionally, when a parameter is required by the current option, it will be denoted by \prbox{parameter} in the description.
-
-\begin{description}
-\item[\describeop{h}{help}] As the name indicates, this option prints the help message containing the tool usage and the list of all available options. The tool exits afterwards. When running \arara\ without any options or a file to be processed, this is the default behaviour. This option has the highest priority over the others.
-
-\item[\describeop{H}{header}] This option changes the mechanics of how \arara\ extracts the directives from the code. The tool always reads the entire file and extracts every single directive found throughout the code. However, by activating this switch, \arara\ will extract all directives from the beginning of the file until it reaches a line that is not empty and it is not a comment (hence the option name). Consider the following example:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{doc7.tex}
-% arara: pdftex
-Hello world.
-\bye
-
-% arara: pdftex
-\end{ncodebox}
-
-When running \arara\ without this option, two directives will be extracted (the ones found in lines 1 and 5). However, if executed with \opbox{{-}header}, the tool will only extract one directive (from line 1), as it will stop the extraction process as soon as it reaches line 2. This option can also be activated by default in the configuration file (see Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}).
-
-\item[\describeop{l}{log}] This option enables the logging feature of our tool. All streams from all system commands will be logged and, at the end of the execution, a consolidated log file named \rbox{arara.log} will be generated. This option can also be activated by default in the configuration file (see Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}). Refer to Chapter~\ref{chap:logging}, on page~\pageref{chap:logging}, for more details on the logging feature.
-
-\item[\describeopp{L}{language}{code}] This option sets the language of the current execution of \arara\ according to the language code identified by the \prbox{code} value provided as the parameter. The language code tries to follow the IETF BCP 47 norm, standardized nomenclature used to classify languages. For example, this is our tool speaking Dutch:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara -L nl doc5.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Verwerken van 'doc5.tex' (grootte: 285 B, laatst gewijzigd:
-03/01/2020 19:25:40), een ogenblik geduld.
-
-(PDFLaTeX) PDFLaTeX engine ............................ SUCCESVOL
-(BibTeX) The BibTeX reference management software ..... SUCCESVOL
-(PDFLaTeX) PDFLaTeX engine ............................ SUCCESVOL
-(PDFLaTeX) PDFLaTeX engine ............................ SUCCESVOL
-
-Totaal: 1,07 seconden
-\end{codebox}
-
-\begin{messagebox}{Navis volitans mihi anguillis plena est}{araracolour}{\icok}{white}
-At time of writing, \arara\ is able to speak English, German, Dutch, Italian and Brazilian Portuguese out of the box. There is also a special dialect named Broad Norfolk, spoken by those living in the county of Norfolk in England.
-
-\vspace{1em}
-
-{\centering
-\def\arraystretch{1.5}
-\setlength\tabcolsep{1em}
-\begin{tabular}{lll}
-\rbox[araracolour]{\hphantom{x}en\hphantom{x}} English &
-\rbox[araracolour]{\hphantom{x}de\hphantom{x}} German &
-\rbox[araracolour]{en-QN} Broad Norfolk \\
-\rbox[araracolour]{\hphantom{x}it\hphantom{x}} Italian &
-\rbox[araracolour]{\hphantom{x}nl\hphantom{x}} Dutch &
-\rbox[araracolour]{pt-BR} Portuguese (BR)
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-Would you like to make \arara\ speak your own language? Splendid! We would love to have you in the team! Just send us an electronic mail, join our \href{https://gitter.im/cereda/arara}{dedicated chatroom} or \href{https://gitlab.com/islandoftex/arara/issues}{open an issue} about it. The localization process is quite straightforward, we can help you. Any language is welcome!
-\end{messagebox}
-
-This option can also be specified in the configuration file (see Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}). However, one can always override this setting by running the tool with an explicit \opbox{L} option.
-
-\begin{messagebox}{Invalid language codes}{araracolour}{\icinfo}{white}
-From version 6.0 on, if you pass an invalid language code, \arara\ will now run in English and issue a log warning but not fail anymore. Failing due to the wrong language in the output was considered inappropriate.
-\end{messagebox}
-
-\item[\describeopp{m}{max-loops}{number}] As a means to avoid infinite iterations, \arara\ has a predefined maximum number of loops, with the default set to 10, as a technical solution (seen in Section~\ref{sec:directives}, on page~\pageref{sec:directives}). For instance, consider the following directive:
-
-\begin{codebox}{A naughty directive}{teal}{\icnote}{white}
-% arara: pdftex while true
-\end{codebox}
-
-The \opbox{{-}max-loops} option is used to redefine the maximum number of loops our tool will allow for potentially infinite iterations. Any positive integer can be used as the \prbox{number} value for this option. An execution of the previous directive with a lower maximum number of loops is shown as follows:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara -m 2 doc8.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'doc8.tex' (size: 45 B, last modified: 05/29/2018
-12:32:14), please wait.
-
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-
-Total: 0.58 seconds
-\end{codebox}
-
-This option can also be specified in the configuration file (see Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}). However, one can always override this setting by running the tool with an explicit \opbox{m} option.
-
-\item[\describeop{n}{dry-run}] This option makes \arara\ go through all the motions of running tasks and subtasks, but with no actual calls. It is a very useful feature for testing the sequence of underlying system commands to be performed on a file. For instance, consider the following execution:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara -n doc5.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing "doc5.tex" (size: 360 B, last modified: 12/28/2020
-13:03:32), please wait.
-
-[DR] (PDFLaTeX) PDFLaTeX engine
------------------------------------------------------------------
-Author: Island of TeX
-About to run: [pdflatex, doc5.tex] @ /home/paulo/Downloads
-
-[DR] (BibTeX) The BibTeX reference management software
------------------------------------------------------------------
-Author: Island of TeX
-About to run: [bibtex, doc5] @ /home/paulo/Downloads
-
-[DR] (PDFLaTeX) PDFLaTeX engine
------------------------------------------------------------------
-Author: Island of TeX
-About to run: [pdflatex, doc5.tex] @ /home/paulo/Downloads
-
-[DR] (PDFLaTeX) PDFLaTeX engine
------------------------------------------------------------------
-Author: Island of TeX
-About to run: [pdflatex, doc5.tex] @ /home/paulo/Downloads
-
-Total: 0.18 seconds
-\end{codebox}
-
-Note that the rule authors are displayed (so they can be blamed in case anything goes wrong), as well as the system command to be executed. It is an interesting approach to see everything that will happen to your document and in which order.
-
-\begin{messagebox}{Conditionals and boolean values}{attentioncolour}{\icattention}{black}
-It is very important to observe that conditionals are not evaluated when our tool is executed in the \opbox{{-}dry-run} mode, although they are properly listed. Also, when a rule returns a boolean value, the code is executed regardless of this mode.
-\end{messagebox}
-
-\item[\describeopp{p}{preamble}{name}] Some \TeX\ documents require the same automation steps, e.g, a set of articles. To this end, so as to avoid repeating the same preamble over and over in this specific scenario, \arara\ has the possibility of setting predefined preambles in a special section of the configuration file identified by a unique key for later use. This command line option prepends the predefined preamble referenced by the \prbox{name} key to the current document and then proceeds to extract directives, as usual. For instance:
-
-\begin{codebox}{Preamble}{teal}{\icnote}{white}
-twopdftex: |
- % arara: pdftex
- % arara: pdftex
-\end{codebox}
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{doc9.tex}
-Hello world.
-\bye
-\end{ncodebox}
-
-In this example, we have a preamble named \abox{twopdftex} and a \TeX\ file named \rbox{doc9.tex} with no directives. Of course, our tool will complain about missing directives, unless we deliberately inject the two directives from the predefined preamble into the current execution:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara -p twopdftex doc9.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'doc9.tex' (size: 18 B, last modified: 05/29/2018
-14:39:21), please wait.
-
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-
-Total: 0.96 seconds
-\end{codebox}
-
-It is important to note that this is just a directive-based preamble and nothing else, so a line other than a directive is discarded. Line breaks and conditionals are supported. Trying to exploit this area for other purposes will not work. The preamble specification in the configuration file is detailed in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}.
-
-\item[\describeopp{t}{timeout}{number}] This option sets an execution timeout for every task, in milliseconds. If the timeout is reached before the task ends, \arara\ will kill it and halt the execution. Any positive integer can be used as the \prbox{number} value for this option. Of course, use a sensible value to allow proper time for a task to be executed. For instance, consider the following recursive call:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{doc10.tex}
-% arara: pdftex
-\def\foo{\foo}
-This will go \foo forever.
-\bye
-\end{ncodebox}
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara --timeout 3000 doc9.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'doc10.tex' (size: 63 B, last modified: 05/29/2018
-15:24:06), please wait.
-
-(PDFTeX) PDFTeX engine ................................. ERROR
-
-The system command execution reached the provided timeout value
-and was aborted. If the time was way too short, make sure to
-provide a longer value. There are more details available on this
-exception:
-
-DETAILS ---------------------------------------------------------
-Timed out waiting for java.lang.UNIXProcess@6b53e23f to finish,
-timeout: 3000 milliseconds, executed command [pdftex, doc10.tex]
-
-Total: 3.37 seconds
-\end{codebox}
-
-If left unattended, this particular execution would never finish (and probably crash the engine at a certain point), as expected by the recursive calls without a proper fixed point. The \opbox{{-}timeout} option was set at 3000 milliseconds and the task was aborted when the time limit was reached. Note that the tool raised an error about it.
-
-\item[\describeop{d}{working-directory}] This option allows you to change the working directory. That is, the commands will run from a different directory than the directory you launched \arara\ in. This is especially useful when calling a \TeX\ engine as they resolve files against the working direcotry. For that reason, \arara\ will also resolve each file you pass to it that has no absolute path against the working directory. The working directory is fixed for the whole call; passing multiple files to \arara\ will resolve all of them against and execute all actions within that one working directory.
-
-\item[\describeop{V}{version}] This option, as the name indicates, prints the current version. It also prints the current revision and a list of libraries with their corresponding licenses. Finally, it simply exits the application. Note that this option has the second highest priority over the others.
-
-\item[\describeop{v}{verbose}] This option enables the verbose mode of \arara, as seen in Section~\ref{sec:userinterfacedesign}, on page~\pageref{sec:userinterfacedesign}. It also enables all streams to be flushed directly to the terminal, including potential user input interactions (the exact opposite of silent mode). This option can also be activated by default in the configuration file (see Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}).
-
-\item[\describeop{s}{silent}] This option disables the verbose mode of \arara\ (thus activating the default silent mode), if previously enabled by a proper configuration file (see Chapter~\ref{chap:configurationfile}, on page~\pageref{chap:configurationfile}). It is important to note that this command line option has higher priority over the \opbox{{-}verbose} counterpart.
-
-\item[\describeop{S}{safe-run}] This option enables the safe mode of \arara, protecting the system by disallowing certain user actions. Currently, the following features are restricted:
-
-\begin{itemize}[label={--}]
-\item File lookup will only perform explicit file resolution. Wildcard filters are disabled.
-
-\item \mtbox{unsafelyExecuteSystemCommand} will raise an exception and abort the run. Keep in mind that rules are still allowed to construct arbitrary commands using \rbox{Command} objects, so this restriction only disallows arbitrary system commands that would not get logged and are thus invisible to the user.
-
-\item The \rbox{options} parameter does not expand orb tags in any directive.
-\end{itemize}
-
-\item[\describeopp{P}{call-property}{entry}] This option forwards the provided \prbox{entry}, in the \rbox{key=value} format, to the session map. For instance, consider the following call:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-$ arara -P foo=bar hello.tex
-\end{codebox}
-
-In a rule, you may now retrieve the value associated to the \rbox{foo} key, which is \rbox{bar}, set at runtime, by calling the following method in your code:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-getSession().get('arg:foo')
-\end{codebox}
-
-This option may be called multiple times, as a means to provide as many data pairs as needed. Please refer to \mtbox{getSession} in Chapter~\ref{chap:methods}, on page~\pageref{chap:methods}, for more details.
-\end{description}
-
-You can combine options, use long or short variations interchangeably and write them in any order, provided that a file name is given at some point in the command line, otherwise the usage will be printed. Use the provided features in order to enhance and optimize your automation workflow.
-
-\section{File name lookup}
-\label{sec:filenamelookup}
-
-\arara, as a command line application, provides support for a restricted range of file types. In particular, the tool recognizes five file types based on their extensions. These types are presented as follows, as well as the lookup order.
-
-\vspace{1em}
-
-{\centering
-\setlength\tabcolsep{1em}
-\begin{tabular}{ccccc}
-{\footnotesize\textit{attempt 1}} &
-{\footnotesize\textit{attempt 2}} &
-{\footnotesize\textit{attempt 3}} &
-{\footnotesize\textit{attempt 4}} &
-{\footnotesize\textit{attempt 5}} \\
-\rbox{\hphantom{xx}tex\hphantom{xx}} &
-\rbox{\hphantom{xx}dtx\hphantom{xx}} &
-\rbox{\hphantom{xx}ltx\hphantom{xx}} &
-\rbox{\hphantom{xx}drv\hphantom{xx}} &
-\rbox{\hphantom{xx}ins\hphantom{xx}}
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-Note that other extensions can be added through a proper mapping in the configuration file, as well as modifying the lookup order. This feature is detailed later on, in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}. \arara\ employs the following scheme for file name lookup:
-
-\begin{itemize}[label={--}]
-\item First and foremost, if the provided file name already contains a valid extension, the tool attempts an exact match. If the file exists, it will be selected. This is the best approach if your working directory contains other files sharing the same base name.
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara doc11.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'doc11.tex' (size: 34 B, last modified: 05/29/2018
-19:40:35), please wait.
-
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-
-Total: 0.69 seconds
-\end{codebox}
-
-\item If the provided file name has an unsupported extension or no extension at all, the tool iterates through the list of default extensions, appending the current element to the file name and attempting an exact match. If the file exists, it will be selected.
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara doc11
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'doc11.tex' (size: 34 B, last modified: 05/29/2018
-19:40:35), please wait.
-
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-
-Total: 0.69 seconds
-\end{codebox}
-
-\item Many shells complete file names that have multiple extensions in the same directory, so that they end with a period. We try to
-resolve against them as well!
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara doc11.
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing 'doc11.tex' (size: 34 B, last modified: 05/29/2018
-19:40:35), please wait.
-
-(PDFTeX) PDFTeX engine .................................. SUCCESS
-
-Total: 0.69 seconds
-\end{codebox}
-\end{itemize}
-
-It is highly recommended to use complete file names with our tool, in order to ensure the correct file is being processed. If your command line interpreter features tab completion, you can use it to automatically fill partially typed file names from your working directory.
-
-\begin{messagebox}{Exit status support}{araracolour}{\icok}{white}
-\arara\ follows the good practices of software development and provides three values for exit status, so our tool can be programmatically used in scripts and other complex workflows.
-
-\vspace{1em}
-
-{\centering
-\def\arraystretch{1.5}
-\begin{tabular}{ll}
-\rbox[araracolour]{\hphantom{x}0\hphantom{x}} & Successful execution \\
-\rbox[araracolour]{\hphantom{x}1\hphantom{x}} & One of the rules failed \\
-\rbox[araracolour]{\hphantom{x}2\hphantom{x}} & An exception was raised
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-Please refer to the documentation of your favourite command line interpreter to learn more about exit status captures. Programming languages also offer methods for retrieving such information.
-\end{messagebox}
diff --git a/support/arara/doc/chapters/concepts.tex b/support/arara/doc/chapters/concepts.tex
deleted file mode 100644
index f4ea941ab6..0000000000
--- a/support/arara/doc/chapters/concepts.tex
+++ /dev/null
@@ -1,535 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{Important concepts}
-\label{chap:importantconcepts}
-
-Time for our first proper contact with \arara! I must stress that is very important to understand a few concepts in which \arara\ relies before we proceed to the usage itself. Do not worry, these concepts are easy to follow, yet they are vital to the comprehension of the application and the logic behind it.
-
-\section{Rules}
-\label{sec:rule}
-
-A \emph{rule} is a formal description of how \arara\ handles a certain task. For instance, if we want to use \rbox{pdflatex} with our tool, we should have a rule for that. Directives are mapped to rules, so a call to a non-existent rule \rbox{foo}, for instance, will indeed raise an error:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing "doc1.tex" (size: 31 B, last modified: 12/28/2020
-07:37:37), please wait.
-
- ERROR
-
-I could not find a rule named "foo" in the provided rule paths.
-Perhaps a misspelled word? I was looking for a file named
-"foo.yaml" in the following paths in order of priority:
-(/opt/paulo/arara/rules)
-
-Total: 0.03 seconds
-\end{codebox}
-
-Once a rule is defined, \arara\ automatically provides an access layer to that rule through directives in the source code, a concept to be formally introduced later on, in Section~\ref{sec:directives}. Observe that a directive reflects a particular instance of a rule of the same name (i.e, a \rbox{foo} directive in a certain source code is an instance of the \rbox{foo} rule).
-
-\begin{messagebox}{A note about rules}{attentioncolour}{\icattention}{black}
-From version 6.0 on, rules included in the core distribution have been renamed to have a unique prefix in the texmf tree. File names should not be relied upon.
-\end{messagebox}
-
-In short, a rule is a plain text file written in the YAML format, described in Chapter~\ref{chap:yaml}, on page~\pageref{chap:yaml}. I opted for this format because back then it was cleaner and more intuitive to use than other markup languages such as XML, besides of course being a data serialization standard for programming languages.
-
-\begin{messagebox}{Animal jokes}{araracolour}{\icok}{white}
-As a bonus, the acronym \emph{YAML} rhymes with the word \emph{camel}, so \arara\ is heavily environmentally friendly. Speaking of camels, there is the programming reference as well, since this amusing animal is usually associated with Perl and friends.
-\end{messagebox}
-
-The default rules, i.e, the rules shipped with \arara, are placed inside a special subdirectory named \abox[araracolour]{rules/} inside another special directory named \abox[araracolour]{ARARA\_HOME} (the place where our tool is installed). We will learn later on, in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}, that we can add an arbitrary number of paths for storing our own rules, in order of priority, so do not worry too much about the location of the default rules, although it is important to understand and acknowledge their existence. Observe, however, that rules in the core distribution have a different naming scheme than the ones located in the user space.
-
-The following list describes the basic structure of an \arara\ rule by presenting the proper elements (or keys, if we consider the proper YAML nomenclature). Observe that elements marked as \rbox[araracolour]{M} are mandatory (i.e, the rule \emph{has} to have them in order to work). Similarly, elements marked as \rbox[araracolour]{O} are optional, so you can safely ignore them when writing a rule for our tool. A key preceded by \rbox{context$\rightarrow$} indicates a context and should be properly defined inside it.
-
-\begin{description}
-\item[\describe{M}{!config}] This keyword is mandatory and must be the first line of any \arara\ rule. It denotes the object mapping metadata to be internally used by the tool. The tool requires it, so make sure to start all rules with a \abox{!config} keyword.
-
-\item[\describe{M}{identifier}] This key acts as a unique identifier for the rule (as expected). It is highly recommended to use lowercase letters without spaces, accents or punctuation symbols, as good practice (again). As a convention, if you have an identifier named \rbox{pdflatex}, the rule filename must be \rbox{pdflatex.yaml} (like our own instance). Please note that, although \rbox{yml} is known to be a valid YAML extension as well, \arara\ only considers files ending with the \rbox{yaml} extension. This is a deliberate decision.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-identifier: pdflatex
-\end{codebox}
-
-\item[\describe{M}{name}] This key holds the name of the \emph{task} (a rule instantiated through a directive) as a plain string. When running \arara, this value will be displayed in the output enclosed in parentheses.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-name: PDFLaTeX
-\end{codebox}
-
-\item[\describe{O}{authors}] We do love blaming people, so \arara\ features a special key to name the rule authors (if any) so you can write stern electronic communications to them! This key holds a list of strings. If the rule has just one author, add it as the first (and only) element of the list.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-authors:
-- Marco Daniel
-- Paulo Cereda
-\end{codebox}
-
-\item[\describe{M}{commands}] This key denotes a potential list of commands. From the user perspective, each command is called a \emph{subtask} within a task (rule and directive) context. A task may represent only a single command (a single subtask), as well as a sequence of commands (subtasks). For instance, the \rbox{frontespizio} rule requires at least two commands. So, as a means of normalizing the representation, a task composed of a single command (single subtask) is defined as the only element of the list, as opposed to previous versions of \arara, which had a specific key to hold just one command.
-
-In order to properly set a subtask, the keys used in this specification are defined inside the \rbox{commands$\rightarrow$} context and presented as follows.
-
-\begin{description}
-\item[\describecontext{O}{commands}{name}] This key holds the name of the subtask as a plain string. When running \arara, this value will be displayed in the output. Subtask names are displayed after the main task name. By the way, did you notice that this key is entirely optional? That means that a subtask can simply be unnamed, if you decide so. However, such practice is not recommended, as it's always good to have a visual description of what \arara\ is running at the moment, so name your subtasks properly.
-
-\item[\describecontext{M}{commands}{command}] This key holds the action to be performed, typically a system command. The tool offers two types of returned values:
-
-\begin{itemize}[label={--}]
-\item A \rbox{Command} object: \arara\ features an approach for handling system commands based on a high level structure with explicit argument parsing named \rbox{Command}. In order to use this approach, we need to rely on orb tags and use a helper method named \mtbox{getCommand} to obtain the desired result. We will detail this method later on, in Section~\ref{sec:commands}, on page~\pageref{sec:commands}.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command: "@{ return getCommand('ls') }"
-\end{codebox}
-
-\item A boolean value: it is also possible to exploit the expressive power of the underlying scripting language available in the rule context (see Chapter~\ref{chap:mvel}, on page~\pageref{chap:mvel}, for more details) for writing complex code. In this particular case, since the computation is being done by \arara\ itself and not the underlying operating system, there will not be a command to be executed, so simply return a boolean value -- either an explicit \rbox{true} or \rbox{false} value or a logical expression -- to indicate whether the computation was successful.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command: "@{ return 1 == 1 }"
-\end{codebox}
-\end{itemize}
-
-It is also worth mentioning that \arara\ also supports lists of commands represented as \rbox{Command} objects, boolean values or a mix of them. This is useful if your rule has to decide whether more actions are required in order to accomplish a task. In this case, our tool will take care of the list and execute each element in the specified order.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command: "@{ return [ getCommand('ls'), getCommand('ls') ] }"
-\end{codebox}
-
-As an example, please refer to the official \rbox{clean} rule for a real scenario where a list of commands is successfully employed: for each provided extension, the rule creates a new cleaning command and adds it to a list of removals to be processed later.
-
-There are at least one variable available in the \abox{command} context and is described as follows (note that MVEL variables and orb tags are discussed in Chapter~\ref{chap:mvel}). A variable will be denoted by \varbox{variable} in this list. For each rule argument (defined later on), there will be a corresponding variable in the \abox{command} context, directly accessed through its unique identifier.
-
-\begin{description}
-\item[\varbox{reference}] This variable holds the canonical, absolute path representation of the file name as a \rbox{File} object. This is useful if it's necessary to know the hierarchical structure of a project. Since the reference is a Java object, we can use methods available in the \rbox{File} class.
-\end{description}
-
-\begin{messagebox}{Quote handling}{araracolour}{\icinfo}{white}
-\setlength{\parskip}{1em}
-The YAML format disallows key values starting with \rbox{@} without proper quoting. This is the reason we had to use double quotes for the value and internally using single quotes for the command string. Also, we could use the other way around, or even using only one type and then escaping them when needed. This is excessively verbose but needed due to the format requirement.
-
-From version 6.0 on, the \rbox{<arara>} shorthand is not supported anymore. We encourage the use of a YAML feature named \emph{folded style} when writing such values. The idea here is to use the scalar content in folded style, as seen in Section~\ref{sec:yamlscalars}, on page~\pageref{sec:yamlscalars}. The new code will look like this:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command: >
- @{
- return getCommand('ls')
- }
-\end{codebox}
-
-Mind the indentation, as YAML requires it to properly identify blocks. If your code still relies on the \rbox{<arara>} shorthand, please update it accordingly to use YAML's folded style instead.
-\end{messagebox}
-
-\item[\describecontext{O}{commands}{exit}] This key holds a special purpose, as it represents a custom exit status evaluation for the corresponding command. In general, a successful execution has zero as an exit status, but sometimes we end up with tools or situations where we need to override this check for whatever reason. For this purpose, simply write a MVEL expression \emph{without orb tags} as plain string and use the special variable \varbox{value} if you need the actual exit status returned by the command, available at runtime. For example, if the command returns a non-zero value indicating a successful execution, we can write this key as:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-exit: value > 0
-\end{codebox}
-
-If the execution should be marked as successful by \arara\ regardless of the actual exit status, you can simply write \rbox{true} as the key value and this rule will never fail, for obvious reasons.
-\end{description}
-
-For instance, consider a full example of the \abox{commands} key, defined with only one command, presented as follows. The hyphen denotes a list element, so mind the indentation for correctly specifying the component keys. Also, note that, in this case, the \abox{exit} key was completely optional, as it does the default checking, and it was included for didactic purposes.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-commands:
-- name: The PDFLaTeX engine
- command: >
- @{
- return getCommand('pdflatex', file)
- }
- exit: value == 0
-\end{codebox}
-
-\item[\describe{M}{arguments}] This key holds a list of arguments for the current rule, if any. The arguments specified in this list will be available to the user later on for potential completion through directives. Once instantiated, they will become proper variables in the \abox{command} contexts. This key is mandatory, so even if your rule does not have arguments, you need to specify a list regardless. In this case, use the empty list notation:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-arguments: []
-\end{codebox}
-
-In order to properly set an argument, the keys used in this specification are defined inside the \rbox{arguments$\rightarrow$} context and presented as follows.
-
-\begin{description}
-\item[\describecontext{M}{arguments}{identifier}] This key acts as a unique identifier for the argument. It is highly recommended to use lowercase letters without spaces, accents or punctuation symbols, as a good practice. This key will be used later on to set the corresponding value in the directive context.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-identifier: shell
-\end{codebox}
-
-It is important to mention that not all names are valid as argument identifiers. \arara\ has restrictions on two names, described as follows, which cannot be used.
-
-\begin{messagebox}{Reserved names for rule arguments}{attentioncolour}{\icattention}{black}
-Our tool has two names reserved for internal use: \abox{files}, and \abox{reference}. Do not use them as argument identifiers!
-\end{messagebox}
-
-\item[\describecontext{O}{arguments}{flag}] This key holds a plain string and is evaluated when the corresponding argument is defined in the directive context. After being evaluated, the result will be stored in a variable of the same name to be later accessed in the \abox{command} context. In the scenario where the argument is not defined in the directive, the variable will hold an empty list.
-
-\begin{messagebox}{Return type}{araracolour}{\icinfo}{white}
-From version 6.0 on, the return value for \abox{flag} is now transformed into a proper \rbox{List<String>} type instead of a plain, generic \rbox{Object} reference, as seen in previous versions. The following rules apply:
-
-\begin{itemize}[label={--}]
-\item If a list is returned, it will be flattened and all values will be turned into strings.
-
-\rbox[araracolour]{\hspace{1ex}[ 'a', 1, [ 2, 'b' ] ]\hspace{1ex}} $\implies$ \rbox[araracolour]{\hspace{1ex}[ 'a', '1', '2', 'b' ]\hspace{1ex}}
-
-\item If a string is returned, a single list with only that string will be returned.
-
-\rbox[araracolour]{\hspace{1ex}'hello world'\hspace{1ex}} $\implies$ \rbox[araracolour]{\hspace{1ex}[ 'hello world' ]\hspace{1ex}}
-
-\item If another type is returned, it will be turned into string.
-
-\rbox[araracolour]{\hspace{1ex}3.1415\hspace{1ex}} $\implies$ \rbox[araracolour]{\hspace{1ex}[ '3.1415' ]\hspace{1ex}}
-\end{itemize}
-
-Other return types than string or lists are not encouraged. However, if such types are used, they will be transformed into a list of strings, as previously seen. If you need interoperability of complex \abox{command} code with older versions, use the following trick to get the value of previously non-list values:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-isList(variable) ? variable[0] : variable
-\end{codebox}
-
-In this way, one can keep a compatibility layer for older versions. However, it is highly recommended to use the latest version of \arara\ whenever possible.
-
-\end{messagebox}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-flag: >
- @{
- isTrue(parameters.shell, '--shell-escape',
- '--no-shell-escape')
- }
-\end{codebox}
-
-There are two variables available in the \abox{flag} context, described as follows. Note that are also several helper methods available in the rule context (for instance, \mtbox{isTrue} presented in the previous example) which provide interesting features for rule writing. They are detailed later on, in Chapter~\ref{chap:methods}, on page~\pageref{chap:methods}.
-
-\begin{description}
-\item[\varbox{parameters}] This variable holds a map of directive parameters available at runtime. For each argument identifier listed in the \abox{arguments} list in the rule context, there will be an entry in this variable. This is useful to get the actual values provided during execution and take proper actions. If a parameter is not set in the directive context, the reference will still exist in the map, but it will be mapped to an empty string.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-check = parameters.contains("foo");
-\end{codebox}
-
-\item[\varbox{reference}] This variable holds the canonical, absolute path representation of the file name as a \rbox{File} object. This is useful if it is necessary to know the hierarchical structure of a project. Since the reference is a Java object, we can use methods available in the \rbox{File} class.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-parent = reference.getParent();
-\end{codebox}
-\end{description}
-
-In the previous example, observe that the MVEL expression defined in the \abox{flag} key checks if the user provided an affirmative value regarding shell escape, through comparing \varbox{parameters.shell} with a set of predefined affirmative values. In any case, the corresponding command flag is defined as result of such evaluation.
-
-\item[\describecontext{O}{arguments}{default}] As default behaviour, if a parameter is not set in the directive context, the reference will be mapped to an empty string. This key exists for the exact purpose of overriding such behaviour and always expects a string value, as if it were provided by the user in the directive context.
-
-\begin{messagebox}{No more evaluation and variables}{araracolour}{\icinfo}{white}
-\setlength{\parskip}{1em}
-In earlier versions, \arara\ used to evaluate the \abox{default} key and return a plain, generic \rbox{Object} reference, which was then forwarded directly to the corresponding \abox{command} context. The workflow changed for version 6.0 on.
-
-From now on, \abox{default} always expects a string value, as if it were provided by the user in the directive context. No variables are available and no more evaluation is expected from this key. Consider the following example:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-default: "@{ 1 == 1 }"
-\end{codebox}
-
-There is an orb tag expression in this string, which should resolve to \rbox{true} in previous versions of \arara. However, from now on, it will not be evaluated at all and the literal string will be assigned to the \abox{default} key.
-
-The \abox{default} key, whenever available and in the scenario in which the user does not provide an explicit value for the current argument in the directive context, is forwarded to the \abox{flag} context for proper evaluation. Then the workflow proceeds as usual.
-\end{messagebox}
-
-\begin{messagebox}{Return type}{araracolour}{\icinfo}{white}
-\setlength{\parskip}{1em}
-The \abox{default} key, whenever available, returns a string to be evaluated in the corresponding \abox{flag} context. However, if the target evaluation context does not exist (i.e, there is no corresponding \abox{flag} key), the value is transformed into a list of strings and then forwarded directly to the \abox{command} context. For instance:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-- identifier: foo
- default: 'bar'
-\end{codebox}
-
-This scenario will directly forward \rbox[araracolour]{\hspace{1ex}[ 'bar' ] \hspace{1ex}} (a list of strings containing the specified value as single element) as the value for the \varbox{foo} variable in the corresponding \abox{command} context.
-\end{messagebox}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-default: 'stable'
-\end{codebox}
-
-\item[\describecontext{O}{arguments}{required}] There might be certain scenarios in which a rule could make use of required arguments (for instance, a copy operation in which source and target must be provided). The \abox{required} key acts as a boolean switch to indicate whether the corresponding argument should be mandatory. In this case, set the key value to \rbox{true} and the argument becomes required. Later on at runtime, \arara\ will throw an error if a required parameter is missing in the directive.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-required: false
-\end{codebox}
-
-Note that setting the \abox{required} key value to \rbox{false} corresponds to omitting the key completely in the rule context, which resorts to the default behaviour (i.e, all arguments are optional).
-\end{description}
-
-\begin{messagebox}{Note on argument keys}{attentioncolour}{\icattention}{black}
-As seen previously, both \abox{flag} and \abox{default} are marked as optional, but at least one of them must occur in the argument specification, otherwise \arara\ will throw an error, as it makes no sense to have no argument handling at all. Please make sure to specify at least one of them for a consistent behaviour!
-\end{messagebox}
-
-For instance, consider a full example of the \abox{arguments} key, defined with only one argument, presented as follows. The hyphen denotes a list element, so mind the indentation for correctly specifying the component keys. Also, note that, in this case, keys \abox{required} and \abox{default} were completely optional, and they were included for didactic purposes.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-arguments:
-- identifier: shell
- flag: >
- @{
- isTrue(parameters.shell,
- '--shell-escape',
- '--no-shell-escape')
- }
- required: false
- default: 'false'
-\end{codebox}
-\end{description}
-
-This is the rule structure in the YAML format used by \arara. Keep in mind that all subtasks in a rule are checked against their corresponding exit status. If an abnormal execution is detected, the tool will instantly halt and the rule will fail. Even \arara\ itself will return an exit code different than zero when this situation happens (detailed in Chapter~\ref{chap:commandline}, on page~\pageref{chap:commandline}).
-
-\section{Directives}
-\label{sec:directives}
-
-A \emph{directive} is a special comment inserted in the source file in which you indicate how \arara\ should behave. You can insert as many directives as you want and in any position of the file. The tool will read the whole file and extract the directives.
-
-There are two types of directives in \arara\ which determine the way the corresponding rules will be instantiated. They are listed as follows. Note that directives are always preceded by the \rbox{arara:} pattern.
-
-\begin{description}
-\item[empty directive] This type of directive has already been mentioned in Chapter~\ref{chap:introduction}, on page~\pageref{chap:introduction}, it has only the rule name (which refers to the \abox{identifier} key from the rule of the same name). All rule arguments are mapped to empty lists, except the ones with \abox{default} values, mapped to lists containing single elements.
-
-\begin{codebox}{Empty directive}{teal}{\icnote}{white}
-% arara: pdflatex
-\end{codebox}
-
-\item[parametrized directive] This type of directive also has the rule name (which refers to the \abox{identifier} key from the rule of the same name), and also contains a map of parameters in order to provide additional information to the corresponding rule. This map is defined in the YAML format, based on the inline style.
-
-\begin{codebox}{Parametrized directive}{teal}{\icnote}{white}
-% arara: pdflatex: { shell: yes }
-\end{codebox}
-
-Observe that \arara\ relies on named parameters, so they are mapped by their corresponding argument identifiers and not by their positions. The syntax for a parameter is described as follows. Please refer to the map definition in Section~\ref{sec:yamlcollections}, on page~\pageref{sec:yamlcollections}.
-
-\begin{codebox}{Parameter syntax}{teal}{\icnote}{white}
-key : value
-\end{codebox}
-
-Note that virtually any type of data can be used as parameter value, so lists, integers, booleans, sets and other maps are available as well. However, there must be the correct handling of such types in the rule context.
-\end{description}
-
-When handling parametrized directives, \arara\ always checks if directive parameters and rule arguments match. If we try to inject a non-existent parameter in a parametrized directive, the tool will raise an error about it:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing "hello.tex" (size: 102 B, last modified: 12/28/2020
-10:28:00), please wait.
-
- ERROR
-
-I found these unknown keys in the directive: (foo). This should
-be an easy fix, just remove them from your map.
-
-Total: 0.21 seconds
-\end{codebox}
-
-As the message suggests, we need to remove the unknown parameter key from our directive or rewrite the rule in order to include it as an argument. The first option is, of course, easier.
-
-Sometimes, directives can span several columns of a line, particularly the ones with several parameters. We can split a directive into multiple lines by using the \rbox{arara: {-}{-}>} mark (also known as \emph{arrow notation} during development) to each line which should compose the directive. We call it a \emph{multiline directive}. Let us see an example:
-
-\begin{codebox}{Multiline directive}{teal}{\icnote}{white}
-% arara: pdflatex: {
-% arara: --> shell: yes,
-% arara: --> synctex: yes
-% arara: --> }
-\end{codebox}
-
-It is important to observe that there is no need of them to be in contiguous lines, i.e, provided that the syntax for parametrized directives hold for the line composition, lines can be distributed all over the code. In fact, the log file (when enabled) will contain a list of all line numbers that compose a directive. This feature is discussed later on, in Section~\ref{sec:directiveextraction}, on page~\pageref{sec:directiveextraction}.
-
-\begin{messagebox}{Keep lines together}{araracolour}{\icinfo}{white}
-Although it is possible to spread lines of a multiline directive all over the code, it is considered good practice to keep them together for easier reading and editing. In any case, you can always see which lines compose a directive by inspecting the log file.
-\end{messagebox}
-
-\arara\ provides logical expressions, written in the MVEL language, and special operators processed at runtime in order to determine whether and how a directive should be processed. This feature is named \emph{directive conditional}, or simply \emph{conditional} as an abbreviation. The following list describes all conditional operators available in the directive context.
-
-\begin{description}
-\item[\describeconditional{a priori}{if}] The associated MVEL expression is evaluated beforehand, and the directive is interpreted if, and only if, the result of such evaluation is true. This directive, when the conditional holds true, is executed at most once.
-
-\begin{codebox}{Conditional}{teal}{\icnote}{white}
-% arara: pdflatex if missing('pdf') || changed('tex')
-\end{codebox}
-
-\item[\describeconditional{a posteriori}{until}] The directive is interpreted the first time, then the associated MVEL expression evaluation is done. While the result holds false, the directive is interpreted again and again. There are no guarantees of proper halting.
-
-\begin{codebox}{Conditional}{teal}{\icnote}{white}
-% arara: pdflatex until !found('log', 'undefined references')
-\end{codebox}
-
-\item[\describeconditional{a priori}{unless}] Technically an inverted \cdbox{if} conditional, the associated MVEL expression is evaluated beforehand, and the directive is interpreted if, and only if, the result is false. This directive, when the conditional holds false, is executed at most once.
-
-\begin{codebox}{Conditional}{teal}{\icnote}{white}
-% arara: pdflatex unless unchanged('tex') && exists('pdf')
-\end{codebox}
-
-\item[\describeconditional{a priori}{while}] The associated MVEL expression is evaluated beforehand, the directive is interpreted if, and only if, the result is true, and the process is repeated while the result still holds true. There are no guarantees of proper halting.
-
-\begin{codebox}{Conditional}{teal}{\icnote}{white}
-% arara: pdflatex while missing('pdf') ||
-% arara: --> found('log', 'undefined references')
-\end{codebox}
-\end{description}
-
-Several methods are available in the directive context in order to ease the writing of conditionals, such as \mtbox{missing}, \mtbox{changed}, \mtbox{found}, \mtbox{unchanged}, and \mtbox{exists} featured in the previous examples. They will be properly detailed later on, in Section~\ref{sec:files}, on page~\pageref{sec:files}.
-
-\begin{messagebox}{No infinite loops}{araracolour}{\icinfo}{white}
-Although there are no conceptual guarantees for proper halting of unbounded loops, we have provided a technical solution for potentially infinite iterations: \arara\ has a predefined maximum number of loops. The default value is set to 10, but it can be overridden either in the configuration file or with a command line flag. We discuss this feature later on, in Sections~\ref{sec:options} and~\ref{sec:basicstructure}, on pages~\pageref{sec:options} and~\pageref{sec:basicstructure}, respectively.
-\end{messagebox}
-
-All directives, regardless of their type, are internally mapped alongside with the \abox{reference} parameter, discussed earlier on, in Section~\ref{sec:coreconcepts}, on page~\pageref{sec:coreconcepts}, as a special variable in the rule context. When inspecting the log file, you will find all map keys and values for each extracted directive (actually, there is an entire log section devoted to detailing directives found in the code). This feature is covered in Section~\ref{sec:directivenormalization}, on page~\pageref{sec:directivenormalization}. See, for instance, the report of the directive extraction and normalization process performed by \arara\ when inspecting \rbox{doc2.tex}, available in the log file. Note that timestamps were deliberately removed in order to declutter the output, and line breaks were included in order to easily spot the log entries.
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{doc2.tex}
-% arara: pdflatex
-% arara: pdflatex: { shell: yes }
-\documentclass{article}
-
-\begin{document}
-Hello world.
-\end{document}
-\end{ncodebox}
-
-\begin{codebox}{An excerpt of the log file (directive section)}{teal}{\icnote}{white}
-Directive: { identifier: pdflatex, parameters:
-{reference=/home/paulo/doc2.tex},
-conditional: { NONE }, lines: [1] }
-
-Directive: { identifier: pdflatex, parameters:
-{shell=yes, reference=/home/paulo/doc2.tex},
-conditional: { NONE }, lines: [2] }
-\end{codebox}
-
-The directive context also features another special parameter named \abox{files} which expects a non-empty list of file names as plain string values. For each element of this list, \arara\ will replicate the current directive and point the element being iterated as current \abox{reference} value (resolved to a proper absolute, canonical path of the file name). See, for instance, the report of the directive extraction and normalization process performed by \arara\ when inspecting \rbox{doc3.tex}, available in the log file.
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{doc3.tex}
-% arara: pdflatex: { files: [ doc1.tex, doc2.tex ] }
-Hello world.
-\bye
-\end{ncodebox}
-
-\begin{codebox}{An excerpt of the log file (directive section)}{teal}{\icnote}{white}
-Directive: { identifier: pdflatex, parameters:
-{reference=/home/paulo/doc1.tex},
-conditional: { NONE }, lines: [1] }
-
-Directive: { identifier: pdflatex, parameters:
-{reference=/home/paulo/doc2.tex},
-conditional: { NONE }, lines: [1] }
-\end{codebox}
-
-It is important to observe that, in this case, \rbox{doc3.tex} is a plain \TeX\ file, but \rbox{pdflatex} is actually being called on two \LaTeX\ documents, first \rbox{doc1.tex} and then, at last, \rbox{doc2.tex}.
-
-Even when a directive is interpreted with a file other than the one being processed by \arara\ (through the magic of the \abox{files} parameter), it is possible to use helper methods in the rule context to get access to the original file and reference. Such methods are detailed later on, in Section~\ref{sec:files}, on page~\pageref{sec:files}.
-
-\begin{messagebox}{Orb tag expansion in parameter values}{araracolour}{\icinfo}{white}
-From version 6.0 on, \arara\ is able to expand orb tags within a special \rbox{options} parameter in the directive context. For instance:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: lualatex: {
-% arara: --> options: [ '--output-directory=@{getSession().
-% arara: --> get("arg:builddir")}'
-% arara: --> ]
-% arara: --> }
-\end{codebox}
-
-This feature supports the following methods with their documented meanings, as seen in Chapter~\ref{chap:methods}, on page~\pageref{chap:methods}:
-
-\vspace{2ex}
-
-\begin{tabularx}{0.95\textwidth}{YYY}
-\mtbox{getBasename} & \mtbox{getSession} & \mtbox{getOriginalReference}
-\end{tabularx}
-
-\vspace{2ex}
-
-Keep in mind that this feature is disabled when \arara\ is running in safe mode, as seen in Chapter~\ref{chap:commandline}, on page~\pageref{chap:commandline}.
-\end{messagebox}
-
-\section{Important changes in version 6}
-\label{sec:migrationguide}
-
-\begin{messagebox}{A note to users}{araracolour}{\icattention}{white}
-If this is your first time using \arara\ or you do not have custom rules in the old format, you can safely ignore this section. All rules shipped with our tool are already written in the new format.
-\end{messagebox}
-
-\begin{messagebox}{{API, CLI} and library}{araracolour}{\icinfo}{white}
-From version 6.0 on, \arara\ is now split into an API, a core implementation (library) and the implementation of the executable (command line interface). Projects relying on code in the \rbox{arara} JAR distributions have to be updated.
-\end{messagebox}
-
-\begin{messagebox}{Localization updates}{araracolour}{\icinfo}{white}
-The localization framework was redesigned in version 6.0:
-
-\begin{itemize}[label={--}]
-\item Localization is now provided by classes as a library instead of property files in the tool resources.
-
-\item From version 6.0 on, languages have to be passed as IETF BCP 47 codes. The old system has been removed. Hence, please use \rbox{en-QN} instead of \rbox{qn}, and so forth.
-
-\item If you pass an invalid language code, \arara\ will now run in English and issue a log warning but not fail anymore. Failing due to the wrong language in the output was considered inappropriate.
-\end{itemize}
-\end{messagebox}
-
-\begin{messagebox}{Method signature changes}{araracolour}{\icinfo}{white}
-The following method signatures have been altered:
-
-\begin{itemize}
-\item[\textcolor{warningcolour}{\faClose}]\mddbox{C}{R}{loadObject(File file, String name)}{Pair<Integer, Object>}
-
-\vspace{.5em}
-
-\hspace{2cm}\textcolor{teal}{\faArrowDown}
-
-\item[\textcolor{okcolour}{\faCheck}]\mddbox{C}{R}{\parbox{0.32\textwidth}{loadObject(File file,\\ \hspace*{1em}String name)}}{\parbox{0.43\textwidth}{Pair<ClassLoading.\\
-\hspace*{1em}ClassLoadingStatus, Object>}}
-
-\vspace{1em}
-
-{\color{araracolour}\hrule}
-
-\item[\textcolor{warningcolour}{\faClose}]\mddbox{C}{R}{loadObject(String ref, String n)}{Pair<Integer, Object>}
-
-\vspace{.5em}
-
-\hspace{2cm}\textcolor{teal}{\faArrowDown}
-
-\item[\textcolor{okcolour}{\faCheck}]\mddbox{C}{R}{\parbox{0.32\textwidth}{loadObject(String ref,\\ \hspace*{1em}String n)}}{\parbox{0.43\textwidth}{Pair<ClassLoading.\\
-\hspace*{1em}ClassLoadingStatus, Object>}}
-
-\vspace{1em}
-
-{\color{araracolour}\hrule}
-
-\item[\textcolor{warningcolour}{\faClose}]\mddbox{C}{R}{loadClass(File file, String name)}{Pair<Integer, Object>}
-
-\vspace{.5em}
-
-\hspace{2cm}\textcolor{teal}{\faArrowDown}
-
-\item[\textcolor{okcolour}{\faCheck}]\mddbox{C}{R}{\parbox{0.32\textwidth}{loadClass(File file,\\ \hspace*{1em}String name)}}{\parbox{0.43\textwidth}{Pair<ClassLoading.\\
-\hspace*{1em}ClassLoadingStatus, Object>}}
-
-\vspace{1em}
-
-{\color{araracolour}\hrule}
-
-\item[\textcolor{warningcolour}{\faClose}]\mddbox{C}{R}{loadClass(String ref, String n)}{Pair<Integer, Object>}
-
-\vspace{.5em}
-
-\hspace{2cm}\textcolor{teal}{\faArrowDown}
-
-\item[\textcolor{okcolour}{\faCheck}]\mddbox{C}{R}{\parbox{0.32\textwidth}{loadClass(String ref,\\ \hspace*{1em}String n)}}{\parbox{0.43\textwidth}{Pair<ClassLoading.\\
-\hspace*{1em}ClassLoadingStatus, Object>}}
-\end{itemize}
-
-You can now access the status values as enumeration.
-\end{messagebox}
-
-\begin{messagebox}{Null handling}{araracolour}{\icinfo}{white}
-The implementation of methods available within rules has been moved to Kotlin causing \rbox{null} values to be handled differently. Previously undefined behavior will now cause an error.
-\end{messagebox}
-
-This section pretty much covered the basics of the changes to this version. Of course, it is highly advisable to make use of the new features available in \arara\ 6.0 for achieving better results. If you need any help, please do not hesitate to contact us. See Section~\ref{sec:support}, on page~\pageref{sec:support}, for more details on how to get help.
diff --git a/support/arara/doc/chapters/configuration.tex b/support/arara/doc/chapters/configuration.tex
deleted file mode 100644
index b321c176ae..0000000000
--- a/support/arara/doc/chapters/configuration.tex
+++ /dev/null
@@ -1,269 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{Configuration file}
-\label{chap:configurationfile}
-
-\arara\ provides a persistent model of modifying the underlying execution behaviour or enhancing the execution workflow through the concept of a configuration file. This chapter provides the basic structure of that file, as well as details on the file lookup in the operating system.
-
-\section{File lookup}
-\label{sec:filelookup}
-
-Our tool looks for the presence of at least one of four very specific files before execution. These files are presented as follows. Observe that the directories must have the correct permissions for proper lookup and access. The lookup order is also presented.
-
-\vspace{1em}
-
-{\centering
-\begin{tabular}{cccc}
-{\footnotesize\textit{attempt 1}} &
-{\footnotesize\textit{attempt 2}} &
-{\footnotesize\textit{attempt 3}} &
-{\footnotesize\textit{attempt 4}} \\
-\rbox{.araraconfig.yaml} &
-\rbox{araraconfig.yaml} &
-\rbox{.arararc.yaml} &
-\rbox{arararc.yaml}
-\end{tabular}
-\par}
-
-\vspace{1.4em}
-
-\arara\ provides two approaches regarding the location of a configuration file. They dictate how the execution should behave and happen from a user perspective, and are described as follows.
-
-\begin{description}
-\item[global configuration file] For this approach, the configuration file should be located at \abox[araracolour]{USER\_HOME} which is the home directory of the current user. All subsequent executions of \arara\ will read this configuration file and apply the specified settings accordingly. However, it is important to note that this approach has the lowest lookup priority, which means that a local configuration, presented as follows, will always supersede a global counterpart.
-
-\item[local configuration file] For this approach, the configuration file should be located at \abox[araracolour]{USER\_DIR} which is the working directory associated with the current execution. This directory can also be interpreted as the one relative to the processed file. This approach offers a project-based solution for complex workflows, e.g, a thesis or a book. However, \arara\ must be executed within the working directory, or the local configuration file lookup will fail. Observe that this approach has the highest lookup priority, which means that it will always supersede a global configuration.
-\end{description}
-
-\begin{messagebox}{Beware of empty configuration files}{attentioncolour}{\icattention}{black}
-A configuration file should never be empty, otherwise \arara\ will complain about it. Make sure to populate it with at least one key, or do not write a configuration file at all. The available keys are described in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}.
-\end{messagebox}
-
-If the logging feature is properly enabled, \arara\ will indicate in the corresponding \rbox{arara.log} file whether a configuration file was used during the execution and, if so, the corresponding canonical, absolute path. Logging is detailed later on, in Chapter~\ref{chap:logging}, on page~\pageref{chap:logging}.
-
-\section{Basic structure}
-\label{sec:basicstructure}
-
-The following list describes the basic structure of an \arara\ configuration file by presenting the proper elements (or keys, if we consider the proper YAML nomenclature). Observe that elements marked as \rbox[araracolour]{M} are mandatory (i.e, the configuration file \emph{has} to have them in order to work). Similarly, elements marked as \rbox[araracolour]{O} are optional, so you can safely ignore them when writing a configuration file for our tool.
-
-\begin{description}
-\item[\describe{M}{!config}] This keyword is mandatory and must be the first line of a configuration file. It denotes the object mapping metadata to be internally used by the tool. Actually, the tool is not too demanding on using it (in fact, you could suppress it entirely and \arara\ will not complain), but it is considered good practice to start a configuration file with a \abox{!config} keyword regardless.
-
-\item[\describecfn{O}{string list}{paths}] When looking for rules, \arara\ always searches the default rule path, which consists of a special subdirectory named \abox[araracolour]{rules/} inside another special directory named \abox[araracolour]{ARARA\_HOME} (the place where our tool is installed). If no rule is found, the execution halts with an error. The \abox{paths} key specifies a list of directories, represented as plain strings, in which our tool should search for rules. The default path is appended to the list. Then the search happens from the first to the last element, in order.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-paths:
-- '/home/paulo/rules'
-- '/opt/paulo/rules'
-\end{codebox}
-
-There are three variables available in the \abox{paths} context and are described as follows (note that MVEL variables and orb tags are discussed in Chapter~\ref{sec:mvelbasicusage}). A variable will be denoted by \varbox{variable} in this list.
-
-\begin{description}
-\item[\varbox{user.home}] This variable, as the name implies, holds the value of the absolute, canonical path of \abox[araracolour]{USER\_HOME} which is the home directory of the current user, as plain string. Note that the specifics of the home directory (such as name and location) are defined by the operating system involved.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-paths:
-- '@{user.home}/rules'
-\end{codebox}
-
-\item[\varbox{user.name}] This variable, as the name implies, holds the value of the current user account name, as plain string. On certain operating systems, this value is used to build the home directory structure.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-paths:
-- '/home/@{user.name}/rules'
-\end{codebox}
-
-\item[\varbox{application.workingDirectory}] This variable, as the name implies, holds the value of the absolute, canonical path of the working directory associated with the current execution, as plain string.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-paths:
-- '@{application.workingDirectory}/rules'
-\end{codebox}
-\end{description}
-
-Observe that the \varbox{user} and \varbox{application} variables actually holds maps. However, for didactic purposes, it is easier to use the property navigation feature of MVEL, detailed in Section~\ref{sec:propertynavigation}, on page~\pageref{sec:propertynavigation}, and consider the map references as three independent variables. You can use property navigation styles interchangeably.
-
-\begin{messagebox}{Avoid folded and literal styles for scalars in a path}{attentioncolour}{\icattention}{black}
-Do not use folded or literal styles for scalars in a path! The orb tag resolution for a path in plain string should be kept as simple as possible, so \emph{always} use the inline style.
-\end{messagebox}
-
-\item[\describecf{O}{string}{language}{en}] This key sets the language of all subsequent executions of \arara\ according to the provided language code value, as plain string. The default language is set to English. Also, it is very important to observe that the \opbox{{-}language} command line option can override this setting.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-language: nl
-\end{codebox}
-
-\item[\describecf{O}{integer}{loops}{10}] This key redefines the maximum number of loops \arara\ will allow for potentially infinite iterations. Any positive integer can be used as the value for this variable. Also, it is very important to observe that the \opbox{{-}max-loops} command line option can override this setting.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-loops: 30
-\end{codebox}
-
-\item[\describecf{O}{boolean}{verbose}{false}] This key activates or deactivates the verbose mode of \arara\ as default mode, according to the associated boolean value. Also, it is very important to observe that the \opbox{{-}verbose} command line option can override this setting if, and only if, this variable holds \rbox{false} as the value. Similarly, the \opbox{{-}silent} command line option can override this setting if, and only if, this variable holds \rbox{true} as the value.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-verbose: true
-\end{codebox}
-
-\item[\describecf{O}{boolean}{logging}{false}] This key activates or deactivates the logging feature of \arara\ as the default behaviour, according to the associated boolean value. Also, it is very important to observe that the \opbox{{-}log} command line option can override this setting if, and only if, this variable holds \rbox{false} as the value.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-logging: true
-\end{codebox}
-
-\item[\describecf{O}{boolean}{header}{false}] This key modifies the directive extraction, according to the associated boolean value. If enabled, \arara\ will extract all directives from the beginning of the file until it reaches a line that is not empty and it is not a comment. Otherwise, the tool will resort to the default behaviour and extract all directives from the entire file. It is very important to observe that the \opbox{{-}header} command line option can override this setting if, and only if, this variable holds \rbox{false} as the value.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-header: false
-\end{codebox}
-
-\item[\describecf{O}{string}{logname}{arara}] This key modifies the default log file name, according to the associated plain string value, plus the \rbox{log} extension. The value cannot be empty or contain invalid characters. There is no orb tag evaluation in this specific context, only a plain string value. The log file will be written by our tool if, and only if, the \opbox{{-}log} command line option is used.
-
-\begin{messagebox}{Log paths}{araracolour}{\icok}{white}
-From version 6.0 on, the log file may now be specified as path \emph{anywhere} on the file system. However, keep in mind that this behavior may be altered for future updates in safe mode.
-\end{messagebox}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-logname: mylog
-\end{codebox}
-
-\item[\describecf{O}{string}{dbname}{arara}] This key modifies the default YAML database file name, according to the associated plain string value, plus the \rbox{yaml} extension. The value cannot be empty or contain invalid characters. There is no orb tag evaluation in this specific context, only a plain string value. This database is used by file hashing operations, detailed in Section~\ref{sec:files}, on page~\pageref{sec:files}.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-dbname: mydb
-\end{codebox}
-
-\item[\describecf{O}{string}{laf}{none}] This key modifies the default look and feel class reference, i.e, the appearance of GUI widgets provided by our tool, according to the associated plain string value. The value cannot be empty or contain invalid characters. There is no orb tag evaluation in this specific context, only a plain string value. This look and feel setting is used by UI methods, detailed in Section~\ref{sec:dialogboxes}, on page~\pageref{sec:dialogboxes}. Note that this value is used by the underlying Java runtime environment, so a full qualified class name is expected.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-laf: 'javax.swing.plaf.nimbus.NimbusLookAndFeel'
-\end{codebox}
-
-\begin{messagebox}{Special keywords for the look and feel setting}{araracolour}{\icok}{white}
-Look and feel values other than the default provided by Java offer a more pleasant visual experience to the user, so if your rules or directives employ UI methods (detailed in Section~\ref{sec:dialogboxes}, on page~\pageref{sec:dialogboxes}), it might be interesting to provide a value to the \rbox{laf} key. At the time of writing, \arara\ provides two special keywords that are translated to the corresponding fully qualified Java class names:
-
-\vspace{1em}
-
-{\centering
-\def\arraystretch{1.5}
-\begin{tabular}{ll}
-\rbox[araracolour]{\hphantom{xx}none\hphantom{xx}} & Default look and feel\\
-\rbox[araracolour]{\hphantom{x}system\hphantom{x}} & System look and feel\\
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-The system look and feel, of course, offers the best option of all since it mimics the native appearance of graphical applications in the underlying system. However, some systems might encounter slow rendering times when this option is used, so your mileage might vary.
-\end{messagebox}
-
-\item[\describecfn{O}{string map}{preambles}] This key holds a string map containing predefined preambles for later use with the \opbox{{-}preamble} option (see Section~\ref{sec:options}, on page~\pageref{sec:options}). Note that each map key must be unique. Additionally, it it is highly recommended to use lowercase letters without spaces, accents or punctuation symbols, as key values. Only directives, line breaks and conditionals are recognized.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-preambles:
- twopdftex: |
- % arara: pdftex
- % arara: pdftex
-\end{codebox}
-
-\begin{messagebox}{Literal style when defining a preamble}{attentioncolour}{\icattention}{black}
-When defining preambles in the configuration file, \emph{always} use the literal style for scalar blocks. The reason for this requirement is the proper retention of line breaks, which are significant when parsing the strings into proper directive lines. Using the folded style in this particular scenario will almost surely be problematic.
-\end{messagebox}
-
-\item[\describecfn{O}{string}{defaultPreamble}] This key allows to specify a preamble for \arara\ to use even if there are no directives in the file nor preambles specified on the command-line. Preambles are resolved at execution time, which means that preambles from local configurations will take precedence over global preambles.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-defaultPreamble: twopdftex
-\end{codebox}
-
-\item[\describecfn{O}{boolean}{prependPreambleIfDirectivesGiven}] This key allows you to specify a boolean value indicating whether preambles should be applied to all files or only those without directives. It defaults to \rbox{true} to avoid breaking existing workflows.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-prependPreambleIfDirectivesGiven: false
-\end{codebox}
-
-\item[\describecfn{O}{file type list}{filetypes}] This key holds a list of file types supported by \arara\ when searching for a file name, as well as their corresponding directive lookup patterns. In order to properly set a file type, the keys used in this specification are defined inside the \rbox{filetypes$\rightarrow$} context and presented as follows.
-
-\begin{description}
-\item[\describecontext{M}{filetypes}{extension}] This key, as the name implies, holds the file extension, represented as a plain string and without the leading dot (unless it is part of the extension). An extension is an identifier specified as a suffix to the file name and indicates a characteristic of the corresponding content or intended use. Observe that this key is mandatory when specifying a file type, as our tool does not support files without a proper extension.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-extension: c
-\end{codebox}
-
-\item[\describecontextt{M}{O}{filetypes}{pattern}] This key holds the directive lookup pattern as a regular expression (which is, of course, represented as a plain string). When introducing a new file type, \arara\ must know how to interpret each line and how to properly find and extract directives, hence this key. Observe that this key is marked as optional and mandatory. The reason for such an unusual indication highly depends on the current scenario and is illustrated as follows.
-
-\begin{itemize}[label={--}]
-\item The \abox{pattern} key is entirely \emph{optional} for known file types (presented in Section~\ref{sec:filenamelookup}, on page~\pageref{sec:filenamelookup}, and henceforth named \emph{default} file types), in case you just want to modify the file name lookup order. It is important to observe that default file types already have their directive lookup patterns set, which incidentally are the same, presented as follows.
-
-\begin{codebox}{Default regular expression pattern for known file types}{teal}{\icnote}{white}
-^\s*%\s+
-\end{codebox}
-
-\item The \abox{pattern} key is \emph{mandatory} for new file types and for overriding existing patterns for default file types. Make sure to provide a valid regular expression as key value. It is very important to note that, regardless of the underlying pattern (default or provided through this key), the special \rbox{arara:} keyword is immutable and thus included by our tool in every directive lookup pattern.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-pattern: ^\s*//\s*
-\end{codebox}
-\end{itemize}
-\end{description}
-
-For instance, let us reverse the default file name lookup order presented in Section~\ref{sec:filenamelookup}, on page~\pageref{sec:filenamelookup}. Since the default lookup patterns will be preserved, the corresponding \abox{pattern} keys can be safely omitted. Now it is just a matter of rearranging the entries in the desired order, presented as follows.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-filetypes:
-- extension: ins
-- extension: drv
-- extension: ltx
-- extension: dtx
-- extension: tex
-\end{codebox}
-
-If a default file type is included in the \abox{filetypes} list but others from the same tier are left out, these file types not on the list will implicitly have the lowest priority over the explicit list element during the file name lookup, although still respecting their original lookup order modulo the specified file type. For instance, consider the following list:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-filetypes:
-- extension: ins
-- extension: drv
-\end{codebox}
-
-According to the previous example, three out of five default file types were deliberately left out of the \abox{filetypes} list. As expected, the two default file types provided to this list will have the highest priority during the file name lookup. It is important to note that \arara\ will always honour the original lookup order for omitted default file types, yet favouring the explicit elements. The following list is semantically equivalent to the previous example.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-filetypes:
-- extension: ins
-- extension: drv
-- extension: tex
-- extension: dtx
-- extension: ltx
-\end{codebox}
-
-The following example introduces the definition of a new file type to support \rbox{c} files. Observe that, for this specific scenario, the \abox{pattern} key is mandatory, as previously discussed. The resulting list is presented as follows, including the corresponding regular expression pattern.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-filetypes:
-- extension: c
- pattern: ^\s*//\s*
-\end{codebox}
-
-It is important to note that, if no default file type is explicitly specified, as seen in previous example, the original list of default file types will have the highest priority over the \abox{filetypes} values during the file name lookup. The following list is semantically equivalent to the previous example.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-filetypes:
-- extension: tex
-- extension: dtx
-- extension: ltx
-- extension: drv
-- extension: ins
-- extension: c
- pattern: ^\s*//\s*
-\end{codebox}
-
-\begin{messagebox}{Do not escape backslashes}{attentioncolour}{\icattention}{black}
-\setlength{\parskip}{1em}
-When writing a file type pattern, there is no need for escaping backslashes as one does for strings in a typical programming language (including MVEL expressions). In this specific scenario, key values are represented as plain, literal strings.
-
-However, please note that character escaping might be required by the underlying regular expression in some scenarios (i.e, a literal dot in the pattern). It is highly recommended to consult a proper regular expression documentation for a comprehensive overview.
-\end{messagebox}
-\end{description}
-
-Since \arara\ allows four different names for configuration files, as well as global and local approaches, it is highly advisable to run our tool with the \opbox{{-}log} command line option enabled, in order to easily identify which file was considered for that specific execution. The logging feature is discussed later on, in Chapter~\ref{chap:logging}, on page~\pageref{chap:logging}.
diff --git a/support/arara/doc/chapters/deploying.tex b/support/arara/doc/chapters/deploying.tex
deleted file mode 100644
index 6af9d316d5..0000000000
--- a/support/arara/doc/chapters/deploying.tex
+++ /dev/null
@@ -1,237 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{Deploying the tool}
-\label{chap:deployingthetool}
-
-As previously mentioned, \arara\ runs on top of a Java virtual machine, available on all major operating systems -- in some cases, you might need to install the proper virtual machine. This chapter provides detailed instructions on how to properly deploy the tool in your computer from either the official package available in our project repository or a personal build generated from source (as seen in Section~\ref{sec:compilingthetool}, on page~\pageref{sec:compilingthetool}).
-
-\section{Directory structure}
-\label{sec:directorystructure}
-
-From the early development stages, our tool employs a very straightforward directory structure. In short, we provide the \abox[araracolour]{ARARA\_HOME} alias to the directory path in which the \rbox[araracolour]{arara.jar} Java archive file is located. This particular file is the heart and soul of our tool and dictates the default rule search path, which is a special directory named \abox[araracolour]{rules/} available from the same level. This directory contains all rules specified in the YAML format, as seen in Section~\ref{sec:rule}, on page~\pageref{sec:rule}. The structure overview is presented as follows.
-
-\vspace{1em}
-
-{\centering\begin{forest}
-for tree={
- grow'=0,
- edge={araracolour},
- anchor=base west
-},
-forked edges,
-[{\abox[araracolour]{ARARA\_HOME}}
- [{\rbox[araracolour]{arara.jar}}]
- [{\abox[araracolour]{rules/}},s sep=1mm
- [{\rbox[araracolour]{arara-rule-animate.yaml}}]
- [{\rbox[araracolour]{arara-rule-bib2gls.yaml}}]
- [{\color{araracolour}\ldots},no edge]
- [{\rbox[araracolour]{arara-rule-xetex.yaml}}]
- [{\rbox[araracolour]{arara-rule-xindy.yaml}}]
- ]
-]
-\end{forest}\par}
-
-\vspace{1.4em}
-
-Provided that this specific directory structure is honoured, the tool is ready for use off the shelf. In fact, the official \arara\ CTAN package is available in the \href{https://gitlab.com/islandoftex/arara/-/jobs/artifacts/master/download?job=publish:tdszip}{artifacts section} of our project repository. Once the package is properly downloaded, we simply need to extract it into a proper \abox[araracolour]{ARARA\_HOME} location.
-
-\section{Defining a location}
-\label{sec:definingalocation}
-
-First and foremost, we need to obtain \rbox{master-ctan.zip} from our project repository at GitLab, which is our CTAN package artifact. As the name indicates, this is a compressed file format, so we need to extract it into a proper location. Run the following commands in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ unzip master-ctan.zip
-$ unzip arara.tds.zip
-$ mv scripts/arara .
-\end{codebox}
-
-As a result of the previous commands, we obtained a directory named \abox[araracolour]{arara} with the exact structure presented in Section~\ref{sec:directorystructure} in our working directory (amongst other files and directories that can be safely discarded). Now we need to decide where \arara\ should reside in our system. For example, I usually deploy my tools inside the \abox[araracolour]{/opt/paulo} path, so I need to run the following command in the terminal (please note that my personal directory already has the proper permissions, so I do not need superuser privileges):
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ mv arara /opt/paulo/
-\end{codebox}
-
-The tool has found a comfortable home inside my system! Observe that the full path of the \abox[araracolour]{ARARA\_HOME} reference points out to \abox[araracolour]{/opt/paulo/arara} since this is my deployment location of choice. The resulting structure overview, from the root directory, is presented as follows:
-
-\vspace{1em}
-
-{\centering\begin{forest}
-for tree={
- grow'=0,
- edge={araracolour},
- anchor=base west
-},
-forked edges,
-[{\abox[araracolour]{/}},s sep=1mm
- [{\abox[araracolour]{bin/}}]
- [{\abox[araracolour]{boot/}}]
- [{\color{araracolour}\ldots},no edge]
- [{\abox[araracolour]{opt/}},s sep=1mm
- [{\abox[araracolour]{paulo/}}
- [{\abox[araracolour]{arara/}}
- [{\rbox[araracolour]{arara.jar}}]
- [{\abox[araracolour]{rules/}},s sep=1mm
- [{\rbox[araracolour]{arara-rule-animate.yaml}}]
- [{\rbox[araracolour]{arara-rule-bib2gls.yaml}}]
- [{\color{araracolour}\ldots},no edge]
- [{\rbox[araracolour]{arara-rule-xetex.yaml}}]
- [{\rbox[araracolour]{arara-rule-xindy.yaml}}]
- ]
- ]
- ]
- [{\color{araracolour}\ldots},no edge]
- [{\abox[araracolour]{texbin/}}]
- ]
- [{\color{araracolour}\ldots},no edge]
- [{\abox[araracolour]{usr/}}]
- [{\abox[araracolour]{var/}}]
-]
-\end{forest}\par}
-
-\vspace{1.4em}
-
-If the tool was built from source (as indicated in Section~\ref{sec:compilingthetool}, on page~\pageref{sec:compilingthetool}), make sure to construct the provided directory structure previously presented. We can test the deployment by running the following command in the terminal (please note the full path):
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ java -jar /opt/paulo/arara/arara.jar
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Usage: arara [OPTIONS] file...
-
-Options:
- -l, --log Generate a log output
- -v, --verbose / -s, --silent Print the command output
- -n, --dry-run Go through all the motions of running
- a command, but with no actual calls
- -s, --safe-run Run in safe mode and disable
- potentially harmful features. Make
- sure your projects uses only allowed
- features.
- -H, --header Extract directives only in the file
- header
- -p, --preamble TEXT Set the file preamble based on the
- configuration file
- -t, --timeout INT Set the execution timeout (in
- milliseconds)
- -L, --language TEXT Set the application language
- -m, --max-loops INT Set the maximum number of loops (> 0)
- -d, --working-directory PATH Set the working directory for all
- tools
- -P, --call-property VALUE Pass parameters to the application
- to be used within the session.
- -V, --version Show the version and exit
- -h, --help Show this message and exit
-
-Arguments:
- file The file(s) to evaluate and process
-\end{codebox}
-
-Please observe that, provided that the underlying operating system has an appropriate Java virtual machine installed, \arara\ can be used as a portable, standalone application. Portable applications can be stored on any data storage device, including external devices such as USB drives and floppy disks.
-
-\section{Tool wrapping}
-\label{sec:toolwrapping}
-
-\arara\ is now properly deployed in our system, but we still need to provide the full path of \rbox{arara.jar} to the Java virtual machine in order to make our tool work. This section provides three approaches regarding the creation of a \emph{wrapper}, a shell feature that embeds a system command or utility, that accepts and passes a set of parameters to that command.
-
-\begin{description}
-\item[shell alias] An \emph{alias} is a command available in various shells which enables a replacement of a word by another string. It is mainly used for abbreviating a system command, or for adding default arguments to a regularly used command. In order to create a shell alias for our tool, open \rbox{.bashrc} (a script that is executed whenever a new terminal session starts in interactive mode) in your favourite editor and add the following line, preferably at the end:
-
-\begin{codebox}{Source code}{teal}{\icnote}{white}
-alias arara='java -jar /opt/paulo/arara/arara.jar'
-\end{codebox}
-
-Save the file and restart your terminal. It is important to observe that the given full path must be properly quoted if it contains spaces. There is no need to provide explicit parameters, as an alias simply acts as an inline string replacement.
-
-\item[shell function] A \emph{shell function} is, as the name suggests, a subroutine, a code block that implements a set of operations as a means to performs a specified task. In order to create a shell function for our tool, open \rbox{.bashrc} (a script that is executed whenever a new terminal session starts in interactive mode) in your favourite editor and add the following line, preferably at the end:
-
-\begin{codebox}{Source code}{teal}{\icnote}{white}
-arara() {
- java -jar /opt/paulo/arara/arara.jar "$@"
-}
-\end{codebox}
-
-Save the file and restart your terminal. It is important to observe that the given full path must be properly quoted if it contains spaces. Note that the \rbox{\$@} symbol used in the function body represents a special shell variable that stores all the actual parameters in a list of strings.
-
-\begin{messagebox}{Alias or function?}{attentioncolour}{\icattention}{black}
-In general, an alias should effectively not do more than change the default options of a command, as it constitutes a mere string replacement. A function should be used when you need to do something more complex than an alias. In our particular case, as the underlying logic is pretty straightforward, both approaches are valid.
-\end{messagebox}
-
-\item[script file] A \emph{script} is a computer program designed to be run by an interpreter. In our context, the script merely sets up the environment and runs a system command. In order to provide a script for our tool, open your favourite editor and create the following file called \rbox{arara} (no extension):
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{arara}
-#!/bin/bash
-jarpath=/opt/paulo/arara/arara.jar
-java -jar "$jarpath" "$@"
-\end{ncodebox}
-
-It is important to observe that the given full path must be properly quoted if it contains spaces. Note that the \rbox{\$@} symbol used in the script body represents a special shell variable that stores all the actual parameters in a list of strings. This script file will act as the entry point for our tool. Now, we need to make it executable (i.e, set the corresponding execute permission) by running the following command in the terminal:
-
-\begin{codebox}{Source code}{teal}{\icnote}{white}
-$ chmod +x arara
-\end{codebox}
-
-Now we need to move this newly executable script file to one of the directories set forth in the \abox[araracolour]{PATH} environment variable, where executable commands are located. For illustrative purposes only, let us move the script file to the \abox[araracolour]{/usr/local/bin/} directory, a location originally designed for programs that a normal user may run. Run the following command in the terminal (note the need for superuser privileges):
-
-\begin{codebox}{Source code}{teal}{\icnote}{white}
-$ sudo mv arara /usr/local/bin/
-\end{codebox}
-
-Alternatively, the script can be placed inside a special directory named \abox[araracolour]{bin/} from the home directory of the current user, which is usually added by default to the system path. Observe that, in this particular case, superuser privileges are not required, as the operation is kept at the current user level. Run the following command in the terminal instead (please note that the \rbox{\textasciitilde} symbol is a shell feature called \href{http://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html}{tilde expansion} and refers to the home directory of the current user):
-
-\begin{codebox}{Source code}{teal}{\icnote}{white}
-$ mv arara ~/bin/
-\end{codebox}
-
-There is no need to restart your terminal, as the reference becomes available as soon as it is moved to the new location. Note that a shell script can provide a convenient variation of a system command where special environment settings, command options, or post-processing apply automatically, but in a way that allows the new script to still act as a fully normal Unix command.
-\end{description}
-
-Regardless of the adopted approach, there should be an \rbox{arara} wrapper available as an actual Unix command in your shell session. In order to test the wrapper, run the following command in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Usage: arara [OPTIONS] file...
-
-Options:
- -l, --log Generate a log output
- -v, --verbose / -s, --silent Print the command output
- -n, --dry-run Go through all the motions of running
- a command, but with no actual calls
- -s, --safe-run Run in safe mode and disable
- potentially harmful features. Make
- sure your projects uses only allowed
- features.
- -H, --header Extract directives only in the file
- header
- -p, --preamble TEXT Set the file preamble based on the
- configuration file
- -t, --timeout INT Set the execution timeout (in
- milliseconds)
- -L, --language TEXT Set the application language
- -m, --max-loops INT Set the maximum number of loops (> 0)
- -d, --working-directory PATH Set the working directory for all
- tools
- -P, --call-property VALUE Pass parameters to the application
- to be used within the session.
- -V, --version Show the version and exit
- -h, --help Show this message and exit
-
-Arguments:
- file The file(s) to evaluate and process
-\end{codebox}
-
-It is important to observe that the wrapper initiative presented in this section might cause a potential name clash with existing \TeX\ Live or MiK\TeX\ binaries and symbolic links. In this particular scenario, make sure to inspect the command location as a means to ensure a correct execution. To this end, run the following command in the terminal:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ which arara
-/usr/local/bin/arara
-\end{codebox}
-
-The \rbox{which} command shows the full path of the executable name provided as parameter. This particular utility does this by searching for an executable or script in the directories listed in the \abox[araracolour]{PATH} environment variable. Be mindful that aliases and shell functions are listed as well.
diff --git a/support/arara/doc/chapters/introduction.tex b/support/arara/doc/chapters/introduction.tex
deleted file mode 100644
index 6a32661848..0000000000
--- a/support/arara/doc/chapters/introduction.tex
+++ /dev/null
@@ -1,148 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{Introduction}
-\label{chap:introduction}
-
-Hello there, welcome to \arara, the cool \TeX\ automation tool! This chapter is actually a quick introduction to what you can (and cannot) expect from \arara. For now, concepts will be informally presented and will be detailed later on, in the next chapters.
-
-\section{What is this tool?}
-\label{sec:whatisthistool}
-
-Good question! \arara\ is a \TeX\ automation tool based on rules and directives. It is, in some aspects, similar to other well-known tools like \rbox{latexmk} and \rbox{rubber}. The key difference (and probably the selling point) might be the fact that \arara\ aims at explicit instructions in the source code (in the form of comments) in order to determine what to do instead of relying on other resources, such as log file analysis. It is a different approach for an automation tool, and we have both advantages and disadvantages of such design. Let us use the following file \rbox{hello.tex} as an example:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{hello.tex}
-\documentclass{article}
-
-\begin{document}
-Hello world!
-\end{document}
-\end{ncodebox}
-
-How would one successfully compile \rbox{hello.tex} with \rbox{latexmk} and \rbox{rubber}, for instance? It is quite straightforward: it is just a matter of providing the file to the tool and letting it do the hard work:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ latexmk -pdf mydoc.tex
-$ rubber --pdf mydoc.tex
-\end{codebox}
-
-The mentioned tools perform an analysis on the file and decide what has to be done. However, if one tries to invoke \rbox{arara} on \rbox{hello.tex}, I am afraid \emph{nothing} will be generated; the truth is, \arara\ does not know what to do with your file, and the tool will even raise an error message complaining about this issue:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara hello.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing "hello.tex" (size: 70 B, last modified: 12/28/2020
-07:03:16), please wait.
-
- ERROR
-
-It looks like no directives were found in the provided file. Make
-sure to include at least one directive and try again.
-
-Total: 0.04 seconds
-\end{codebox}
-
-Quite surprising. However, this behaviour is not wrong at all, it is completely by design: \arara\ needs to know what you want. And for that purpose, you need to tell the tool what to do.
-
-\begin{messagebox}{A very important concept}{attentioncolour}{\icattention}{black}
-That is the major difference of \arara\ when compared to other tools: \emph{it is not an automatic process and the tool does not employ any guesswork on its own}. You are in control of your documents; \arara\ will not do anything unless you \emph{teach it how to do a task and explicitly tell it to execute the task}.
-\end{messagebox}
-
-Now, how does one tell \arara\ to do a task? That is actually the easy part, provided that you have everything up and running. We accomplish the task by adding a special comment line, hereafter known as \emph{directive}, somewhere in our \rbox{hello.tex} file (preferably in the first lines):
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{hello.tex}
-% arara: pdflatex
-\documentclass{article}
-
-\begin{document}
-Hello world!
-\end{document}
-\end{ncodebox}
-
-For now, do not worry too much about the terms, we will come back to them later on, in Chapter~\ref{chap:importantconcepts}, on page~\pageref{chap:importantconcepts}. It suffices to say that \arara\ expects \emph{you} to provide a list of tasks, and this is done by inserting special comments in the source file. Let us see how \arara\ behaves with this updated code:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ arara hello.tex
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
-| (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-
-Processing "hello.tex" (size: 88 B, last modified: 12/28/2020
-07:05:05), please wait.
-
-(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
-
-Total: 0.56 seconds
-\end{codebox}
-
-Hurrah, we finally got our document properly compiled with a \TeX\ engine by the inner workings of our beloved tool, resulting in an expected \rbox{hello.pdf} file created using the very same system call that typical automation tools like \rbox{latexmk} and \rbox{rubber} use. Observe that \arara\ works practically on other side of the spectrum: you need to tell it how and when to do a task.
-
-\section{Core concepts}
-\label{sec:coreconcepts}
-
-When adding a directive in our source code, we are explicitly telling the tool what we want it to do, but I am afraid that is not sufficient at all. So far, \arara\ knows \emph{what} to do, but now it needs to know \emph{how} the task should be done. If we want \arara\ to run \rbox{pdflatex} on \rbox{hello.tex}, we need to have instructions telling our tool how to run that specific application. This particular sequence of instructions is referred as a \emph{rule} in our context.
-
-\begin{messagebox}{Note on rules}{attentioncolour}{\icattention}{black}
-Although the core team provides a lot of rules shipped with \arara\ out of the box, with the possibility of extending the set by adding more rules, some users might find this decision rather annoying, since other tools have most of their rules hard-coded, making the automation process even more transparent. However, since \arara\ does not rely on a specific automation or compilation scheme, it becomes more extensible. The use of directives in the source code make the automation steps more fluent, which allows the specification of complex workflows much easier.
-\end{messagebox}
-
-Despite the inherited verbosity of automation steps not being suitable for small documents, \arara\ really shines when you have a document which needs full control of the automation process (for instance, a thesis or a manual). Complex workflows are easily tackled by our tool.
-
-Rules and directives are the core concepts of \arara: the first dictates how a task is done, and the latter is the proper instance of the associated rule on the current document, i.e, when and where the commands must be executed.
-
-\begin{messagebox}{The name}{araracolour}{\icok}{white}
-\begin{minipage}{0.45\textwidth}
-\vspace{.8em}
-{\centering\includegraphics[width=0.9\textwidth]{figures/arara.png}\par}
-
-\vspace{.7em}
-
-\em Do you like araras? We do, specially our tool which shares the same name of this colorful bird.
-\end{minipage}\hspace{1em}
-\begin{minipage}{0.5\textwidth}
-The tool name was chosen as an homage to a Brazilian bird of the same name, which is a macaw. The word \emph{arara} comes from the Tupian word \emph{a'rara}, which means \emph{big bird} (much to my chagrin, Sesame Street's iconic character Big Bird is not a macaw; according to some sources, he claims to be a golden condor). Araras are colorful, noisy, naughty and very funny. Everybody loves araras. The name seemed catchy for a tool and, in the blink of an eye, \arara\ was quickly spread to the whole \TeX\ world.
-\end{minipage}
-\end{messagebox}
-
-Now that we informally introduced rules and directives, let us take a look on how \arara\ actually works given those two elements. The whole idea is pretty straightforward, and I promise to revisit these concepts later on in this manual for a comprehensive explanation (more precisely, in Chapter~\ref{chap:importantconcepts}).
-
-First and foremost, we need to add at least one instruction in the source code to tell \arara\ what to do. This instruction is named a \emph{directive} and it will be parsed during the preparation phase. Observe that \arara\ will tell you if no directive was found in a file, as seen in our first interaction with the tool.
-
-An \arara\ directive is usually defined in a line of its own, started with a comment (denoted by a percent sign in \TeX\ and friends), followed by the word \rbox{arara:} and task name:
-
-\begin{codebox}{A typical directive}{teal}{\icnote}{white}
-% arara: pdflatex
-\documentclass{article}
-...
-\end{codebox}
-
-Our example has one directive, referencing \rbox{pdflatex}. It is important to observe that the \rbox{pdflatex} identifier \emph{does not represent the command to be executed}, but \emph{the name of the rule associated with that directive}.
-
-Once \arara\ finds a directive, it will look for the associated \emph{rule}. In our example, it will look for a rule named \rbox{pdflatex} which will evidently run the \rbox{pdflatex} command line application. Rules are YAML files named according to their identifiers followed by the \rbox{yaml} extension and follow a strict structure. This concept is covered in Section~\ref{sec:rule}, on page~\pageref{sec:rule}.
-
-Now, we have a queue of pairs $(\textit{directive}, \textit{rule})$ to process. For each pair, \arara\ will map the directive to its corresponding rule, evaluate it and run the proper command. The execution chain requires that command $i$ was successfully executed to then proceed to command $i+1$, and so forth. This is also by design: \arara\ will halt the execution if any of the commands in the queue had raised an error. How does one know if a command was successfully executed? \arara\ checks the corresponding \emph{exit status} available after a command execution. In general, a successful execution yields 0 as its exit status.
-
-In order to decide whether a command execution is successful, \arara\ relies on exit status checking. Typically, a command is successful if, and only if, its resulting exit status is 0 and no other value. However, we can define any value, or even forget about it and make it always return a valid status regardless of execution (for instance, in a rule that always is successful -- see, for instance, the \rbox{clean} rule).
-
-That is pretty much how \arara\ works: directives in the source code are mapped to rules. These pairs are added to a queue. The queue is then executed and the status is reported. More details about the expansion process are presented in Chapter~\ref{chap:importantconcepts}, on page~\pageref{chap:importantconcepts}. In short, we teach \arara\ to do a task by providing a rule, and tell it to execute it through directives in the source code.
-
-\section{Operating system remarks}
-\label{sec:operatingsystemremarks}
-
-The application is written using the Kotlin language, so \arara\ runs on top of a Java virtual machine, available on all the major operating systems~--~in some cases, you might need to install the proper virtual machine. We tried very hard to keep both code and libraries compatible with older virtual machines or from other vendors. Currently, \arara\ is known to run on Java 8 to 15, from any vendor.
-
-\begin{messagebox}{Outdated Java virtual machines}{attentioncolour}{\icerror}{black}
-Dear reader, beware of outdated software, mainly Java virtual machines! Although \arara\ offers support for older virtual machines, try your best to keep your software updated as frequently as possible. The legacy support exists only for historical reasons, and also due to the sheer fact that we know some people that still runs \arara\ on very old hardware. If you are not in this particular scenario, get the latest virtual machine.
-\end{messagebox}
-
-In Chapter~\ref{chap:buildingfromsource}, on page~\pageref{chap:buildingfromsource}, we provide instructions on how to build \arara\ from sources using Gradle. Even if you use multiple operating systems, \arara\ should behave the same, including the rules. There are helper functions available in order to provide support for system-specific rules based on the underlying operating system.
-
-\section{Support}
-\label{sec:support}
-
-If you run into any issue with \arara, please let us know. We all have very active profiles in the \href{https://tex.stackexchange.com/}{\TeX\ community at StackExchange}, so just use the \rbox[araracolour]{arara} tag in your question and we will help you the best we can (also, take a look at their \href{https://tex.meta.stackexchange.com/q/1436}{starter guide}). We also have a \href{https://gitter.im/Island-of-TeX/arara}{Gitter} and \href{https://matrix.to/#/!HfEWIEvFtDplCLSQvz:matrix.org?via=matrix.org}{Matrix} chat rooms, in which we occasionally hang out. Also, if you think the report is worthy of an issue, open one in our \href{https://gitlab.com/islandoftex/arara/issues}{GitLab repository}.
-
-We really hope you like our humble contribution to the \TeX\ community. Let \arara\ enhance your \TeX\ experience, it will help you when you will need it the most. Enjoy the manual.
diff --git a/support/arara/doc/chapters/license.tex b/support/arara/doc/chapters/license.tex
deleted file mode 100644
index aab456ebe2..0000000000
--- a/support/arara/doc/chapters/license.tex
+++ /dev/null
@@ -1,29 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter*{License}
-\label{chap:license}
-
-\epigraph{Anything that prevents you from being friendly, a good neighbour, is a terror tactic.}{\textsc{Richard Stallman}}
-
-\arara\ is licensed under the \href{http://www.opensource.org/licenses/bsd-license.php}{New BSD License}. It is important to observe that the New BSD License has been verified as a GPL-compatible free software license by the \href{http://www.fsf.org/}{Free Software Foundation}, and has been vetted as an open source license by the \href{http://www.opensource.org/}{Open Source Initiative}.
-
-\vfill
-
-\begin{messagebox}{New BSD License}{araracolour}{\icinfo}{white}
-\footnotesize
-\includegraphics[scale=0.25]{logos/logo1.pdf}
-
-Copyright \textcopyright\ 2012--2020, Island of \TeX\\
-All rights reserved.
-
-\vspace{1em}
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-\begin{itemize}
-\item Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-
-\item Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-\end{itemize}
-
-This software is provided by the copyright holders and contributors ``as is'' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holder or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
-\end{messagebox}
diff --git a/support/arara/doc/chapters/logging.tex b/support/arara/doc/chapters/logging.tex
deleted file mode 100644
index dd248e0fa5..0000000000
--- a/support/arara/doc/chapters/logging.tex
+++ /dev/null
@@ -1,169 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{Logging}
-\label{chap:logging}
-
-The logging feature of \arara, as discussed earlier on, is activated through either the \opbox{{-}log} command line option (Section~\ref{sec:options}, on page~\pageref{sec:options}) or the equivalent key in the configuration file (Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}). This chapter covers the basic structure of a typical log file provided by our tool, including the important blocks that can be used to identify potential issues. The following example is used to illustrate this feature:
-
-\begin{ncodebox}{Source file}{teal}{\icnote}{white}{doc12.tex}
-% arara: pdftex
-% arara: clean: { extensions: [ log ] }
-Hello world.
-\bye
-\end{ncodebox}
-
-When running our tool on the previous example with the \opbox{{-}log} command line option (otherwise, the logging framework will not provide a file at all), we will obtain the expected \rbox{arara.log} log file containing the most significant events that happened during this particular execution, as well as details regarding the underlying operating system. The contents of this file are discussed below. Note that timestamps were deliberated removed from the log entries in order to declutter the output, and line breaks were included in order to easily spot each entry.
-
-\section{System information}
-\label{sec:systeminformation}
-
-The very first entry to appear in the log file is the current version of \arara.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-Welcome to arara 6.0.0!
-\end{codebox}
-
-The following entries in the log file are the absolute path of the current deployment of \arara\ (line 1), details about the current Java virtual machine (namely, vendor and absolute path, in lines 2 and 3, respectively), the underlying operating system information (namely, system name, architecture and eventually the kernel version, in line 4), home and working directories (lines 5 and 6, respectively), and the absolute path of the applied configuration file, if any (line 7). This block is very important to help with tracking possible issues related to the underlying operating system and the tool configuration itself.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-::: arara @ /opt/paulo/arara
-::: Java 1.8.0_171, Oracle Corporation
-::: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-4.b10.fc28.x86_64/jre
-::: Linux, amd64, 4.16.12-300.fc28.x86_64
-::: user.home @ /home/paulo
-::: CF @ [none]
-\end{codebox}
-
-\begin{messagebox}{A privacy note}{araracolour}{\icok}{white}
-\setlength{\parskip}{1em}
-We understand that the previous entries containing information about the underlying operating system might pose as a privacy threat to some users. However, it is worth noting that \arara\ does not share any sensitive information about your system, as entries are listed in the log file for debugging purposes only, locally in your computer.
-
-From experience, these entries greatly help our users to track down errors in the execution, as well as learning more about the underlying operating system. However, be mindful of sharing your log file! Since the log file contains structured blocks, it is highly advisable to selectively choose the ones relevant to the current discussion.
-\end{messagebox}
-
-It is important to observe that localized messages are also applied to the log file. If a language other than English is selected, either through the \opbox{{-}language} command line option or the equivalent key in the configuration file, the logging framework will honour the current setting and entries will be available in the specified language. Having a log file in your own language might mitigate the traumatic experience of error tracking for \TeX\ newbies. From version 6.0 on, if you pass an invalid language code (for instance, \rbox{-L foo} in the command line), \arara\ will default to English and issue a log warning:
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-Language foo not available; defaulting to English.
-\end{codebox}
-
-\section{Directive extraction}
-\label{sec:directiveextraction}
-
-The following block in the log file refers to file information and directive extraction. First, as with the terminal output counterpart, the tool will display details about the file being processed, including size and modification status:
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-Processing 'doc12.tex' (size: 74 B, last modified:
-06/02/2018 05:36:40), please wait.
-\end{codebox}
-
-The next entries refer to finding potential directive patterns in the code, including multiline support. All matching patterns contain the corresponding line numbers. Note that these numbers might refer to incorrect lines in the code if the \opbox{{-}preamble} command line option is used.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-I found a potential pattern in line 1: pdftex
-I found a potential pattern in line 2: clean: { extensions: [ log ] }
-\end{codebox}
-
-When all matching patterns are collected from the code in the previous phase, \arara\ composes the directives accordingly, including potential parameters and conditionals. Observe that all directives have an associated list of line numbers from which they were originally composed. This phase is known as \emph{directive extraction}.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-I found a potential directive: Directive: { identifier: pdftex,
-parameters: {}, conditional: { NONE }, lines: [1] }
-I found a potential directive: Directive: { identifier: clean,
-parameters: {extensions=[log]}, conditional: { NONE }, lines: [2] }
-\end{codebox}
-
-In this phase, directives are correctly extracted and composed, but are yet to be validated regarding invalid or reserved parameter keys. The tool then proceeds to validate parameters and normalize such directives.
-
-\section{Directive normalization}
-\label{sec:directivenormalization}
-
-Once all directives are properly composed, the tool checks for potential inconsistencies, such as invalid or reserved parameter keys. Then all directives are validated and internally mapped with special parameters, as previously described in Section~\ref{sec:directivenormalization}, on page~\pageref{sec:directivenormalization}.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-All directives were validated. We are good to go.
-\end{codebox}
-
-After validation, all directives are listed in a special block in the log file, including potential parameters and conditionals. This phase is known as \emph{directive normalization}. Note that the special parameters are already included, regardless of the directive type. This particular block can be used specially for debugging purposes, since it contains all details regarding directives.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
--------------------------- DIRECTIVES ---------------------------
-Directive: { identifier: pdftex, parameters:
-{reference=/home/paulo/Documents/doc12.tex},
-conditional: { NONE }, lines: [1] }
-Directive: { identifier: clean, parameters: {extensions=[log],
-reference=/home/paulo/Documents/doc12.tex},
-conditional: { NONE }, lines: [2] }
------------------------------------------------------------------
-\end{codebox}
-
-Note, however, that potential errors in directive conditionals, as well as similar inconsistencies in the corresponding rules, can only be caught at runtime. The next phase covers proper interpretation based on the provided directives.
-
-\section{Rule interpretation}
-\label{sec:ruleinterpretation}
-
-Once all directives are normalized, \arara\ proceeds to interpret the potential conditionals, if any, and the corresponding rules. Note that, when available, the conditional type dictates whether the rule should be interpreted first or not. For each rule, the tool informs the identifier and the absolute path of the corresponding YAML file. In this specific scenario, the rule is part of the default rule pack released with our tool:
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-I am ready to interpret rule 'pdftex'.
-Rule location: '/opt/paulo/arara/rules'
-\end{codebox}
-
-For each task (or subtask, as it is part of a rule task) defined in the rule context, \arara\ will interpret it and return the corresponding system command. The return types can be found in Section~\ref{sec:rule}, on page~\pageref{sec:rule}. In this specific scenario, there is just one task associated with the \rbox{pdftex} rule. Both task name and system command are shown:
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-I am ready to interpret task 'PDFTeX engine' from rule 'PDFTeX'.
-System command: [ pdftex, doc12.tex ]
-\end{codebox}
-
-After proper task interpretation, the underlying execution library of \arara\ executes the provided system command and includes the output from both output and error streams in an \emph{output buffer} block inside the log file.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
----------------------- BEGIN OUTPUT BUFFER ----------------------
-This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018)
-(preloaded format=pdftex)
- restricted \write18 enabled.
-entering extended mode
-(./doc12.tex [1{/usr/local/texlive/2018/texmf-var/fonts/map/
-pdftex/updmap/pdfte
-x.map}] )</usr/local/texlive/2018/texmf-dist/fonts/type1/
-public/amsfonts/cm/cmr
-10.pfb>
-Output written on doc12.pdf (1 page, 11849 bytes).
-Transcript written on doc12.log.
------------------------ END OUTPUT BUFFER -----------------------
-\end{codebox}
-
-Observe that the above output buffer block contains the relevant information about the \rbox{pdftex} execution on the provided file. It is possible to write a shell script to extract these blocks from the log file, as a means to provide individual information on each execution. Finally, the task result is shown:
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-Task result: SUCCESS
-\end{codebox}
-
-The execution proceeds to the next directive in the list and then interprets the \rbox{clean} rule. The same steps previously described are applied in this scenario. Also note that the output buffer block is deliberately empty due to the nature of the underlying system command, as removal commands such as \rbox{rm} do not provide output at all when successful.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-I am ready to interpret rule 'clean'.
-Rule location: '/opt/paulo/arara/rules'
-I am ready to interpret task 'Cleaning feature' from rule 'Clean'.
-System command: [ rm, -f, doc12.log ]
----------------------- BEGIN OUTPUT BUFFER ----------------------
-
------------------------ END OUTPUT BUFFER -----------------------
-Task result: SUCCESS
-\end{codebox}
-
-\begin{messagebox}{Empty output buffer}{attentioncolour}{\icattention}{black}
-If the system command is simply a boolean value, the corresponding block will remain empty. Also note that not all commands from the underlying operating system path provide proper stream output, so the output buffer block might be empty in certain corner scenarios. This is the case, for example, of the provided \rbox{clean} rule.
-\end{messagebox}
-
-Finally, as the last entry in the log file, the tool shows the execution time, in seconds. As previously mentioned, the execution time has a very simple precision and should not be considered for command profiling.
-
-\begin{codebox}{Log file}{teal}{\icnote}{white}
-Total: 0.33 seconds
-\end{codebox}
-
-The logging feature provides a consistent framework for event recording. It is highly recommended to include at least the \opbox{{-}log} command line option (or enable it in the configuration file) in your typical automation workflow, as relevant information is gathered into a single consolidated report.
-
-\begin{messagebox}{Log paths}{araracolour}{\icok}{white}
-From version 6.0 on, the log file may now be specified as path \emph{anywhere} on the file system. However, keep in mind that this behavior may be altered for future updates in safe mode. Please refer to Chapter~\ref{chap:configurationfile}, on page~\pageref{chap:configurationfile}, for more details.
-\end{messagebox}
diff --git a/support/arara/doc/chapters/methods.tex b/support/arara/doc/chapters/methods.tex
deleted file mode 100644
index 5e080368ef..0000000000
--- a/support/arara/doc/chapters/methods.tex
+++ /dev/null
@@ -1,1010 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{Methods}
-\label{chap:methods}
-
-\arara\ features several helper methods available in directive conditional and rule contexts which provide interesting features for enhancing the user experience, as well as improving the automation itself. This chapter provides a list of such methods. It is important to observe that virtually all classes from the Java runtime environment can be used within MVEL expressions, so your mileage might vary.
-
-\begin{messagebox}{A note on writing code}{araracolour}{\icok}{white}
-As seen in Chapter~\ref{chap:mvel}, on page~\pageref{chap:mvel}, Java and MVEL code be used interchangeably within expressions and orb tags, including instantiation of classes into objects and invocation of methods. However, be mindful of explicitly importing Java packages and classes through the classic \rbox{import} statement, as MVEL does not automatically handle imports, or an exception will surely be raised. Alternatively, you can provide the full qualified name to classes as well.
-\end{messagebox}
-
-Methods are listed with their complete signatures, including potential parameters and corresponding types. Also, the return type of a method is denoted by \rrbox{type} and refers to a typical Java data type (either class or primitive). Do not worry too much, as there are illustrative examples. A method available in the directive conditional context will be marked by \ctbox{C} next to the corresponding signature. Similarly, an entry marked by \ctbox{R} denotes that the corresponding method is available in the rule context. At last, an entry marked by \ctbox{E} denotes that the corresponding method is available in the orb tag expansion within a special \rbox{options} parameter in the directive context.
-
-\section{Files}
-\label{sec:files}
-
-This section introduces methods related to file handling, searching and hashing. It is important to observe that no exception is thrown in case of an anomalous method call. In this particular scenario, the methods return empty references, when applied.
-
-\begin{description}
-\item[\mdbox{R}{getOriginalFile()}{String}] This method returns the original file name, as plain string, regardless of a potential override through the special \abox{files} parameter in the directive mapping, as seen in Section~\ref{sec:directives}, on page~\pageref{sec:directives}.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-if (file == getOriginalFile()) {
- System.out.println("The 'file' variable
- was not overridden.");
-}
-\end{codebox}
-
-\item[\mdddbox{C}{E}{R}{getOriginalReference()}{File}] This method returns the original file reference, as a \rbox{File} object, regardless of a potential reference override indirectly through the special \abox{files} parameter in the directive mapping, as seen in Section~\ref{sec:directives}, on page~\pageref{sec:directives}.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-if (reference.equals(getOriginalFile())) {
- System.out.println("The 'reference' variable
- was not overridden.");
-}
-\end{codebox}
-
-\item[\mddbox{C}{R}{currentFile()}{File}] This method returns the file reference, as a \rbox{File} object, for the current directive. It is important to observe that \arara\ replicates the directive when the special \abox{files} parameter is detected amongst the parameters, so each instance will have a different reference.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if currentFile().getName() == 'thesis.tex'
-\end{codebox}
-
-\item[\mddbox{C}{R}{toFile(String reference)}{File}] This method returns a file (or directory) reference, as a \rbox{File} object, based on the provided string. Note that the string can refer to either a relative entry or a complete, absolute path. It is worth mentioning that, in Java, despite the curious name, a \rbox{File} object can be assigned to either a file or a directory.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-f = toFile('thesis.tex');
-\end{codebox}
-
-\item[\mdddbox{C}{E}{R}{getBasename(File file)}{String}] This method returns the base name (i.e, the name without the associated extension) of the provided \rbox{File} reference, as a string. Observe that this method ignores a potential path reference when extracting the base name. Also, this method will throw an exception if the provided reference is not a proper file.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-basename = getBasename(toFile('thesis.tex'));
-\end{codebox}
-
-\item[\mdbox{R}{getBasename(String reference)}{String}] This method returns the base name (i.e, the name without the associated extension) of the provided \rbox{String} reference, as a string. Observe that this method ignores a potential path reference when extracting the base name.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-basename = getBasename('thesis.tex');
-\end{codebox}
-
-\item[\mdbox{R}{getFiletype(File file)}{String}] This method returns the file type (i.e, the associated extension specified as a suffix to the name, typically delimited with a full stop) of the provided \rbox{File} reference, as a string. This method will throw an exception if the provided reference is not a proper file. An empty string is returned if, and only if, the provided file name has no associated extension.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-extension = getFiletype(toFile('thesis.pdf'));
-\end{codebox}
-
-\item[\mdbox{R}{getFiletype(String reference)}{String}] This method returns the file type (i.e, the associated extension specified as a suffix to the name, typically delimited with a full stop) of the provided \rbox{String} reference, as a string. An empty string is returned if, and only if, the provided file name has no associated extension.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-extension = getFiletype('thesis.pdf');
-\end{codebox}
-
-\item[\mddbox{C}{R}{exists(File file)}{boolean}] This method, as the name implies, returns a boolean value according to whether the provided \rbox{File} reference exists. Observe that the provided reference can be either a file or a directory.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: bibtex if exists(toFile('references.bib'))
-\end{codebox}
-
-\item[\mddbox{C}{R}{exists(String extension)}{boolean}] This method returns a boolean value according to whether the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the provided \rbox{String} extension exists. This method eases the checking of files which share the current file name modulo extension (e.g, log and auxiliary files). Note that the provided string refers to the extension, not the file name.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdftex if exists('tex')
-\end{codebox}
-
-\item[\mddbox{C}{R}{missing(File file)}{boolean}] This method, as the name implies, returns a boolean value according to whether the provided \rbox{File} reference does not exist. It is important to observe that the provided reference can be either a file or a directory.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdftex if missing(toFile('thesis.pdf'))
-\end{codebox}
-
-\item[\mddbox{C}{R}{missing(String extension)}{boolean}] This method returns a boolean value according to whether the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the provided \rbox{String} extension does not exist. This method eases the checking of files which share the current file name modulo extension (e.g, log and auxiliary files). Note that the provided string refers to the extension, not the file name.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdftex if missing('pdf')
-\end{codebox}
-
-\item[\mddbox{C}{R}{changed(File file)}{boolean}] This method returns a boolean value according to whether the provided \rbox{File} reference has changed since last verification, based on a traditional cyclic redundancy check. The file reference, as well as the associated hash, is stored in a YAML database file named \rbox{arara.yaml} located in the same directory as the current file (the database name can be overridden in the configuration file, as discussed in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}). The method semantics (including the return values) is presented as follows.
-
-\vspace{1em}
-
-{\centering\small
-\setlength\tabcolsep{0.8em}
-\begin{tabular}{@{}ccccc@{}}
-\toprule
-\emph{file exists?} & \emph{entry exists?} &
-\emph{has changed?} & \emph{DB action} &
-\emph{result} \\
-\midrule
-\cbyes{-2} & \cbyes{-2} & \cbyes{-2} & update & \cbyes{-2} \\
-\cbyes{-2} & \cbyes{-2} & \cbno{-2} & --- & \cbno{-2} \\
-\cbyes{-2} & \cbno{-2} & --- & insert & \cbyes{-2} \\
-\cbno{-2} & \cbno{-2} & --- & --- & \cbno{-2} \\
-\cbno{-2} & \cbyes{-2} & --- & remove & \cbyes{-2} \\
-\bottomrule
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-It is important to observe that this method \emph{always} performs a database operation, either an insertion, removal or update on the corresponding entry. When using \mtbox{changed} within a logical expression, make sure the evaluation order is correct, specially regarding the use of short-circuiting operations. In some scenarios, order does matter.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if changed(toFile('thesis.tex'))
-\end{codebox}
-
-\begin{messagebox}{Short-circuit evaluation}{araracolour}{\icok}{white}
-According to the \href{https://en.wikipedia.org/wiki/Short-circuit_evaluation}{Wikipedia entry}, a \emph{short-circuit evaluation} is the semantics of some boolean operators in some programming languages in which the second argument is executed or evaluated only if the first argument does not suffice to determine the value of the expression. In Java (and consequently MVEL), both short-circuit and standard boolean operators are available.
-\end{messagebox}
-
-\begin{messagebox}{CRC as a hashing algorithm}{attentioncolour}{\icattention}{black}
-\arara\ internally relies on a CRC32 implementation for file hashing. This particular choice, although not designed for hashing, offers an interesting trade-off between speed and quality. Besides, since it is not computationally expensive as strong algorithms such as MD5 and SHA1, CRC32 can be used for hashing typical \TeX\ documents and plain text files with little to no collisions.
-\end{messagebox}
-
-\item[\mddbox{C}{R}{changed(String extension)}{boolean}] This method returns a boolean value according to whether the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the provided \rbox{String} extension has changed since last verification, based on a traditional cyclic redundancy check. The file reference, as well as the associated hash, is stored in a YAML database file named \rbox{arara.yaml} located in the same directory as the current file (the database name can be overridden in the configuration file, as discussed in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}). The method semantics (including the return values) is presented as follows.
-
-\vspace{1em}
-
-{\centering\small
-\setlength\tabcolsep{0.8em}
-\begin{tabular}{@{}ccccc@{}}
-\toprule
-\emph{file exists?} & \emph{entry exists?} &
-\emph{has changed?} & \emph{DB action} &
-\emph{result} \\
-\midrule
-\cbyes{-2} & \cbyes{-2} & \cbyes{-2} & update & \cbyes{-2} \\
-\cbyes{-2} & \cbyes{-2} & \cbno{-2} & --- & \cbno{-2} \\
-\cbyes{-2} & \cbno{-2} & --- & insert & \cbyes{-2} \\
-\cbno{-2} & \cbno{-2} & --- & --- & \cbno{-2} \\
-\cbno{-2} & \cbyes{-2} & --- & remove & \cbyes{-2} \\
-\bottomrule
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-It is important to observe that this method \emph{always} performs a database operation, either an insertion, removal or update on the corresponding entry. When using \mtbox{changed} within a logical expression, make sure the evaluation order is correct, specially regarding the use of short-circuiting operations. In some scenarios, order does matter.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if changed('tex')
-\end{codebox}
-
-\item[\mddbox{C}{R}{unchanged(File file)}{boolean}] This method returns a boolean value according to whether the provided \rbox{File} reference has not changed since last verification, based on a traditional cyclic redundancy check. The file reference, as well as the associated hash, is stored in a YAML database file named \rbox{arara.yaml} located in the same directory as the current file (the database name can be overridden in the configuration file, as discussed in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}). The method semantics (including the return values) is presented as follows.
-
-\vspace{1em}
-
-{\centering\small
-\setlength\tabcolsep{0.8em}
-\begin{tabular}{@{}ccccc@{}}
-\toprule
-\emph{file exists?} & \emph{entry exists?} &
-\emph{has changed?} & \emph{DB action} &
-\emph{result} \\
-\midrule
-\cbyes{-2} & \cbyes{-2} & \cbyes{-2} & update & \cbno{-2} \\
-\cbyes{-2} & \cbyes{-2} & \cbno{-2} & --- & \cbyes{-2} \\
-\cbyes{-2} & \cbno{-2} & --- & insert & \cbno{-2} \\
-\cbno{-2} & \cbno{-2} & --- & --- & \cbyes{-2} \\
-\cbno{-2} & \cbyes{-2} & --- & remove & \cbno{-2} \\
-\bottomrule
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-It is important to observe that this method \emph{always} performs a database operation, either an insertion, removal or update on the corresponding entry. When using \mtbox{unchanged} within a logical expression, make sure the evaluation order is correct, specially regarding the use of short-circuiting operations. In some scenarios, order does matter.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if !unchanged(toFile('thesis.tex'))
-\end{codebox}
-
-\item[\mddbox{C}{R}{unchanged(String extension)}{boolean}] This method returns a boolean value according to whether the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the provided \rbox{String} extension has not changed since last verification, based on a traditional cyclic redundancy check. The file reference, as well as the associated hash, is stored in a YAML database file named \rbox{arara.yaml} located in the same directory as the current file (the database name can be overridden in the configuration file, as discussed in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}). The method semantics (including the return values) is presented as follows.
-
-\vspace{1em}
-
-{\centering\small
-\setlength\tabcolsep{0.8em}
-\begin{tabular}{@{}ccccc@{}}
-\toprule
-\emph{file exists?} & \emph{entry exists?} &
-\emph{has changed?} & \emph{DB action} &
-\emph{result} \\
-\midrule
-\cbyes{-2} & \cbyes{-2} & \cbyes{-2} & update & \cbno{-2} \\
-\cbyes{-2} & \cbyes{-2} & \cbno{-2} & --- & \cbyes{-2} \\
-\cbyes{-2} & \cbno{-2} & --- & insert & \cbno{-2} \\
-\cbno{-2} & \cbno{-2} & --- & --- & \cbyes{-2} \\
-\cbno{-2} & \cbyes{-2} & --- & remove & \cbno{-2} \\
-\bottomrule
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-It is important to observe that this method \emph{always} performs a database operation, either an insertion, removal or update on the corresponding entry. When using \mtbox{unchanged} within a logical expression, make sure the evaluation order is correct, specially regarding the use of short-circuiting operations. In some scenarios, order does matter.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if !unchanged('tex')
-\end{codebox}
-
-\item[\mdbox{R}{writeToFile(File file, String text, boolean append)}{boolean}] This method performs a write operation based on the provided parameters. In this case, the method writes the \rbox{String} text to the \rbox{File} reference and returns a boolean value according to whether the operation was successful. The third parameter holds a \rbox{boolean} value and acts as a switch indicating whether the text should be appended to the existing content of the provided file. Keep in mind that the existing content of a file is always overwritten if this switch is disabled. Also, note that the switch has no effect if the file is being created at that moment. It is important to observe that this method does not raise any exception.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = writeToFile(toFile('foo.txt'), 'hello world', false);
-\end{codebox}
-
-\begin{messagebox}{Read and write operations in Unicode}{attentioncolour}{\icattention}{black}
-\arara\ \emph{always} uses Unicode as the encoding format for read and write operations. This decision is deliberate as a means to offer a consistent representation and handling of text. Unicode can be implemented by different character encodings. In our case, the tool relies on UTF-8, which uses one byte for the first 128 code points, and up to 4 bytes for other characters. The first 128 Unicode code points are the ASCII characters, which means that any ASCII text is also UTF-8 text.
-\end{messagebox}
-
-\begin{messagebox}{File system permissions}{attentioncolour}{\icattention}{black}
-Most file systems have methods to assign permissions or access rights to specific users and groups of users. These permissions control the ability of the users to view, change, navigate, and execute the contents of the file system. Keep in mind that read and write operations depend on such permissions.
-\end{messagebox}
-
-\item[\mdbox{R}{writeToFile(String reference, String text, boolean append)}{boolean}] This method performs a write operation based on the provided parameters. In this case, the method writes the \rbox{String} text to the \rbox{String} reference and returns a boolean value according to whether the operation was successful. The third parameter holds a \rbox{boolean} value and acts as a switch indicating whether the text should be appended to the existing content of the provided file. Keep in mind that the existing content of a file is always overwritten if this switch is disabled. Also, note that the switch has no effect if the file is being created at that moment. It is important to observe that this method does not raise any exception.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = writeToFile('foo.txt', 'hello world', false);
-\end{codebox}
-
-\item[\mdbox{R}{writeToFile(File file, List<String> lines, boolean append)}{boolean}] This method performs a write operation based on the provided parameters. In this case, the method writes the \rbox{List<String>} lines to the \rbox{File} reference and returns a boolean value according to whether the operation was successful. The third parameter holds a \rbox{boolean} value and acts as a switch indicating whether the text should be appended to the existing content of the provided file. Keep in mind that the existing content of a file is always overwritten if this switch is disabled. Also, note that the switch has no effect if the file is being created at that moment. It is important to observe that this method does not raise any exception.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = writeToFile(toFile('foo.txt'),
- [ 'hello world', 'how are you?' ], false);
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.51\textwidth}{writeToFile(String reference,\\\hspace*{1em} List<String> lines, boolean append)}}{boolean}] This method performs a write operation based on the provided parameters. In this case, the method writes the \rbox{List<String>} lines to the \rbox{String} reference and returns a boolean value according to whether the operation was successful. The third parameter holds a \rbox{boolean} value and acts as a switch indicating whether the text should be appended to the existing content of the provided file. Keep in mind that the existing content of a file is always overwritten if this switch is disabled. Also, note that the switch has no effect if the file is being created at that moment. It is important to observe that this method does not raise any exception.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = writeToFile('foo.txt', [ 'hello world',
- 'how are you?' ], false);
-\end{codebox}
-
-\item[\mdbox{R}{readFromFile(File file)}{List<String>}] This method performs a read operation based on the provided parameter. In this case, the method reads the content from the \rbox{File} reference and returns a \rbox{List<String>} object representing the lines as a list of strings. If the reference does not exist or an exception is raised due to access permission constraints, the \mtbox{readFromFile} method returns an empty list. Keep in mind that, as a design decision, UTF-8 is \emph{always} used as character encoding for read operations.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-lines = readFromFile(toFile('foo.txt'));
-\end{codebox}
-
-\item[\mdbox{R}{readFromFile(String reference)}{List<String>}] This method performs a read operation based on the provided parameter. In this case, the method reads the content from the \rbox{String} reference and returns a \rbox{List<String>} object representing the lines as a list of strings. If the reference does not exist or an exception is raised due to access permission constraints, the \mtbox{readFromFile} method returns an empty list. Keep in mind that, as a design decision, UTF-8 is \emph{always} used as character encoding for read operations.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-lines = readFromFile('foo.txt');
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.61\textwidth}{listFilesByExtensions(File file,\\\hspace*{1em} List<String> extensions, boolean recursive)}}{List<File>}] This method performs a file search operation based on the provided parameters. In this case, the method list all files from the provided \rbox{File} reference according to the \rbox{List<String>} extensions as a list of strings, and returns a \rbox{List<File>} object representing all matching files. The leading full stop in each extension must be omitted, unless it is part of the search pattern. The third parameter holds a \rbox{boolean} value and acts as a switch indicating whether the search must be recursive, i.e, whether all subdirectories must be searched as well. If the reference is not a proper directory or an exception is raised due to access permission constraints, the \mtbox{listFilesByExtensions} method returns an empty list.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-files = listFilesByExtensions(toFile('/home/paulo/Documents'),
- [ 'aux', 'log' ], false);
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.61\textwidth}{listFilesByExtensions(String reference,\\\hspace*{1em} List<String> extensions, boolean recursive)}}{List<File>}] This method performs a file search operation based on the provided parameters. In this case, the method list all files from the provided \rbox{String} reference according to the \rbox{List<String>} extensions as a list of strings, and returns a \rbox{List<File>} object representing all matching files. The leading full stop in each extension must be omitted, unless it is part of the search pattern. The third parameter holds a \rbox{boolean} value and acts as a switch indicating whether the search must be recursive, i.e, whether all subdirectories must be searched as well. If the reference is not a proper directory or an exception is raised due to access permission constraints, the \mtbox{listFilesByExtensions} method returns an empty list.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-files = listFilesByExtensions('/home/paulo/Documents',
- [ 'aux', 'log' ], false);
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.59\textwidth}{listFilesByPatterns(File file,\\\hspace*{1em} List<String> patterns, boolean recursive)}}{List<File>}] This method performs a file search operation based on the provided parameters. In this case, the method lists all files from the provided \rbox{File} reference according to the \rbox{List<String>} patterns as a list of strings, and returns a \rbox{List<File>} object representing all matching files. The pattern specification is described below. The third parameter holds a \rbox{boolean} value and acts as a switch indicating whether the search must be recursive, i.e, whether all subdirectories must be searched as well. If the reference is not a proper directory or an exception is raised due to access permission constraints, the \mtbox{listFilesByPatterns} method returns an empty list. It is very important to observe that this file search operation might be slow depending on the provided directory. It is highly advisable to not rely on recursive searches whenever possible.
-
-\begin{messagebox}{Patterns for file search operations}{araracolour}{\icattention}{white}
-\arara\ employs wildcard filters as patterns for file search operations. Testing is case sensitive by default. The wildcard matcher uses the characters \rbox[araracolour]{?} and \rbox[araracolour]{*} to represent a single or multiple wildcard characters. This is the same as often found on typical terminals.
-\end{messagebox}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-files = listFilesByPatterns(toFile('/home/paulo/Documents'),
- [ '*.tex', 'foo?.txt' ], false);
-\end{codebox}
-
-
-\item[\mdbox{R}{\parbox{0.59\textwidth}{listFilesByPatterns(String reference,\\\hspace*{1em} List<String> patterns, boolean recursive)}}{List<File>}] This method performs a file search operation based on the provided parameters. In this case, the method lists all files from the provided \rbox{String} reference according to the \rbox{List<String>} patterns as a list of strings, and returns a \rbox{List<File>} object representing all matching files. The pattern specification follows a wildcard filter. The third parameter holds a \rbox{boolean} value and acts as a switch indicating whether the search must be recursive, i.e, whether all subdirectories must be searched as well. If the reference is not a proper directory or an exception is raised due to access permission constraints, the \mtbox{listFilesByPatterns} method returns an empty list. It is very important to observe that this file search operation might be slow depending on the provided directory. It is highly advisable to not rely on recursive searches whenever possible.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-files = listFilesByPatterns('/home/paulo/Documents',
- [ '*.tex', 'foo?.txt' ], false);
-\end{codebox}
-\end{description}
-
-As the methods presented in this section have transparent error handling, the writing of rules and conditionals becomes more fluent and not too complex for the typical user.
-
-\section{Conditional flow}
-\label{sec:conditionalflow}
-
-This section introduces methods related to conditional flow based on \emph{natural boolean values}, i.e, words that semantically represent truth and falsehood signs. Such concept provides a friendly representation of boolean values and eases the use of switches in directive parameters. The tool relies on the following set of natural boolean values:
-
-\vspace{1em}
-
-{\centering
-\setlength\tabcolsep{0.2em}
-\begin{tabular}{ccccccccccc}
-\cbyes{-2} &
-\rbox[araracolour]{\hphantom{w}yes\hphantom{w}} &
-\rbox[araracolour]{\hphantom{w}true\hphantom{w}} &
-\rbox[araracolour]{\hphantom{w}1\hphantom{w}} &
-\rbox[araracolour]{\hphantom{w}on\hphantom{w}} &
-\hspace{2em} &
-\cbno{-2} &
-\rbox[warningcolour]{\hphantom{w}no\hphantom{w}} &
-\rbox[warningcolour]{\hphantom{w}false\hphantom{w}} &
-\rbox[warningcolour]{\hphantom{w}0\hphantom{w}} &
-\rbox[warningcolour]{\hphantom{w}off\hphantom{w}}
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-All elements from the provided set of natural boolean values can be used interchangeably in directive parameters. It is important to observe that \arara\ throws an exception if a value absent from the set is provided to the methods described in this section.
-
-\begin{description}
-\item[\mdbox{R}{isTrue(String string)}{boolean}] This method returns a boolean value according to whether the provided \rbox{String} value is contained in the sub-set of natural true boolean values. It is worth mentioning that the verification is case insensitive, i.e, upper case and lower case symbols are treated as equivalent. If the provided value is an empty string, the method returns false.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isTrue('yes');
-\end{codebox}
-
-\item[\mdbox{R}{isFalse(String string)}{boolean}] This method returns a boolean value according to whether the provided \rbox{String} value is contained in the sub-set of natural false boolean values. It is worth mentioning that the verification is case insensitive, i.e, upper case and lower case symbols are treated as equivalent. If the provided value is an empty string, the method returns false.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isFalse('off');
-\end{codebox}
-
-\item[\mdbox{R}{isTrue(String string, Object yes)}{Object}] This method checks if the first parameter is contained in the sub-set of natural true boolean values. If the result holds true, the second parameter is returned. Otherwise, an empty string is returned. It is worth mentioning that the verification is case insensitive, i.e, upper case and lower case symbols are treated as equivalent. If the first parameter is an empty string, the method returns an empty string.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isTrue('on', [ 'ls', '-la' ]);
-\end{codebox}
-
-\item[\mdbox{R}{isFalse(String string, Object yes)}{Object}] This method checks if the first parameter is contained in the sub-set of natural false boolean values. If the result holds true, the second parameter is returned. Otherwise, an empty string is returned. It is worth mentioning that the verification is case insensitive, i.e, upper case and lower case symbols are treated as equivalent. If the first parameter is an empty string, the method returns an empty string.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isFalse('0', 'pwd');
-\end{codebox}
-
-\item[\mdbox{R}{isTrue(String string, Object yes, Object no)}{Object}] This method checks if the first parameter is contained in the sub-set of natural true boolean values. If the result holds true, the second parameter is returned. Otherwise, the third parameter is returned. It is worth mentioning that the verification is case insensitive, i.e, upper case and lower case symbols are treated as equivalent. If the first parameter is an empty string, the method returns the third parameter.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isTrue('on', [ 'ls', '-la' ], 'pwd');
-\end{codebox}
-
-\item[\mdbox{R}{isFalse(String string, Object yes, Object no)}{Object}] This method checks if the first parameter is contained in the sub-set of natural false boolean values. If the result holds true, the second parameter is returned. Otherwise, the third parameter is returned. It is worth mentioning that the verification is case insensitive, i.e, upper case and lower case symbols are treated as equivalent. If the first parameter is an empty string, the method returns the third parameter.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isFalse('0', 'pwd', 'ps');
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.45\textwidth}{isTrue(String string, Object yes,\\\hspace*{1em} Object no, Object fallback)}}{Object}] This method checks if the first parameter is contained in the sub-set of natural true boolean values. If the result holds true, the second parameter is returned. Otherwise, the third parameter is returned. It is worth mentioning that the verification is case insensitive, i.e, upper case and lower case symbols are treated as equivalent. If the first parameter is an empty string, the method returns the fourth parameter as default value.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isTrue('on', 'ls', 'pwd', 'who');
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.46\textwidth}{isFalse(String string, Object yes,\\\hspace*{1em} Object no, Object fallback)}}{Object}] This method checks if the first parameter is contained in the sub-set of natural false boolean values. If the result holds true, the second parameter is returned. Otherwise, the third parameter is returned. It is worth mentioning that the verification is case insensitive, i.e, upper case and lower case symbols are treated as equivalent. If the first parameter is an empty string, the method returns the fourth parameter as default value.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isFalse('0', 'pwd', 'ps', 'ls');
-\end{codebox}
-
-\item[\mdbox{R}{isTrue(boolean value, Object yes)}{Object}] This method evaluates the first parameter as a boolean expression. If the result holds true, the second parameter is returned. Otherwise, an empty string is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isTrue(1 == 1, 'yes');
-\end{codebox}
-
-\item[\mdbox{R}{isFalse(boolean value, Object yes)}{Object}] This method evaluates the first parameter as a boolean expression. If the result holds false, the second parameter is returned. Otherwise, an empty string is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isFalse(1 != 1, 'yes');
-\end{codebox}
-
-\item[\mdbox{R}{isTrue(boolean value, Object yes, Object no)}{Object}] This method evaluates the first parameter as a boolean expression. If the result holds true, the second parameter is returned. Otherwise, the third parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isTrue(1 == 1, 'yes', 'no');
-\end{codebox}
-
-\item[\mdbox{R}{isFalse(boolean value, Object yes, Object no)}{Object}] This method evaluates the first parameter as a boolean expression. If the result holds false, the second parameter is returned. Otherwise, the third parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isFalse(1 != 1, 'yes', 'no');
-\end{codebox}
-\end{description}
-
-Supported by the concept of natural boolean values, the methods presented in this section ease the use of switches in directive parameters and can be adopted as valid alternatives for traditional conditional flows, when applied.
-
-\section{Strings}
-\label{sec:strings}
-
-String manipulation constitutes one of the foundations of rule interpretation in our tool. This section introduces methods for handling such types, as a means to offer high level constructs for users.
-
-\begin{description}
-\item[\mdbox{R}{isEmpty(String string)}{boolean}] This method returns a boolean value according to whether the provided \rbox{String} value is empty, i.e, the string length is equal to zero.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isEmpty('not empty');
-\end{codebox}
-
-\item[\mdbox{R}{isNotEmpty(String string)}{boolean}] This method returns a boolean value according to whether the provided \rbox{String} value is not empty, i.e, the string length is greater than zero.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isNotEmpty('not empty');
-\end{codebox}
-
-\item[\mdbox{R}{isEmpty(String string, Object yes)}{boolean}] This method checks if the first parameter is empty, i.e, if the string length is equal to zero. If the result holds true, the second parameter is returned. Otherwise, an empty string is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isEmpty('not empty', 'ps');
-\end{codebox}
-
-\item[\mdbox{R}{isNotEmpty(String string, Object yes)}{boolean}] This method checks if the first parameter is not empty, i.e, if the string length is greater than zero. If the result holds true, the second parameter is returned. Otherwise, an empty string is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isNotEmpty('not empty', 'ls');
-\end{codebox}
-
-\item[\mdbox{R}{isEmpty(String string, Object yes, Object no)}{boolean}] This method checks if the first parameter is empty, i.e, if the string length is equal to zero. If the result holds true, the second parameter is returned. Otherwise, the third parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isEmpty('not empty', 'ps', 'ls');
-\end{codebox}
-
-\item[\mdbox{R}{isNotEmpty(String string, Object yes, Object no)}{boolean}] This method checks if the first parameter is not empty, i.e, if the string length is greater than zero. If the result holds true, the second parameter is returned. Otherwise, the third parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isNotEmpty('not empty', 'ls', 'ps');
-\end{codebox}
-
-\item[\mdbox{R}{buildString(Object... objects)}{String}] This method returns a string based on the provided array of objects, separating each element by one blank space. It is important to observe that empty values are not considered. Also, note that the object array is denoted by a comma-separated sequence of elements in the actual method call, resulting in a variable number of parameters.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = buildString('a', 'b', 'c', 'd');
-\end{codebox}
-
-\item[\mdbox{R}{trimSpaces(String string)}{String}] This method trims spaces from the provided parameter, i.e, leading and trailing spaces in the \rbox{String} reference are removed, and returns the resulting string. It is important to observe that non-boundary spaces inside the string are not removed at all.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = trimSpaces(' hello world ');
-\end{codebox}
-
-\item[\mdbox{R}{replicatePattern(String pattern, List<Object> values)}{List<Object>}] This method replicates the provided pattern to each element of the second parameter and returns the resulting list. The pattern must contain exactly one placeholder. For instance, \rbox{\%s} denotes a string representation of the provided argument. Please refer to the \rbox{Formatter} class reference in the \href{https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html}{Java documentation} for more information on placeholders. This method raises an exception if an invalid pattern is applied.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-names = replicatePattern('My name is %s', [ 'Brent', 'Nicola' ]);
-\end{codebox}
-
-\item[\mddbox{C}{R}{found(File file, String regex)}{boolean}] This method returns a boolean value according to whether the content of the provided \rbox{File} reference contains at least one match of the provided \rbox{String} regular expression. It is important to observe that this method raises an exception if an invalid regular expression is provided as the parameter or if the provided file reference does not exist.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex while found(toFile('article.log'),
-% arara: --> 'undefined references')
-\end{codebox}
-
-\item[\mddbox{C}{R}{found(String extension, String regex)}{boolean}] This method returns a boolean value according to whether the content of the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the provided \rbox{String} extension contains at least one match of the provided \rbox{String} regular expression. It is important to observe that this method raises an exception if an invalid regular expression is provided as the parameter or if the provided file reference does not exist.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex while found('log', 'undefined references')
-\end{codebox}
-\end{description}
-
-The string manipulation methods presented in this section constitute an interesting and straightforward approach to handling directive parameters without the usual verbosity in writing typical Java constructs.
-
-\section{Operating systems}
-\label{sec:operatingsystems}
-
-This section introduces methods related to the underlying operating system detection, as a means of providing a straightforward approach to writing cross-platform rules.
-
-\begin{description}
-\item[\mdbox{R}{isWindows()}{boolean}] This method returns a boolean value according to whether the underlying operating system vendor is Microsoft Windows.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-if (isWindows()) { System.out.println('Running Windows.'); }
-\end{codebox}
-
-\item[\mdbox{R}{isLinux()}{boolean}] This method returns a boolean value according to whether the underlying operating system vendor is a Linux instance.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-if (isLinux()) { System.out.println('Running Linux.'); }
-\end{codebox}
-
-\item[\mdbox{R}{isMac()}{boolean}] This method returns a boolean value according to whether the underlying operating system vendor is Apple Mac OS.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-if (isMac()) { System.out.println('Running Mac OS.'); }
-\end{codebox}
-
-\item[\mdbox{R}{isUnix()}{boolean}] This method returns a boolean value according to whether the underlying operating system vendor is any Unix variation.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-if (isUnix()) { System.out.println('Running Unix.'); }
-\end{codebox}
-
-\item[\mdbox{R}{isCygwin()}{boolean}] This method returns a boolean value according to whether the underlying operating system vendor is Microsoft Windows and \arara\ is being executed inside a Cygwin environment.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-if (isCygwin()) { System.out.println('Running Cygwin.'); }
-\end{codebox}
-
-\begin{messagebox}{Cygwin paths}{attentioncolour}{\icattention}{black}
-It is worth mentioning that Cygwin has its own path handling which is not reliable when (JVM) applications need to invoke system commands. For instance, the following invocation does not work:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex
-\end{codebox}
-
-Since \rbox{pdflatex} is a symbolic link to \rbox{pdftex} with the proper format, we encourage Cygwin users to rely on the following trick:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdftex: { options: [ '--fmt=pdflatex' ] }
-\end{codebox}
-
-The same trick can be employed by other \TeX\ engines with appropriate \rbox{--fmt} flags as well. We are still investigating this issue and looking for potential alternatives.
-\end{messagebox}
-
-\item[\mdbox{R}{isWindows(Object yes, Object no)}{Object}] This method checks if the underlying operating system vendor is Microsoft Windows. If the result holds true, the first parameter is returned. Otherwise, the second parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command = isWindows('del', 'rm');
-\end{codebox}
-
-\item[\mdbox{R}{isLinux(Object yes, Object no)}{Object}] This method checks if the underlying operating system vendor is a Linux instance. If the result holds true, the first parameter is returned. Otherwise, the second parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command = isLinux('rm', 'del');
-\end{codebox}
-
-\item[\mdbox{R}{isMac(Object yes, Object no)}{Object}] This method checks if the underlying operating system vendor is Apple Mac OS. If the result holds true, the first parameter is returned. Otherwise, the second parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command = isMac('ls', 'dir');
-\end{codebox}
-
-\item[\mdbox{R}{isUnix(Object yes, Object no)}{Object}] This method checks if the underlying operating system vendor is any Unix variation. If the result holds true, the first parameter is returned. Otherwise, the second parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command = isUnix('tree', 'dir');
-\end{codebox}
-
-\item[\mdbox{R}{isCygwin(Object yes, Object no)}{Object}] This method checks if the underlying operating system vendor is Microsoft Windows and if \arara\ is being executed inside a Cygwin environment. If the result holds true, the first parameter is returned. Otherwise, the second parameter is returned.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-command = isCygwin('ls', 'dir');
-\end{codebox}
-\end{description}
-
-The methods presented in the section provide useful information to help users write cross-platform rules and thus enhance the automation experience based on specific features of the underlying operating system.
-
-\section{Type checking}
-\label{sec:typechecking}
-
-In certain scenarios, a plain string representation of directive parameters might be inadequate or insufficient given the rule requirements. To this end, this section introduces methods related to type checking as a means to provide support and verification for common data types.
-
-\begin{description}
-\item[\mdbox{R}{isString(Object object)}{boolean}] This method returns a boolean value according to whether the provided \rbox{Object} object is a string or any extended type.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isString('foo');
-\end{codebox}
-
-\item[\mdbox{R}{isList(Object object)}{boolean}] This method returns a boolean value according to whether the provided \rbox{Object} object is a list or any extended type.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isList([ 1, 2, 3 ]);
-\end{codebox}
-
-\item[\mdbox{R}{isMap(Object object)}{boolean}] This method returns a boolean value according to whether the provided \rbox{Object} object is a map or any extended type.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isMap([ 'Paulo' : 'Palmeiras', 'Carla' : 'Inter' ]);
-\end{codebox}
-
-\item[\mdbox{R}{isBoolean(Object object)}{boolean}] This method returns a boolean value according to whether the provided \rbox{Object} object is a boolean or any extended type.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isBoolean(false);
-\end{codebox}
-
-\item[\mdbox{R}{checkClass(Class clazz, Object object)}{boolean}] This method returns a boolean value according to whether the provided \rbox{Object} object is an instance or a subtype of the provided \rbox{Class} class. It is interesting to note that all methods presented in this section internally rely on \mtbox{checkClass} for type checking.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = checkClass(List.class, [ 'a', 'b' ]);
-\end{codebox}
-\end{description}
-
-The methods presented in this section cover the most common types used in directive parameters and should suffice for expressing the rule requirements. If a general approach is needed, please refer to the \mtbox{checkClass} method for checking virtually any type available in the Java environment.
-
-\section{Classes and objects}
-\label{sec:classesandobjects}
-
-\arara\ can be extended at runtime with code from JVM languages, such as Groovy, Scala, Clojure and Kotlin. The tool can load classes from \rbox{class} and \rbox{jar} files and even instantiate them. This section introduces methods related to class loading and object instantiation.
-
-\begin{messagebox}{Ordered pairs}{araracolour}{\icok}{white}
-According to the \href{https://en.wikipedia.org/wiki/Ordered_pair}{Wikipedia entry}, in mathematics, an \emph{ordered pair} $(a, b)$ is a pair of objects. The order in which the objects appear in the pair is significant: the ordered pair $(a, b)$ is different from the ordered pair $(b, a)$ unless $a = b$. In the ordered pair $(a, b)$, the object $a$ is called the \emph{first} entry, and the object $b$ the \emph{second} entry of the pair. \arara\ relies on this concept with the helper \rbox{Pair<A, B>} class, in which \rbox{A} and \rbox{B} denote the component classes, i.e, the types associated to the pair elements. In order to access the pair entries, the class provides two property accessors:
-
-\begin{description}
-\item[\mtbox{first}\hfill\rrbox{A}] This property accessor, as the name implies, returns the first entry of the ordered pair, as an \rbox{A} object.
-
-\item[\mtbox{second}\hfill\rrbox{B}] This property accessor, as the name implies, returns the second entry of the ordered pair, as a \rbox{B} object.
-\end{description}
-
-Keep in mind that the entries in the \rbox{Pair} class, once defined, cannot be modified to other values. The initial values are set during instantiation and, therefore, only entry getters are available to the user during the object life cycle.
-\end{messagebox}
-
-\begin{messagebox}{Status for class loading and instantiation}{araracolour}{\icok}{white}
-The class loading and instantiation methods provided by \arara\ typically return a pair composed of an integer value and a class or object reference. This integer value acts as a status of the underlying operation itself and might indicate potential issues. The possible values are:
-
-\vspace{1em}
-
-{\centering
-\def\arraystretch{1.5}
-\begin{tabular}{lllll}
-\rbox[araracolour]{\hphantom{x}0\hphantom{x}} & Successful execution & \hspace{1.5em} &
-\rbox[araracolour]{\hphantom{x}3\hphantom{x}} & Class was not found \\
-\rbox[araracolour]{\hphantom{x}1\hphantom{x}} & File does not exist & &
-\rbox[araracolour]{\hphantom{x}4\hphantom{x}} & Access policy violation \\
-\rbox[araracolour]{\hphantom{x}2\hphantom{x}} & File URL is incorrect & &
-\rbox[araracolour]{\hphantom{x}5\hphantom{x}} & Instantiation exception
-\end{tabular}\par}
-
-\vspace{1.4em}
-
-Please make sure to \emph{always} check the returned integer status when using class loading and instantiation methods in directive and rule contexts. This feature is quite powerful yet tricky and subtle!
-\end{messagebox}
-
-\begin{description}
-\item[\mddbox{C}{R}{\parbox{0.32\textwidth}{loadClass(File file,\\ \hspace*{1em}String name)}}{\parbox{0.43\textwidth}{Pair<ClassLoading.\\
-\hspace*{1em}ClassLoadingStatus, Object>}}] This method loads a class based on the canonical name from the provided \rbox{File} reference and returns an ordered pair containing the status and the class reference itself. The file must contain the Java bytecode, either directly accessible from a \rbox{class} file or packaged inside a \rbox{jar} file. If an exception is raised, this method returns the \rbox{Object} class reference as second entry of the pair.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = loadClass(toFile('mymath.jar'),
- 'com.github.cereda.mymath.Arithmetic');
-\end{codebox}
-
-\item[\mddbox{C}{R}{\parbox{0.32\textwidth}{loadClass(String ref,\\ \hspace*{1em}String name)}}{\parbox{0.43\textwidth}{Pair<ClassLoading.\\
-\hspace*{1em}ClassLoadingStatus, Object>}}] This method loads a class based on the canonical name from the provided \rbox{String} reference and returns an ordered pair containing the status and the class reference itself. The file must contain the Java bytecode, either directly accessible from a \rbox{class} file or packaged inside a \rbox{jar} file. If an exception is raised, this method returns the \rbox{Object} class reference as second entry of the pair.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = loadClass('mymath.jar',
- 'com.github.cereda.mymath.Arithmetic');
-\end{codebox}
-
-\item[\mddbox{C}{R}{\parbox{0.32\textwidth}{loadObject(File file,\\ \hspace*{1em}String name)}}{\parbox{0.43\textwidth}{Pair<ClassLoading.\\
-\hspace*{1em}ClassLoadingStatus, Object>}}] This method loads a class based on the canonical name from the provided \rbox{File} reference and returns an ordered pair containing the status and a proper corresponding object instantiation. The file must contain the Java bytecode, either directly accessible from a \rbox{class} file or packaged inside a \rbox{jar} file. If an exception is raised, this method returns an \rbox{Object} object as second entry of the pair.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = loadObject(toFile('mymath.jar'),
- 'com.github.cereda.mymath.Trigonometric');
-\end{codebox}
-
-\item[\mddbox{C}{R}{\parbox{0.32\textwidth}{loadObject(String ref,\\ \hspace*{1em}String name)}}{\parbox{0.43\textwidth}{Pair<ClassLoading.\\
-\hspace*{1em}ClassLoadingStatus, Object>}}] This method loads a class based on the canonical name from the provided \rbox{String} reference and returns an ordered pair containing the status and a proper corresponding object instantiation. The file must contain the Java bytecode, either directly accessible from a \rbox{class} file or packaged inside a \rbox{jar} file. If an exception is raised, this method returns an \rbox{Object} object as second entry of the pair.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = loadObject('mymath.jar',
- 'com.github.cereda.mymath.Trigonometric');
-\end{codebox}
-\end{description}
-
-This section presented class loading and instantiation methods which may significantly enhance the expressiveness of rules and directives. However, make sure to use such feature with great care and attention.
-
-\section{Dialog boxes}
-\label{sec:dialogboxes}
-
-A \emph{dialog box} is a graphical control element, typically a small window, that communicates information to the user and prompts them for a response. This section introduces UI methods related to such interactions.
-
-\begin{messagebox}{UI elements}{araracolour}{\icok}{white}
-The graphical elements are provided by the Swing toolkit from the Java runtime environment. Note that the default look and feel class reference can be modified through a key in the configuration file, as seen in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}. It is important to observe that the methods presented in this section require a graphical interface. If \arara\ is being executed in a headless environment (i.e, an environment with no graphical display available), an exception will be thrown when trying to use such UI methods in either directive or rule contexts.
-\end{messagebox}
-
-Each dialog box provided by the UI methods of \arara\ requires the specification of an associated icon. An \emph{icon} is a pictogram displayed on a computer screen in order to help the user quickly identify the message by conveying its meaning through a visual resemblance to a physical object. Our tool features five icons, illustrated below, to be used with dialog boxes. Observe that each icon is associated with a unique integer value which is provided later on to the actual method call. Also, it is worth mentioning that the visual appearance of such icons is based on the underlying Java virtual machine and the current look and feel, so your mileage might vary.
-
-\vspace{1em}
-
-{\centering
-\begin{tabularx}{0.8\textwidth}{YYYYY}
-\uierror{cyan} &
-\uiinfo{cyan} &
-\uiwarning{cyan} &
-\uiquestion{cyan} &
-\uiplain{cyan} \\
-{\footnotesize\emph{error}} &
-{\footnotesize\emph{information}} &
-{\footnotesize\emph{attention}} &
-{\footnotesize\emph{question}} &
-{\footnotesize\emph{plain}} \\
-\rbox[cyan]{\hphantom{ww}1\hphantom{ww}} &
-\rbox[cyan]{\hphantom{ww}2\hphantom{ww}} &
-\rbox[cyan]{\hphantom{ww}3\hphantom{ww}} &
-\rbox[cyan]{\hphantom{ww}4\hphantom{ww}} &
-\rbox[cyan]{\hphantom{ww}5\hphantom{ww}}
-\end{tabularx}\par}
-
-\vspace{1.4em}
-
-As good practice, make sure to provide descriptive messages to be placed in dialog boxes in order to ease and enhance the user experience. It is also highly advisable to always provide an associated icon, so avoid the plain option whenever possible.
-
-\begin{messagebox}{Message text width}{araracolour}{\icok}{white}
-\arara\ sets the default message text width to 250 pixels. Feel free to override this value according to your needs. Please refer to the appropriate method signatures for specifying a new width.
-\end{messagebox}
-
-The UI method signatures are followed by a visual representation of the provided dialog box. For the sake of simplicity, each parameter index refers to the associated number in the figure.
-
-\begin{description}
-\item[\mdbox{R}{showMessage(int width, int icon, String title, String text)}{void}]\uimethod{messagebox1}
-
-This method shows a message box according to the provided parameters. The dialog box is disposed when the user either presses the confirmation button or closes the window. It is important to observe that \arara\ temporarily interrupts the execution and waits for the dialog box disposal. Also note that the total time includes the idle period as well.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-showMessage(250, 2, 'My title', 'My message');
-\end{codebox}
-
-\item[\mdbox{R}{showMessage(int icon, String title, String text)}{void}]\uimethod{messagebox2}
-
-This method shows a message box according to the provided parameters. The dialog box is disposed when the user either presses the confirmation button or closes the window. It is important to observe that \arara\ temporarily interrupts the execution and waits for the dialog box disposal. Also note that the total time includes the idle period as well.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-showMessage(2, 'My title', 'My message');
-\end{codebox}
-
-\item[\mddbox{C}{R}{\parbox{0.62\textwidth}{showOptions(int width, int icon, String title,\\\hspace*{1em} String text, Object... options)}}{int}]\uimethod{optionbox1}
-
-This method shows a message box according to the provided parameters, including options represented as an array of \rbox{Object} objects. This array is portrayed in the dialog box as a list of buttons. The dialog box is disposed when the user either presses one of the buttons or closes the window. The method returns the natural index of the selected button, starting from \rbox{1}. If no button is pressed (e.g, the window is closed), \rbox{0} is returned. Note that the object array is denoted by a comma-separated sequence of elements in the actual method call, resulting in a variable number of parameters. It is important to observe that \arara\ temporarily interrupts the execution and waits for the dialog box disposal. Also note that the total time includes the idle period as well.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if showOptions(250, 4, 'Important!',
-% arara: --> 'Do you like ice cream?', 'Yes!', 'No!') == 1
-\end{codebox}
-
-\begin{messagebox}{Button orientation}{attentioncolour}{\icattention}{black}
-Keep in mind that your window manager might render the button orientation differently than the original arrangement specified in your array of objects. For instance, I had a window manager that rendered the buttons in the reverse order. However, note that the visual appearance should not interfere with the programming logic! The indices shall remain the same, pristine as ever, regardless of the actual rendering. Trust your code, not your eyes.
-\end{messagebox}
-
-\item[\mddbox{C}{R}{\parbox{0.49\textwidth}{showOptions(int icon, String title,\\\hspace*{1em} String text, Object... options)}}{int}]\uimethod{optionbox2}
-
-This method shows a message box according to the provided parameters, including options represented as an array of \rbox{Object} objects. This array is portrayed in the dialog box as a list of buttons. The dialog box is disposed when the user either presses one of the buttons or closes the window. The method returns the natural index of the selected button, starting from \rbox{1}. If no button is pressed (e.g, the window is closed), \rbox{0} is returned. Note that the object array is denoted by a comma-separated sequence of elements in the actual method call, resulting in a variable number of parameters. It is important to observe that \arara\ temporarily interrupts the execution and waits for the dialog box disposal. Also note that the total time includes the idle period as well.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if showOptions(4, 'Important!',
-% arara: --> 'Do you like ice cream?', 'Yes!', 'No!') == 1
-\end{codebox}
-
-\item[\mddbox{C}{R}{\parbox{0.62\textwidth}{showDropdown(int width, int icon, String title,\\\hspace*{1em} String text, Object... options)}}{int}]\uimethod{dropdown1}
-
-This method shows a dialog box according to the provided parameters, including options represented as an array of \rbox{Object} objects. This array is portrayed in the dialog box as a dropdown list. The first element from the array is automatically selected. The dialog box is disposed when the user either presses one of the buttons or closes the window. The method returns the natural index of the selected item, starting from \rbox{1}. If the user cancels the dialog or closes the window, \rbox{0} is returned. Note that the object array is denoted by a comma-separated sequence of elements in the actual method call, resulting in a variable number of parameters. It is important to observe that \arara\ temporarily interrupts the execution and waits for the dialog box disposal. Also note that the total time includes the idle period as well.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if showDropdown(250, 4, 'Important!',
-% arara: --> 'Who deserves the tick?', 'David Carlisle',
-% arara: --> 'Enrico Gregorio', 'Joseph Wright',
-% arara: --> 'Heiko Oberdiek') == 2
-\end{codebox}
-
-\begin{messagebox}{Combo boxes and dropdown lists}{attentioncolour}{\icattention}{black}
-According to the \href{https://en.wikipedia.org/wiki/Combo_box}{Wikipedia entry}, a \emph{combo box} is a combination of a dropdown list or list box and a single line editable textbox, allowing the user to either type a value directly or select a value from the list. The term is sometimes used to mean a dropdown list, but in Java, the term is definitely not a synonym! A dropdown list is sometimes clarified with terms such as non-editable combo box to distinguish it from the original definition of a combo box.
-\end{messagebox}
-
-\item[\mddbox{C}{R}{\parbox{0.49\textwidth}{showDropdown(int icon, String title,\\\hspace*{1em} String text, Object... options)}}{int}]\uimethod{dropdown2}
-
-This method shows a dialog box according to the provided parameters, including options represented as an array of \rbox{Object} objects. This array is portrayed in the dialog box as a dropdown list. The first element from the array is automatically selected. The dialog box is disposed when the user either presses one of the buttons or closes the window. The method returns the natural index of the selected item, starting from \rbox{1}. If the user cancels the dialog or closes the window, \rbox{0} is returned. Note that the object array is denoted by a comma-separated sequence of elements in the actual method call, resulting in a variable number of parameters. It is important to observe that \arara\ temporarily interrupts the execution and waits for the dialog box disposal. Also note that the total time includes the idle period as well.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if showDropdown(4, 'Important!',
-% arara: --> 'Who deserves the tick?', 'David Carlisle',
-% arara: --> 'Enrico Gregorio', 'Joseph Wright',
-% arara: --> 'Heiko Oberdiek') == 2
-\end{codebox}
-
-\begin{messagebox}{Swing toolkit}{araracolour}{\icok}{white}
-According to the \href{https://en.wikipedia.org/wiki/Swing_(Java)}{Wikipedia entry}, the Swing toolkit was developed to provide a more sophisticated set of GUI components than the earlier AWT widget system. Swing provides a look and feel that emulates the look and feel of several platforms, and also supports a pluggable look and feel that allows applications to have a look and feel unrelated to the underlying platform. It has more powerful and flexible components than AWT. In addition to familiar components such as buttons, check boxes and labels, Swing provides several advanced components, such as scroll panes, trees, tables, and lists.
-\end{messagebox}
-
-\item[\mddbox{C}{R}{showInput(int width, int icon, String title, String text)}{String}]\uimethod{inputbox1}
-
-This method shows an input dialog box according to the provided parameters. The dialog box is disposed when the user either presses one of the buttons or closes the window. The method returns the content of the input text field, as a trimmed \rbox{String} object. If the user cancels the dialog or closes the window, an empty string is returned. It is important to observe that \arara\ temporarily interrupts the execution and waits for the dialog box disposal. Also note that the total time includes the idle period as well.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if showInput(250, 4, 'Important!',
-% arara: --> 'Who wrote arara?') == 'Paulo'
-\end{codebox}
-
-\item[\mddbox{C}{R}{showInput(int icon, String title, String text)}{String}]\uimethod{inputbox2}
-
-This method shows an input dialog box according to the provided parameters. The dialog box is disposed when the user either presses one of the buttons or closes the window. The method returns the content of the input text field, as a trimmed \rbox{String} object. If the user cancels the dialog or closes the window, an empty string is returned. It is important to observe that \arara\ temporarily interrupts the execution and waits for the dialog box disposal. Also note that the total time includes the idle period as well.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex if showInput(4, 'Important!',
-% arara: --> 'Who wrote arara?') == 'Paulo'
-\end{codebox}
-\end{description}
-
-The UI methods presented in this section can be used for writing \TeX\ tutorials and assisted compilation workflows based on user interactions, including visual input and feedback through dialog boxes.
-
-\section{Commands}
-\label{sec:commands}
-
-\arara\ features the \rbox{Command} object, a new approach for handling system commands based on a high level structure with explicit argument parsing.
-
-\begin{messagebox}{The anatomy of a command}{araracolour}{\icok}{white}
-\setlength{\parskip}{1em}
-From the user perspective, a \rbox{Command} object is simply a good old list of \rbox{Object} objects, in which the list head (i.e, the first element) is the underlying system command, and the list tail (i.e, the remaining elements), if any, contains the associated command line arguments. For instance:
-
-{\centering
-\setlength\tabcolsep{0.2em}
-\begin{tabular}{cccc}
-{\footnotesize\em head} &
-\multicolumn{3}{c}{\footnotesize\em tail (associated command line arguments)} \\
-\rbox[cyan]{pdflatex} &
-\rbox[araracolour]{{-}-shell-escape} &
-\rbox[araracolour]{{-}-synctex=1} &
-\rbox[araracolour]{thesis.tex}
-\end{tabular}\par}
-
-\vspace{0.4em}
-
-From the previous example, it is important to observe that a potential file name quoting is not necessary. The underlying system command execution library handles the provided arguments accordingly.
-
-Behind the scenes, however, \arara\ employs a different workflow when constructing a \rbox{Command} object. The tool sets the working directory path for the current command to \abox[araracolour]{USER\_DIR} which is based on the current execution. The working directory path can be explicitly set through specific method calls, described later on in this section.
-
-The list of objects is then completely flattened and all elements are mapped to their string representations through corresponding \mtbox{toString} calls. Finally, the proper \rbox{Command} object is constructed. Keep in mind that, although a command takes a list (or even an array) of objects, which can be of any type, the internal representation is \emph{always} a list of strings.
-\end{messagebox}
-
-A list of objects might contain nested lists, i.e, a list within another list. As previously mentioned, \arara\ employs \emph{list flattening} when handling a list of objects during a \rbox{Command} object instantiation. As a means to illustrate this handy feature, consider the following list of integers:
-
-\begin{codebox}{A list with nested lists}{teal}{\icnote}{white}
-[ 1, 2, [ 3, 4 ], 5, [ [ 6, 7 ], 8 ], 9, [ [ 10 ] ]
-\end{codebox}
-
-Note that the above list of integers contains nested lists. When applying list flattening, \arara\ recursively adds the elements of nested lists to the original list and then removes the nested occurrences. Please refer to the source code for implementation details. The new flattened list is presented as follows.
-
-\begin{codebox}{A flattened list}{teal}{\icnote}{white}
-[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
-\end{codebox}
-
-List flattening and string mapping confer expressiveness and flexibility to the \rbox{Command} object construction, as users can virtually use any data type to describe the underlying rule logic and yet obtain a consistent representation.
-
-\begin{description}
-\item[\mdbox{R}{getCommand(List<String> elements)}{Command}] This method, as the name implies, returns a \rbox{Command} object according to the provided list of \rbox{String} elements. If the list is empty, the tool will ignore the execution.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-return getCommand([ 'ls', '-l' ]);
-\end{codebox}
-
-\item[\mdbox{R}{getCommand(Object... elements)}{Command}] This method, as the name implies, returns a \rbox{Command} object according to the provided array of \rbox{Object} elements. If the array is empty, the tool will ignore the execution. Note that the object array is denoted by a comma-separated sequence of elements in the actual method call, resulting in a variable number of parameters.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-return getCommand('pdflatex', '--shell-escape', 'thesis.tex');
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.62\textwidth}{getCommandWithWorkingDirectory(File directory,\\\hspace*{1em} List<String> elements)}}{Command}] This method, as the name implies, sets the working directory based on the provided \rbox{File} reference and returns a proper \rbox{Command} object according to the provided list of \rbox{String} elements. If the list is empty, the tool will ignore the execution.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-return getCommandWithWorkingDirectory(toFile('/home/paulo'),
- [ 'ls', '-l' ]);
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.58\textwidth}{getCommandWithWorkingDirectory(String path,\\\hspace*{1em} List<String> elements)}}{Command}] This method, as the name implies, sets the working directory based on the provided \rbox{String} reference and returns a proper \rbox{Command} object according to the provided list of \rbox{String} elements. If the list is empty, the tool will ignore the execution.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-return getCommandWithWorkingDirectory('/home/paulo',
- [ 'ls', '-l' ]);
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.62\textwidth}{getCommandWithWorkingDirectory(File directory,\\\hspace*{1em} Object... elements)}}{Command}] This method, as the name implies, sets the working directory based on the provided \rbox{File} reference and returns a proper \rbox{Command} object according to the provided array of \rbox{Object} elements. If the array is empty, the tool will ignore the execution. Note that the object array is denoted by a comma-separated sequence of elements in the actual method call, resulting in a variable number of parameters.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-return getCommandWithWorkingDirectory(toFile('/home/paulo'),
- 'pdflatex', '--shell-escape', 'thesis.tex');
-\end{codebox}
-
-\item[\mdbox{R}{\parbox{0.58\textwidth}{getCommandWithWorkingDirectory(String path,\\\hspace*{1em} Object... elements)}}{Command}] This method, as the name implies, sets the working directory based on the provided \rbox{String} reference and returns a proper \rbox{Command} object according to the provided array of \rbox{Object} elements. If the array is empty, the tool will ignore the execution. Note that the object array is denoted by a comma-separated sequence of elements in the actual method call, resulting in a variable number of parameters.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-return getCommandWithWorkingDirectory('/home/paulo',
- 'pdflatex', '--shell-escape', 'thesis.tex');
-\end{codebox}
-\end{description}
-
-The methods presented in this section constitute the foundations of underlying system command execution. In particular, whenever possible, it is highly advisable to use \rbox{Command} objects through proper \mtbox{getCommand} method calls, as the plain string approach used in previous versions of our tool is marked as deprecated and will be removed in future versions.
-
-\section{Others}
-\label{sec:others}
-
-This section introduces assorted methods provided by \arara\ as a means to improve the automation itself with expressive rules and enhance the user experience. Such methods are properly described as follows.
-
-\begin{messagebox}{Session}{araracolour}{\icok}{white}
-Rules are designed under the \emph{encapsulation} notion, such that the direct access to internal workings of such structures is restricted. However, as a means to support framework awareness, \arara\ provides a mechanism for data sharing across rule contexts, implemented as a \rbox{Session} object. In practical terms, this particular object is a global, persistent map composed of \rbox{String} keys and \rbox{Object} values available throughout the entire execution. The public methods of a session are described as follows:
-
-\begin{description}
-\item[\mtbox{put(String key, Object value)}\hfill\rrbox{void}] This method, as the name implies, inserts an object into the session, indexed by the provided key. Observe that, if the session previously contained a mapping for the provided key, the old value is replaced by the specified value.
-
-\item[\mtbox{remove(String key)}\hfill\rrbox{void}] This method, as the name implies, removes the mapping for the provided key from the session. Be mindful that an attempt to remove a mapping for a nonexistent key will raise an exception.
-
-\item[\mtbox{contains(String key)}\hfill\rrbox{boolean}] This method, as the name implies, returns a boolean value according to whether the session contains a mapping for the provided key. It is highly advisable to use this method before attempting to remove a mapping from the session.
-
-\item[\mtbox{get(String key)}\hfill\rrbox{Object}] This method, as the name implies, returns the object value to which the specified key is mapped. Be mindful that an attempt to return a value for a nonexistent key will raise an exception.
-
-\item[\mtbox{forget()}\hfill\rrbox{void}] This method, as the name implies, removes all of the existing mappings from the session. The session object will be effectively empty after this call returns.
-\end{description}
-
-It is important to observe that the \rbox{Session} object provided by our tool follows the \emph{singleton} pattern, i.e, a software design pattern that restricts the instantiation of a class to one object. Therefore, the same session is consistently shared across rule contexts.
-\end{messagebox}
-
-\begin{description}
-\item[\mdddbox{C}{E}{R}{getSession()}{Session}] This method, as the name implies, returns the \rbox{Session} object for data sharing across rule contexts. Keep in mind that a session cannot contain duplicate keys. Each key can map to at most one value.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-name = getSession().get('name');
-\end{codebox}
-
-\item[\mdbox{R}{throwError(String message)}{void}] This method deliberately throws an error to be intercepted later on during execution. Consider using such method for an explicit notification about unexpected or unsought scenarios, e.g, wrong parameter types or values. The raised error has an associated message which is displayed in the terminal and added to the log file.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-options = 'not a list';
-if (!isList(options)) {
- throwError('I was expecting a list.');
-}
-\end{codebox}
-
-\item[\mdbox{R}{isVerboseMode()}{boolean}] This method, as the name implies, returns a boolean value according to whether \arara\ is being executed in verbose mode, enabled through either the \opbox{{-}verbose} command line option or the corresponding key in the configuration file (detailed in Sections~\ref{sec:options} and~\ref{sec:basicstructure}, respectively). Note that the logical negation of such method indicates whether the tool is being executed in silent mode.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-verbose = isVerboseMode();
-\end{codebox}
-
-\item[\mdbox{R}{isOnPath(String name)}{boolean}] This method, as the name implies, returns a boolean value according to whether the provided \rbox{String} reference representing a command name is reachable from the system path. For portability reasons, there is no need to provide extensions to Microsoft Windows command names, as \arara\ will look for common patterns. This behaviour is expected and by design. However, be mindful that the search is case sensitive.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = isOnPath('pdftex');
-\end{codebox}
-
-\begin{messagebox}{Path inspection}{araracolour}{\icok}{white}
-According to the \href{https://en.wikipedia.org/wiki/PATH_(variable)}{Wikipedia entry}, \abox[araracolour]{PATH} is an environment variable on Unix-like operating systems and Microsoft Windows, specifying a set of directories where executable programs are located. \arara\ performs a file search operation based on all directories specified in the system path, filtering files by name (and extensions, when in Microsoft Windows). When an exact match is found, the search is concluded. Notwithstanding the great effort, it is very important to note that there is no guarantee that our tool will be able to correctly reach the command in all scenarios.
-\end{messagebox}
-
-\item[\mdbox{R}{unsafelyExecuteSystemCommand(Command command)}{Pair<Integer, String>}] This method, which has a very spooky name, unsafely executes the provided \rbox{Command} reference and returns an ordered pair containing the exit status and the command output. Note that, if an exception is raised during the command execution, \rbox{-99} is assigned as exit status and an empty string is defined as command output. Please make sure to always check the returned integer status when using this method.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-result = unsafelyExecuteSystemCommand(getCommand('ls'));
-\end{codebox}
-
-\begin{messagebox}{Hic sunt leones}{attentioncolour}{\icattention}{black}
-Please \emph{do not abuse} this method! Keep in mind that this particular feature is included for very specific scenarios in which the command streams are needed ahead of time for proper decision making.
-\end{messagebox}
-
-\item[\mdbox{R}{isSubdirectory(File directory)}{boolean}] This method checks whether the provided \rbox{File} reference is a valid subdirectory under the project hierarchy, return a corresponding boolean value. This is a check to impose a possible restriction in the rule scope, so that users can change down to subdirectories in their projects but not up, outside of the root directory.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-valid = isSubdirectory(toFile('chapters/'));
-\end{codebox}
-
-\item[\mdbox{R}{getOrNull(List<String> list, int index)}{String}] This method attempts to retrieve
-a list element based on an integer index. If the index is out of bounds, a \rbox{null} value is returned instead.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-list = [ 'a', 'b', 'c' ];
-third = getOrNull(list, 2);
-\end{codebox}
-
-\item[\mdbox{R}{getOrNull(List<String> list)}{String}] This method attempts to retrieve
-the first element of the provided list. If the list is empty, a \rbox{null} value is returned instead.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-list = [ 'a', 'b', 'c' ];
-first = getOrNull(list);
-\end{codebox}
-\end{description}
-
-\begin{messagebox}{Flags and reserved storage in a session}{araracolour}{\icok}{white}
-From version 6.0 on, there are three reserved namespaces within a session. They are described as follows:
-
-\begin{description}
-\item[{\rbox[araracolour]{environment}}] This namespace is quite intuitive: \arara\ will store the current state of the systems environment variables in its session. You may alter these values in the session storage but they will not be written back to the system configuration. To access an environment variable, you can use its usual name prefixed by \rbox[araracolour]{environment:}:
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-path = getSession().get('environment:PATH');
-\end{codebox}
-
-\item[{\rbox[araracolour]{arara}}] This namespace provides flags that control the underlying behaviour of \arara. Flags are used in rules and may be manipulated by the user. Be aware that every change in this namespace will result in the tool acting like you know what you did. Use this power with care. Currently, there is only one relevant flag: \rbox{arara:FILENAME:halt}. This will stop the currently run command execution on the file with the specified file name. The value of this map entry is the exit status you want \arara\ to have.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-getSession().put('arara:myfile.tex:halt', 42);
-\end{codebox}
-
-\item[{\rbox[araracolour]{arg}}] This namespace acts as a bridge between contexts and the command line by providing access to key/value pairs defined at runtime by \opbox{{-}call-property} command line flags.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-key = getSession().get('arg:key');
-\end{codebox}
-
-Please refer to Chapter~\ref{chap:commandline}, on page~\pageref{chap:commandline} for more details on the \opbox{{-}call-property} command line flag.
-
-\end{description}
-\end{messagebox}
-
-The methods presented in this section provide interesting features for persistent data sharing, error handling, early command execution, and templating. It is important to note that more classes, objects and methods can be incorporated into \arara\ through class loading and object instantiation, extending the features and enhancing the overall user experience.
diff --git a/support/arara/doc/chapters/mvel.tex b/support/arara/doc/chapters/mvel.tex
deleted file mode 100644
index 385e522510..0000000000
--- a/support/arara/doc/chapters/mvel.tex
+++ /dev/null
@@ -1,242 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{MVEL}
-\label{chap:mvel}
-
-According to the \href{https://en.wikipedia.org/wiki/MVEL}{Wikipedia entry}, the MVFLEX Expression Language (hereafter referred as MVEL) is a hybrid, dynamic, statically typed, embeddable expression language and runtime for the Java platform. Originally started as a utility language for an application framework, the project is now developed completely independently. \arara\ relies on this scripting language in two circumstances:
-
-\begin{enumerate}
-\item\emph{Rules}, as nominal attributes gathered from directives are used to build complex command invocations and additional computations. A rule follows a very strict model, detailed in Section~\ref{sec:rule}, on page~\pageref{sec:rule}.
-
-\item\emph{Conditionals}, as logical expressions must be evaluated in order to decide whether and how a directive should be interpreted. Conditionals are detailed in Section~\ref{sec:directives}, on page~\pageref{sec:directives}.
-\end{enumerate}
-
-This chapter only covers the relevant parts of the MVEL language for a consistent use with \arara. For advanced topics, I highly recommend the official language guide for MVEL 2.0, available online.
-
-\section{Basic usage}
-\label{sec:mvelbasicusage}
-
-The following primer is provided by the \href{https://mvel.documentnode.com/}{official language guide}, almost verbatim, with a few modifications to make it more adherent to our needs with \arara. Consider the following expression:
-
-\begin{codebox}{Simple property expression}{teal}{\icnote}{white}
-user.name
-\end{codebox}
-
-In this expression, we have a single identifier \rbox{user.name}, which by itself is a property expression, in that the only purpose of such an expression is to extract a property out of a variable or context object, namely \rbox{user}. Property expressions are widely used by \arara, as directive parameters are converted to a map inside the corresponding rule scope. For instance, a parameter \rbox{foo} in a directive will be mapped as \rbox{parameters.foo} inside a rule during interpretation. This topic is detailed in Section~\ref{sec:directives}, on page~\pageref{sec:directives}. The scripting language can also be used for evaluating a boolean expression:
-
-\begin{codebox}{Boolean expression evaluation}{teal}{\icnote}{white}
-user.name == 'John Doe'
-\end{codebox}
-
-This expression yields a boolean result, either \rbox{true} or \rbox{false} based on a comparison operation. Like a typical programming language, MVEL supports the full gamut of operator precedence rules, including the ability to use bracketing to control execution order:
-
-\begin{codebox}{Execution order control through bracketing}{teal}{\icnote}{white}
-(user.name == 'John Doe') && ((x * 2) - 1) > 20
-\end{codebox}
-
-You may write scripts with an arbitrary number of statements using a semicolon to denote the termination of a statement. This is required in all cases except in cases where there is only one statement, or for the last statement in a script:
-
-\begin{codebox}{Multiple statements}{teal}{\icnote}{white}
-statement1; statement2; statement3
-\end{codebox}
-
-It is important to observe that MVEL expressions use a \emph{last value out} principle. This means, that although MVEL supports the \rbox{return} keyword, it can be safely omitted. For example:
-
-\begin{codebox}{Automatic return}{teal}{\icnote}{white}
-foo = 10;
-bar = (foo = foo * 2) + 10;
-foo;
-\end{codebox}
-
-In this particular example, the expression automatically returns the value of \rbox{foo} as it is the last value of the expression. It is functionally identical to:
-
-\begin{codebox}{Explicit return}{teal}{\icnote}{white}
-foo = 10;
-bar = (foo = foo * 2) + 10;
-return foo;
-\end{codebox}
-
-Personally, I like to explicitly add a \rbox{return} statement, as it provides a visual indication of the expression exit point. All rules released with \arara\ favour this writing style. However, feel free to choose any writing style you want, as long as the resulting code is consistent.
-
-The type coercion system of MVEL is applied in cases where two incomparable types are presented by attempting to coerce the right value to that of the type of the left value, and then vice-versa. For example:
-
-\begin{codebox}{Type coercion}{teal}{\icnote}{white}
-"123" == 123;
-\end{codebox}
-
-Surprisingly, the evaluation of such expression holds \rbox{true} in MVEL because the underlying type coercion system will coerce the untyped number \rbox{123} to a string \rbox{123} in order to perform the comparison.
-
-\section{Inline lists, maps and arrays}
-\label{sec:mvelinlinelistsmapsandarrays}
-
-According to the documentation, MVEL allows you to express lists, maps and arrays using simple elegant syntax. Lists are expressed in the following format:
-
-\begin{codebox}{Creating a list}{teal}{\icnote}{white}
-[ "Jim", "Bob", "Smith" ]
-\end{codebox}
-
-Note that lists are denoted by comma-separated values delimited by square brackets. Similarly, maps (sets of key/value attributes) are expressed in the following format:
-
-\begin{codebox}{Creating a map}{teal}{\icnote}{white}
-[ "Foo" : "Bar", "Bar" : "Foo" ]
-\end{codebox}
-
-Note that attributes are composed by a key, a colon and the corresponding value. A map is denoted by comma-separated attributes delimited by square brackets. Finally, arrays are expressed in the following format:
-
-\begin{codebox}{Creating an array}{teal}{\icnote}{white}
-{ "Jim", "Bob", "Smith" }
-\end{codebox}
-
-One important aspect about inline arrays is their special ability to be coerced to other array types. When you declare an inline array, it is untyped at first and later coerced to the type needed in context. For instance, consider the following code, in which \rbox{sum} takes an array of integers:
-
-\begin{codebox}{Array coercion}{teal}{\icnote}{white}
-math.sum({ 1, 2, 3, 4 });
-\end{codebox}
-
-In this case, the scripting language will see that the target method accepts an integer array and automatically type the provided untyped array as such. This is an important feature exploited by \arara\ when calling methods within the rule or conditional scope.
-
-\section{Property navigation}
-\label{sec:propertynavigation}
-
-MVEL provides a single, unified syntax for accessing properties, static fields, maps and other structures. Lists are accessed the same as arrays. For example, these two constructs are equivalent (MVEL and Java access styles for lists and arrays, respectively):
-
-\begin{codebox}{MVEL access style for lists and arrays}{teal}{\icnote}{white}
-user[5]
-\end{codebox}
-
-\begin{codebox}{Java access style for lists and arrays}{teal}{\icnote}{white}
-user.get(5)
-\end{codebox}
-
-Observe that MVEL accepts plain Java methods as well. Maps are accessed in the same way as arrays except any object can be passed as the index value. For example, these two constructs are equivalent (MVEL and Java access styles for maps, respectively):
-
-\begin{codebox}{MVEL access style for maps}{teal}{\icnote}{white}
-user["foobar"]
-user.foobar
-\end{codebox}
-
-\begin{codebox}{Java access style for maps}{teal}{\icnote}{white}
-user.get("foobar")
-\end{codebox}
-
-It is advisable to favour such access styles over their Java counterparts when writing rules and conditionals for \arara. The clean syntax helps to ensure more readable code.
-
-\section{Flow control}
-\label{sec:mvelflowcontrol}
-
-The expression language goes beyond simple evaluations. In fact, MVEL supports an assortment of control flow operators (namely, conditionals and repetitions) which allows advanced scripting operations. Consider this conditional statement:
-
-\begin{codebox}{Conditional statement}{teal}{\icnote}{white}
-if (var > 0) {
- r = "greater than zero";
-}
-else if (var == 0) {
- r = "exactly zero";
-}
-else {
- r = "less than zero";
-}
-\end{codebox}
-
-As seen in the previous code, the syntax is very similar to the ones found in typical programming languages. MVEL also provides a shorter version, known as a ternary statement:
-
-\begin{codebox}{Ternary statement}{teal}{\icnote}{white}
-answer == true ? "yes" : "no";
-\end{codebox}
-
-The \rbox{foreach} statement accepts two parameters separated by a colon, the first being the local variable holding the current element, and the second the collection or array to be iterated over. For example:
-
-\begin{codebox}{Iteration statement}{teal}{\icnote}{white}
-foreach (name : people) {
- System.out.println(name);
-}
-\end{codebox}
-
-As expected, MVEL also implements the standard C \rbox{for} loop. Observe that newer versions of MVEL allow an abbreviation of \rbox{foreach} to the usual \rbox{for} statement, as syntactic sugar. In order to explicitly indicate a collection iteration, we usually use \rbox{foreach} in the default rules for \arara, but both statements behave exactly the same from a semantic point of view.
-
-\begin{codebox}{Iteration statement}{teal}{\icnote}{white}
-for (int i = 0; i < 100; i++) {
- System.out.println(i);
-}
-\end{codebox}
-
-The scripting language also provides two versions of the \rbox{do} statement: one with \rbox{while} and one with \rbox{until} (the latter being the exact inverse of the former):
-
-\begin{codebox}{Iteration statement}{teal}{\icnote}{white}
-do {
- x = something();
-} while (x != null);
-\end{codebox}
-
-\begin{codebox}{Iteration statement}{teal}{\icnote}{white}
-do {
- x = something();
-} until (x == null);
-\end{codebox}
-
-Finally, MVEL also implements the standard \rbox{while}, with the significant addition of an \rbox{until} counterpart (for inverted logic):
-
-\begin{codebox}{Iteration statement}{teal}{\icnote}{white}
-while (isTrue()) {
- doSomething();
-}
-\end{codebox}
-
-\begin{codebox}{Iteration statement}{teal}{\icnote}{white}
-until (isFalse()) {
- doSomething();
-}
-\end{codebox}
-
-Since \rbox{while} and \rbox{until} are unbounded (i.e, the number of iterations required to solve a problem may be unpredictable), we usually tend to avoid using such statements when writing rules for \arara.
-
-\section{Projections and folds}
-\label{sec:mvelprojectionsandfolds}
-
-Projections are a way of representing collections. According to the official documentation, using a very simple syntax, one can inspect very complex object models inside collections in MVEL using the \rbox{in} operator. For example:
-
-\begin{codebox}{Projection and fold}{teal}{\icnote}{white}
-names = (user.name in users);
-\end{codebox}
-
-As seen in the above code, \rbox{names} holds all values from the \rbox{name} property of each element, represented locally by a placeholder \rbox{user}, from the collection \rbox{users} being inspected. This feature can even perform nested operations.
-
-\section{Assignments}
-\label{sec:mvelassignments}
-
-According to the official documentation, the scripting language allows variable assignment in expressions, either for extraction from the runtime, or for use inside the expression. As MVEL is a dynamically typed language, there is no need to specify a type in order to declare a new variable. However, feel free to explicitly declare the type when desired.
-
-\begin{codebox}{Assignment}{teal}{\icnote}{white}
-str = "My string";
-String str = "My string";
-\end{codebox}
-
-Unlike Java, however, the scripting language provides automatic type conversion (when possible) when assigning a value to a typed variable. In the following example, an integer value is assigned to a string:
-
-\begin{codebox}{Assignment}{teal}{\icnote}{white}
-String num = 1;
-\end{codebox}
-
-For dynamically typed variables, in order to perform a type conversion, it is just a matter of explicitly casting the value to the desired type. In the following example, an explicit string cast is assigned to the \rbox{num} variable:
-
-\begin{codebox}{Assignment}{teal}{\icnote}{white}
-num = (String) 1;
-\end{codebox}
-
-When writing rules for \arara, is advisable to keep variables to a minimum in order to avoid unnecessary assignments and a potential performance drop. However, make sure to favour readability over unmaintained code.
-
-\section{Basic templating}
-\label{sec:mvelbasictemplating}
-
-MVEL templates are comprised of \emph{orb} tags inside a plain text document. Orb tags denote dynamic elements of the template which the engine will evaluate at runtime. \arara\ heavily relies on this concept for runtime evaluation of conditionals and rules. For rules, we use orb tags to return either a string from a textual template or a proper command object. The former constituted the basis of command generation in previous versions of our tool; we highly recommend the latter, detailed in Section~\ref{sec:rule}, on page~\ref{sec:rule}. Conditionals are in fact orb tags in disguise, such that the expression (or a sequence of expressions) is properly evaluated at runtime. Consider the following example:
-
-\begin{codebox}{Template}{teal}{\icnote}{white}
-My favourite team is @{ person.name == 'Enrico'
-? 'Juventus' : 'Palmeiras' }!
-\end{codebox}
-
-The above code features a basic form of orb tag named \emph{expression orb}. It contains an expression (or a sequence of expressions) which will be evaluated to a certain value, as seen earlier on, when discussing the \emph{last value out} principle. In the example, the value to be returned will be a string containing a football team name (the result is of course based on the comparison outcome).
-
-\section{Further reading}
-\label{sec:mvelfurtherreading}
-
-This chapter does not cover all features of the MVEL expression language, so further reading is advisable. I highly recommend the \href{http://mvel.documentnode.com/}{MVEL language guide} currently covering version 2.0 of the language.
diff --git a/support/arara/doc/chapters/rules.tex b/support/arara/doc/chapters/rules.tex
deleted file mode 100644
index f2f04b7879..0000000000
--- a/support/arara/doc/chapters/rules.tex
+++ /dev/null
@@ -1,1857 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{The official rule pack}
-\label{chap:theofficialrulepack}
-
-\arara\ ships with a pack of default rules, placed inside a special subdirectory named \abox[araracolour]{rules/} inside another special directory named \abox[araracolour]{ARARA\_HOME} (the place where our tool is installed). This chapter introduces the official rules, including proper listings and descriptions of associated parameters whenever applied. Note that such rules work off the shelf, without any special installation, configuration or modification. An option marked by \rbox[araracolour]{S} after the corresponding identifier indicates a natural boolean switch. Similarly, the occurrence of an \rqbox\ mark indicates that the corresponding option is required.
-
-\begin{messagebox}{Can my rule be distributed within the official pack?}{araracolour}{\icok}{white}
-As seen in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}, the default rule path can be extended to include a list of directories in which our tool should search for rules. However, if you believe your rule is comprehensive enough and deserves to be in the official pack, please contact us! We will be more than happy to discuss the inclusion of your rule in forthcoming updates.
-\end{messagebox}
-
-\begin{description}
-\item[\rulebox{animate}]
-This rule creates an animated \rbox{gif} file from the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{pdf} suffix, using the \rbox{convert} command line utility from the ImageMagick suite.
-
-\begin{description}
-\item[\rpbox{delay}{10}] This option regulates the number of ticks before the display of the next image sequence, acting as a pause between still frames.
-
-\item[\rpbox{loop}{0}] This option regulates the number of repetitions for the animation. When set to zero, the animation repeats itself an infinite number of times.
-
-\item[\rpbox{density}{300}] This option specifies the horizontal and vertical canvas resolution while rendering vector formats into a proper raster image.
-
-\item[\rpbox{program}{convert}] This option specifies the command utility path as a means to avoid potential clashes with underlying operating system commands.
-
-\begin{messagebox}{Microsoft Windows woes}{attentioncolour}{\icattention}{black}
-\setlength{\parskip}{1em}
-According to the \href{http://www.imagemagick.org/Usage/windows/}{ImageMagick website}, the Windows installation routine adds the program directory to the system path, such that one can call command line tools directly from the command prompt, without providing a path name. However, \rbox{convert} is also the name of Windows system tool, located in the system directory, which converts file systems from one format to another.
-
-The best solution to avoid possible future name conflicts, according to the ImageMagick team, is to call such command line tools by their full path in any script. Therefore, the \rbox{convert} rule provides the \abox{program} option for this specific scenario.
-\end{messagebox}
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: animate: { delay: 15, density: 150 }
-\end{codebox}
-
-\item[\rulebox{asymptote}]
-This rule executes the \rbox{asy} command line program, referring to Asymptote, a powerful descriptive vector graphics language for technical drawings, inspired by Metapost but with an improved syntax. Please note that you will have to make the \rbox{.asy} extension known to \arara\ in order to compile Asymptote files. Furthermore, it is advised to use this in your regular \TeX\ document specifying the \abox{files} parameter to include all graphics you want to compile for inclusion in your document.
-
-\begin{description}
-\item[\abox{color}] This option, as the name suggests, provides the underlying color model to be used in the current execution. Possible values are:
-
-\begin{description}
-\item[\povalue{\hphantom{x}bw\hphantom{x}}] This option value, as the name suggests, converts all colors to a black and white model.
-
-\item[\povalue{cmyk}] This option value converts the RGB (red, green an blue) color model to the CMYK (cyan, magenta, yellow and black) counterpart.
-
-\item[\povalue{rgb}] This option value converts the CMYK (cyan, magenta, yellow and black) color model to the RGB (red, green an blue) counterpart.
-
-\item[\povalue{gray}] This option value, as the name suggests, converts all colors to a grayscale model.
-\end{description}
-
-\item[\rpbox{engine}{latex}] This option, as the name indicates, sets the underlying \TeX\ engine to be used for the current compilation. Make sure to take a look at the Asymptote manual for further details on this option. Possible values are:
-
-\begin{description}
-\item[\povalue{latex}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{latex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{pdflatex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{pdflatex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{xelatex}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{xelatex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{lualatex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{lualatex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{tex}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{tex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{pdftex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{pdftex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{luatex}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{luatex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{context}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{context} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{none}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{none} for the current compilation. In this case, there will be no associated engine.
-\end{description}
-
-\item[\abox{format}] This option, as the name suggests, converts each output file to a specified format. Make sure to take a look at the Asymptote manual for further details.
-
-\item[\abox{output}] This option, as the name suggests, sets an alternative output directory or file name. Make sure to take a look at the Asymptote manual for further details.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: asymptote: { files: [ mydrawing.asy ] }
-\end{codebox}
-
-\item[\rulebox{authorindex}]
-This rule calls the \rbox{authorindex} wrapper, a Perl script that processes auxiliary files generated by the package of the same name, producing author index files, with the \rbox{ain} extension.
-
-\begin{description}
-\item[\rpsbox{draft}] This option sets whether the script should write additional information to the produced file. For each author, the
-labels of all references and the page numbers where they are cited are included as comments. This detail may help if you manually edit the generated author index.
-
-\item[\rpsbox{index}] This option sets whether the script should create a file suitable for further processing with \rbox{makeindex} or
-the like. For example, you could use that to make a common author and subject index. Note the extension of the generated file still will be the default one.
-
-\item[\rpsbox{keep}] This option sets whether the script should retain the temporarily generated \rbox{bst} file after the run finishes. This information will give you a good starting point for advanced customization of the author index.
-
-\item[\rpsbox{print}] This option, as the name indicates, sets whether the script should print the result to standard output instead of writing it to the output file.
-
-\item[\rpsbox{recurse}] This option sets whether the script should automatically process auxiliary files produced by included files. This behaviour is enabled by default.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: authorindex: { draft: yes }
-\end{codebox}
-
-\item[\rulebox{bib2gls}]
-This rule executes the \rbox{bib2gls} command line application which extracts glossary information stored in a \rbox{bib} file and converts it into glossary entry definitions in resource files. This rule passes the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as the mandatory argument.
-
-\begin{description}
-\item[\abox{dir}] This option sets the directory used for writing auxiliary files. Note that this option does not change the current working directory.
-
-\item[\abox{trans}] This option sets the extension of the transcript file created by \rbox{bib2gls}. The value should be just the file extension without the leading dot. The default is \rbox{glg}.
-
-\item[\abox{locale}] This option specifies the preferred language resource file. Please keep in mind that the provided value must be a valid IETF language tag. If omitted, the default is obtained by \rbox{bib2gls} from the JVM.
-
-\item[\rpsbox{group}] This option sets whether \rbox{bib2gls} will try to determine the letter group for each entry and add it to a new field called \rbox{group} when sorting. Be mindful that some \rbox{sort} options ignore this setting. The default value is off.
-
-\item[\rpsbox{interpret}] This option sets whether the interpreter mode of \rbox{bib2gls} is enabled. If the interpreter is on, \rbox{bib2gls} will attempt to convert any \LaTeX\ markup in the sort value to the closest matching Unicode characters. If the interpreter is off, the \rbox{log} file will not be parsed for recognised packages. The default value is on.
-
-\item[\rpsbox{breakspace}] This option sets whether the interpreter will treat a tilde character as a non-breaking space (as with \TeX) or a normal space. The default behaviour treats it as non-breakable.
-
-\item[\rpsbox{trimfields}] This option sets whether \rbox{bib2gls} will trim leading and trailing spaces from field values. The default behaviour does not trim spaces.
-
-\item[\rpsbox{recordcount}] This option sets whether the record counting will be enabled. If activated, \rbox{bib2gls} will add record count fields to entries. The default behaviour is off.
-
-\item[\rpsbox{recordcountunit}] This option sets whether \rbox{bib2gls} will add unit record count fields to entries. These fields can then be used with special commands. The default behaviour is off.
-
-\item[\rpsbox{cite}] This option sets whether \rbox{bib2gls} will treat citation instances found in the \rbox{aux} file as though it was actually an ignored record. The default behaviour is off.
-
-\item[\rpsbox{verbose}] This option sets whether \rbox{bib2gls} will be executed in verbose mode. When enabled, the application will write extra information to the terminal and transcript file. This option is unrelated to \arara's verbose mode. The default behaviour is off.
-
-\item[\rpsbox{merge}] This option sets whether the program will merge \rbox{wrglossary} counter records. If disabled, one may end up with duplicate page numbers in the list of entry locations, but linking to different parts of the page. The default is on.
-
-\item[\rpsbox{uniscript}] This option sets whether text superscript and subscript will use the corresponding Unicode characters if available. The default is on.
-
-\item[\abox{packages}] This option instructs the interpreter to assume the packages from the provided list have been used by the document.
-
-\item[\abox{ignore}] This option instructs \rbox{bib2gls} to skip the check for any package from the provided list when parsing the corresponding log file.
-
-\item[\abox{custom}] This option instructs the interpreter to parse the package files from the provided list. The package files need to be quite simple.
-
-\item[\abox{mapformats}] This option takes a list and sets up the rule of precedence for partial location matches. Each element from the provided list must be another list of exactly two entries representing a conflict resolution.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: bib2gls: { group: true }
-% arara: --> if found('aux', 'glsxtr@resource')
-\end{codebox}
-
-\item[\rulebox{biber}]
-This rule runs \rbox{biber}, the backend bibliography processor for \rbox{biblatex}, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string.
-
-\begin{description}
-\item[\rpsbox{tool}] This option sets whether the bibliography processor should be executed in \emph{tool mode}, intended for transformations and modifications of datasources. Since this mode is oriented towards a datasource rather than a document, make sure to use it alongside the \abox{options} option.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: biber: { options: [ '--wraplines' ] }
-\end{codebox}
-
-\item[\rulebox{bibtex}]
-This rule runs the \rbox{bibtex} program, a reference management software, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: bibtex: { options: [ '-terse' ] }
-% arara: --> if exists(toFile('references.bib'))
-\end{codebox}
-
-\item[\rulebox{bibtex8}]
-This rule runs \rbox{bibtex8}, an enhanced, portable C version of \rbox{bibtex}, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string. It is important to note that this tool can read a character set file containing encoding details.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: bibtex8: { options: [ '--trace', '--huge' ] }
-\end{codebox}
-
-\item[\rulebox{bibtexu}]
-This rule runs the \rbox{bibtexu} program, an enhanced version of \rbox{bibtex} with Unicode support and language features, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: bibtexu: { options: [ '--language', 'fr' ] }
-\end{codebox}
-
-\item[\rulebox{clean}]
-This rule removes the provided file reference through the underlying system command, which can be \rbox{rm} in a Unix environment or \rbox{del} in Microsoft Windows. As a security lock, this rule will always throw an error if \mtbox{currentFile} is equal to \mtbox{getOriginalFile}, so the main file reference cannot be removed. It is highly recommended to use the special \abox{files} parameter to indicate removal candidates. Alternatively, a list of file extensions can be provided as well. Be mindful that the security lock also applies to file removals based on extensions.
-
-\begin{description}
-\item[\abox{extensions}] This option, as the name indicates, takes a list of extensions and constructs a new list of removals commands according to the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with each extension from the original list as suffixes. Keep in mind that, if the special \abox{files} parameter is used with this option, the resulting list will contain the cartesian product of file base names and extensions. An error is thrown if any data structure other than a proper list is provided as the value.
-
-\begin{messagebox}{Better safe than sorry!}{attentioncolour}{\icattention}{black}
-When in doubt, always remember that the \opbox{{-}dry-run} command line option is your friend! As seen in Section~\ref{sec:options}, on page~\pageref{sec:options}, this option makes \arara\ go through all the motions of running tasks and subtasks, but with no actual calls. It is a very useful feature for testing the sequence of removal commands without actually losing your files! Also, as good practice, always write plain, simple, understandable \rbox{clean} directives and use as many as needed in your \TeX\ documents.
-\end{messagebox}
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: clean: { extensions: [ aux, log ] }
-\end{codebox}
-
-\item[\rulebox{context}]
-This rule runs the \rbox{context} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in the Portable Document Format. Please refer to the user manual for further details.
-
-\begin{description}
-\item[\rpsbox{make}] This option, as the name indicates, sets whether the engine should create context formats. Please refer to the user manual for further details on this option.
-
-\item[\abox{ctx}] This option, as the name indicates, sets the \rbox{ctx} file for process management specification. Please refer to the user manual for further details on this option.
-
-\item[\abox{interface}] This option, as the name indicates, sets the specified user interface. Please refer to the user manual for further details on this option.
-
-\item[\rpsbox{autopdf}] This option, as the name indicates, closes the corresponding \rbox{pdf} file in viewer and then reopens it afterwards.
-
-\item[\abox{purge}] This option, as the name indicates, purges files according to the provided rule. Possible values are:
-
-\begin{description}
-\item[\povalue{partial}] This value, as the name suggests, purges files either or not after a proper run, defined through a pattern. Please refer to the user manual for further details.
-
-\item[\povalue{all}] This value, as the name suggests, purges all files either or not after a proper run, defined through a pattern. Please refer to the user manual for further details.
-
-\item[\povalue{result}] This value, as the name suggests, purges the resulting file before the actual run. Please refer to the user manual for further details.
-\end{description}
-
-\item[\abox{modules}] This option, as the name indicates, sets a list of modules and styles to be loaded, normally part of the distribution.
-
-\item[\abox{environments}] This option, as the name indicates, sets a list of environment files (document styles) to load first.
-
-\item[\abox{mode}] This option, as the name indicates, enables modes according to the provided list (conditional processing in styles).
-
-\item[\abox{path}] This option, as the name indicates, consults the given paths in the provided list during a file lookup.
-
-\item[\abox{arguments}] This option, as the name indicates, sets variables that can be consulted during a run. Such variables are defined as key/value pairs.
-
-\item[\abox{trackers}] This option, as the name indicates, sets the list of tracker variables. Please refer to the user manual for further details.
-
-\item[\abox{directives}] This option, as the name indicates, sets the list of directive variables. Please refer to the user manual for further details.
-
-\item[\abox{silent}] This option, as the name indicates, disables the log categories based on the provided list. Please refer to the user manual for further details.
-
-\item[\abox{errors}] This option, as the name indicates, shows errors at the end of a run and quits when it the provided list. Please refer to the user manual for further details.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, the engine will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-\end{description}
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: context
-\end{codebox}
-
-\item[\rulebox{convert}]
-This rule runs the \rbox{convert} program, a member of the ImageMagick suite of tools. This program is used to convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, resample, and more.
-
-\begin{description}
-\item[\rpbox{program}{convert}] This option specifies the command utility path as a means to avoid potential clashes with underlying operating system commands.
-
-\item[\abox{options}~\rqbox] This option, as the name indicates, takes a list of raw command line options and appends it to the actual script call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: convert: { options: [ 'photo1.jpg', '--resize',
-% arara: --> '50%', 'photo2.jpg' ] }
-\end{codebox}
-
-\item[\rulebox{copy}]
-This rule copies the \rbox{File} reference to the provided target using the underlying operating system copy operation. The target is \emph{always} overwritten. However, be mindful that an error will be thrown if you try to overwrite the file referenced in \mtbox{getOriginalReference}.
-
-\begin{description}
-\item[\abox{target}~\rqbox] This option, as the name implies, specifies the target for the copy operation. Keep in mind that this option is required.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: copy: { target: 'backup/thesis.tex' }
-\end{codebox}
-
-\item[\rulebox{csplain}]
-This rule runs the \rbox{csplain} \TeX\ engine, a conservative extension of Knuth's plain \TeX\ with direct processing characters and hyphenation patterns for Czech and Slovak, on the provided \mtbox{currentFile} reference.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. When such option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\rpsbox{draft}] This option sets whether the draft mode, i.e, a mode that produces no output, so the engine can check the syntax, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: csplain: { interaction: batchmode, shell: yes }
-\end{codebox}
-
-\item[\rulebox{datatooltk}]
-This rule runs \rbox{datatooltk}, an application that creates \rbox{datatool} databases in raw format from several structured data formats, in batch mode. This rule requires \abox{output} and one of the import options.
-
-\begin{description}
-\item[\abox{output}~\rqbox] This option provides the database name to be saved as output. To guard against accidentally overwriting a document file, \rbox{datatooltk} now forbids the \rbox{tex} extension for output files. This option is required.
-
-\item[\abox{csv}] This option, as the name indicates, imports data from the \rbox{csv} file reference provided as a plain string value.
-
-\item[\abox{sep}] This option specifies the character used to separate values in the \rbox{csv} file. Defaults to a comma.
-
-\item[\abox{delim}] This option specifies the character used to delimit values in the \rbox{csv} file. Defaults to a double quote.
-
-\item[\abox{name}] This option, as the name indicates, sets the label reference of the newly created database according to the provided value.
-
-\item[\abox{sql}] This option imports data from an SQL database where the provided value refers to a proper \rbox{select} SQL statement.
-
-\item[\abox{sqldb}] This option, as the name indicates, sets the name of the SQL database according to the provided value.
-
-\item[\abox{sqluser}] This option, as the name indicates, sets the name of the SQL user according to the provided value.
-
-\item[\rpbox{noconsole}{gui}] This action dictates the password request action if such information was not provided earlier. If there is no console available, the action is determined by the following values:
-
-\begin{description}
-\item[\povalue{error}] As the name indicates, this action issues an error when no password was previously provided through the proper option.
-
-\item[\povalue{stdin}] This action requests the password via the standard input stream, which is less secure than using a console.
-
-\item[\povalue{gui}] This action displays a dialog box in which the user can enter the password for the SQL database.
-\end{description}
-
-\item[\abox{probsoln}] This option, as the name indicates, imports data in the \rbox{probsoln} format from the file name provided as the value.
-
-\item[\abox{input}] This option, as the name indicates, imports data in the \rbox{datatool} format from the file name provided as the value.
-
-\item[\abox{sort}] This option, as the name indicates, sorts the database according to the column whose label is provided as the value. The value may be preceded by \rbox{+} or \rbox{-} to indicate ascending or descending order, respectively. If the sign is omitted, ascending is assumed.
-
-\item[\abox{sortlocale}] This option, as the name indicates, sorts the database according to alphabetical order rules of the locale provided as the value. If the value is set to \rbox{none} strings are sorted according to non-locale letter order.
-
-\item[\rpsbox{sortcase}] This option sets whether strings will be sorted using case-sensitive comparison for non-locale letter ordering. The default behaviour is case-insensitive.
-
-\item[\abox{seed}] This option, as the name indicates, sets the random generator seed to the provided value. The seed is cleared if an empty value is provided.
-
-\item[\rpsbox{shuffle}] This option sets whether the database will be properly shuffled. Shuffle is always performed after sort, regardless of the option order.
-
-\item[\rpsbox{csvheader}] This option sets whether the \rbox{csv} file has a header row. The
-spreadsheet import functions also use this setting.
-
-\item[\rpsbox{debug}] This option, as the name indicates, sets whether the debug mode of \rbox{datatooltk} is activated. The debug mode is disabled by default.
-
-\item[\rpsbox{owneronly}] This option sets whether read and write permissions when saving \rbox{dbtex} files should be defined for the owner only. This option has no effect on some operating systems.
-
-\item[\rpsbox{maptex}] This option sets whether \TeX\ special characters will be properly mapped when importing data from \rbox{csv} files or SQL databases.
-
-\item[\abox{xls}] This option, as the name indicates, imports data from a Microsoft Excel \rbox{xls} file reference provided as a plain string value.
-
-\item[\abox{ods}] This option, as the name indicates, imports data from an Open Document Spreadsheet \rbox{ods} file reference provided as a plain string value.
-
-\item[\abox{sheet}] This option specifies the sheet to select from the Excel workbook or Open Document Spreadsheet. This may either be an index or the name of the sheet.
-
-\item[\abox{filterop}] This option specifies the logical operator to be associated with a given filter. Filtering is always performed after sorting and shuffling. Possible values are:
-
-\begin{description}
-\item[\povalue{or}\hfill\hphantom{w}] This value, as the name indicates, uses the logical \rbox{or} operator when filtering. This is the default behaviour. Note that this value has no effect if only one filter is supplied.
-
-\item[\povalue{and}] This value, as the name indicates, uses the logical \rbox{and} operator when filtering. Note that this value has no effect if only one filter is supplied.
-\end{description}
-
-\item[\abox{filters}] This option takes a list and sets up a sequence of filters. Each element from the provided list must be another list of exactly three entries representing a key, an operator and a value, respectively.
-
-\item[\abox{truncate}] This option truncates the database to the number of rows provided as the value. Truncation is always performed after any sorting, shuffling and filtering, but before column removal.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: datatooltk: {
-% arara: --> output: books.dbtex,
-% arara: --> csv: booklist.csv }
-\end{codebox}
-
-\item[\rulebox{detex}]
-This rule runs \rbox{detex}, a command line application that, as the name indicates, reads the provided \mtbox{currentFile} reference, removes all comments and \TeX\ control sequences and writes the remainder to the standard output or file.
-
-\begin{description}
-\item[\rpsbox{references}] This option defines whether the tool should echo values from page counters, references and citations.
-
-\item[\rpsbox{follow}] This option defines whether the tool should follow files referenced through typical input mechanisms.
-
-\item[\rpsbox{math}] This option defines whether the tool should replace math with nouns and verbs in order to preserve grammar.
-
-\item[\rpsbox{spaces}] This option, as the name indicates, define whether the tool should replace control sequences with spaces.
-
-\item[\rpsbox{words}] This option, as the name indicates, define whether the tool should output only a list of words.
-
-\item[\abox{environments}] This option takes a list of environments to be ignored by the tool during the text transformation.
-
-\item[\abox{mode}] This option, as the name indicates, defines the operation mode for the tool. Possible values are:
-
-\begin{description}
-\item[\povalue{latex}] This value, as the name suggests, enables and forces the \LaTeX\ mode for the tool.
-
-\item[\povalue{tex}] This value, as the name suggests, enables and forces the plain \TeX\ mode for the tool.
-\end{description}
-
-\item[\abox{output}] This value, as the name indicates, sets the output file in which the contents will be redirected.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: detex: { output: thesis.txt }
-\end{codebox}
-
-\item[\rulebox{dvipdfm}]
-This rule runs \rbox{dvipdfm}, a command line utility for file format translation, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{dvi} suffix, generating a Portable Document Format \rbox{pdf} file.
-
-\begin{description}
-\item[\abox{output}] This option, as the name indicates, sets the output name for the generated \rbox{pdf} file. There is no need to provide an extension, as the value is always normalized with \mtbox{getBasename} such that only the name without the associated extension is used. The base name of the current file reference is used as the default value.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: dvipdfm: { output: thesis }
-\end{codebox}
-
-\item[\rulebox{dvipdfmx}]
-This rule runs \rbox{dvipdfmx}, an extended version of \rbox{dvipdfm} created to support multibyte character encodings and large character sets for East Asian languages, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{dvi} suffix, generating a Portable Document Format \rbox{pdf} file.
-
-\begin{description}
-\item[\abox{output}] This option, as the name indicates, sets the output name for the generated \rbox{pdf} file. There is no need to provide an extension, as the value is always normalized with \mtbox{getBasename} such that only the name without the associated extension is used. The base name of the current file reference is used as the default value.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: dvipdfmx: { options: [ '-K', '40' ] }
-\end{codebox}
-
-\item[\rulebox{dvips}]
-This rule runs \rbox{dvips} on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{dvi} suffix, generating a PostScript \rbox{ps} file.
-
-\begin{description}
-\item[\abox{output}] This option, as the name indicates, sets the output name for the generated \rbox{ps} file. There is no need to provide an extension, as the value is always normalized with \mtbox{getBasename} such that only the name without the associated extension is used. The base name of the current file reference is used as the default value.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: dvips: { output: thesis }
-\end{codebox}
-
-\item[\rulebox{dvipspdf}]
-This rule runs \rbox{dvips} in order to obtain a corresponding \rbox{ps} file from the initial \rbox{dvi} reference, and then runs \rbox{ps2pdf} on the previously generated \rbox{ps} file in order to obtain a \rbox{pdf} file. Note that all base names are acquired from the \mtbox{currentFile} reference (i.e, the name without the associated extension) and used to construct the resulting files.
-
-\begin{description}
-\item[\abox{output}] This option, as the name indicates, sets the output name for the generated \rbox{pdf} file. There is no need to provide an extension, as the value is always normalized with \mtbox{getBasename} such that only the name without the associated extension is used. The base name of the current file reference is used as the default value.
-
-\item[\abox{options1}] This option, as the name indicates, takes a list of raw command line options and appends it to the \rbox{dvips} program call. An error is thrown if any data structure other than a proper list is provided as the value.
-
-\item[\abox{options2}] This option, as the name indicates, takes a list of raw command line options and appends it to the \rbox{ps2pdf} program call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: dvipspdf: { output: article }
-\end{codebox}
-
-\item[\rulebox{dvisvgm}]
-This rule runs \rbox{dvisvgm} in order to obtain a corresponding \rbox{svg} file, a vector graphics format based on XML, from the initial reference. It is important to observe that the base name is acquired from the \mtbox{currentFile} reference (i.e, the name without the associated extension) and used to construct the resulting file.
-
-\begin{description}
-\item[\abox{entry}] This option sets the extension to be used for the initial reference (i.e, the current file name) as input to the command line tool. The following values are available for this option:
-
-\begin{description}
-\item[\povalue{dvi}] This value sets the extension to be used for the initial reference as a device independent format. This is the default value when no value is provided.
-
-\item[\povalue{xdv}] This value sets the extension to be used for the initial reference as an extended device independent format.
-
-\item[\povalue{eps}] This value sets the extension to be used for the initial reference as an encapsulated PostScript graphics format.
-
-\item[\povalue{pdf}] This value sets the extension to be used for the initial reference as a Portable Document Format.
-\end{description}
-
-\item[\abox{pages}] This value, as the name implies, takes a list of integers indicating the pages to be processed by the command line tool.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: dvisvgm
-\end{codebox}
-
-\item[\rulebox{etex}]
-This rule runs the \rbox{etex} extended (plain) \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in a device independent format.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: etex: {
-% arara: --> shell: yes,
-% arara: --> interaction: batchmode
-% arara: --> }
-\end{codebox}
-
-\item[\rulebox{fig2dev}]
-This rule runs \rbox{fig2dev}, a command line application that translates \rbox{fig} code in the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{fig} suffix into the specified graphics language and puts them in the specified output file.
-
-\begin{description}
-\item[\abox{language}~\rqbox] This option, as the name indicates, sets the output graphics language for proper transformation. Possible values are listed in the following table (you can infer their types as well, based on the values):
-
-\bigskip
-
-{\centering
-\def\arraystretch{1.5}
-\begin{tabularx}{0.8\textwidth}{YYYYYY}
-\povalue{box} & \povalue{cgm} & \povalue{epic} &
-\povalue{eepic} & \povalue{eepicemu} & \povalue{emf}\\
-\povalue{eps} & \povalue{gif} & \povalue{ibmgl} &
-\povalue{jpeg} & \povalue{latex} & \povalue{map}\\
-\povalue{mf} & \povalue{mp} & \povalue{mmp} &
-\povalue{pcx} & \povalue{pdf} & \povalue{pdftex}\\
-\povalue{pdftex\_t} & \povalue{pic} & \povalue{pictex} &
-\povalue{png} & \povalue{ppm} & \povalue{ps}\\
-\povalue{pstex} & \povalue{pstex\_t} & \povalue{ptk} &
-\povalue{shape} & \povalue{sld} & \povalue{svg}\\
-\povalue{textyl} & \povalue{tiff} & \povalue{tk} &
-\povalue{tpic} & \povalue{xbm} & \povalue{xpm}
-\end{tabularx}\par}
-
-\bigskip
-
-\item[\abox{output}~\rqbox] This option, as the name indicates, sets the output file which will contain the translated code based on the provided file and language.
-
-\item[\abox{magnification}] This option, as the name suggests, sets the magnification level at which the figure is rendered.
-
-\item[\abox{font}] This option sets the default font used for text objects to the provided value. Keep in mind that the format of this option depends on the graphics language in use.
-
-\item[\abox{size}] This option, as the name suggests, set the default font size (in points) for text objects to the provided value.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: fig2dev: { language: mp, output: drawing.mp }
-\end{codebox}
-
-\item[\rulebox{frontespizio}]
-This rule automates the steps required by the \rbox{frontespizio} package in order to help Italian users generate the frontispiece to their thesis. First and foremost, the frontispiece is generated. If \rbox{latex} is used as the underlying engine, there is an additional intermediate conversion step to a proper \rbox{eps} file. Finally, the final document is compiled.
-
-\begin{description}
-\item[\rpbox{engine}{pdflatex}] This option, as the name indicates, sets the underlying \TeX\ engine to be used for both compilations (the frontispiece and the document itself). Possible values are:
-
-\begin{description}
-\item[\povalue{latex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{latex} for both compilations (frontispiece and document).
-
-\item[\povalue{pdflatex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{pdflatex} for both compilations (frontispiece and document).
-
-\item[\povalue{xelatex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{xelatex} for both compilations (frontispiece and document).
-
-\item[\povalue{lualatex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{lualatex} for both compilations (frontispiece and document).
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within the selected \TeX\ engine is activated.
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual \TeX\ engine call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: frontespizio: { engine: xelatex,
-% arara: --> shell: yes, interaction: nonstopmode }
-\end{codebox}
-
-\item[\rulebox{ghostscript}]
-This rule runs \rbox{ghostscript}, an interpreter for PostScript and Portable Document Format files, according to the provided parameters.
-
-\begin{description}
-\item[\rpbox{program}{gs}] This option specifies the command utility path as a means to avoid potential clashes with underlying operating system commands or specific Windows naming schemes.
-
-\item[\abox{options}~\rqbox] This option, as the name indicates, takes a list of raw command line options and appends it to the actual \rbox{ghostscript} call. An error is thrown if any data structure other than a proper list is provided as the value. This option is required.
-
-\item[\abox{device}] This option specifies which output device the tool should use. If this option is not given, the default device (usually a display device) is used.
-
-\item[\abox{output}] This option, as the name indicates, specifies a file in which the tool should send the output. Please refer to the documentation for more details.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: ghostscript: { options: [ '-dCompatibilityLevel=1.4',
-% arara: --> '-dPDFSETTINGS=/printer', '-dNOPAUSE', '-dQUIET',
-% arara: --> '-dBATCH', 'input.pdf' ],
-% arara: --> output: output.pdf,
-% arara: --> device: pdfwrite }
-\end{codebox}
-
-\item[\rulebox{gnuplot}]
-This rule runs \rbox{gnuplot}, a command-driven plotting program that can generate plots of functions, data and data fits. The program also provides scripting capabilities, looping, functions, text processing, variables, macros, arbitrary pre-processing of input data (usually across columns), as well as the ability to perform non-linear multi-dimensional multi-set weighted data fitting.
-
-\begin{description}
-\item[\rpsbox{persist}] This option, as the name implies, sets whether the program should let plot windows survive after the main execution exits.
-
-\item[\rpsbox{default}] this option, as the name suggests, sets whether the program should read the default settings from either \rbox{gnuplotrc} or \rbox{~/.gnuplot} on entry.
-
-\item[\abox{commands}] This option, as the name implies, executes the requested commands before loading the next input file. Please refer to the user manual for further details.
-
-\item[\abox{input}~\rqbox] This required option, as the name indicates, sets the list of input file names to be processed by the program. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: gnuplot: { input: [ myplot.gnuplot ], default: yes }
-\end{codebox}
-
-\item[\rulebox{halt}]
-This rule, as the name suggests, sets a \rbox{halt} flag, which stops the current interpretation workflow, such that subsequent directives are ignored. This rule contains no associated options. Please refer to Section~\ref{sec:others}, on page~\pageref{sec:others}, for more information on flags.
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: halt
-\end{codebox}
-
-\item[\rulebox{indent}]
-This rule runs \rbox{latexindent}, a Perl script that indents \TeX\ files according to an indentation scheme, on the provided \mtbox{currentFile} reference. Environments, including those with alignment delimiters, and commands, including those that can split braces and brackets across lines, are usually handled correctly by the script.
-
-\begin{description}
-\item[\rpsbox{silent}] This option, as the name indicates, sets whether the script will operate in silent mode, in which no output is given to the terminal.
-
-\item[\rpsbox{overwrite}] This option, as the name indicates, sets whether the \mtbox{currentFile} reference will be overwritten. If activated, a copy will be made before the actual indentation process.
-
-\item[\abox{trace}] This option, as the name indicates, enables the script tracing mode, such that a verbose output will be given to the \rbox{indent.log} log file. Possible values are:
-
-\begin{description}
-\item[\povalue{default}] This value, as the name indicates, refers to the default tracing level. Note that, especially for large files, this value does affect performance of the script.
-
-\item[\povalue{complete}] This value, as the name indicates, refers to the detailed, complete tracing level. Note that, especially for large files, performance of the script will be significantly affected when this value is used.
-\end{description}
-
-\item[\rpsbox{screenlog}] This option, as the name indicates, sets whether \rbox{latexindent} will output the log file to the screen, as well as to the specified log file.
-
-\item[\rpsbox{modifylinebreaks}] This option, as the name indicates, sets whether the script will modify line breaks, according to specifications written in a configuration file.
-
-\item[\abox{cruft}] This option sets the provided value as a cruft location in which the script will write backup and log files. The default behaviour sets the working directory as cruft location.
-
-\item[\abox{logfile}] This option, as the name indicates, sets the name of the log file generated by \rbox{latexindent} according to the provided value.
-
-\item[\abox{output}] This option, as the name indicates, sets the name of the output file. Please note that this option has higher priority over some switches, so options like \abox{overwrite} will be ignored by the underlying script.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual script call. An error is thrown if any data structure other than a proper list is provided as the value.
-
-\item[\abox{settings}] This option, as the name indicates, dictates the indentation settings to be applied in the current script execution. Two possible values are available:
-
-\begin{description}
-\item[\povalue{local}] This value, as the name implies, acts a switch to indicate a local configuration. In this scenario, the script will look for a proper settings file in the same directory as the \mtbox{currentFile} reference and add the corresponding content to the indentation scheme. Optionally, a file location can be specified as well. Please refer to the \abox{where} option for more details on such feature.
-
-\item[\povalue{onlydefault}] This value, as the name indicates, ignores any local configuration, so the script will resort to the default indentation behaviour.
-\end{description}
-
-\item[\abox{where}] This option, as the name indicates, sets the file location containing the indentation settings according to the provided value. This option can only be used if, and only if, \rbox[cyan]{local} is set as the value for the \abox{settings} option, otherwise the rule will throw an error.
-
-\item[\abox{replacement}] This option, as the name indicates, implements the replacement mode switches. Three possible values are available:
-
-\begin{description}
-\item[\povalue{full}] This value, as the name indicates, performs indentation and replacements, not respecting verbatim code blocks.
-
-\item[\povalue{noverb}] This value, as the name indicates, performs indentation and replacements, and will respect verbatim code blocks.
-
-\item[\povalue{noindent}] This value, as the name implies, will not perform indentation, and will perform replacements not respecting verbatim code blocks.
-\end{description}
-
-\item[\abox{check}] This option, as the name indicates, checks whether the text after indentation matches that given in the original file. Two possible values are available:
-
-\begin{description}
-\item[\povalue{standard}] This value, as the name indicates, refers to the standard behaviour. Please refer to the documentation for further details.
-
-\item[\povalue{verbose}] This value, as the name indicates, refers to including more details to the check. The tool will print the result in the standard output, as well as in its own log file. Please refer to the documentation for further details.
-\end{description}
-
-\item[\abox{lines}] This option instructs the tool to operate only on specific line ranges within the file being inspected. Please refer to the documentation for further details.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: indent: { overwrite: yes }
-\end{codebox}
-
-\item[\rulebox{knitr}]
-This rule calls the \rbox{knitr} package, a transparent engine for dynamic report generation with R. It takes an \rbox{.Rnw} file as input, extracts the R code in it according to a list of patterns, evaluates the code and writes the output in another file. It can also tangle R source code from the input document.
-
-\begin{description}
-\item[\rpbox{output}{NULL}] This option sets the output file. when absent, \rbox{knitr} will try to guess a default, which will be under the current working directory.
-
-\item[\rpsbox{tangle}] This option sets whether to tangle the R code from the input file. Note that, when used, this option requires \abox{output} to be specified as well, otherwise an error is thrown.
-
-\item[\rpsbox{quiet}] This option, as the name indicates, sets whether the tool should suppress both progress bar and messages.
-
-\item[\rpbox{envir}{parent.frame()}] This option sets the environment in which code chunks are to be evaluated. Please refer to the documentation for further details.
-
-\item[\rpbox{encoding}{getOption("encoding")}] This option, as the name indicates, sets the encoding of the input file. Please refer to the documentation for further details.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: knitr: { quiet: yes }
-\end{codebox}
-
-\item[\rulebox{latex}]
-This rule runs the \rbox{latex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in a device independent format.
-
-\begin{description}
-\item[\rpbox{branch}{stable}] This option allows branching formats for the current engine, mainly focused on package development. Users of current \TeX\ distributions might benefit from format branching in order to easily test documents and code against the upcoming releases. Possible values are:
-
-\begin{description}
-\item[\povalue{stable}] This value, as the name implies, enables the stable engine format branch. Note that this is the default format.
-
-\item[\povalue{developer}] For experienced users, this value enables the experimental, developer engine format branch.
-\end{description}
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\rpsbox{draft}] This option sets whether the draft mode, i.e, a mode that produces no output, so the engine can check the syntax, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: latex: { interaction: scrollmode, draft: yes }
-\end{codebox}
-
-\item[\rulebox{latexmk}]
-This rule runs \rbox{latexmk}, a fantastic command line tool for fully automated \TeX\ document generation, on the provided \mtbox{currentFile} reference.
-
-\begin{description}
-\item[\abox{clean}] This option, as the name indicates, removes all temporary files generated after a sequence of intermediate calls for document generation. Two possible values are available:
-
-\begin{description}
-\item[\povalue{all}] This value, as the name indicates, removes all temporary, intermediate files, as well as resulting, final formats such as PostScript and Portable Document Format. Only relevant source files are kept.
-
-\item[\povalue{partial}] This value, as the name indicates, removes all temporary, intermediate files and keeps the resulting, final formats such as PostScript and Portable Document Format.
-\end{description}
-
-\item[\abox{engine}] This option, as the name indicates, sets the underlying \TeX\ engine of \rbox{latexmk} to be used for the compilation sequence. Possible values are:
-
-\begin{description}
-\item[\povalue{latex}] This value, as the name indicates, sets the underlying \TeX\ engine of the script to \rbox{latex} for the compilation sequence.
-
-\item[\povalue{latex-dev}] This value, as the name indicates, sets the underlying \TeX\ engine of the script to \rbox{latex-dev} (the development branch) for the compilation sequence.
-
-\item[\povalue{pdflatex}] This value, as the name indicates, sets the underlying \TeX\ engine of the script to \rbox{pdflatex} for the compilation sequence.
-
-\item[\povalue{pdflatex-dev}] This value, as the name indicates, sets the underlying \TeX\ engine of the script to \rbox{pdflatex-dev} (the development branch) for the compilation sequence.
-
-\item[\povalue{xelatex}] This value, as the name indicates, sets the underlying \TeX\ engine of the script to \rbox{xelatex} for the compilation sequence.
-
-\item[\povalue{xelatex-dev}] This value, as the name indicates, sets the underlying \TeX\ engine of the script to \rbox{xelatex-dev} (the development branch) for the compilation sequence.
-
-\item[\povalue{lualatex}] This value, as the name indicates, sets the underlying \TeX\ engine of the script to \rbox{lualatex} for the compilation sequence.
-
-\item[\povalue{lualatex-dev}] This value, as the name indicates, sets the underlying \TeX\ engine of the script to \rbox{lualatex-dev} (the development branch) for the compilation sequence.
-\end{description}
-
-\item[\abox{program}] This option, as the name suggests, sets the \TeX\ engine according to the provided value. It is important to note that this option has higher priority over \abox{engine} values, so the latter will be discarded.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual script call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: latexmk: { engine: pdflatex }
-\end{codebox}
-
-\item[\rulebox{llmk}]
-This rule runs \rbox{llmk}, a command line tool specific for building \LaTeX\ documents. The tool's aim is to provide a simple way to specify a workflow of processing documents and encourage people to always explicitly show the right workflow for each document.
-
-\begin{description}
-\item[\abox{clean}] This option, as the name indicates, removes all temporary files generated after a sequence of intermediate calls for document generation. Two possible values are available:
-
-\begin{description}
-\item[\povalue{all}] This value, as the name indicates, removes all temporary, intermediate files, as well as resulting, final formats such as PostScript and Portable Document Format. Only relevant source files are kept.
-
-\item[\povalue{partial}] This value, as the name indicates, removes all temporary, intermediate files and keeps the resulting, final formats such as PostScript and Portable Document Format.
-\end{description}
-
-\item[\abox{debug}] This option activates the specified debug category, so debugging messages related to the activated category will be shown. Please refer to the documentation for more details.
-
-\item[\rpsbox{dry}] This option sets whether the tool should display a list of commands to be executed without actually invoking them.
-
-\item[\abox{mode}]
-This option sets the verbosity level of messages to be displayed during a run. Three possible values are available:
-
-\begin{description}
-\item[\povalue{quiet}] This value, as the name indicates, suppresses most of the messages from the program during execution.
-
-\item[\povalue{silent}] This value, as the name indicates, silences messages from invoked programs by redirecting both standard output and standard error streams to the null device.
-
-\item[\povalue{verbose}] This value, as the name indicates, displays additional information such as invoked commands with options and arguments by the program.
-\end{description}
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: llmk: { mode: verbose }
-\end{codebox}
-
-\item[\rulebox{ltx2any}]
-This rule runs \rbox{ltx2any}, a command line tool written in Ruby that acts as a \LaTeX\ build wrapper, on the provided \mtbox{currentFile} reference.
-
-\begin{description}
-\item[\rpsbox{clean}] This option, as the name indicates, sets whether all intermediate results generated during the compilation to be deleted.
-
-\item[\abox{engine}] This option, as the name indicates, sets the engine to be using during the current execution.
-
-\item[\abox{parameters}] This option, as the name indicates, takes a list of parameters to be passed to the engine. An error is thrown if any data structure other than a proper list is provided as the value.
-
-\item[\abox{tikzimages}] This option takes a list of externalised Ti\textit{k}Z images to rebuild. An error is thrown if any data structure other than a proper list is provided as the value.
-
-\item[\abox{jobname}] This option, as the name indicates, sets the job name to be used in the resulting file.
-
-\item[\abox{logname}] This option, as the name indicates, sets the log file name to be used during the current execution.
-
-\item[\abox{logformat}] This option, as the name indicates, sets the log format to be used during the current execution. Three possible values are available:
-
-\begin{description}
-\item[\povalue{raw}] This value, as the name indicates, sets the log format to be raw, i.e, as generated by the underlying engines.
-
-\item[\povalue{markdown}] This value, as the name indicates, sets the log format to be displayed in Markdown.
-
-\item[\povalue{pdf}] This value, as the name indicates, sets the log format to be displayed in the Portable Document Format.
-\end{description}
-
-\item[\abox{loglevel}] This option, as the name indicates, sets the log level to be used during the current execution. Three possible values are available:
-
-\begin{description}
-\item[\povalue{error}] This value, as the name indicates, sets the base log level to report errors only. No other information is appended.
-
-\item[\povalue{warning}] This value, as the name indicates, sets the base log level to report warnings and errors. No other information is appended.
-
-\item[\povalue{info}] This value, as the name indicates, set the base log level to report all information available, regardless of message categories.
-\end{description}
-
-\item[\abox{frequency}] This option, as the name indicates, sets how often the engine runs. Values smaller than one will cause it to run until the resulting file no longer changes.
-
-\item[\abox{directory}] This option, as the name indicates, sets the directory to hold intermediate files during the compilation.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: ltx2any: { synctex: yes }
-\end{codebox}
-
-\item[\rulebox{luahbtex}]
-This rule runs the \rbox{luahbtex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in the Portable Document Format, as expected.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\rpsbox{draft}] This option sets whether the draft mode, i.e, a mode that produces no output, so the engine can check the syntax, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: luahbtex: { interaction: batchmode,
-% arara: --> shell: yes, draft: yes }
-\end{codebox}
-
-\item[\rulebox{lualatex}]
-This rule runs the new \rbox{lualatex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in the Portable Document Format, as expected.
-
-\begin{description}
-\item[\rpbox{branch}{stable}] This option allows branching formats for the current engine, mainly focused on package development. Users of current \TeX\ distributions might benefit from format branching in order to easily test documents and code against the upcoming releases. Possible values are:
-
-\begin{description}
-\item[\povalue{stable}] This value, as the name implies, enables the stable engine format branch. Note that this is the default format.
-
-\item[\povalue{developer}] For experienced users, this value enables the experimental, developer engine format branch.
-\end{description}
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\rpsbox{draft}] This option sets whether the draft mode, i.e, a mode that produces no output, so the engine can check the syntax, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: lualatex: { interaction: errorstopmode,
-% arara: --> synctex: yes }
-\end{codebox}
-
-\item[\rulebox{luatex}]
-This rule runs the \rbox{luatex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in the Portable Document Format, as expected.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\rpsbox{draft}] This option sets whether the draft mode, i.e, a mode that produces no output, so the engine can check the syntax, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: luatex: { interaction: batchmode,
-% arara: --> shell: yes, draft: yes }
-\end{codebox}
-
-\item[\rulebox{make}]
-This rule runs \rbox{make}, a build automation tool that automatically builds executable programs and libraries from source code, according to a special file which specifies how to derive the target program.
-
-\begin{description}
-\item[\abox{targets}] This option takes a list of targets. Note that \rbox{make} updates a target if it depends on files that have been modified since the target was last modified, or if the target does not exist.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: make: { targets: [ compile, package ] }
-\end{codebox}
-
-\item[\rulebox{makeglossaries}]
-This rule runs \rbox{makeglossaries}, an efficient Perl script designed for use with \TeX\ documents that work with the \rbox{glossaries} package. All the information required to be passed to the relevant indexing application should also be contained in the auxiliary file. The script takes the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as the mandatory argument.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual script call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: makeglossaries if found('aux', '@istfilename')
-\end{codebox}
-
-\item[\rulebox{makeglossarieslite}]
-This rule runs \rbox{makeglossaries-lite}, a lightweight Lua script designed for use with \TeX\ documents that work with the \rbox{glossaries} package. All the information required to be passed to the relevant indexing application should also be contained in the auxiliary file. The script takes the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as the mandatory argument.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual script call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: makeglossarieslite if found('aux', '@istfilename')
-\end{codebox}
-
-\item[\rulebox{makeindex}]
-This rule runs \rbox{makeindex}, a general purpose hierarchical index generator, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{idx} suffix, generating an index as a special \rbox{ind} file.
-
-\begin{description}
-\item[\abox{style}] This option, as the name indicates, sets the underlying index style file. Make sure to provide a valid \rbox{ist} file when using this option.
-
-\item[\rpsbox{german}] This option, as the name indicates, sets whether German word ordering should be used when generating the index, according to the rules set forth in DIN 5007.
-
-\item[\abox{order}] This option, as the name indicates, sets the default ordering scheme for the \rbox{makeindex} program. Two possible values are available:
-
-\begin{description}
-\item[\povalue{letter}] This value, as the name indicates, activates the letter ordering scheme. In such scheme, a blank space does not precede any letter in the alphabet.
-
-\item[\povalue{word}] This value, as the name indicates, activates the word ordering scheme. In such scheme, a blank space precedes any letter in the alphabet.
-\end{description}
-
-\item[\rpbox{input}{idx}] This option, as the name indicates, sets the default extension for the input file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\rpbox{output}{ind}] This option, as the name indicates, sets the default extension for the output file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\rpbox{log}{ilg}] This option, as the name indicates, sets the default extension for the log file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: makeindex: { style: book.ist }
-\end{codebox}
-
-\item[\rulebox{metapost}]
-This rule runs \rbox{metapost}, a tool to compile the Metapost graphics programming language. Please note that you will have to make the \rbox{.mp} extension known to \arara\ in order to compile Metapost files. Furthermore, it is advised to use this in your regular \TeX\ document specifying the \abox{files} parameter to include all graphics you want to compile for inclusion in your document.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\abox{numbersystem}] This option sets the number system Metapost will use for calculations.
-
-\begin{description}
-\item[\povalue{scaled}] In this mode, 32-bit fixed-point arithmetics is used.
-
-\item[\povalue{double}] In this mode, IEEE floating-point arithmetics with 64 bits is used.
-\item[\povalue{binary}] This mode is similary to \povalue{double} but without a fixed-length mantissa.
-\item[\povalue{decimal}] In this mode, arbitrary precision arithmetics is used and numbers are internally represented in base 10.
-\end{description}
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: metapost: { files: [ graphics.mp ] }
-\end{codebox}
-
-\item[\rulebox{move}]
-This rule moves the \rbox{File} reference to the provided target using the underlying operating system move operation. The target is \emph{always} overwritten. However, be mindful that an error will be thrown if you try to move or overwrite the file referenced in \mtbox{getOriginalReference}.
-
-\begin{description}
-\item[\abox{target}~\rqbox] This option, as the name implies, specifies the target for the move operation. Keep in mind that this option is required.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: move: { files: [ 'thesis.pdf' ],
-% arara: --> target: 'backup/thesis.pdf' }
-\end{codebox}
-
-\item[\rulebox{nomencl}]
-This rule runs \rbox{makeindex} in order to automatically generate a nomenclature list from \TeX\ documents that work with the \rbox{nomencl} package. The program itself is a general purpose hierarchical index generator and takes the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{nlo} suffix and a special style file in order to generate the nomenclature list as a special \rbox{nls} file.
-
-\begin{description}
-\item[\rpbox{style}{nomencl.ist}] This option, as the name indicates, sets the underlying index style file. The default value is set to the one automatically provided by the \rbox{nomencl} package, so it is highly recommended to not override it.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: nomencl
-\end{codebox}
-
-\item[\rulebox{pbibtex}]
-This rule runs the \rbox{pbibtex} program, a reference management software, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pbibtex
-% arara: --> if exists(toFile('references.bib'))
-\end{codebox}
-
-\item[\rulebox{pdfcrop}]
-This rule runs \rbox{pdfcrop}, a command line utility to calculate and remove empty margins, on corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{pdf} suffix.
-
-\begin{description}
-\item[\abox{output}] This option, as the name indicates, sets the output file. When omitted, the tool uses the input base name with the \rbox{-crop.pdf} suffix.
-
-\item[\rpsbox{verbose}] This option, as the name indicates, sets whether the command line tool will be executed in verbose mode.
-
-\item[\rpsbox{debug}] This option, as the name indicates, sets whether the command line tool will be executed in debug mode.
-
-\item[\abox{engine}] This option, as the name indicates, sets the underlying \TeX\ engine to be used during the run. Three possible values are available:
-
-\begin{description}
-\item[\povalue{pdftex}] This value, as the name indicates, sets \rbox{pdftex} as the underlying \TeX\ engine to be used during the run.
-
-\item[\povalue{xetex}] This value, as the name indicates, sets \rbox{xetex} as the underlying \TeX\ engine to be used during the run.
-
-\item[\povalue{luatex}] This value, as the name indicates, sets \rbox{luatex} as the underlying \TeX\ engine to be used during the run.
-\end{description}
-
-\item[\abox{margins}] This option, as the name indicates, takes a list of four elements denoting left, top, right and bottom margins, respectivelly. An error will be thrown if no list is provided or if the list does not contain exactly four elements.
-
-\item[\rpsbox{clip}] This option, as the name indicates, sets whether the command line tool should include clipping support, if margins are set.
-
-\item[\rpsbox{hires}] This option, as the name indicates, sets whether the command line tool should use a high resolution bounding box feature.
-
-\item[\rpsbox{ini}] This option, as the name indicates, sets whether the \rbox{initex} variant of the underlying \TeX\ engine is used.
-
-\item[\rpsbox{restricted}] This option, as the name indicates, sets whether the command line tool should run on restricted mode.
-
-\item[\abox{papersize}] This option, as the name indicates, sets the paper size. According to the documentation, this option should only be used with older versions of \rbox{ghostscript}.
-
-\item[\abox{resolution}] This option, as the name indicates, sets the resolution by forwarding the value to the underlying \rbox{ghostscript} call.
-
-\item[\abox{bbox}] This option, as the name indicates, takes a list of four elements denoting left, bottom, right and top margins, respectivelly, to override bounding box values found by \rbox{ghostscript}. An error will be thrown if no list is provided or if the list does not contain exactly four elements.
-
-\item[\rpsbox{uncompress}] This option, as the name indicates, sets whether the tool should generate an uncompressed Portable Document Format file, useful for debugging.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdfcrop
-\end{codebox}
-
-\item[\rulebox{pdfcsplain}]
-This rule runs the \rbox{pdfcsplain} \TeX\ engine, a conservative extension of Knuth's plain \TeX\ with direct processing characters and hyphenation patterns for Czech and Slovak, on the provided \mtbox{currentFile} reference.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\rpsbox{draft}] This option sets whether the draft mode, i.e, a mode that produces no output, so the engine can check the syntax, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdfcsplain: { shell: yes, synctex: yes }
-\end{codebox}
-
-\item[\rulebox{pdflatex}]
-This rule runs the \rbox{pdflatex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in the Portable Document Format, as expected.
-
-\begin{description}
-\item[\rpbox{branch}{stable}] This option allows branching formats for the current engine, mainly focused on package development. Users of current \TeX\ distributions might benefit from format branching in order to easily test documents and code against the upcoming releases. Possible values are:
-
-\begin{description}
-\item[\povalue{stable}] This value, as the name implies, enables the stable engine format branch. Note that this is the default format.
-
-\item[\povalue{developer}] For experienced users, this value enables the experimental, developer engine format branch.
-\end{description}
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\rpsbox{draft}] This option sets whether the draft mode, i.e, a mode that produces no output, so the engine can check the syntax, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdflatex: { interaction: batchmode }
-% arara: --> if missing('pdf') || changed('tex')
-\end{codebox}
-
-\item[\rulebox{pdftex}]
-This rule runs the \rbox{pdftex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in the Portable Document Format, as expected.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\rpsbox{draft}] This option sets whether the draft mode, i.e, a mode that produces no output, so the engine can check the syntax, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdftex: { draft: yes }
-\end{codebox}
-
-\item[\rulebox{pdftk}]
-This rule runs \rbox{pdftk}, a command line tool for manipulating Portable Document Format documents, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{pdf} suffix.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pdftk: { options: [ burst ] }
-\end{codebox}
-
-\item[\rulebox{perltex}]
-This rule runs \rbox{perltex}, a wrapper that enables a symbiosis between Perl, a popular general purpose programming language, and a \TeX\ engine, on the provided \mtbox{currentFile} reference.
-
-\begin{description}
-\item[\rpbox{engine}{latex}] This option, as the name indicates, sets the underlying \TeX\ engine to be used for the current compilation. Make sure to take a look at the manual for further details on this option. Possible values are:
-
-\begin{description}
-\item[\povalue{latex}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{latex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{pdflatex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{pdflatex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{xelatex}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{xelatex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{lualatex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{lualatex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{tex}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{tex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{pdftex}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{pdftex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{luatex}] This value, as the name suggests, sets the underlying \TeX\ engine to \rbox{luatex} for the current compilation. Note that the engine might play a major role in the generated code.
-
-\item[\povalue{context}] This value, as the name indicates, sets the underlying \TeX\ engine to \rbox{context} for the current compilation. Note that the engine might play a major role in the generated code.
-\end{description}
-
-\item[\rpsbox{safe}] This option sets whether the wrapper should enable sandboxing. When explicitly disabled, the wrapper might execute any arbitrary Perl code, including that which can harm files.
-
-\item[\abox{permit}] This option takes a list of values in which indicate particular Perl operations to be performed, enabling finer-grained control over the wrapper sandbox.
-
-\item[\rpsbox{standalone}] This option generates a specific style file to make the document suitable for distribution to users who do not have the wrapper installed. Please refer to the manual for further details on this option.
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: perltex: { safe: no, standalone: yes }
-\end{codebox}
-
-\item[\rulebox{platex}]
-This rule runs the \rbox{platex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in a device independent format.
-
-\begin{description}
-\item[\rpbox{branch}{stable}] This option allows branching formats for the current engine, mainly focused on package development. Users of current \TeX\ distributions might benefit from format branching in order to easily test documents and code against the upcoming releases. Possible values are:
-
-\begin{description}
-\item[\povalue{stable}] This value, as the name implies, enables the stable engine format branch. Note that this is the default format.
-
-\item[\povalue{developer}] For experienced users, this value enables the experimental, developer engine format branch.
-\end{description}
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: platex: { interaction: scrollmode, shell: yes }
-\end{codebox}
-
-\item[\rulebox{ps2pdf}]
-This rule runs \rbox{ps2pdf}, a tool that converts PostScript to Portable Document Format, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{ps} suffix.
-
-\begin{description}
-\item[\abox{output}] This option, as the name indicates, sets the output name for the generated \rbox{pdf} file. There is no need to provide an extension, as the value is always normalized with \mtbox{getBasename} such that only the name without the associated extension is used. The base name of the current file reference is used as the default value.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: ps2pdf: { output: article }
-\end{codebox}
-
-\item[\rulebox{pythontex}]
-This rule runs \rbox{pythontex}, a wrapper that provides access to Python from within typical \TeX\ documents, on the provided \mtbox{currentFile} reference. Make sure to take a look at the documentation for further details.
-
-\begin{description}
-\item[\abox{encoding}] This option sets the encoding of the underlying \TeX\ document and all related files. If an encoding is not specified, Unicode is assumed.
-
-\item[\rpsbox{errorcode}] This option determines whether an exit code of 1 is returned if there were errors. On by default, but can be turned off since it is undesirable when working with some editors.
-
-\item[\rpsbox{runall}] This option sets whether all code to be executed, regardless of modification. It is useful when code has not been modified, but a dependency such as a library or external data has changed.
-
-\item[\abox{rerun}] This option, as the name indicates, sets the underlying threshold for reexecuting code. By default, the wrapper will rerun code that has been modified or that produced errors on the last run. Possible values are:
-
-\begin{description}
-\item[\povalue{never}] When this value is used, the wrapper never executes code. In this scenario, a warning is issued if there is modified code. Please refer to the documentation for further details.
-
-\item[\povalue{modified}] When this value is used, as the name indicates, the wrapper only executes code that has been modified or that has modified dependencies.
-
-\item[\povalue{errors}] When this value is used, as the name indicates, the wrapper executes code that has been modified as well as code that produced errors on the last run.
-
-\item[\povalue{warnings}] When this value is used, as the name indicates, the wrapper executes code that has been modified as well as code that produced errors or warnings on the last run.
-
-\item[\povalue{always}] When this value is used, as the name indicates, the wrapper executes all code, regardless of modification or errors and warnings. It is useful when code has not been modified, but a dependency such as a library or external data has changed.
-\end{description}
-
-\item[\rpsbox{hashdependencies}] This option, as the name suggests, determines whether dependencies are checked for changes via their hashes or modification times.
-
-\item[\abox{jobs}] This option, as the name suggests, takes an integer value denoting the maximum number of concurrent processes. By default, the wrapper relies on the number of CPUs in the system.
-
-\item[\rpsbox{verbose}] This option sets whether the wrapper should be executed in verbose mode, providing more output information, including a list of all processes that are launched.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pythontex: { jobs: 2, verbose: yes }
-\end{codebox}
-
-\item[\rulebox{qpdf}]
-This rule runs \rbox{qpdf}, a command line application that does structural, content-preserving transformations of Portable Document Format files, as well as providing capabilities to developers.
-
-\begin{description}
-\item[\abox{options}~\rqbox] This option, as the name indicates, takes a list of raw command line options and appends it to the actual script call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: qpdf: { options: [ '--linearize', 'input.pdf',
-% arara: --> 'output.pdf' ] }
-\end{codebox}
-
-\item[\rulebox{sage}]
-This rule runs \rbox{sage}, a free open source mathematics software system, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{sage} extension (which can be overriden).
-
-\begin{description}
-\item[\rpbox{program}{sage}] This option, as the name indicates, sets the program name. If the tool is not directly available in your system path, make sure to use the full path to the installed \rbox{sage} binary.
-
-\item[\rpbox{extension}{sage}] This option, as the name indicates, sets the default extension to the input file to be processed by \rbox{sage}. Three possible values are available:
-
-\begin{description}
-\item[\povalue{sage}] This value, as the name indicates, sets the extension to refer to the Sage format, the default one used by the software system.
-
-\item[\povalue{py}] This value, as the name indicates, sets the extension to refer to a typical Python source code.
-
-\item[\povalue{spyx}] This value, as the name indicates, sets the extension to refer to the SPYX format, a specific Sage compiled source code.
-\end{description}
-
-\item[\abox{command}] This option, as the name indicates, forwards the provided value to the command line utility to be evaluated as a Sage code.
-
-\item[\rpsbox{dotsage}] This option, as the name indicates, sets whether the tool should consider using the \rbox{.sage} directory in the user home directory or a temporary one.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: sage
-\end{codebox}
-
-\item[\rulebox{sketch}]
-This rule runs \rbox{sketch}, a system for producing line drawings of solid objects and scenes, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{sk} suffix. Note that one needs to add support for this particular file type, as seen in Section~\ref{sec:basicstructure}, on page~\pageref{sec:basicstructure}.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: sketch
-\end{codebox}
-
-\item[\rulebox{songidx}]
-This rule runs \rbox{songidx}, a song index generation script for the \rbox{songs} package, on the file reference provided as parameter, generating a proper index as a special \rbox{sbx} file. It is very important to observe that, at the time of writing, this script is not available off the shelf in \TeX\ Live or MiK\TeX\ distributions, so a manual deployment is required. The script execution is performed by the underlying \rbox{texlua} interpreter.
-
-\begin{description}
-\item[\abox{input}~\rqbox] This required option, as the name indicates, sets the input name for the song index file specified within the \TeX\ document. There is no need to provide an extension, as the value is always normalized with \mtbox{getBasename} such that only the name without the associated extension is used.
-
-\item[\rpbox{script}{songidx.lua}] This option, as the name indicates, sets the script path. The default value is set to the script name, so either make sure \rbox{songidx.lua} is located in the same directory of your \TeX\ document or provide the correct location (preferably a full path).
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual script call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: songidx: { input: songs }
-\end{codebox}
-
-\item[\rulebox{spix}]
-This rule runs \rbox{spix}, an interesting command line \TeX\ automation tool written in Python, on the provided \mtbox{currentFile} reference.
-
-\begin{description}
-\item[\abox{dry}] This option sets whether the tool should display a list of commands to be executed without actually invoking them.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual script call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: spix
-\end{codebox}
-
-\item[\rulebox{tex}]
-This rule runs the \rbox{tex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in a device independent format.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: tex: { shell: yes }
-\end{codebox}
-
-\item[\rulebox{texcount}]
-This rule runs \rbox{texcount}, a Perl script designed to count words in \TeX\ and \LaTeX\ files, ignoring macros, tables, formulae and more on the provided \mtbox{currentFile} reference. The script is highly configurable, so make sure to check the manual for further information.
-
-\begin{description}
-\item[\abox{rules}] This option, as the name suggests, sets the rules which dictate how the script should work regarding word counting and option handling. Possible values are:
-
-\begin{description}
-\item[\povalue{relaxed}] This value, as the name indicates, sets a relaxed set of rules, allowing more general cases to be counted as either words and macros.
-
-\item[\povalue{restricted}] This value, as the name indicates, sets a more restricted set of rules for word counting and option handling.
-\end{description}
-
-\item[\abox{verbosity}] This option, as the name suggests, sets the verbosity level of the script according to the provided integer value. Possible values are:
-
-\begin{description}
-\item[\povalue{\hphantom{x}0\hphantom{x}}] This value sets the lowest verbosity level of all, such that the script does not present parsing details.
-
-\item[\povalue{\hphantom{x}1\hphantom{x}}] This value raises the details a bit and sets the verbosity level to include parsed words and marked formulae.
-
-\item[\povalue{\hphantom{x}2\hphantom{x}}] This value adds more details from the previous verbosity level by including ignored text as well.
-
-\item[\povalue{\hphantom{x}3\hphantom{x}}] This value adds more details from the previous verbosity level by including comments and options.
-
-\item[\povalue{\hphantom{x}4\hphantom{x}}] This value sets the highest verbosity level of all, such that the script includes parsed worded, marked formulae, ignored text, comments, options and internal states.
-\end{description}
-
-\item[\rpsbox{strict}] This option sets whether the tool should enable strict mode, so certain groups for which rules are not defined raise warnings.
-
-\item[\rpsbox{html}] This option, as the name suggests, defines whether the tool should output the report in the HTML format.
-
-\item[\rpsbox{total}] This option, as the name suggests, defines whether the tool should provide a total sum instead of partial sums (per file).
-
-\item[\rpsbox{unicode}] This option, as the name indicates, defines whether the tool should select Unicode as encoding for both input and output.
-
-\item[\abox{output}] This option, as the name suggests, sets the output file name in which the report will be written.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: texcount: { output: report.txt }
-\end{codebox}
-
-\item[\rulebox{texindy}]
-This rule runs \rbox{texindy}, a variant of the \rbox{xindy} indexing system focused on \LaTeX\ documents, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{idx} suffix, generating an index as a special \rbox{ind} file.
-
-\begin{description}
-\item[\rpsbox{quiet}] This option, as the name indicates, sets whether the tool will output progress messages. It is important to observe that \rbox{texindy} always outputs error messages, regardless of this option.
-
-\item[\abox{codepage}] This option, as the name indicates, specifies the encoding to be used for letter group headings. Additionally, it specifies the encoding used internally for sorting, but that does not matter for the final result.
-
-\item[\abox{language}] This option, as the name indicates, specifies the language that dictates the rules for index sorting. These rules are encoded in a module.
-
-\item[\abox{markup}] This option, as the name indicates, specifies the input markup for the raw index. The following values are available:
-
-\begin{description}
-\item[\povalue{latex}] This value, as the name implies, is emitted by default from the \LaTeX\ kernel, and the raw input is encoded in the \LaTeX\ Internal Character Representation format.
-
-\item[\povalue{xelatex}] This value, as the name implies, acts like the previous \rbox[cyan]{latex} markup option, but without \rbox{inputenc} usage. Raw input is encoded in the UTF-8 format.
-
-\item[\povalue{omega}] This value, as the name implies, acts like the previous \rbox[cyan]{latex} markup option, but with Omega's special notation as encoding for characters not in the ASCII set.
-\end{description}
-
-\item[\abox{modules}] This option, as the name indicates, takes a list of module names. Modules are searched in the usual application path. An error is thrown if any data structure other than a proper list is provided as the value.
-
-\item[\rpbox{input}{idx}] This option, as the name indicates, sets the default extension for the input file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\rpbox{output}{ind}] This option, as the name indicates, sets the default extension for the output file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\rpbox{log}{ilg}] This option, as the name indicates, sets the default extension for the log file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: texindy: { markup: latex }
-\end{codebox}
-
-\item[\rulebox{tikzmake}]
-This rule runs \rbox{make} on a very specific build file generated by the \rbox{tikzmake} package, as a means to simplify the externalization of Ti{\itshape k}Z pictures. This build file corresponds to the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{makefile} suffix.
-
-\begin{description}
-\item[\rpsbox{force}] This option, as the name indicates, sets whether all targets specified in the corresponding build file should be unconditionally made.
-
-\item[\abox{jobs}] This option, as the name indicates, specifies the number of jobs (commands) to run simultaneously. Note that the provided value must be a positive integer. The default number of job slots is one, which means serial execution.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: tikzmake: { force: yes, jobs: 2 }
-\end{codebox}
-
-\item[\rulebox{upbibtex}]
-This rule runs the \rbox{upbibtex} program, a reference management software, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string.
-
-\begin{description}
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: pbibtex
-% arara: --> if exists(toFile('references.bib'))
-\end{codebox}
-
-\item[\rulebox{uplatex}]
-This rule runs the \rbox{uplatex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in a device independent format.
-
-\begin{description}
-\item[\rpbox{branch}{stable}] This option allows branching formats for the current engine, mainly focused on package development. Users of current \TeX\ distributions might benefit from format branching in order to easily test documents and code against the upcoming releases. Possible values are:
-
-\begin{description}
-\item[\povalue{stable}] This value, as the name implies, enables the stable engine format branch. Note that this is the default format.
-
-\item[\povalue{developer}] For experienced users, this value enables the experimental, developer engine format branch.
-\end{description}
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: uplatex: { interaction: scrollmode, shell: yes }
-\end{codebox}
-
-\item[\rulebox{uptex}]
-This rule runs the \rbox{uptex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in a device independent format.
-
-\begin{description}
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: uptex
-\end{codebox}
-
-\item[\rulebox{xdvipdfmx}]
-This rule runs \rbox{xdvipdfmx}, the back end for the \rbox{xetex} \TeX\ engine (and not intended to be invoked directly), on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with a certain suffix, generating a Portable Document Format \rbox{pdf} file.
-
-\item[\abox{entry}] This option sets the extension to be used for the initial reference (i.e, the current file name) as input to the command line tool. The following values are available for this option:
-
-\begin{description}
-\item[\povalue{dvi}] This value sets the extension to be used for the initial reference as a device independent format. This is the default value when no value is provided.
-
-\item[\povalue{xdv}] This value sets the extension to be used for the initial reference as an extended device independent format.
-\end{description}
-
-\begin{description}
-\item[\abox{output}] This option, as the name indicates, sets the output name for the generated \rbox{pdf} file. There is no need to provide an extension, as the value is always normalized with \mtbox{getBasename} such that only the name without the associated extension is used. The base name of the current file reference is used as the default value.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: xdvipdfmx: { output: thesis }
-\end{codebox}
-
-\item[\rulebox{xelatex}]
-This rule runs the new \rbox{xelatex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in the Portable Document Format, as expected.
-
-\begin{description}
-\item[\rpbox{branch}{stable}] This option allows branching formats for the current engine, mainly focused on package development. Users of current \TeX\ distributions might benefit from format branching in order to easily test documents and code against the upcoming releases. Possible values are:
-
-\begin{description}
-\item[\povalue{stable}] This value, as the name implies, enables the stable engine format branch. Note that this is the default format.
-
-\item[\povalue{developer}] For experienced users, this value enables the experimental, developer engine format branch.
-
-\item[\povalue{unsafe}] This value enables the unsafe engine format branch. According to the documentation, at all costs, avoid using this, or any, unsafe invocation with documents off the net or that are otherwise untrusted in any way.
-\end{description}
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: xelatex: { shell: yes, synctex: yes }
-\end{codebox}
-
-\item[\rulebox{xetex}]
-This rule runs the \rbox{xetex} \TeX\ engine on the provided \mtbox{currentFile} reference, generating a corresponding file in the Portable Document Format, as expected.
-
-\begin{description}
-\item[\rpbox{branch}{stable}] This option allows branching formats for the current engine, mainly focused on package development. Users of current \TeX\ distributions might benefit from format branching in order to easily test documents and code against the upcoming releases. Possible values are:
-
-\begin{description}
-\item[\povalue{stable}] This value, as the name implies, enables the stable engine format branch. Note that this is the default format.
-
-\item[\povalue{unsafe}] This value enables the unsafe engine format branch. According to the documentation, at all costs, avoid using this, or any, unsafe invocation with documents off the net or that are otherwise untrusted in any way.
-\end{description}
-
-\item[\abox{interaction}] This option alters the underlying engine behaviour. If this option is omitted, \TeX\ will prompt the user for interaction in the event of an error. Possible values are, in order of increasing user interaction (courtesy of our master Enrico Gregorio):
-
-\begin{description}
-\item[\povalue{batchmode}] In this mode, nothing is printed on the terminal, and errors are scrolled as if the \rbox{return} key is hit at every error. Missing files that \TeX\ tries to input or request from keyboard input cause the job to abort.
-
-\item[\povalue{nonstopmode}] In this mode, the diagnostic message will appear on the terminal, but there is no possibility of user interaction just like in batch mode, previously described.
-
-\item[\povalue{scrollmode}] In this mode, as the name indicates, \TeX\ will stop only for missing files to input or if proper keyboard input is necessary. \TeX\ fixes errors itself.
-
-\item[\povalue{errorstopmode}] In this mode, \TeX\ will stop at each error, asking for proper user intervention. This is the most user interactive mode available.
-\end{description}
-
-\item[\rpsbox{shell}] This option sets whether the possibility of running underlying system commands from within \TeX\ is activated.
-
-\item[\rpsbox{synctex}] This option sets whether \rbox{synctex}, an input and output synchronization feature that allows navigation from source to typeset material and vice versa, available in most \TeX\ engines, is activated.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: xetex: { interaction: scrollmode, synctex: yes }
-\end{codebox}
-
-\item[\rulebox{xindex}]
-This rule runs \rbox{xindex}, a flexible and powerful indexing system, on a provided \rbox{idx} input. This tool is completely with the \rbox{makeindex} program.
-
-\begin{description}
-\item[\abox{input}~\rqbox] This option, as the name indicates, corresponds to the \rbox{idx} reference to be processed by the indexing system. Note that this option is required.
-
-\item[\rpbox{config}{cfg}] This option specifies a configuration extension. Make sure to take a look at the documentation for further details.
-
-\item[\rpbox{language}{en}] This option, as the name suggests, specifies the language. Make sure to take a look at the documentation for further details.
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: xindex: { input: mydoc.idx }
-\end{codebox}
-
-\item[\rulebox{xindy}]
-This rule runs \rbox{xindy}, a flexible and powerful indexing system, on the corresponding base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension) as a string concatenated with the \rbox{idx} suffix, generating an index as a special \rbox{ind} file.
-
-\begin{description}
-\item[\rpsbox{quiet}] This option, as the name indicates, sets whether the tool will output progress messages. It is important to observe that \rbox{xindy} always outputs error messages, regardless of this option.
-
-\item[\abox{codepage}] This option, as the name indicates, specifies the encoding to be used for letter group headings. Additionally, it specifies the encoding used internally for sorting, but that does not matter for the final result.
-
-\item[\abox{language}] This option, as the name indicates, specifies the language that dictates the rules for index sorting. These rules are encoded in a module.
-
-\item[\abox{markup}] This option, as the name indicates, specifies the input markup for the raw index. The following values are available:
-
-\begin{description}
-\item[\povalue{latex}] This value, as the name implies, is emitted by default from the \LaTeX\ kernel, and the raw input is encoded in the \LaTeX\ Internal Character Representation format.
-
-\item[\povalue{xelatex}] This value, as the name implies, acts like the previous \rbox[cyan]{latex} markup option, but without \rbox{inputenc} usage. Raw input is encoded in the UTF-8 format.
-
-\item[\povalue{omega}] This value, as the name implies, acts like the previous \rbox[cyan]{latex} markup option, but with Omega's special notation as encoding for characters not in the ASCII set.
-
-\item[\povalue{xindy}] This value, as the name implies, uses the \rbox{xindy} input markup as specified in the \rbox{xindy} manual.
-\end{description}
-
-\item[\abox{modules}] This option, as the name indicates, takes a list of module names. Modules are searched in the usual application path. An error is thrown if any data structure other than a proper list is provided as the value.
-
-\item[\rpbox{input}{idx}] This option, as the name indicates, sets the default extension for the input file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\rpbox{output}{ind}] This option, as the name indicates, sets the default extension for the output file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\rpbox{log}{ilg}] This option, as the name indicates, sets the default extension for the log file, according to the provided value. Later, this value will be concatenated as a suffix for the base name of the \mtbox{currentFile} reference (i.e, the name without the associated extension).
-
-\item[\abox{options}] This option, as the name indicates, takes a list of raw command line options and appends it to the actual system call. An error is thrown if any data structure other than a proper list is provided as the value.
-\end{description}
-
-\begin{codebox}{Example}{teal}{\icnote}{white}
-% arara: xindy: { markup: xelatex }
-\end{codebox}
-\end{description}
-
-It is highly advisable to browse the relevant documentation about packages and tools described in this chapter as a means to learn more about features and corresponding advanced usage. For \TeX\ Live users, we recommend the use of \rbox{texdoc}, a command line program to find and view documentation. For example, this manual can be viewed through the following command:
-
-\begin{codebox}{Terminal}{teal}{\icnote}{white}
-$ texdoc arara
-\end{codebox}
-
-The primary function of the handy \rbox{texdoc} tool is to locate relevant documentation for a given keyword (typically, a package name) on your disk, and open it in an appropriate viewer. For MiK\TeX\ users, the distribution provides a similar tool named \rbox{mthelp} to find and view documentation. Make sure to use these tools whenever needed!
diff --git a/support/arara/doc/chapters/yaml.tex b/support/arara/doc/chapters/yaml.tex
deleted file mode 100644
index bc6d63893c..0000000000
--- a/support/arara/doc/chapters/yaml.tex
+++ /dev/null
@@ -1,106 +0,0 @@
-% !TeX root = ../arara-manual.tex
-\chapter{YAML}
-\label{chap:yaml}
-
-According to the \href{http://yaml.org/spec/1.2/spec.html}{specification}, YAML (a recursive acronym for \emph{YAML Ain't Markup Language}) is a human-friendly, cross language, Unicode-based data serialization language designed around the common native data type of programming languages. \arara\ uses this format in three circumstances:
-
-\begin{enumerate}
-\item\emph{Parametrized directives}, as the set of attribute/value pairs (namely, argument name and corresponding value) is represented by a map. This particular type of directive is formally introduced in Section~\ref{sec:directives}, on page~\pageref{sec:directives}.
-
-\item\emph{Rules}, as their entire structure is represented by a set of specific keys and their corresponding values (a proper YAML document). A rule follows a very strict model, detailed in Section~\ref{sec:rule}, on page~\pageref{sec:rule}.
-
-\item\emph{Configuration files}, as the general settings are represented by a set of specific keys and their corresponding values (a proper YAML document). Configuration files are covered in Chapter~\ref{chap:configurationfile}, on page~\pageref{chap:configurationfile}.
-\end{enumerate}
-
-This chapter only covers the relevant parts of the YAML format for a consistent use with \arara. For advanced topics, I highly recommend the complete format specification, available online.
-
-\section{Collections}
-\label{sec:yamlcollections}
-
-According to the specification, YAML's block collections use indentation for scope and begin each entry on its own line. Block sequences indicate each entry with a dash and space. Mappings use a colon and space to mark each \emph{key: value} pair. Comments begin with an octothorpe \rbox{\#}. \arara\ relies solely on mappings and a few scalars to sequences at some point. Let us see an example of a sequence:
-
-\begin{codebox}{A sequence of scalars in YAML}{teal}{\icnote}{white}
-team:
-- Paulo Cereda
-- Marco Daniel
-- Brent Longborough
-- Nicola Talbot
-- Ben Frank
-\end{codebox}
-
-It is quite straightforward: \abox{team} holds a sequence of four scalars. YAML also has flow styles, using explicit indicators rather than indentation to denote scope. The flow sequence is written as a comma-separated list within square brackets:
-
-\begin{codebox}{A sequence of scalars in YAML}{teal}{\icnote}{white}
-primes: [ 2, 3, 5, 7, 11 ]
-\end{codebox}
-
-Attribute maps are easily represented by nesting entries, respecting indentation. For instance, consider a map \abox{developer} containing two keys, \abox{name} and \abox{country}. The YAML representation is presented as follows:
-
-\begin{codebox}{An attribute map in YAML}{teal}{\icnote}{white}
-developer:
- name: Paulo
- country: Brazil
-\end{codebox}
-
-Similarly, the flow mapping uses curly braces. Observe that this is the form adopted by a parametrized directive (see syntax in Section~\ref{sec:directives}, on page~\pageref{sec:directives}):
-
-\begin{codebox}{An attribute map in YAML (flow mapping)}{teal}{\icnote}{white}
-developer: { name: Paulo, country: Brazil }
-\end{codebox}
-
-An attribute map can contain sequences as well. Consider the following code where \abox{developers} holds a list of two developers containing their names and countries:
-
-\begin{codebox}{An attribute map with sequences in YAML}{teal}{\icnote}{white}
-developers:
-- name: Paulo
- country: Brazil
-- name: Marco
- country: Germany
-\end{codebox}
-
-The previous code can be easily represented in flow style by using square and curly brackets to represent sequences and attribute maps.
-
-\section{Scalars}
-\label{sec:yamlscalars}
-
-Scalar content can be written in block notation, using a literal style, indicated by a vertical bar, where \emph{all line breaks are significant}. Alternatively, they can be written with the folded style, denoted by a greater-than sign, where \emph{each line break is folded to a space} unless it ends an empty or a more-indented line. It is mportant to note that \arara\ intensively uses both styles (as seen in Section~\ref{sec:rule}, on page~\pageref{sec:rule}). Let us see an example:
-
-\begin{codebox}{Scalar content in literal and folded styles}{teal}{\icnote}{white}
-logo: |
- This is the arara logo
- in its ASCII glory!
- __ _ _ __ __ _ _ __ __ _
- / _` | '__/ _` | '__/ _` |
- | (_| | | | (_| | | | (_| |
- \__,_|_| \__,_|_| \__,_|
-slogan: >
- The cool TeX
- automation tool
-\end{codebox}
-
-As seen in the previous code, \abox{logo} holds the ASCII logo of our tool, respecting line breaks. Similarly, observe that the \abox{slogan} key holds the text with line breaks replaced by spaces (in the same fashion \TeX\ does with consecutive, non-empty lines).
-
-\begin{messagebox}{Block indentation indicator}{attentioncolour}{\icattention}{black}
-\setlength{\parskip}{1em}
-According to the YAML specification, the indentation level of a block scalar is typically detected from its first non-empty line. It is an error for any of the leading empty lines to contain more spaces than the first non-empty line, hence the ASCII logo could not be represented, as it starts with a space.
-
-When detection would fail, YAML requires that the indentation level for the content be given using an explicit indentation indicator. This level is specified as the integer number of the additional indentation spaces used for the content, relative to its parent node. It would be the case if we want to represent our logo without the preceding text.
-\end{messagebox}
-
-YAML's flow scalars include the plain style and two quoted styles. The double-quoted style provides escape sequences. The single-quoted style is useful when escaping is not needed. All flow scalars can span multiple lines. Note that line breaks are always folded. Since \arara\ uses MVEL as its underlying scripting language (Chapter~\ref{chap:mvel}, on page~\pageref{chap:mvel}), it might be advisable to quote scalars when starting with forbidden symbols in YAML.
-
-\section{Tags}
-\label{sec:yamltags}
-
-According to the specification, in YAML, untagged nodes are given a type depending on the application. The examples covered in this primer use the \rbox{seq}, \rbox{map} and \rbox{str} types from the fail safe schema. Explicit typing is denoted with a tag using the exclamation point symbol. Global tags are usually uniform resource identifiers and may be specified in a tag shorthand notation using a handle. Application-specific local tags may also be used. For \arara, there is a special schema used for both rules and configuration files, so in those cases, make sure to add \abox{!config} as global tag:
-
-\begin{codebox}{Global tag for rules and configuration files}{teal}{\icnote}{white}
-!config
-\end{codebox}
-
-In particular, rules and configuration files of \arara\ are properly covered in Section~\ref{sec:rule} and Chapter~\ref{chap:configurationfile}, on pages~\pageref{sec:rule} and~\pageref{chap:configurationfile}, respectively. For now, it suffices to say that the \abox{!config} global tag is necessary to provide the correct mapping of values inside our tool.
-
-\section{Further reading}
-\label{sec:yamlfurtherreading}
-
-This chapter does not cover all features of the YAML format, so further reading is advisable. I highly recommend the \href{http://yaml.org/spec/1.2/spec.html}{official YAML specification}, currently covering the third version of the format.
diff --git a/support/arara/doc/figures/arara.png b/support/arara/doc/figures/arara.png
deleted file mode 100644
index e6bb5bf6da..0000000000
--- a/support/arara/doc/figures/arara.png
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/figures/dropdown1.pdf b/support/arara/doc/figures/dropdown1.pdf
deleted file mode 100644
index f529d8feb7..0000000000
--- a/support/arara/doc/figures/dropdown1.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/figures/dropdown2.pdf b/support/arara/doc/figures/dropdown2.pdf
deleted file mode 100644
index 7e44c8493d..0000000000
--- a/support/arara/doc/figures/dropdown2.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/figures/gl.pdf b/support/arara/doc/figures/gl.pdf
deleted file mode 100644
index 0f6cabd4f6..0000000000
--- a/support/arara/doc/figures/gl.pdf
+++ /dev/null
@@ -1,69 +0,0 @@
-%PDF-1.5
-%
-4 0 obj
-<< /Length 5 0 R
- /Filter /FlateDecode
->>
-stream
-xTAn1 @XEyBa9?PwޢAP]r8[CM(݌@%zWo{_Ql
-b(Un h̺؉-@ kn.Zeɕ@Höq݆qTTO[׃✝cs&.!SvGҭ)GbiC ófuZcz0-UO[IGrg;v<p ACH%9(%,}E&^f/xz!%s͋[4*VG} ]X c*+ttܹ؟T XeA9v,,DaœƢ{9̛R4o?yŌuuYiõP
-endstream
-endobj
-5 0 obj
- 454
-endobj
-3 0 obj
-<<
- /ExtGState <<
- /a0 << /CA 1 /ca 1 >>
- >>
->>
-endobj
-2 0 obj
-<< /Type /Page % 1
- /Parent 1 0 R
- /MediaBox [ 0 0 253.183441 233.243774 ]
- /Contents 4 0 R
- /Group <<
- /Type /Group
- /S /Transparency
- /I true
- /CS /DeviceRGB
- >>
- /Resources 3 0 R
->>
-endobj
-1 0 obj
-<< /Type /Pages
- /Kids [ 2 0 R ]
- /Count 1
->>
-endobj
-6 0 obj
-<< /Producer (cairo 1.16.0 (https://cairographics.org))
- /CreationDate (D:20191111110215-03'00)
->>
-endobj
-7 0 obj
-<< /Type /Catalog
- /Pages 1 0 R
->>
-endobj
-xref
-0 8
-0000000000 65535 f
-0000000872 00000 n
-0000000640 00000 n
-0000000568 00000 n
-0000000015 00000 n
-0000000546 00000 n
-0000000937 00000 n
-0000001053 00000 n
-trailer
-<< /Size 8
- /Root 7 0 R
- /Info 6 0 R
->>
-startxref
-1105
-%%EOF
diff --git a/support/arara/doc/figures/inputbox1.pdf b/support/arara/doc/figures/inputbox1.pdf
deleted file mode 100644
index 29cd6b226d..0000000000
--- a/support/arara/doc/figures/inputbox1.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/figures/inputbox2.pdf b/support/arara/doc/figures/inputbox2.pdf
deleted file mode 100644
index b83f4533df..0000000000
--- a/support/arara/doc/figures/inputbox2.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/figures/messagebox1.pdf b/support/arara/doc/figures/messagebox1.pdf
deleted file mode 100644
index 8235e932bc..0000000000
--- a/support/arara/doc/figures/messagebox1.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/figures/messagebox2.pdf b/support/arara/doc/figures/messagebox2.pdf
deleted file mode 100644
index bb4537133d..0000000000
--- a/support/arara/doc/figures/messagebox2.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/figures/optionbox1.pdf b/support/arara/doc/figures/optionbox1.pdf
deleted file mode 100644
index 8668c65cfc..0000000000
--- a/support/arara/doc/figures/optionbox1.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/figures/optionbox2.pdf b/support/arara/doc/figures/optionbox2.pdf
deleted file mode 100644
index f20905f96b..0000000000
--- a/support/arara/doc/figures/optionbox2.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/htmlmanualtopdf.sh b/support/arara/doc/htmlmanualtopdf.sh
new file mode 100644
index 0000000000..51d191d678
--- /dev/null
+++ b/support/arara/doc/htmlmanualtopdf.sh
@@ -0,0 +1,208 @@
+#!/usr/bin/env bash
+
+set -e
+
+# check the required tools; we make these available through the `nix develop`
+# shell so you may use that to build the manual
+required_tools=("pup" "sed" "weasyprint")
+for tool in "${required_tools[@]}"
+do
+ if ! [ -x "$(command -v "$tool")" ]; then
+ echo "Please make sure $tool is accessible." >&2
+ exit 1
+ fi
+done
+
+# this script fetches the manual content from the remote rendered version at
+# arara's website; caveat: chapters have to be manually adjusted
+currdir="$PWD"
+basedir="$(dirname "$currdir")/website/public/"
+baseurl="file://$basedir"
+chapters=("introduction" "concepts" "cli" "configuration" "logging"
+ "projects" "methods" "rules" "building" "deploying" "yaml"
+ "mvel")
+
+if [ ! -d "$basedir" ]
+then
+ echo "Please run zola before converting to PDF." >&2
+ exit 1
+fi
+
+# create a temporary directory to build the manual in; this will be created
+# in /tmp, so users of operating systems without that directory must change
+# it here
+tempdir="/tmp/arara-manual"
+if [ -d "$tempdir" ]
+then
+ rm -r "$tempdir"
+fi
+mkdir -p "$tempdir"
+cp ./resources/* "$tempdir/"
+cd "$tempdir"
+
+# these files are created in the temporary directory; no need to change
+# anything at this point except that the name of the PDF file will be used
+# when copying back to the source directory
+htmlfile="manual.html"
+pdffile="arara-manual.pdf"
+
+cat <<EOF > $htmlfile
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+ <meta charset="UTF-8">
+ <title>arara</title>
+
+ <meta name="keywords" content="tex, latex, context, build tool, automation">
+ <meta name="name" content="The cool TeX automation tool">
+ <meta name="description" content="arara is a TeX automation tool based on directives and rules.">
+
+ <link href="file://$tempdir/manual.css" rel="stylesheet">
+</head>
+<body>
+<article id="cover">
+ <div id="coverimg">
+ <img src="file://$tempdir/arara-logo-with-text-bottom.svg"
+ alt="arara logo" />
+ </div>
+ <div id="refbox">Reference manual</div>
+ <div id="metadata">
+ <span>The Island of TeX</span>
+ <a href="https://gitlab.com/islandoftex/arara">
+ <img src="file://$tempdir/gitlab-icon.svg"
+ alt="GitLab" />
+ </a>
+ <span>Version $(cat version.txt)</span>
+ </div>
+</article>
+<article id="license">
+ <h1>License</h1>
+ <p>arara is licensed under the
+ <a href="https://opensource.org/licenses/BSD-3-Clause">New BSD
+ License</a>. It is important to observe that the New BSD License has been
+ verified as a GPL-compatible free software license by the
+ <a href=http://www.fsf.org/">Free Software Foundation</a>, and has been
+ vetted as an open source license by the
+ <a href="http://www.opensource.org/">Open Source Initiative</a>.
+ </p>
+ <blockquote>
+ <strong>New BSD License</strong>
+ <p>
+ Copyright 2012–2022, Island of TeX<br/>
+ All rights reserved.
+ </p>
+ <p>
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ </p>
+ <ol>
+ <li>Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.</li>
+ <li>Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ </li>
+ <li>Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.</li>
+ </ol>
+ <p>
+ This software is provided by the copyright holders and contributors “as
+ is” and any express or implied warranties, including, but not limited to,
+ the implied warranties of merchantability and fitness for a particular
+ purpose are disclaimed. In no event shall the copyright holder or
+ contributors be liable for any direct, indirect, incidental, special,
+ exemplary, or consequential damages (including, but not limited to,
+ procurement of substitute goods or services; loss of use, data, or
+ profits; or business interruption) however caused and on any theory of
+ liability, whether in contract, strict liability, or tort (including
+ negligence or otherwise) arising in any way out of the use of this
+ software, even if advised of the possibility of such damage.
+ </p>
+ </blockquote>
+</article>
+EOF
+
+# assemble the manual content by fetching chapters from the webpage;
+# while doing so assemble the toc for that chapter as well
+toc_content=""
+chapter_content=""
+for chapter in "${chapters[@]}"
+do
+ cp "$(echo "${baseurl}manual/$chapter/index.html" | cut -c8-)" "tmp-$htmlfile"
+ chapter_title="$(cat "tmp-$htmlfile" | pup '[class="heading-text"] text{}' \
+ | sed '/^[[:space:]]*$/d' | sed 's/ *$//g' | sed 's/^ *//g')"
+ this_chapter_content="$(cat <<EOF
+<article>
+<h1 id="chapter-$chapter">$chapter_title</h1>
+$(cat "tmp-$htmlfile" | pup --pre ':parent-of([class="heading-text"])' \
+ | tail -n +5 | head -n -1 \
+ | sed -r 's/<(\/?)h5/<\1h6/g' | sed -r 's/<(\/?)h4/<\1h5/g' \
+ | sed -r 's/<(\/?)h3/<\1h4/g' | sed -r 's/<(\/?)h2/<\1h3/g' \
+ | sed -r 's/<(\/?)h1/<\1h2/g')
+</article>
+EOF
+)"
+
+ # create toc entries by iterating over all headings of the chapter;
+ # because we normalized headings above and alredy added the chapter
+ # title, this will create the whole chapter toc
+ toc_headings="$(echo "$this_chapter_content" \
+ | sed -n -r 's/^.*<h([1-6]) id="(.*)">.*$/\1;\2/p')"
+ current_level=0
+ while IFS=";" read -r heading_level heading_id
+ do
+ if [ $heading_level -eq $current_level ]
+ then
+ toc_content+="</li>"
+ fi
+ # we are assuming well-formed content where a new heading will always
+ # be of the next lower level
+ if [ $heading_level -gt $current_level ]
+ then
+ toc_content+="<ul>"
+ current_level=$heading_level
+ fi
+ # the assumption above does not hold for closing so we have to process
+ # levels properly at this point
+ while [ $current_level -gt $heading_level ]
+ do
+ toc_content+="</ul></li>"
+ ((current_level--))
+ done
+ # create table of contents entry; the link destination is sufficient,
+ # the actual title is inserted by CSS following the link
+ toc_content+="<li><a href=\"#$heading_id\"></a>"
+ done <<< "$toc_headings"
+ toc_content+="</li>"
+ while [ $current_level -gt 1 ]
+ do
+ toc_content+="</ul></li>"
+ ((current_level--))
+ done
+ toc_content+="</ul>"
+
+ # append chapter content to actual content
+ chapter_content+="$this_chapter_content"
+done
+rm "tmp-$htmlfile"
+
+cat <<EOF >> $htmlfile
+<article id="contents">
+<h1>Contents</h1>
+<ul>
+$toc_content
+</ul>
+</article>
+$chapter_content
+</body>
+</html>
+EOF
+
+# convert the created HTML manual to PDF
+weasyprint -u "$baseurl" "$htmlfile" "$pdffile"
+
+# change back to the docs directory and copy output PDF there
+cd "$currdir"
+cp "$tempdir/$pdffile" ./
diff --git a/support/arara/doc/htmlquickstarttopdf.sh b/support/arara/doc/htmlquickstarttopdf.sh
new file mode 100644
index 0000000000..3a580c474f
--- /dev/null
+++ b/support/arara/doc/htmlquickstarttopdf.sh
@@ -0,0 +1,84 @@
+#!/usr/bin/env bash
+
+set -e
+
+# check the required tools; we make these available through the `nix develop`
+# shell so you may use that to build the manual
+required_tools=("pup" "sed" "weasyprint")
+for tool in "${required_tools[@]}"
+do
+ if ! [ -x "$(command -v "$tool")" ]; then
+ echo "Please make sure $tool is accessible." >&2
+ exit 1
+ fi
+done
+
+# this script fetches the manual content from the remote rendered version at
+# arara's website; caveat: chapters have to be manually adjusted
+currdir="$PWD"
+basedir="$(dirname "$currdir")/website/public/"
+baseurl="file://$basedir"
+
+if [ ! -d "$basedir" ]
+then
+ echo "Please run zola before converting to PDF." >&2
+ exit 1
+fi
+
+# create a temporary directory to build the manual in; this will be created
+# in /tmp, so users of operating systems without that directory must change
+# it here
+tempdir="/tmp/arara-quickstart"
+if [ -d "$tempdir" ]
+then
+ rm -r "$tempdir"
+fi
+mkdir -p "$tempdir"
+cp ./resources/* "$tempdir/"
+cd "$tempdir"
+
+# these files are created in the temporary directory; no need to change
+# anything at this point except that the name of the PDF file will be used
+# when copying back to the source directory
+htmlfile="quickstart.html"
+pdffile="arara-quickstart.pdf"
+
+cat <<EOF > $htmlfile
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+ <meta charset="UTF-8">
+ <title>arara</title>
+
+ <meta name="keywords" content="tex, latex, context, build tool, automation">
+ <meta name="name" content="The cool TeX automation tool">
+ <meta name="description" content="arara is a TeX automation tool based on directives and rules.">
+
+ <link href="file://$tempdir/manual.css" rel="stylesheet">
+</head>
+<body>
+<article>
+ <h1>A quickstart guide to arara</h1>
+EOF
+
+# assemble the manual content by fetching chapters from the webpage;
+# while doing so assemble the toc for that chapter as well
+cat <<EOF >> $htmlfile
+$(cat "$(echo "$baseurl" | cut -c8-)quickstart/index.html" | pup --pre ':parent-of([class="heading-text"])' \
+ | tail -n +5 | head -n -1 \
+ | sed -r 's/<(\/?)h5/<\1h6/g' | sed -r 's/<(\/?)h4/<\1h5/g' \
+ | sed -r 's/<(\/?)h3/<\1h4/g' | sed -r 's/<(\/?)h2/<\1h3/g' \
+ | sed -r 's/<(\/?)h1/<\1h2/g')
+EOF
+
+cat <<EOF >> $htmlfile
+</body>
+</html>
+EOF
+
+# convert the created HTML manual to PDF
+weasyprint -u "$baseurl" "$htmlfile" "$pdffile"
+
+# change back to the docs directory and copy output PDF there
+cd "$currdir"
+cp "$tempdir/$pdffile" ./
diff --git a/support/arara/doc/logos/bird.pdf b/support/arara/doc/logos/bird.pdf
deleted file mode 100644
index fe29435849..0000000000
--- a/support/arara/doc/logos/bird.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/logos/logo1.pdf b/support/arara/doc/logos/logo1.pdf
deleted file mode 100644
index fd9247fdd2..0000000000
--- a/support/arara/doc/logos/logo1.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/logos/logo2.pdf b/support/arara/doc/logos/logo2.pdf
deleted file mode 100644
index 97d8047de0..0000000000
--- a/support/arara/doc/logos/logo2.pdf
+++ /dev/null
Binary files differ
diff --git a/support/arara/doc/resources/CascadiaMono-ExtraLight.otf b/support/arara/doc/resources/CascadiaMono-ExtraLight.otf
new file mode 100644
index 0000000000..8a544a14aa
--- /dev/null
+++ b/support/arara/doc/resources/CascadiaMono-ExtraLight.otf
Binary files differ
diff --git a/support/arara/doc/resources/CascadiaMono-ExtraLightItalic.otf b/support/arara/doc/resources/CascadiaMono-ExtraLightItalic.otf
new file mode 100644
index 0000000000..398214ed96
--- /dev/null
+++ b/support/arara/doc/resources/CascadiaMono-ExtraLightItalic.otf
Binary files differ
diff --git a/support/arara/doc/resources/CascadiaMono-Italic.otf b/support/arara/doc/resources/CascadiaMono-Italic.otf
new file mode 100644
index 0000000000..ebc83c1fd7
--- /dev/null
+++ b/support/arara/doc/resources/CascadiaMono-Italic.otf
Binary files differ
diff --git a/support/arara/doc/resources/CascadiaMono-Light.otf b/support/arara/doc/resources/CascadiaMono-Light.otf
new file mode 100644
index 0000000000..4c4b9dba04
--- /dev/null
+++ b/support/arara/doc/resources/CascadiaMono-Light.otf
Binary files differ
diff --git a/support/arara/doc/resources/CascadiaMono-LightItalic.otf b/support/arara/doc/resources/CascadiaMono-LightItalic.otf
new file mode 100644
index 0000000000..9722452c6d
--- /dev/null
+++ b/support/arara/doc/resources/CascadiaMono-LightItalic.otf
Binary files differ
diff --git a/support/arara/doc/resources/CascadiaMono-Regular.otf b/support/arara/doc/resources/CascadiaMono-Regular.otf
new file mode 100644
index 0000000000..30caa58eed
--- /dev/null
+++ b/support/arara/doc/resources/CascadiaMono-Regular.otf
Binary files differ
diff --git a/support/arara/doc/resources/arara-logo-with-text-bottom.svg b/support/arara/doc/resources/arara-logo-with-text-bottom.svg
new file mode 100644
index 0000000000..62488f76db
--- /dev/null
+++ b/support/arara/doc/resources/arara-logo-with-text-bottom.svg
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xml:space="preserve"
+ width="651.8125"
+ height="501.54422"
+ version="1.1"
+ style="clip-rule:evenodd;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision"
+ viewBox="0 0 651.8125 501.54422"
+ id="svg1704"
+ sodipodi:docname="arara-logo-with-text-bottom.svg"
+ inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
+ inkscape:export-filename="/home/paulo/Documentos/Projetos/logo/arara/source/arara-logo-with-text-bottom.png"
+ inkscape:export-xdpi="75.415085"
+ inkscape:export-ydpi="75.415085"><metadata
+ id="metadata1708"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ id="namedview1706"
+ showgrid="false"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:zoom="0.59"
+ inkscape:cx="-504.84958"
+ inkscape:cy="250.29421"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="svg1704"
+ fit-margin-top="0"
+ fit-margin-bottom="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ inkscape:document-rotation="0" /><defs
+ id="defs1667"><font
+ id="FontID0"
+ horiz-adv-x="703"
+ font-variant="normal"
+ font-weight="700"
+ horiz-origin-x="0"
+ horiz-origin-y="0"
+ vert-origin-x="45"
+ vert-origin-y="90"
+ vert-adv-y="90"><font-face
+ font-family="Comfortaa"
+ id="font-face1613"><font-face-src><font-face-name
+ name="Comfortaa Bold" /></font-face-src></font-face><missing-glyph
+ id="missing-glyph1617"><path
+ d="M0 0z"
+ id="path1615" /></missing-glyph><glyph
+ unicode="t"
+ horiz-adv-x="390"
+ d="M87.1541 546.992l22.8484 0 0 183.346c0,13.9883 5.00127,25.8187 14.8261,35.8213 10.0025,9.85022 22.163,14.8515 36.5067,14.8515 13.836,0 25.8187,-5.00127 35.8213,-14.8515 9.85022,-10.0025 14.8515,-21.833 14.8515,-35.8213l0 -183.346 60.8276 0c13.9883,0 25.8187,-5.00127 35.4912,-14.8261 9.85022,-10.0025 14.6738,-22.0107 14.6738,-35.8213 0,-14.3437 -4.82356,-26.5042 -14.6738,-36.5067 -9.67251,-9.82483 -21.5029,-14.8261 -35.4912,-14.8261l-60.8276 0 0 -245.849c0,-64.8388 32.4956,-97.1566 97.6644,-97.1566 13.9883,0 25.8187,-5.00127 35.669,-14.8515 9.82483,-9.97715 14.6484,-21.9853 14.6484,-35.8213 0,-14.3437 -4.82356,-26.5042 -14.6484,-36.5067 -9.67251,-9.82483 -21.6806,-14.8261 -35.669,-14.8261 -133.181,0 -199.67,66.489 -199.67,199.34l0 245.671 -22.8484 0c-13.6583,0 -25.4887,5.00127 -35.3135,14.8261 -9.85022,10.0025 -14.8515,22.163 -14.8515,36.5067 0,13.8106 5.00127,25.8187 14.8515,35.8213 9.82483,9.82483 21.6552,14.8261 35.3135,14.8261z"
+ id="glyph1619" /><glyph
+ unicode="c"
+ horiz-adv-x="546"
+ d="M455.496 154.989c14.4961,0 26.6819,-4.82356 36.329,-14.4961 9.52018,-9.4948 14.3437,-21.6552 14.3437,-36.329 0,-14.3184 -5.3313,-26.8342 -15.9939,-37.6745 -50.5204,-44.326 -110.003,-66.489 -178.345,-66.489 -75.5014,0 -139.985,26.6565 -193.323,80.1726 -53.6684,53.3384 -80.5027,117.822 -80.5027,193.323 0,75.5014 26.8342,140.01 80.5027,193.349 53.3384,53.4907 117.822,80.1472 193.323,80.1472 68.6723,0 128.18,-22.163 178.345,-66.3366 11.6527,-10.3326 17.4917,-23.1531 17.4917,-38.4869 0,-14.6738 -4.82356,-26.8342 -14.3437,-36.5067 -9.64712,-9.82483 -21.833,-14.6738 -36.4813,-14.6738 -12.3382,0 -23.3308,3.83346 -33.181,11.6781 -16.5017,14.0137 -33.9934,24.4986 -52.1706,31.6578 -18.3295,7.18456 -38.1569,10.688 -59.6598,10.688 -23.6608,0 -46.0015,-4.51891 -66.819,-13.506 -20.8429,-8.83473 -39.1724,-21.1729 -54.6839,-36.6844 -15.6639,-15.3085 -28.002,-33.4857 -36.8368,-54.3285 -8.98705,-20.8175 -13.4806,-43.1582 -13.4806,-66.9967 0,-23.8385 4.49353,-46.1538 13.4806,-66.9967 8.83473,-20.8429 21.1729,-38.9947 36.8368,-54.3285 15.5116,-15.5116 33.8411,-27.8497 54.6839,-36.6591 20.8175,-9.01244 43.1582,-13.506 66.819,-13.506 21.5029,0 41.3303,3.50343 59.6598,10.4849 18.1772,7.18456 35.5166,17.6695 51.6882,31.6832 9.16476,6.82914 19.8274,10.4849 32.3178,10.8149z"
+ id="glyph1621" /><glyph
+ unicode="n"
+ horiz-adv-x="586"
+ d="M141 496.674c43.1582,33.4857 94.0086,50.3173 152.501,50.3173 34.1711,0 66.6667,-6.65143 97.3343,-19.9797 30.6677,-13.3536 57.6542,-31.5055 81.1627,-54.5062 23.3308,-23.0008 41.838,-50.0127 55.4963,-81.0104 13.6837,-31.15 20.5128,-64.331 20.5128,-99.4923l0 -240.67c0,-14.3437 -5.00127,-26.5042 -14.8515,-36.5067 -9.97715,-9.82483 -21.9853,-14.8261 -35.8213,-14.8261 -14.3437,0 -26.5042,5.00127 -36.5067,14.8261 -9.82483,10.0025 -14.8261,22.163 -14.8261,36.5067l0 240.823c0,20.8429 -4.01117,40.5179 -12.1604,58.9997 -8.17466,18.6849 -19.1673,34.8566 -32.851,48.6672 -13.836,13.836 -29.9822,24.854 -48.4895,33.0033 -18.5072,8.17466 -38.1569,12.1858 -58.9997,12.1858 -21.1729,0 -40.8225,-4.01117 -59.1775,-12.0081 -18.3295,-7.99695 -34.5011,-19.015 -48.4895,-33.0033 -13.9883,-13.9883 -25.0063,-30.1599 -32.8256,-48.8449 -7.99695,-18.4818 -12.0081,-38.1569 -12.0081,-58.9997l0 -240.823c0,-14.3437 -5.00127,-26.5042 -14.8261,-36.5067 -10.0025,-9.82483 -22.0107,-14.8261 -35.8467,-14.8261 -14.3184,0 -26.5042,5.00127 -36.5067,14.8261 -9.82483,10.0025 -14.8261,22.163 -14.8261,36.5067l0 444.326c0,14.0137 5.00127,26.1742 14.8261,36.1767 10.0025,10.1549 22.1884,15.1561 36.5067,15.1561 13.836,0 25.8441,-5.00127 35.8467,-15.1561 9.82483,-10.0025 14.8261,-21.833 14.8261,-35.1612z"
+ id="glyph1623" /><glyph
+ unicode="h"
+ horiz-adv-x="586"
+ d="M141 51.3328c0,-14.3437 -5.00127,-26.5042 -14.8261,-36.5067 -10.0025,-9.82483 -22.163,-14.8261 -36.329,-14.8261 -14.0137,0 -26.0218,5.00127 -36.0244,14.8261 -9.82483,10.0025 -14.8261,22.163 -14.8261,36.5067l0 678.497c0,14.166 5.00127,26.3265 14.8261,36.329 10.0025,9.85022 22.0107,14.8515 36.0244,14.8515 13.8106,0 25.8187,-5.00127 35.8213,-14.8515 9.82483,-10.0025 15.0038,-21.9853 15.3338,-36.329l-0.17771 -234.171c43.3359,33.511 94.1863,50.3427 152.678,50.3427 34.1711,0 66.489,-6.67682 97.3343,-20.0051 30.6677,-13.3283 57.6542,-31.5055 81.1627,-54.5062 23.3308,-23.0008 41.838,-49.9873 55.4963,-80.985 13.6837,-31.1754 20.5128,-64.331 20.5128,-99.5176l0 -239.655c-0.330033,-14.3437 -5.50901,-26.5042 -15.3338,-36.5067 -10.0025,-9.82483 -22.0107,-14.8261 -35.8467,-14.8261 -13.9883,0 -25.9964,5.00127 -35.999,14.8261 -9.82483,10.0025 -14.8261,22.163 -14.8261,36.5067l0 239.832c0,20.8429 -4.01117,40.4925 -12.1604,58.9997 -8.17466,18.6596 -19.1673,34.8312 -32.851,48.6672 -13.836,13.836 -29.9822,24.8286 -48.4895,33.0033 -18.5072,8.17466 -38.1569,12.1604 -58.9997,12.1604 -21.1729,0 -40.8225,-3.98578 -59.1775,-12.0081 -18.3295,-7.99695 -34.5011,-18.9896 -48.4895,-32.9779 -13.9883,-14.0137 -25.0063,-30.1853 -32.8256,-48.8449 -7.99695,-18.5072 -12.0081,-38.1569 -12.0081,-58.9997l0 -239.832z"
+ id="glyph1625" /><glyph
+ unicode="e"
+ horiz-adv-x="625"
+ d="M476.999 323.991c-5.50901,17.9995 -13.6583,34.3488 -24.6763,49.1749 -10.8149,15.0038 -23.4831,27.672 -37.9792,38.3346 -14.5215,10.5103 -30.5154,18.8373 -47.8548,24.6763 -17.4917,5.81366 -35.4912,8.83473 -53.9985,8.83473 -18.4818,0 -36.6591,-3.02107 -54.1508,-8.83473 -17.6695,-5.83905 -33.6634,-14.166 -48.3371,-24.6763 -14.6738,-10.6626 -27.342,-23.3308 -38.1569,-38.3346 -10.688,-14.8261 -18.6849,-31.1754 -23.8385,-49.1749l328.992 0zm-22.0107 -169.992c14.6738,0 26.8342,-4.82356 36.5067,-14.4961 9.4948,-9.4948 14.3437,-21.6806 14.3437,-36.329 0,-14.3437 -4.84895,-26.5042 -14.6738,-36.6844 -50.3427,-44.326 -110.003,-66.489 -178.675,-66.489 -75.5014,0 -139.985,26.6565 -193.323,80.1726 -53.3384,53.3384 -80.1726,117.822 -80.1726,193.323 0,75.5014 26.8342,140.01 80.1726,193.349 53.3384,53.4907 117.822,80.1472 193.323,80.1472 74.8413,0 139.35,-26.8342 193.349,-80.325 26.6565,-26.3265 46.6616,-55.8264 60.1676,-88.3219 13.3283,-32.3432 20.0051,-67.5044 20.0051,-105.509 0,-14.6738 -5.00127,-26.8342 -15.0038,-36.329 -9.85022,-9.67251 -22.0107,-14.4961 -36.329,-14.4961l-386.672 0c5.48363,-17.8472 13.6583,-34.1711 24.3209,-48.8449 10.8403,-14.6738 23.3308,-27.342 37.8269,-37.8269 14.5215,-10.6626 30.5154,-18.8373 47.8548,-24.6763 17.4917,-5.83905 35.669,-8.65702 54.4808,-8.65702 21.5029,0 41.178,3.32572 59.1775,9.82483 17.8218,6.49911 34.5011,16.3239 49.6573,29.4999 9.85022,8.17466 21.0206,12.3382 33.6634,12.6682z"
+ id="glyph1627" /><glyph
+ unicode="T"
+ horiz-adv-x="664"
+ d="M578.827 676.999l-192.815 0 0 -625.336c0,-14.3184 -5.00127,-26.5042 -15.1815,-36.5067 -10.1549,-10.1549 -22.493,-15.1561 -36.8368,-15.1561 -14.3184,0 -26.6565,5.00127 -36.8368,15.1561 -10.1549,10.0025 -15.1561,22.1884 -15.1561,36.5067l0 625.336 -192.841 0c-14.3184,0 -26.5042,5.00127 -36.6591,15.1561 -10.1549,10.1802 -15.1561,22.5184 -15.1561,36.8368 0,14.3437 5.00127,26.6819 15.1561,36.8368 10.1549,10.1802 22.3407,15.1815 36.6591,15.1815l489.667 0c14.3437,0 26.5042,-5.00127 36.6844,-15.1815 9.97715,-10.1549 15.1561,-22.493 15.1561,-36.8368 0,-14.3184 -5.17898,-26.6565 -15.1561,-36.8368 -10.1802,-10.1549 -22.3407,-15.1561 -36.6844,-15.1561z"
+ id="glyph1629" /><glyph
+ unicode="m"
+ horiz-adv-x="859"
+ d="M810.993 51.3328c0,-14.3437 -5.00127,-26.5042 -15.0038,-36.5067 -9.97715,-9.82483 -21.9853,-14.8261 -35.999,-14.8261 -14.3184,0 -26.4788,5.00127 -36.329,14.8261 -9.82483,10.0025 -14.6484,22.163 -14.6484,36.5067l0 277.837c0,15.6639 -3.02107,30.49 -9.01244,44.5037 -5.99137,13.9883 -14.166,26.3265 -24.4986,36.8368 -10.5103,10.6626 -22.6707,18.9896 -36.8368,25.1587 -13.9883,6.16908 -29.1698,9.34247 -45.3415,9.34247 -15.9939,0 -30.82,-3.17339 -44.8337,-9.34247 -13.9883,-6.16908 -26.1488,-14.4961 -36.6591,-24.8286 -10.4849,-10.5103 -18.8373,-22.6707 -24.8286,-36.6844 -5.99137,-13.9883 -9.01244,-28.9921 -9.01244,-44.986l0 -277.837c0,-14.3437 -5.00127,-26.5042 -14.8261,-36.5067 -10.0025,-9.82483 -21.9853,-14.8261 -35.8213,-14.8261 -14.3437,0 -26.5042,5.00127 -36.5067,14.8261 -9.82483,10.0025 -14.8261,22.163 -14.8261,36.5067l0 277.837c0,15.9939 -3.17339,30.9977 -9.34247,44.986 -6.16908,14.0137 -14.4961,26.1742 -25.0063,36.6844 -10.3326,10.3326 -22.6707,18.6596 -36.6591,24.8286 -14.0137,6.16908 -28.9921,9.34247 -45.0114,9.34247 -15.9939,0 -30.9977,-3.02107 -44.986,-9.01244 -14.0137,-5.99137 -26.3265,-14.3437 -37.0145,-25.0063 -10.6626,-10.4849 -18.8119,-22.8231 -24.981,-36.8368 -6.01676,-13.9883 -9.01244,-28.9921 -9.01244,-44.986l0 -277.837c0,-14.3437 -5.00127,-26.5042 -14.8261,-36.5067 -10.0025,-9.82483 -22.0107,-14.8261 -35.8467,-14.8261 -14.3184,0 -26.4788,5.00127 -36.4813,14.8261 -9.85022,10.0025 -14.8515,22.163 -14.8515,36.5067l0 444.834c0,13.9883 5.00127,25.9964 14.8515,35.999 10.0025,9.82483 21.9853,14.8261 35.999,14.8261 11.3227,0 21.3252,-3.14801 30.1599,-9.4948 8.83473,-6.3214 14.8261,-14.6738 17.9995,-25.1587 34.8312,23.1531 74.5113,34.6535 118.66,34.6535 32.6733,0 63.1632,-6.49911 91.8507,-19.3196 28.6621,-12.8459 53.6684,-32.3432 75.146,-58.3397 45.3415,51.8406 100.838,77.6593 166.514,77.6593 29.6522,0 57.8319,-5.81366 84.3361,-17.314 26.5042,-11.5004 49.6573,-27.1896 69.3323,-46.8393 19.6497,-19.675 35.3389,-42.8281 46.8393,-69.3323 11.5004,-26.6819 17.314,-54.6839 17.314,-84.3361l0 -277.837z"
+ id="glyph1631" /><glyph
+ unicode="E"
+ horiz-adv-x="625"
+ d="M540.823 104.011c14.3437,0 26.6819,-5.00127 36.6844,-15.1815 10.1549,-10.1549 15.1561,-22.493 15.1561,-36.8368 0,-14.3184 -5.00127,-26.6565 -15.1561,-36.8368 -10.0025,-10.1549 -22.3407,-15.1561 -36.6844,-15.1561l-451.815 0c-7.5146,0 -14.3437,1.34552 -20.6651,3.83346 -6.16908,2.66565 -11.6781,6.3214 -16.3493,10.9926 -4.82356,4.84895 -8.5047,10.1802 -10.9926,16.3493 -2.66565,6.3214 -4.01117,13.1505 -4.01117,20.4874l0 677.659c0,7.18456 1.34552,13.836 4.01117,20.1828 2.48794,6.3214 6.16908,11.8304 10.9926,16.654 4.67124,4.67124 10.1802,8.35237 16.3493,11.018 6.3214,2.48794 13.1505,3.83346 20.6651,3.83346l451.815 0c14.3437,0 26.6819,-5.00127 36.6844,-15.1815 10.1549,-10.1549 15.1561,-22.493 15.1561,-36.8368 0,-14.3184 -5.00127,-26.6565 -15.1561,-36.8368 -10.0025,-10.1549 -22.3407,-15.1561 -36.6844,-15.1561l-399.822 0 0 -233.993 287.154 0c14.3437,0 26.5042,-5.00127 36.5067,-15.1815 10.1802,-10.1549 15.1815,-22.493 15.1815,-36.8368 0,-14.3184 -5.00127,-26.6565 -15.1815,-36.8114 -10.0025,-10.1802 -22.163,-15.1815 -36.5067,-15.1815l-287.154 0 0 -234.983 399.822 0z"
+ id="glyph1633" /><glyph
+ unicode="u"
+ horiz-adv-x="586"
+ d="M496.827 0c-14.6484,0 -26.8342,4.82356 -36.1513,14.6738 -9.52018,9.64712 -14.3437,21.6552 -14.6738,35.669 -22.3407,-17.6695 -46.1792,-30.3376 -71.1602,-38.3346 -25.0063,-7.99695 -52.1706,-12.0081 -81.3404,-12.0081 -34.8312,0 -67.6568,6.82914 -98.5022,20.3351 -30.82,13.506 -57.8319,31.8355 -81.0104,54.8363 -23.0008,23.1531 -41.3303,50.165 -54.8109,81.1627 -13.506,30.82 -20.1828,63.8233 -20.1828,98.6545l0 241.178c0,13.9883 5.00127,25.9964 14.8261,35.999 10.0025,9.82483 22.1884,14.8261 36.5067,14.8261 13.836,0 25.8441,-5.00127 35.8467,-14.8261 9.82483,-10.0025 14.8261,-22.0107 14.8261,-35.999l0 -241.33c0,-21.1729 4.01117,-41.0003 12.0081,-59.5075 7.81924,-18.6596 18.8373,-34.8312 32.4956,-48.6672 13.836,-13.836 30.0076,-24.6509 48.4895,-32.6733 18.5072,-7.99695 38.3346,-11.9827 59.5075,-11.9827 20.8429,0 40.4925,3.98578 58.9997,11.9827 18.5072,8.02234 34.6535,19.015 48.6672,33.0033 13.9883,14.0137 25.0063,30.1853 32.8256,48.5149 7.99695,18.4818 12.0081,38.1569 12.0081,59.3298l0 241.33c0,13.9883 5.00127,25.9964 14.8261,35.999 10.0025,9.82483 22.163,14.8261 36.5067,14.8261 13.836,0 25.8441,-5.00127 35.8213,-14.8261 9.85022,-10.0025 14.8515,-22.0107 14.8515,-35.999l0 -445.341c0,-13.9883 -5.00127,-25.9964 -14.8515,-35.999 -9.97715,-9.82483 -22.163,-14.8261 -36.329,-14.8261z"
+ id="glyph1635" /><glyph
+ unicode="r"
+ horiz-adv-x="468"
+ d="M139.002 496.332l0 -9.83083c24.4999,19.4977 50.9968,34.4996 79.6645,44.8321 28.4988,10.5013 59.1683,15.6676 91.666,15.6676 14.3362,0 29.835,-0.998519 46.1682,-3.00038 16.5021,-1.83303 31.668,-5.33508 45.4977,-10.5013 13.8346,-4.99742 25.3344,-11.9967 34.3356,-20.8338 9.16515,-8.83231 13.6657,-20.1633 13.6657,-34.1667 0,-7.33212 -1.33136,-13.9986 -4.16773,-20.1633 -2.66272,-6.16959 -6.3336,-11.6687 -10.9982,-16.3333 -4.50057,-4.83341 -9.83565,-8.49947 -16.0004,-11.003 -6.16477,-2.66754 -12.8312,-3.9989 -19.9993,-3.9989 -6.16477,0 -13.3329,1.83303 -21.4995,5.49909 -20.501,8.33546 -42.835,12.5032 -67.0021,12.5032 -23.6654,0 -45.9994,-4.50057 -66.8332,-13.5017 -20.8338,-8.83231 -39.0001,-21.1667 -54.4989,-36.5014 -15.3347,-15.4988 -27.6643,-33.665 -36.5014,-54.4989 -8.99632,-20.8338 -13.4969,-43.1679 -13.4969,-67.0021l0 -222.665c0,-13.9986 -5.00224,-26.0001 -14.8331,-35.9997 -9.99966,-9.83083 -22.0012,-14.8331 -35.8357,-14.8331 -14.3314,0 -26.5018,5.00224 -36.5014,14.8331 -9.83083,9.99966 -14.8331,22.0012 -14.8331,35.9997l0 445.335c0,13.9986 5.00224,26.0001 14.8331,35.9997 9.99966,9.83083 22.17,14.8331 36.5014,14.8331 13.8346,0 25.8361,-5.00224 35.8357,-14.8331 9.83083,-9.99966 14.8331,-22.0012 14.8331,-35.8357z"
+ id="glyph1637" /><glyph
+ unicode="a"
+ horiz-adv-x="625"
+ d="M312.498 445.002c-24.1622,0 -46.4963,-4.50057 -67.4989,-13.6705 -20.8338,-9.16515 -38.8313,-21.4995 -54.166,-36.8294 -15.3347,-15.5036 -27.5003,-33.6699 -36.3326,-54.5037 -9.00114,-20.8338 -13.5017,-42.999 -13.5017,-66.5004 0,-23.4966 4.50057,-45.6666 13.5017,-66.4956 8.83231,-20.8338 20.9978,-39.0001 36.3326,-54.5037 15.3347,-15.3299 33.3322,-27.6643 54.166,-36.8294 21.0027,-9.16997 43.3367,-13.6705 67.4989,-13.6705 23.8342,0 46.1682,4.50057 67.0021,13.6705 20.8338,9.16515 39.0001,21.4995 54.3349,37.1623 15.4988,15.6676 27.8331,33.8339 36.6654,54.5037 9.00114,20.665 13.5017,42.6662 13.5017,66.1627 0,23.5014 -4.50057,45.5026 -13.5017,66.1676 -8.83231,20.6698 -21.1667,38.8361 -36.6654,54.5037 -15.3347,15.6628 -33.501,27.9971 -54.3349,37.1623 -20.8338,9.16997 -43.1679,13.6705 -67.0021,13.6705zm171.504 -394.169l0 9.66682c-24.4999,-19.4977 -51.0017,-34.4996 -79.6693,-44.8321 -28.6676,-10.5013 -59.3323,-15.6676 -91.8348,-15.6676 -75.4967,0 -140,26.6658 -193.332,80.1661 -53.5004,53.3315 -80.1661,117.835 -80.1661,193.332 0,75.5016 26.6658,140 80.1661,193.336 53.3315,53.5004 117.835,80.1661 193.332,80.1661 74.8359,0 139.334,-26.6658 193.336,-80.1661 53.5004,-53.3364 80.1661,-117.835 80.1661,-193.336l0 -222.665c0,-13.9986 -5.00224,-26.0001 -14.8331,-35.9997 -9.99966,-9.83083 -22.0012,-14.8331 -35.8357,-14.8331 -14.3314,0 -26.4969,5.00224 -36.4966,14.8331 -9.83565,9.99966 -14.8331,22.0012 -14.8331,35.9997z"
+ id="glyph1639" /><glyph
+ unicode="o"
+ horiz-adv-x="625"
+ d="M586.012 273.496c0,-76.1615 -26.6819,-140.67 -80.1726,-193.323 -53.9985,-53.5161 -118.507,-80.1726 -193.349,-80.1726 -75.5014,0 -139.985,26.6565 -193.323,80.1726 -53.4907,53.3384 -80.1726,117.822 -80.1726,193.323 0,75.5014 26.6819,140.01 80.1726,193.349 53.3384,53.4907 117.822,80.1472 193.323,80.1472 74.8413,0 139.35,-26.6565 193.349,-80.1472 26.8342,-26.6819 46.6616,-56.1818 59.8375,-88.3473 13.3283,-32.1655 19.9797,-67.1744 20.3351,-105.001zm-273.521 171.516c-24.1686,0 -46.4839,-4.51891 -67.4791,-13.6837 -20.8429,-9.16476 -38.8423,-21.5029 -54.1762,-36.8368 -15.3338,-15.4862 -27.4943,-33.6634 -36.329,-54.4808 -9.01244,-20.8429 -13.506,-43.0058 -13.506,-66.5143 0,-23.4831 4.49353,-45.6715 13.506,-66.489 8.83473,-20.8429 20.9952,-38.9947 36.329,-54.5062 15.3338,-15.3338 33.3333,-27.672 54.1762,-36.8368 20.9952,-9.16476 43.3105,-13.6583 67.4791,-13.6583 23.8385,0 46.1792,4.49353 67.0221,13.6583 20.8175,9.16476 38.9947,21.5029 54.3285,37.1668 15.4862,15.6639 27.8243,33.8411 36.6591,54.5062 9.01244,20.6651 13.506,42.6758 13.506,66.1589 0,23.5085 -4.49353,45.4938 -13.506,66.1589 -8.83473,20.6905 -21.1729,38.8423 -36.6591,54.5062 -15.3338,15.6639 -33.511,28.002 -54.3285,37.1668 -20.8429,9.16476 -43.1835,13.6837 -67.0221,13.6837z"
+ id="glyph1641" /><glyph
+ unicode="l"
+ horiz-adv-x="234"
+ d="M33.9934 50.8251l0 679.005c0,14.166 4.84895,26.3265 14.4961,36.329 9.67251,9.85022 21.833,14.8515 36.5067,14.8515 14.6738,0 26.8342,-5.00127 36.5067,-14.8515 9.67251,-10.0025 14.4961,-22.163 14.4961,-36.329l0 -627.824 23.3308 0c14.0137,0 25.8441,-5.00127 35.8467,-14.8515 9.82483,-9.97715 14.8261,-22.163 14.8261,-36.329 0,-13.9883 -5.00127,-25.9964 -14.8261,-35.999 -10.0025,-9.82483 -22.0107,-14.8261 -35.999,-14.8261l-74.8413 0c-14.0137,0 -25.8441,5.00127 -35.669,14.8261 -9.82483,10.0025 -14.6738,22.0107 -14.6738,35.999z"
+ id="glyph1643" /><glyph
+ unicode="i"
+ horiz-adv-x="234"
+ d="M177.329 643.996c0,-16.5017 -5.99137,-30.6677 -17.6695,-42.4981 -11.6527,-11.6527 -25.8187,-17.4917 -42.4981,-17.4917 -16.5017,0 -30.6677,5.83905 -42.4981,17.4917 -11.6527,11.8304 -17.4917,25.9964 -17.4917,42.4981 0,16.6794 5.83905,30.6677 17.4917,42.4981 11.8304,11.6781 25.9964,17.5171 42.4981,17.5171 16.6794,0 30.8454,-5.83905 42.4981,-17.5171 11.6781,-11.8304 17.6695,-25.8187 17.6695,-42.4981zm-111.323 -592.663l0 444.326c0,14.3437 5.00127,26.3519 14.8261,36.329 10.0025,9.85022 22.0107,14.8515 35.999,14.8515 13.836,0 25.8441,-5.00127 35.8467,-14.8515 9.82483,-9.97715 14.9784,-21.9853 15.3338,-36.329l0 -444.326c-0.35542,-14.3437 -5.50901,-26.5042 -15.3338,-36.5067 -10.0025,-9.82483 -22.0107,-14.8261 -35.8467,-14.8261 -13.9883,0 -25.9964,5.00127 -35.999,14.8261 -9.82483,10.0025 -14.8261,22.163 -14.8261,36.5067z"
+ id="glyph1645" /><glyph
+ unicode="X"
+ horiz-adv-x="703"
+ d="M125.489 15.1561c-10.1549,-10.1549 -22.3153,-15.1561 -36.6591,-15.1561 -14.3184,0 -26.5042,5.00127 -36.5067,14.8261 -10.1549,10.0025 -15.1561,22.163 -15.1561,36.5067 0,12.3382 3.65575,23.1785 11.1703,32.6733l238.817 306.499 -240.315 308.505c-6.16908,8.83473 -9.16476,18.8119 -9.16476,30.3123 0,14.166 5.00127,26.5042 15.0038,36.5067 10.1549,10.1802 22.3153,15.1815 36.6591,15.1815 15.6639,0 27.8243,-5.00127 36.6591,-15.1815l227.012 -290.988 226.987 290.988c9.16476,10.1802 21.3506,15.1815 36.6844,15.1815 14.3184,0 26.4788,-5.00127 36.329,-15.1815 10.0025,-10.0025 15.0038,-22.3407 15.0038,-36.5067 0,-11.5004 -3.17339,-21.4775 -9.34247,-30.3123l-239.68 -308.505 238.665 -306.499c7.18456,-9.4948 10.8403,-20.3351 10.8403,-32.6733 0,-14.3437 -5.00127,-26.5042 -15.0038,-36.5067 -9.82483,-9.82483 -21.9853,-14.8261 -36.329,-14.8261 -17.1617,0 -30.6677,6.16908 -40.4925,18.5072l-223.661 287.662 -227.52 -291.013z"
+ id="glyph1647" /></font><style
+ type="text/css"
+ id="style1650"><![CDATA[
+ @font-face { font-family:"Comfortaa";font-variant:normal;font-weight:bold;src:url("#FontID0") format(svg)}
+ .fil2 {fill:black}
+ .fil0 {fill:#00B847}
+ .fil1 {fill:#00B847}
+ .fil3 {fill:url(#id0)}
+ .fil5 {fill:url(#id1)}
+ .fil4 {fill:url(#id2)}
+ .fnt1 {font-weight:bold;font-size:46.5237px;font-family:'Comfortaa'}
+ .fnt0 {font-weight:bold;font-size:244.851px;font-family:'Comfortaa'}
+ ]]></style><linearGradient
+ id="id0"
+ gradientUnits="userSpaceOnUse"
+ x1="487.40201"
+ y1="336.72299"
+ x2="507.965"
+ y2="377.54001"><stop
+ offset="0"
+ style="stop-opacity:1; stop-color:#1292ED"
+ id="stop1652" /><stop
+ offset="1"
+ style="stop-opacity:1; stop-color:#11C8ED"
+ id="stop1654" /></linearGradient><linearGradient
+ id="id1"
+ gradientUnits="userSpaceOnUse"
+ x1="524.05603"
+ y1="205.192"
+ x2="535.42499"
+ y2="247.38699"><stop
+ offset="0"
+ style="stop-opacity:1; stop-color:#00B847"
+ id="stop1657" /><stop
+ offset="1"
+ style="stop-opacity:1; stop-color:#1292ED"
+ id="stop1659" /></linearGradient><linearGradient
+ id="id2"
+ gradientUnits="userSpaceOnUse"
+ x1="546.67499"
+ y1="293.54001"
+ x2="584.776"
+ y2="298.86401"><stop
+ offset="0"
+ style="stop-opacity:1; stop-color:#F9EC22"
+ id="stop1662" /><stop
+ offset="1"
+ style="stop-opacity:1; stop-color:#FFB812"
+ id="stop1664" /></linearGradient></defs><g
+ id="Arara_Logo"
+ transform="translate(-179.17846,-148.75)"><path
+ id="Bico"
+ class="fil2"
+ d="m 433,250 c -8,-3 -15,-6 -20,-9 -12,-6 -20,-13 -24,-22 -4,-6 -5,-12 -4,-19 -7,11 -11,22 -12,33 -2,16 3,32 14,47 7,7 15,13 23,17 8,3 15,5 23,6 -8,-8 -12,-16 -12,-26 1,-8 5,-17 12,-27 z"
+ inkscape:connector-curvature="0"
+ style="fill:#000000" /><path
+ id="Pena_3"
+ class="fil3"
+ d="m 471,278 c -39,64 -31,99 -5,115 18,12 45,15 70,11 24,-3 45,-13 52,-25 5,-9 1,-20 -15,-31 -5,0 -10,0 -15,-1 -13,-2 -26,-7 -39,-13 -12,-6 -23,-13 -31,-22 -11,-10 -17,-22 -17,-34 z"
+ style="fill:url(#id0)"
+ inkscape:connector-curvature="0" /><path
+ id="Pena_2"
+ class="fil4"
+ d="m 497,276 c -9,0 -16,-2 -20,-4 -3,12 4,25 15,37 8,7 18,15 30,20 12,6 25,10 37,12 25,4 49,0 61,-18 11,-18 13,-48 2,-78 -6,-20 -19,-40 -37,-57 3,7 5,14 5,21 1,15 -5,29 -16,41 -10,12 -28,19 -45,23 -12,2 -23,3 -32,3 z"
+ style="fill:url(#id2)"
+ inkscape:connector-curvature="0" /><path
+ id="Pena_1"
+ class="fil5"
+ d="m 584,209 c -2,-34 -36,-52 -64,-57 -24,-4 -51,-5 -76,1 -12,4 -24,9 -34,17 4,-2 7,-3 11,-4 11,-3 24,-5 36,-5 15,1 27,8 35,19 22,30 8,55 -12,84 0,1 0,1 0,2 0,1 2,2 5,3 4,1 9,1 14,1 22,1 55,-6 71,-24 10,-10 15,-24 14,-37 z"
+ style="fill:url(#id1)"
+ inkscape:connector-curvature="0" /><path
+ id="Olho"
+ class="fil2"
+ d="m 454,179 c 1,0 1,0 1,0 -3,1 -5,4 -5,7 0,4 4,8 8,8 4,0 7,-3 8,-7 0,1 0,2 0,4 0,6 -5,12 -12,12 -6,0 -12,-6 -12,-12 0,-7 6,-12 12,-12 z"
+ inkscape:connector-curvature="0"
+ style="fill:#000000" /></g><g
+ transform="matrix(28.045609,0,0,28.045609,-2864.9706,-3755.0325)"
+ id="layer1"
+ inkscape:label="Camada 1"
+ style="clip-rule:evenodd;fill:#00b847;fill-opacity:1;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision"><g
+ id="g3726"
+ inkscape:label="arara"
+ transform="matrix(0.35277777,0,0,-0.35277777,99.611934,150.8523)"
+ style="fill:#00b847;fill-opacity:1"><g
+ aria-label="arara"
+ transform="matrix(1,0,0,-1,5.669,5.669)"
+ style="font-variant:normal;font-weight:bold;font-size:24.7871px;font-family:Comfortaa;-inkscape-font-specification:Comfortaa-Bold;writing-mode:lr-tb;fill:#00b847;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="text3730"><path
+ d="m 8.3780397,-13.657692 q 1.9086063,0 3.4454073,0.917123 1.561587,0.892335 2.453923,2.47871 0.917122,1.561587 0.917122,3.4949807 v 5.5275233 q 0,0.5453162 -0.371806,0.9171227 -0.34702,0.3470194 -0.892336,0.3470194 -0.545316,0 -0.917123,-0.3470194 -0.347019,-0.3718065 -0.347019,-0.9171227 v -0.9171227 q -0.867548,1.0658453 -2.106903,1.6607357 -1.2393555,0.5948904 -2.6770073,0.5948904 -1.7846711,0 -3.24711,-0.89233559 Q 3.1975359,-1.6855228 2.3547745,-3.2471101 1.5368002,-4.8334845 1.5368002,-6.7668783 q 0,-1.9333937 0.8923356,-3.4949807 0.8923356,-1.586375 2.4539229,-2.47871 1.5863744,-0.917123 3.494981,-0.917123 z m 0,11.5260014 q 1.239355,0 2.2308393,-0.5948904 1.016271,-0.6196775 1.586374,-1.6607357 0.570103,-1.0658453 0.570103,-2.3795616 0,-1.3137162 -0.570103,-2.3795615 -0.570103,-1.0658452 -1.586374,-1.6607362 -0.9914843,-0.619677 -2.2308393,-0.619677 -1.2393549,0 -2.255626,0.619677 -0.991484,0.594891 -1.5863744,1.6607362 -0.5701033,1.0658453 -0.5701033,2.3795615 0,1.3137163 0.5701033,2.3795616 0.5948904,1.0410582 1.5863744,1.6607357 1.0162711,0.5948904 2.255626,0.5948904 z"
+ id="path1704"
+ inkscape:connector-curvature="0" /><path
+ d="m 24.365719,-13.707266 q 1.313717,0 2.05733,0.396593 0.743613,0.396594 0.743613,0.991484 0,0.17351 -0.02479,0.247871 -0.223084,0.793188 -0.991484,0.793188 -0.123936,0 -0.371807,-0.04957 -0.991484,-0.173509 -1.611161,-0.173509 -1.784672,0 -2.875304,0.817974 -1.090632,0.8179743 -1.090632,2.2060519 V -1.23935 q 0,0.5948904 -0.322233,0.9171227 Q 19.581809,0 18.962132,0 18.367241,0 18.045009,-0.2974452 17.722777,-0.6196775 17.722777,-1.239355 v -11.079834 q 0,-0.59489 0.322232,-0.917122 0.322232,-0.322233 0.917123,-0.322233 1.239355,0 1.239355,1.239355 v 0.470955 q 0.743613,-0.867548 1.834245,-1.36329 1.090632,-0.495742 2.329987,-0.495742 z"
+ id="path1706"
+ inkscape:connector-curvature="0" /><path
+ d="m 34.478856,-13.657692 q 1.908607,0 3.445407,0.917123 1.561588,0.892335 2.453923,2.47871 0.917123,1.561587 0.917123,3.4949807 v 5.5275233 q 0,0.5453162 -0.371807,0.9171227 -0.347019,0.3470194 -0.892335,0.3470194 -0.545316,0 -0.917123,-0.3470194 -0.347019,-0.3718065 -0.347019,-0.9171227 v -0.9171227 q -0.867549,1.0658453 -2.106904,1.6607357 -1.239355,0.5948904 -2.677007,0.5948904 -1.784671,0 -3.24711,-0.89233559 -1.437651,-0.89233561 -2.280413,-2.45392291 -0.817974,-1.5863744 -0.817974,-3.5197682 0,-1.9333937 0.892336,-3.4949807 0.892335,-1.586375 2.453922,-2.47871 1.586375,-0.917123 3.494981,-0.917123 z m 0,11.5260014 q 1.239355,0 2.230839,-0.5948904 1.016272,-0.6196775 1.586375,-1.6607357 0.570103,-1.0658453 0.570103,-2.3795616 0,-1.3137162 -0.570103,-2.3795615 -0.570103,-1.0658452 -1.586375,-1.6607362 -0.991484,-0.619677 -2.230839,-0.619677 -1.239355,0 -2.255626,0.619677 -0.991484,0.594891 -1.586374,1.6607362 -0.570103,1.0658453 -0.570103,2.3795615 0,1.3137163 0.570103,2.3795616 0.59489,1.0410582 1.586374,1.6607357 1.016271,0.5948904 2.255626,0.5948904 z"
+ id="path1708"
+ inkscape:connector-curvature="0" /><path
+ d="m 50.466536,-13.707266 q 1.313716,0 2.057329,0.396593 0.743613,0.396594 0.743613,0.991484 0,0.17351 -0.02479,0.247871 -0.223084,0.793188 -0.991484,0.793188 -0.123935,0 -0.371806,-0.04957 -0.991484,-0.173509 -1.611162,-0.173509 -1.784671,0 -2.875303,0.817974 Q 46.3023,-9.8652607 46.3023,-8.4771831 V -1.23935 q 0,0.5948904 -0.322232,0.9171227 Q 45.682626,0 45.062948,0 44.468058,0 44.145826,-0.2974452 43.823593,-0.6196775 43.823593,-1.239355 v -11.079834 q 0,-0.59489 0.322233,-0.917122 0.322232,-0.322233 0.917122,-0.322233 1.239355,0 1.239355,1.239355 v 0.470955 q 0.743613,-0.867548 1.834246,-1.36329 1.090632,-0.495742 2.329987,-0.495742 z"
+ id="path1710"
+ inkscape:connector-curvature="0" /><path
+ d="m 60.579673,-13.657692 q 1.908607,0 3.445407,0.917123 1.561587,0.892335 2.453923,2.47871 0.917123,1.561587 0.917123,3.4949807 v 5.5275233 q 0,0.5453162 -0.371807,0.9171227 -0.347019,0.3470194 -0.892335,0.3470194 -0.545317,0 -0.917123,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -0.9171227 q -0.867548,1.0658453 -2.106903,1.6607357 -1.239355,0.5948904 -2.677007,0.5948904 -1.784671,0 -3.24711,-0.89233559 -1.437652,-0.89233561 -2.280413,-2.45392291 -0.817974,-1.5863744 -0.817974,-3.5197682 0,-1.9333937 0.892335,-3.4949807 0.892336,-1.586375 2.453923,-2.47871 1.586375,-0.917123 3.494981,-0.917123 z m 0,11.5260014 q 1.239355,0 2.230839,-0.5948904 1.016271,-0.6196775 1.586375,-1.6607357 0.570103,-1.0658453 0.570103,-2.3795616 0,-1.3137162 -0.570103,-2.3795615 -0.570104,-1.0658452 -1.586375,-1.6607362 -0.991484,-0.619677 -2.230839,-0.619677 -1.239355,0 -2.255626,0.619677 -0.991484,0.594891 -1.586374,1.6607362 -0.570104,1.0658453 -0.570104,2.3795615 0,1.3137163 0.570104,2.3795616 0.59489,1.0410582 1.586374,1.6607357 1.016271,0.5948904 2.255626,0.5948904 z"
+ id="path1712"
+ inkscape:connector-curvature="0" /></g></g></g><g
+ transform="matrix(1.8606824,0,0,-1.8606824,-26.905818,527.91566)"
+ inkscape:label="teste585"
+ id="g842"
+ style="clip-rule:evenodd;fill:#00b847;fill-opacity:1;fill-rule:evenodd;image-rendering:optimizeQuality;shape-rendering:geometricPrecision;text-rendering:geometricPrecision"><g
+ aria-label="ThecoolTE Xautomationtool"
+ transform="matrix(1,0,0,-1,14.173,20.952)"
+ style="font-variant:normal;font-weight:bold;font-size:24.7871px;font-family:Comfortaa;-inkscape-font-specification:Comfortaa-Bold;writing-mode:lr-tb;fill:#00b847;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="text850"><path
+ d="m 14.822686,-19.358725 q 0.520529,0 0.842761,0.347019 0.347019,0.322233 0.347019,0.842762 0,0.520529 -0.347019,0.867548 -0.322232,0.322233 -0.842761,0.322233 H 9.4934592 v 15.6902338 q 0,0.5453162 -0.3718065,0.9171227 Q 8.7498462,0 8.20453,0 7.6592139,0 7.2874074,-0.3718065 6.9156009,-0.743613 6.9156009,-1.2889292 V -16.979163 H 1.5615873 q -0.5205291,0 -0.8675485,-0.322233 -0.3222323,-0.347019 -0.3222323,-0.867548 0,-0.520529 0.3222323,-0.842762 0.3470194,-0.347019 0.8675485,-0.347019 z"
+ id="path1715"
+ inkscape:connector-curvature="0" /><path
+ d="m 25.431565,-13.682479 q 1.71031,0 3.073601,0.743613 1.36329,0.743613 2.13169,2.181265 0.768401,1.4128644 0.768401,3.4206194 v 6.0976266 q 0,0.5453162 -0.371807,0.9171227 -0.347019,0.3470194 -0.892336,0.3470194 -0.545316,0 -0.917122,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -6.0976266 q 0,-2.007755 -1.090632,-3.0240264 -1.065845,-1.041058 -2.850517,-1.041058 -1.041058,0 -1.908606,0.421381 -0.842762,0.42138 -1.338504,1.1402064 -0.470955,0.7188259 -0.470955,1.6111615 v 6.9899621 q 0,0.5453162 -0.347019,0.9171227 -0.347019,0.3470194 -0.917123,0.3470194 -0.545316,0 -0.917122,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -16.855228 q 0,-0.570103 0.34702,-0.917123 0.371806,-0.347019 0.917122,-0.347019 0.570104,0 0.917123,0.347019 0.347019,0.34702 0.347019,0.917123 v 6.07284 q 0.793188,-0.793188 1.88382,-1.214568 1.090632,-0.446168 2.329987,-0.446168 z"
+ id="path1717"
+ inkscape:connector-curvature="0" /><path
+ d="m 45.360392,-6.9899622 q 0,0.4709549 -0.322232,0.7931872 -0.322232,0.2974452 -0.817974,0.2974452 h -9.419098 q 0.272658,1.735097 1.561587,2.8009423 1.313716,1.0658453 3.197536,1.0658453 0.743613,0 1.5368,-0.2726581 0.817975,-0.2726581 1.338504,-0.6692517 0.347019,-0.2726581 0.817974,-0.2726581 0.470955,0 0.743613,0.247871 0.446168,0.3718065 0.446168,0.8427614 0,0.4461678 -0.396594,0.743613 -0.842761,0.6692517 -2.106903,1.0906324 -1.239355,0.4213807 -2.379562,0.4213807 -2.032542,0 -3.643704,-0.86754849 -1.611161,-0.89233561 -2.528284,-2.45392291 -0.892335,-1.5615873 -0.892335,-3.5445553 0,-1.9829679 0.842761,-3.5445557 0.867548,-1.586374 2.379562,-2.453922 1.5368,-0.892336 3.470194,-0.892336 1.908606,0 3.296684,0.842761 1.388077,0.842762 2.13169,2.354775 0.743613,1.512013 0.743613,3.4701938 z m -6.171987,-4.5360388 q -1.809459,0 -2.949665,0.991484 -1.11542,0.9914836 -1.412865,2.6522193 h 8.254104 q -0.223084,-1.6607357 -1.239355,-2.6522193 -1.016271,-0.991484 -2.652219,-0.991484 z"
+ id="path1719"
+ inkscape:connector-curvature="0" /><path
+ d="m 62.066898,0.0991484 q -1.958181,0 -3.519768,-0.89233559 -1.561588,-0.89233561 -2.453923,-2.45392291 -0.867549,-1.5863744 -0.867549,-3.5197682 0,-1.9829679 0.842762,-3.5445557 0.867548,-1.586374 2.404348,-2.453922 1.5368,-0.892336 3.470194,-0.892336 2.924878,0 4.858272,2.230839 0.247871,0.272658 0.247871,0.644465 0,0.545316 -0.545316,0.9171223 -0.247871,0.1735097 -0.570104,0.1735097 -0.570103,0 -0.966697,-0.446168 -0.619677,-0.669252 -1.36329,-0.966697 -0.718826,-0.322232 -1.660736,-0.322232 -1.908606,0 -3.098387,1.288929 -1.189781,1.2641423 -1.189781,3.3710457 0,1.3385034 0.545316,2.4043487 0.570103,1.0410582 1.561587,1.6359486 1.016272,0.5948904 2.305201,0.5948904 1.685523,0 2.726581,-0.8675485 0.470955,-0.3470194 0.917122,-0.3470194 0.34702,0 0.644465,0.2230839 0.470955,0.3965936 0.470955,0.8923356 0,0.3718065 -0.297445,0.6692517 -1.784671,1.6607357 -4.461678,1.6607357 z"
+ id="path1721"
+ inkscape:connector-curvature="0" /><path
+ d="m 75.600658,0.0991484 q -1.982968,0 -3.544555,-0.86754849 -1.561588,-0.89233561 -2.429136,-2.45392291 -0.867549,-1.5615873 -0.867549,-3.5445553 0,-2.007755 0.867549,-3.5693427 0.867548,-1.561587 2.429136,-2.429135 1.561587,-0.892336 3.544555,-0.892336 1.958181,0 3.494981,0.892336 1.561587,0.867548 2.429136,2.429135 0.892335,1.5615877 0.892335,3.5693427 0,1.982968 -0.867548,3.5445553 -0.867549,1.5615873 -2.429136,2.45392291 -1.5368,0.86754849 -3.519768,0.86754849 z m 0,-2.230839 q 1.264142,0 2.255626,-0.5948904 1.016271,-0.5948904 1.561587,-1.6359486 0.570104,-1.0658453 0.570104,-2.4043487 0,-1.3385033 -0.570104,-2.4043486 -0.545316,-1.0658451 -1.561587,-1.6607361 -0.991484,-0.59489 -2.255626,-0.59489 -1.264142,0 -2.280413,0.59489 -0.991484,0.594891 -1.561588,1.6607361 -0.570103,1.0658453 -0.570103,2.4043486 0,1.3385034 0.570103,2.4043487 0.570104,1.0410582 1.561588,1.6359486 1.016271,0.5948904 2.280413,0.5948904 z"
+ id="path1723"
+ inkscape:connector-curvature="0" /><path
+ d="m 91.092594,0.0991484 q -1.982968,0 -3.544556,-0.86754849 -1.561587,-0.89233561 -2.429135,-2.45392291 -0.867549,-1.5615873 -0.867549,-3.5445553 0,-2.007755 0.867549,-3.5693427 0.867548,-1.561587 2.429135,-2.429135 1.561588,-0.892336 3.544556,-0.892336 1.95818,0 3.494981,0.892336 1.561587,0.867548 2.429135,2.429135 0.892336,1.5615877 0.892336,3.5693427 0,1.982968 -0.867548,3.5445553 -0.867549,1.5615873 -2.429136,2.45392291 -1.5368,0.86754849 -3.519768,0.86754849 z m 0,-2.230839 q 1.264142,0 2.255626,-0.5948904 1.016271,-0.5948904 1.561587,-1.6359486 0.570103,-1.0658453 0.570103,-2.4043487 0,-1.3385033 -0.570103,-2.4043486 -0.545316,-1.0658451 -1.561587,-1.6607361 -0.991484,-0.59489 -2.255626,-0.59489 -1.264143,0 -2.280414,0.59489 -0.991484,0.594891 -1.561587,1.6607361 -0.570103,1.0658453 -0.570103,2.4043486 0,1.3385034 0.570103,2.4043487 0.570103,1.0410582 1.561587,1.6359486 1.016271,0.5948904 2.280414,0.5948904 z"
+ id="path1725"
+ inkscape:connector-curvature="0" /><path
+ d="m 103.65965,0 q -1.06584,0 -1.93339,-0.5701033 -0.84276,-0.5948904 -1.31372,-1.6359486 -0.470953,-1.0658453 -0.470953,-2.3795616 V -18.11937 q 0,-0.545316 0.347023,-0.892336 0.34702,-0.347019 0.89233,-0.347019 0.54532,0 0.89234,0.347019 0.34702,0.34702 0.34702,0.892336 v 13.5337565 q 0,0.9171227 0.34702,1.5120131 0.34702,0.5948904 0.89233,0.5948904 h 0.61968 q 0.49574,0 0.79319,0.3470194 0.32223,0.3470194 0.32223,0.8923356 0,0.5453162 -0.47096,0.8923356 Q 104.45284,0 103.70923,0 Z"
+ id="path1727"
+ inkscape:connector-curvature="0" /><path
+ d="m 126.06719,-19.358725 q 0.52053,0 0.84276,0.347019 0.34702,0.322233 0.34702,0.842762 0,0.520529 -0.34702,0.867548 -0.32223,0.322233 -0.84276,0.322233 h -5.32922 v 15.6902338 q 0,0.5453162 -0.37181,0.9171227 Q 119.99435,0 119.44904,0 q -0.54532,0 -0.91713,-0.3718065 -0.3718,-0.3718065 -0.3718,-0.9171227 V -16.979163 h -5.35402 q -0.52052,0 -0.86754,-0.322233 -0.32224,-0.347019 -0.32224,-0.867548 0,-0.520529 0.32224,-0.842762 0.34702,-0.347019 0.86754,-0.347019 z"
+ id="path1729"
+ inkscape:connector-curvature="0" /><path
+ d="m 127.33864,6.7789998 q -0.54532,0 -0.91712,-0.3718065 -0.37181,-0.3718065 -0.37181,-0.9171227 V -11.290796 q 0,-0.570103 0.37181,-0.917123 0.3718,-0.371806 0.91712,-0.371806 h 11.20377 q 0.5701,0 0.91712,0.347019 0.34702,0.322233 0.34702,0.867549 0,0.520529 -0.34702,0.842761 -0.34702,0.322232 -0.91712,0.322232 h -9.91484 v 6.0232657 h 7.1139 q 0.54531,0 0.89233,0.3470194 0.37181,0.3222323 0.37181,0.8427614 0,0.5205291 -0.37181,0.8675485 -0.34702,0.3222323 -0.89233,0.3222323 h -7.1139 v 6.1967749 h 9.91484 q 0.5701,0 0.91712,0.3222323 0.34702,0.3222323 0.34702,0.8427614 0,0.5453162 -0.34702,0.8923356 -0.34702,0.3222323 -0.91712,0.3222323 z"
+ style="fill:#00b847;fill-opacity:1"
+ id="path1731"
+ inkscape:connector-curvature="0" /><path
+ d="m 152.24913,-2.0821164 q 0.27266,0.3965936 0.27266,0.8427614 0,0.495742 -0.32224,0.8675485 Q 151.87732,0 151.33201,0 q -0.61968,0 -0.99149,-0.4709549 l -5.3788,-7.460917 -5.70103,7.5600654 Q 138.88888,0 138.36835,0 q -0.54531,0 -0.86755,-0.3470194 -0.29744,-0.3470194 -0.29744,-0.8427614 0,-0.495742 0.29744,-0.8923356 l 5.7754,-7.6840009 -5.45316,-7.5600657 q -0.24787,-0.322232 -0.24787,-0.7684 0,-0.520529 0.32223,-0.892335 0.32223,-0.371807 0.86755,-0.371807 0.64446,0 0.91712,0.371807 l 5.32923,7.386555 5.55231,-7.386555 q 0.34702,-0.371807 0.91712,-0.371807 0.52053,0 0.81797,0.347019 0.32224,0.34702 0.32224,0.842762 0,0.421381 -0.27266,0.842761 l -5.65146,7.5352786 z"
+ id="path1733"
+ inkscape:connector-curvature="0" /><path
+ d="m 169.00521,-13.657692 q 1.9086,0 3.4454,0.917123 1.56159,0.892335 2.45393,2.47871 0.91712,1.561587 0.91712,3.4949807 v 5.5275233 q 0,0.5453162 -0.37181,0.9171227 -0.34702,0.3470194 -0.89233,0.3470194 -0.54532,0 -0.91713,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -0.9171227 q -0.86754,1.0658453 -2.1069,1.6607357 -1.23935,0.5948904 -2.67701,0.5948904 -1.78467,0 -3.24711,-0.89233559 -1.43765,-0.89233561 -2.28041,-2.45392291 -0.81797,-1.5863744 -0.81797,-3.5197682 0,-1.9333937 0.89233,-3.4949807 0.89234,-1.586375 2.45393,-2.47871 1.58637,-0.917123 3.49498,-0.917123 z m 0,11.5260014 q 1.23935,0 2.23084,-0.5948904 1.01627,-0.6196775 1.58637,-1.6607357 0.5701,-1.0658453 0.5701,-2.3795616 0,-1.3137162 -0.5701,-2.3795615 -0.5701,-1.0658452 -1.58637,-1.6607362 -0.99149,-0.619677 -2.23084,-0.619677 -1.23936,0 -2.25563,0.619677 -0.99148,0.594891 -1.58637,1.6607362 -0.57011,1.0658453 -0.57011,2.3795615 0,1.3137163 0.57011,2.3795616 0.59489,1.0410582 1.58637,1.6607357 1.01627,0.5948904 2.25563,0.5948904 z"
+ id="path1735"
+ inkscape:connector-curvature="0" /><path
+ d="m 189.52892,-13.583331 q 0.5701,0 0.91712,0.34702 0.34702,0.347019 0.34702,0.917122 v 11.0550469 q 0,0.5453162 -0.34702,0.9171227 Q 190.09902,0 189.52892,0 q -0.54532,0 -0.91713,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -0.2726581 q -0.79318,0.7931872 -1.88382,1.239355 -1.09063,0.4213807 -2.32998,0.4213807 -1.71031,0 -3.0736,-0.743613 -1.36329,-0.743613 -2.13169,-2.1564777 -0.7684,-1.4376518 -0.7684,-3.4454069 v -6.0976269 q 0,-0.545316 0.34702,-0.892335 0.3718,-0.371807 0.91712,-0.371807 0.54531,0 0.89233,0.371807 0.37181,0.347019 0.37181,0.892335 v 6.0976269 q 0,2.0077551 1.06585,3.0488133 1.09063,1.0162711 2.8753,1.0162711 1.04106,0 1.88382,-0.4213807 0.86755,-0.4213807 1.3385,-1.1402066 0.49574,-0.7188259 0.49574,-1.6111615 v -6.9899625 q 0,-0.570103 0.34702,-0.917122 0.37181,-0.34702 0.91713,-0.34702 z"
+ id="path1737"
+ inkscape:connector-curvature="0" /><path
+ d="m 198.62579,-2.47871 q 0.44616,0 0.74361,0.3470194 0.32223,0.3470194 0.32223,0.8923356 0,0.5453162 -0.42138,0.8923356 Q 198.87366,0 198.22919,0 h -0.44617 q -1.21456,0 -2.23083,-0.6196775 -0.99149,-0.6444646 -1.56159,-1.735097 -0.57011,-1.0906324 -0.57011,-2.4539229 v -6.1224136 h -1.1402 q -0.52053,0 -0.84276,-0.297445 -0.32224,-0.297445 -0.32224,-0.743613 0,-0.495742 0.32224,-0.793187 0.32223,-0.297446 0.84276,-0.297446 h 1.1402 v -3.569342 q 0,-0.545316 0.34702,-0.892336 0.34702,-0.347019 0.89234,-0.347019 0.54532,0 0.89234,0.347019 0.34701,0.34702 0.34701,0.892336 v 3.569342 h 2.10691 q 0.52053,0 0.84276,0.297446 0.32223,0.297445 0.32223,0.793187 0,0.446168 -0.32223,0.743613 -0.32223,0.297445 -0.84276,0.297445 h -2.10691 v 6.1224136 q 0,0.991484 0.54532,1.6607357 0.54532,0.6692517 1.3385,0.6692517 z"
+ id="path1739"
+ inkscape:connector-curvature="0" /><path
+ d="m 207.94574,0.0991484 q -1.98296,0 -3.54455,-0.86754849 -1.56159,-0.89233561 -2.42914,-2.45392291 -0.86755,-1.5615873 -0.86755,-3.5445553 0,-2.007755 0.86755,-3.5693427 0.86755,-1.561587 2.42914,-2.429135 1.56159,-0.892336 3.54455,-0.892336 1.95818,0 3.49498,0.892336 1.56159,0.867548 2.42914,2.429135 0.89234,1.5615877 0.89234,3.5693427 0,1.982968 -0.86755,3.5445553 -0.86755,1.5615873 -2.42914,2.45392291 -1.5368,0.86754849 -3.51977,0.86754849 z m 0,-2.230839 q 1.26415,0 2.25563,-0.5948904 1.01627,-0.5948904 1.56159,-1.6359486 0.5701,-1.0658453 0.5701,-2.4043487 0,-1.3385033 -0.5701,-2.4043486 -0.54532,-1.0658451 -1.56159,-1.6607361 -0.99148,-0.59489 -2.25563,-0.59489 -1.26414,0 -2.28041,0.59489 -0.99148,0.594891 -1.56159,1.6607361 -0.5701,1.0658453 -0.5701,2.4043486 0,1.3385034 0.5701,2.4043487 0.57011,1.0410582 1.56159,1.6359486 1.01627,0.5948904 2.28041,0.5948904 z"
+ id="path1741"
+ inkscape:connector-curvature="0" /><path
+ d="m 231.54305,-13.682479 q 2.15648,0 3.4702,1.412865 1.3385,1.412864 1.3385,3.9411485 v 7.0891105 q 0,0.5453162 -0.34702,0.9171227 -0.34702,0.3470194 -0.91712,0.3470194 -0.54532,0 -0.91712,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -7.0891105 q 0,-1.5120131 -0.7684,-2.2804135 -0.74362,-0.793187 -2.00776,-0.793187 -1.28893,0 -2.13169,0.892336 -0.81797,0.8923353 -0.81797,2.2804129 v 6.9899621 q 0,0.5453162 -0.34702,0.9171227 -0.34702,0.3470194 -0.91713,0.3470194 -0.54531,0 -0.91712,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -7.0891105 q 0,-1.5120131 -0.7684,-2.2804135 -0.74361,-0.793187 -2.00775,-0.793187 -1.31372,0 -2.15648,0.892336 -0.81798,0.8923353 -0.81798,2.2804129 v 6.9899621 q 0,0.5453162 -0.34701,0.9171227 -0.34702,0.3470194 -0.91713,0.3470194 -0.54531,0 -0.91712,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -11.030259 q 0,-0.570104 0.34702,-0.917123 0.37181,-0.34702 0.91712,-0.34702 0.54532,0 0.89234,0.34702 0.34702,0.322232 0.3718,0.867548 0.64447,-0.644464 1.5368,-0.991484 0.89234,-0.371806 1.9334,-0.371806 1.26414,0 2.25562,0.520529 1.01628,0.495742 1.66074,1.437652 0.74361,-0.917123 1.85903,-1.437652 1.11542,-0.520529 2.47871,-0.520529 z"
+ id="path1743"
+ inkscape:connector-curvature="0" /><path
+ d="m 244.7298,-13.657692 q 1.90861,0 3.44541,0.917123 1.56158,0.892335 2.45392,2.47871 0.91712,1.561587 0.91712,3.4949807 v 5.5275233 q 0,0.5453162 -0.3718,0.9171227 -0.34702,0.3470194 -0.89234,0.3470194 -0.54532,0 -0.91712,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -0.9171227 q -0.86755,1.0658453 -2.1069,1.6607357 -1.23936,0.5948904 -2.67701,0.5948904 -1.78467,0 -3.24711,-0.89233559 -1.43765,-0.89233561 -2.28041,-2.45392291 -0.81798,-1.5863744 -0.81798,-3.5197682 0,-1.9333937 0.89234,-3.4949807 0.89233,-1.586375 2.45392,-2.47871 1.58637,-0.917123 3.49498,-0.917123 z m 0,11.5260014 q 1.23936,0 2.23084,-0.5948904 1.01627,-0.6196775 1.58637,-1.6607357 0.57011,-1.0658453 0.57011,-2.3795616 0,-1.3137162 -0.57011,-2.3795615 -0.5701,-1.0658452 -1.58637,-1.6607362 -0.99148,-0.619677 -2.23084,-0.619677 -1.23935,0 -2.25563,0.619677 -0.99148,0.594891 -1.58637,1.6607362 -0.5701,1.0658453 -0.5701,2.3795615 0,1.3137163 0.5701,2.3795616 0.59489,1.0410582 1.58637,1.6607357 1.01628,0.5948904 2.25563,0.5948904 z"
+ id="path1745"
+ inkscape:connector-curvature="0" /><path
+ d="m 258.78408,-2.47871 q 0.44617,0 0.74361,0.3470194 0.32224,0.3470194 0.32224,0.8923356 0,0.5453162 -0.42138,0.8923356 Q 259.03195,0 258.38749,0 h -0.44617 q -1.21457,0 -2.23084,-0.6196775 -0.99148,-0.6444646 -1.56159,-1.735097 -0.5701,-1.0906324 -0.5701,-2.4539229 v -6.1224136 h -1.14021 q -0.52053,0 -0.84276,-0.297445 -0.32223,-0.297445 -0.32223,-0.743613 0,-0.495742 0.32223,-0.793187 0.32223,-0.297446 0.84276,-0.297446 h 1.14021 v -3.569342 q 0,-0.545316 0.34702,-0.892336 0.34702,-0.347019 0.89233,-0.347019 0.54532,0 0.89234,0.347019 0.34702,0.34702 0.34702,0.892336 v 3.569342 h 2.1069 q 0.52053,0 0.84276,0.297446 0.32224,0.297445 0.32224,0.793187 0,0.446168 -0.32224,0.743613 -0.32223,0.297445 -0.84276,0.297445 h -2.1069 v 6.1224136 q 0,0.991484 0.54532,1.6607357 0.54531,0.6692517 1.3385,0.6692517 z"
+ id="path1747"
+ inkscape:connector-curvature="0" /><path
+ d="m 264.18768,0 q -0.54532,0 -0.91713,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 V -12.294402 q 0,-0.570103 0.34702,-0.917122 0.37181,-0.34702 0.91713,-0.34702 0.5701,0 0.91712,0.34702 0.34702,0.347019 0.34702,0.917122 v 11.0302599 q 0,0.5453162 -0.34702,0.9171227 Q 264.75778,0 264.18768,0 Z m 0,-15.764595 q -0.66926,0 -1.165,-0.470955 -0.47095,-0.495742 -0.47095,-1.164994 0,-0.669252 0.47095,-1.140207 0.49574,-0.495742 1.165,-0.495742 0.66925,0 1.1402,0.495742 0.49574,0.470955 0.49574,1.140207 0,0.669252 -0.49574,1.164994 -0.47095,0.470955 -1.1402,0.470955 z"
+ id="path1749"
+ inkscape:connector-curvature="0" /><path
+ d="m 274.62303,0.0991484 q -1.98296,0 -3.54455,-0.86754849 -1.56159,-0.89233561 -2.42914,-2.45392291 -0.86754,-1.5615873 -0.86754,-3.5445553 0,-2.007755 0.86754,-3.5693427 0.86755,-1.561587 2.42914,-2.429135 1.56159,-0.892336 3.54455,-0.892336 1.95819,0 3.49499,0.892336 1.56158,0.867548 2.42913,2.429135 0.89234,1.5615877 0.89234,3.5693427 0,1.982968 -0.86755,3.5445553 -0.86755,1.5615873 -2.42914,2.45392291 -1.5368,0.86754849 -3.51977,0.86754849 z m 0,-2.230839 q 1.26415,0 2.25563,-0.5948904 1.01627,-0.5948904 1.56159,-1.6359486 0.5701,-1.0658453 0.5701,-2.4043487 0,-1.3385033 -0.5701,-2.4043486 -0.54532,-1.0658451 -1.56159,-1.6607361 -0.99148,-0.59489 -2.25563,-0.59489 -1.26414,0 -2.28041,0.59489 -0.99148,0.594891 -1.56159,1.6607361 -0.5701,1.0658453 -0.5701,2.4043486 0,1.3385034 0.5701,2.4043487 0.57011,1.0410582 1.56159,1.6359486 1.01627,0.5948904 2.28041,0.5948904 z"
+ id="path1751"
+ inkscape:connector-curvature="0" /><path
+ d="m 290.70987,-13.682479 q 1.71031,0 3.0736,0.743613 1.36329,0.743613 2.13169,2.181265 0.7684,1.4128644 0.7684,3.4206194 v 6.0976266 q 0,0.5453162 -0.37181,0.9171227 -0.34702,0.3470194 -0.89233,0.3470194 -0.54532,0 -0.91713,-0.3470194 -0.34701,-0.3718065 -0.34701,-0.9171227 v -6.0976266 q 0,-2.007755 -1.09064,-3.0240264 -1.06584,-1.041058 -2.85051,-1.041058 -1.04106,0 -1.90861,0.421381 -0.84276,0.42138 -1.3385,1.1402064 -0.47096,0.7188259 -0.47096,1.6111615 v 6.9899621 q 0,0.5453162 -0.34702,0.9171227 -0.34702,0.3470194 -0.91712,0.3470194 -0.54532,0 -0.91712,-0.3470194 -0.34702,-0.3718065 -0.34702,-0.9171227 v -11.055047 q 0,-0.570103 0.34702,-0.917122 0.3718,-0.34702 0.91712,-0.34702 0.5701,0 0.91712,0.34702 0.34702,0.347019 0.34702,0.917122 v 0.272659 q 0.79319,-0.793188 1.88382,-1.214568 1.09063,-0.446168 2.32999,-0.446168 z"
+ id="path1753"
+ inkscape:connector-curvature="0" /><path
+ d="m 311.48145,-2.47871 q 0.44617,0 0.74362,0.3470194 0.32223,0.3470194 0.32223,0.8923356 0,0.5453162 -0.42138,0.8923356 Q 311.72932,0 311.08486,0 h -0.44617 q -1.21457,0 -2.23084,-0.6196775 -0.99148,-0.6444646 -1.56158,-1.735097 -0.57011,-1.0906324 -0.57011,-2.4539229 v -6.1224136 h -1.1402 q -0.52053,0 -0.84277,-0.297445 -0.32223,-0.297445 -0.32223,-0.743613 0,-0.495742 0.32223,-0.793187 0.32224,-0.297446 0.84277,-0.297446 h 1.1402 v -3.569342 q 0,-0.545316 0.34702,-0.892336 0.34702,-0.347019 0.89234,-0.347019 0.54531,0 0.89233,0.347019 0.34702,0.34702 0.34702,0.892336 v 3.569342 h 2.10691 q 0.52052,0 0.84276,0.297446 0.32223,0.297445 0.32223,0.793187 0,0.446168 -0.32223,0.743613 -0.32224,0.297445 -0.84276,0.297445 h -2.10691 v 6.1224136 q 0,0.991484 0.54532,1.6607357 0.54531,0.6692517 1.3385,0.6692517 z"
+ id="path1755"
+ inkscape:connector-curvature="0" /><path
+ d="m 320.80141,0.0991484 q -1.98297,0 -3.54456,-0.86754849 -1.56158,-0.89233561 -2.42913,-2.45392291 -0.86755,-1.5615873 -0.86755,-3.5445553 0,-2.007755 0.86755,-3.5693427 0.86755,-1.561587 2.42913,-2.429135 1.56159,-0.892336 3.54456,-0.892336 1.95818,0 3.49498,0.892336 1.56159,0.867548 2.42914,2.429135 0.89233,1.5615877 0.89233,3.5693427 0,1.982968 -0.86755,3.5445553 -0.86754,1.5615873 -2.42913,2.45392291 -1.5368,0.86754849 -3.51977,0.86754849 z m 0,-2.230839 q 1.26414,0 2.25563,-0.5948904 1.01627,-0.5948904 1.56158,-1.6359486 0.57011,-1.0658453 0.57011,-2.4043487 0,-1.3385033 -0.57011,-2.4043486 -0.54531,-1.0658451 -1.56158,-1.6607361 -0.99149,-0.59489 -2.25563,-0.59489 -1.26414,0 -2.28041,0.59489 -0.99149,0.594891 -1.56159,1.6607361 -0.5701,1.0658453 -0.5701,2.4043486 0,1.3385034 0.5701,2.4043487 0.5701,1.0410582 1.56159,1.6359486 1.01627,0.5948904 2.28041,0.5948904 z"
+ id="path1757"
+ inkscape:connector-curvature="0" /><path
+ d="m 336.29335,0.0991484 q -1.98296,0 -3.54455,-0.86754849 -1.56159,-0.89233561 -2.42914,-2.45392291 -0.86755,-1.5615873 -0.86755,-3.5445553 0,-2.007755 0.86755,-3.5693427 0.86755,-1.561587 2.42914,-2.429135 1.56159,-0.892336 3.54455,-0.892336 1.95818,0 3.49498,0.892336 1.56159,0.867548 2.42914,2.429135 0.89234,1.5615877 0.89234,3.5693427 0,1.982968 -0.86755,3.5445553 -0.86755,1.5615873 -2.42914,2.45392291 -1.5368,0.86754849 -3.51977,0.86754849 z m 0,-2.230839 q 1.26415,0 2.25563,-0.5948904 1.01627,-0.5948904 1.56159,-1.6359486 0.5701,-1.0658453 0.5701,-2.4043487 0,-1.3385033 -0.5701,-2.4043486 -0.54532,-1.0658451 -1.56159,-1.6607361 -0.99148,-0.59489 -2.25563,-0.59489 -1.26414,0 -2.28041,0.59489 -0.99148,0.594891 -1.56159,1.6607361 -0.5701,1.0658453 -0.5701,2.4043486 0,1.3385034 0.5701,2.4043487 0.57011,1.0410582 1.56159,1.6359486 1.01627,0.5948904 2.28041,0.5948904 z"
+ id="path1759"
+ inkscape:connector-curvature="0" /><path
+ d="m 348.86039,0 q -1.06585,0 -1.9334,-0.5701033 -0.84276,-0.5948904 -1.31371,-1.6359486 -0.47096,-1.0658453 -0.47096,-2.3795616 V -18.11937 q 0,-0.545316 0.34702,-0.892336 0.34702,-0.347019 0.89234,-0.347019 0.54531,0 0.89233,0.347019 0.34702,0.34702 0.34702,0.892336 v 13.5337565 q 0,0.9171227 0.34702,1.5120131 0.34702,0.5948904 0.89234,0.5948904 h 0.61968 q 0.49574,0 0.79318,0.3470194 0.32224,0.3470194 0.32224,0.8923356 0,0.5453162 -0.47096,0.8923356 Q 349.65358,0 348.90996,0 Z"
+ id="path1761"
+ inkscape:connector-curvature="0" /></g></g></svg>
diff --git a/support/arara/doc/resources/firasans-bold.otf b/support/arara/doc/resources/firasans-bold.otf
new file mode 100644
index 0000000000..78cc4620ac
--- /dev/null
+++ b/support/arara/doc/resources/firasans-bold.otf
Binary files differ
diff --git a/support/arara/doc/resources/firasans-italic.otf b/support/arara/doc/resources/firasans-italic.otf
new file mode 100644
index 0000000000..92c347246e
--- /dev/null
+++ b/support/arara/doc/resources/firasans-italic.otf
Binary files differ
diff --git a/support/arara/doc/resources/firasans-light.otf b/support/arara/doc/resources/firasans-light.otf
new file mode 100644
index 0000000000..609d864ecb
--- /dev/null
+++ b/support/arara/doc/resources/firasans-light.otf
Binary files differ
diff --git a/support/arara/doc/resources/firasans-lightitalic.otf b/support/arara/doc/resources/firasans-lightitalic.otf
new file mode 100644
index 0000000000..735f9d3cd1
--- /dev/null
+++ b/support/arara/doc/resources/firasans-lightitalic.otf
Binary files differ
diff --git a/support/arara/doc/resources/firasans-regular.otf b/support/arara/doc/resources/firasans-regular.otf
new file mode 100644
index 0000000000..8d20d7237d
--- /dev/null
+++ b/support/arara/doc/resources/firasans-regular.otf
Binary files differ
diff --git a/support/arara/doc/resources/gitlab-icon.svg b/support/arara/doc/resources/gitlab-icon.svg
new file mode 100644
index 0000000000..767d6875c3
--- /dev/null
+++ b/support/arara/doc/resources/gitlab-icon.svg
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 24.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 586 559" style="enable-background:new 0 0 586 559;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:#FAFAFA;}
+ .st1{fill:#F0F0F0;}
+ .st2{fill:#FFFFFF;}
+ .st3{fill:#E24329;}
+ .st4{fill:#FCA326;}
+ .st5{fill:#FC6D26;}
+ .st6{fill:#8C929D;}
+ .st7{fill:#2E2E2E;}
+ .st8{fill:none;stroke:#FCA326;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+ .st9{fill:none;stroke:#FC6D26;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+ .st10{fill:none;stroke:#E24329;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+ .st11{fill:none;stroke:#F0F0F0;stroke-miterlimit:10;}
+ .st12{fill:#231F20;}
+ .st13{fill:none;stroke:#231F20;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
+ .st14{display:none;}
+ .st15{display:inline;opacity:0.1;fill:#E828E3;}
+ .st16{display:inline;}
+ .st17{opacity:0.1;fill:#E828E3;}
+ .st18{font-family:'SourceSansPro-Semibold';}
+ .st19{font-size:24px;}
+ .st20{display:inline;fill:#DB3B21;}
+ .st21{display:inline;fill:#FC6D26;}
+ .st22{display:inline;fill:#2E2E2E;}
+ .st23{display:inline;fill:#6E49CB;}
+ .st24{display:inline;fill:#380D75;}
+ .st25{display:inline;fill:#FCA121;}
+ .st26{opacity:0.6;fill:none;stroke:#231F20;stroke-width:2;stroke-miterlimit:10;stroke-dasharray:12,6;}
+ .st27{fill:none;stroke:#444444;stroke-width:1.5339;stroke-miterlimit:10;}
+</style>
+<g id="logo_art">
+ <g>
+ <path id="path50_2_" class="st3" d="M293.026,434.983L293.026,434.983l62.199-191.322H230.918L293.026,434.983L293.026,434.983z"
+ />
+ <path id="path66_6_" class="st4" d="M143.798,243.662L143.798,243.662l-18.941,58.126c-1.714,5.278,0.137,11.104,4.661,14.394
+ l163.509,118.801L143.798,243.662L143.798,243.662z"/>
+ <path id="path74_2_" class="st3" d="M143.798,243.662h87.12l-37.494-115.224c-1.919-5.895-10.282-5.895-12.27,0L143.798,243.662
+ L143.798,243.662z"/>
+ <path id="path82_6_" class="st4" d="M442.346,243.662L442.346,243.662l18.873,58.126c1.714,5.278-0.137,11.104-4.661,14.394
+ L293.026,434.983L442.346,243.662L442.346,243.662z"/>
+ <path id="path86_2_" class="st3" d="M442.346,243.662h-87.12l37.425-115.224c1.919-5.895,10.282-5.895,12.27,0L442.346,243.662
+ L442.346,243.662z"/>
+ <polygon class="st5" points="293.026,434.983 355.225,243.662 442.346,243.662 "/>
+ <polygon class="st5" points="293.026,434.983 143.798,243.662 230.918,243.662 "/>
+ </g>
+</g>
+<g id="spacing_guides" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns" class="st14">
+ <path id="path40_18_" sketch:type="MSShapeGroup" class="st15" d="M0,0.5v124h586V0.5H0L0,0.5z"/>
+ <path id="path40_16_" sketch:type="MSShapeGroup" class="st15" d="M0,435.5v124h586v-124H0L0,435.5z"/>
+ <path id="path40_15_" sketch:type="MSShapeGroup" class="st15" d="M462.2,560h124V0h-124V560L462.2,560z"/>
+ <g class="st16">
+ <text transform="matrix(1 0 0 1 511.2881 283.3319)" class="st18 st19">1x</text>
+ </g>
+ <g class="st16">
+ <text transform="matrix(1 0 0 1 281.2881 500.9978)" class="st18 st19">1x</text>
+ </g>
+ <g class="st16">
+ <text transform="matrix(1 0 0 1 281.2881 65.998)" class="st18 st19">1x</text>
+ </g>
+ <path id="path40_5_" sketch:type="MSShapeGroup" class="st15" d="M0,560h124V0H0V560L0,560z"/>
+ <g class="st16">
+ <text transform="matrix(1 0 0 1 51.2881 283.3319)" class="st18 st19">1x</text>
+ </g>
+</g>
+</svg>
diff --git a/support/arara/doc/resources/manual.css b/support/arara/doc/resources/manual.css
new file mode 100644
index 0000000000..9939109037
--- /dev/null
+++ b/support/arara/doc/resources/manual.css
@@ -0,0 +1,356 @@
+/**
+ * Based on the report example of weasyprint:
+ * https://github.com/CourtBouillon/weasyprint-samples/tree/master/report
+ */
+@font-face {
+ font-family: 'Fira Sans';
+ font-weight: 400;
+ src: url('firasans-regular.otf');
+}
+@font-face {
+ font-family: 'Fira Sans';
+ font-style: italic;
+ font-weight: 400;
+ src: url('firasans-italic.otf');
+}
+@font-face {
+ font-family: 'Fira Sans';
+ font-weight: 300;
+ src: url('firasans-light.otf');
+}
+@font-face {
+ font-family: 'Fira Sans';
+ font-style: italic;
+ font-weight: 300;
+ src: url('firasans-lightitalic.otf');
+}
+@font-face {
+ font-family: 'Fira Sans';
+ font-weight: 700;
+ src: url('firasans-bold.otf');
+}
+
+@font-face {
+ font-family: 'Cascadia Mono';
+ font-weight: 200;
+ src: url('CascadiaMono-ExtraLight.otf');
+}
+@font-face {
+ font-family: 'Cascadia Mono';
+ font-style: italic;
+ font-weight: 200;
+ src: url('CascadiaMono-ExtraLightItalic.otf');
+}
+@font-face {
+ font-family: 'Cascadia Mono';
+ font-weight: 300;
+ src: url('CascadiaMono-Light.otf');
+}
+@font-face {
+ font-family: 'Cascadia Mono';
+ font-style: italic;
+ font-weight: 300;
+ src: url('CascadiaMono-LightItalic.otf');
+}
+@font-face {
+ font-family: 'Cascadia Mono';
+ font-weight: 400;
+ src: url('CascadiaMono-Regular.otf');
+}
+@font-face {
+ font-family: 'Cascadia Mono';
+ font-style: italic;
+ font-weight: 400;
+ src: url('CascadiaMono-Italic.otf');
+}
+
+:root {
+ --highlight-bg-color: #cbe368;
+ --highlight-link-color: #719b25;
+ --table-cell-top-padding: 2mm;
+}
+
+@page {
+ @bottom-right {
+ background-color: var(--highlight-bg-color);
+ content: counter(page);
+ height: 1cm;
+ text-align: center;
+ width: 1cm;
+ }
+ @bottom-center {
+ background-color: var(--highlight-bg-color);
+ content: '';
+ display: block;
+ height: .05cm;
+ opacity: .5;
+ width: 100%;
+ }
+ @bottom-left {
+ content: string(heading);
+ font-size: 9pt;
+ height: 1cm;
+ vertical-align: middle;
+ width: 100%;
+ }
+}
+@page :blank {
+ @bottom-right { background: none; content: '' }
+ @bottom-center { content: none }
+ @bottom-left { content: none }
+}
+@page no-chapter {
+ @top-left { background: none; content: none }
+ @top-center { content: none }
+ @top-right { content: none }
+}
+@page cover {
+ margin: 0;
+}
+
+html {
+ color: #393939;
+ font-family: 'Fira Sans';
+ font-size: 11pt;
+ font-weight: 300;
+ line-height: 1.5;
+ font-variant-ligatures: common-ligatures;
+ font-variant-numeric: oldstyle-nums tabular-nums;
+ text-align: justify;
+ hyphens: auto;
+}
+
+h1 {
+ break-before: always;
+ color: var(--highlight-bg-color);
+ font-size: 38pt;
+ margin: 2cm 0 1cm 0;
+ page: no-chapter;
+ width: 100%;
+}
+h2, h3, h4 {
+ color: black;
+ font-weight: 400;
+}
+h2 {
+ font-size: 28pt;
+ string-set: heading content();
+}
+h3 {
+ font-weight: 300;
+ font-size: 15pt;
+}
+h4 {
+ font-size: 13pt;
+}
+
+pre {
+ background-color: #fcfcfc !important;
+ padding: 1.25em 1.5em;
+ white-space: pre;
+ word-wrap: normal;
+ font-size: .875em;
+}
+
+code {
+ font-family: 'Cascadia Mono';
+ font-weight: 200;
+}
+
+a {
+ color: var(--highlight-link-color);
+ text-decoration: none;
+ font-variant: small-caps;
+}
+
+table {
+ border-collapse: collapse;
+ width: 100%;
+ page-break-before: avoid;
+ page-break-inside: auto;
+}
+tr {
+ page-break-inside:avoid;
+ page-break-after:auto;
+}
+thead {
+ display:table-header-group;
+}
+tfoot {
+ display:table-footer-group;
+}
+th {
+ border-bottom: .2mm solid;
+ border-color: var(--highlight-bg-color);
+ color: var(--highlight-bg-color);
+ font-size: 10pt;
+ font-weight: 400;
+ padding-bottom: .175cm;
+ font-variant: small-caps;
+}
+td {
+ padding-top: var(--table-cell-top-padding);
+}
+td:last-of-type {
+ text-align: right;
+}
+th:first-of-type, td:first-of-type {
+ text-align: left;
+}
+th:last-of-type, td:last-of-type {
+ text-align: right;
+}
+
+.tex sub, .latex sub, .latex sup {
+ text-transform: uppercase;
+}
+
+.tex sub, .latex sub {
+ vertical-align: -0.08cm;
+ margin-left: -0.15cm;
+ margin-right: -0.095cm;
+}
+
+.tex, .latex, .tex sub, .latex sub {
+ font-size: 100%;
+}
+
+.latex sup {
+ font-size: 85%;
+ vertical-align: 0.06cm;
+ margin-left: -0.15cm;
+ margin-right: -0.09cm;
+}
+
+.upright {
+ font-style: normal;
+ margin-left: -.11cm;
+ margin-right: -.11cm;
+}
+
+#cover {
+ align-content: space-between;
+ display: flex;
+ flex-wrap: wrap;
+ height: 297mm;
+ page: cover;
+}
+#cover #coverimg img {
+ display: block;
+ width: 14cm;
+ margin-left: 3.5cm;
+ margin-top: 3cm;
+}
+#cover #refbox {
+ width: 12cm;
+ background-color: #00b847;
+ color: #ffffff;
+ font-size: 24pt;
+ margin-left: 3.5cm;
+ margin-top: 1.5cm;
+ margin-bottom: 1.5cm;
+ padding: .5cm 1cm;
+ text-align: center;
+}
+#cover #metadata {
+ width: 14cm;
+ margin-left: 3.5cm;
+ margin-bottom: 2.5cm;
+ font-size: 14pt;
+ text-align: center;
+}
+#cover #metadata * {
+ display: block;
+}
+#cover #metadata img {
+ height: 3.5cm;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+#license blockquote {
+ margin-top: 1cm;
+}
+
+#contents {
+ break-before: right;
+ break-after: left;
+ page: no-chapter;
+}
+#contents h2 {
+ font-size: 20pt;
+ font-weight: 400;
+ margin-bottom: 3cm;
+}
+#contents h3 {
+ font-weight: 500;
+ margin: 3em 0 1em;
+}
+#contents h3::before {
+ background-color: var(--highlight-bg-color);
+ content: '';
+ display: block;
+ height: .08cm;
+ margin-bottom: .25cm;
+ width: 2cm;
+}
+#contents ul {
+ list-style: none;
+ padding-left: 0;
+}
+#contents a {
+ font-variant: normal;
+}
+#contents ul > li {
+ border-top: .25pt solid #c1c1c1;
+ margin: .25cm 0;
+ padding-top: .25cm;
+}
+#contents ul > li li {
+ border: none;
+ margin-top: .1cm;
+ margin-bottom: .1cm;
+ margin-left: .75cm;
+ padding-top: 0;
+}
+#contents ul > li li li {
+ margin-left: 1.5cm;
+}
+#contents ul > li li li li {
+ margin-left: 2.25cm;
+}
+#contents ul > li li li li li {
+ margin-left: 3cm;
+}
+#contents ul > li li li li li li {
+ margin-left: 3.75cm;
+}
+#contents ul li::before {
+ color: var(--highlight-bg-color);
+ content: '• ';
+ font-size: 40pt;
+ line-height: 16pt;
+ vertical-align: bottom;
+}
+#contents ul li a {
+ color: inherit;
+ text-decoration-line: inherit;
+}
+#contents ul li a::before {
+ content: target-text(attr(href));
+}
+#contents ul li a::after {
+ color: var(--highlight-bg-color);
+ content: target-counter(attr(href), page);
+ float: right;
+}
+
+#skills h3 {
+ background-color: var(--highlight-bg-color);
+ margin: 0 -3cm 1cm;
+ padding: 1cm 1cm 1cm 3cm;
+ width: 21cm;
+}
+#skills section {
+ padding: .5cm 0;
+}
diff --git a/support/arara/doc/resources/version.txt b/support/arara/doc/resources/version.txt
new file mode 100644
index 0000000000..4122521804
--- /dev/null
+++ b/support/arara/doc/resources/version.txt
@@ -0,0 +1 @@
+7.0.0 \ No newline at end of file
diff --git a/support/arara/doc/rules/manual.yaml b/support/arara/doc/rules/manual.yaml
deleted file mode 100644
index a419e0e779..0000000000
--- a/support/arara/doc/rules/manual.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-!config
-identifier: manual
-name: The arara manual
-authors:
-- Island of TeX
-commands:
-- name: The PDFLaTeX engine
- command: >
- @{
- return getCommand('pdflatex', reference);
- }
-- name: The PDFLaTeX engine
- command: >
- @{
- return getCommand('pdflatex', reference);
- }
-- name: File cleanup
- command: >
- @{
- matches = listFilesByExtensions('.',
- [ 'aux' ], true);
- prefix = [];
- if (isUnix()) {
- prefix = [ 'rm', '-f' ];
- }
- else {
- prefix = [ 'cmd', '/c', 'del' ];
- }
- removals = [];
- extensions = [ 'listing', 'log', 'toc',
- 'out', 'synctex.gz' ];
- foreach (extension : extensions) {
- removals.add(getCommand(prefix, getBasename(reference)
- .concat('.').concat(extension)));
- }
- foreach (match : matches) {
- removals.add(getCommand(prefix, match.getCanonicalPath()));
- }
- return removals;
- }
-arguments: []
diff --git a/support/arara/doc/rules/quickstart.yaml b/support/arara/doc/rules/quickstart.yaml
deleted file mode 100644
index fd2fd0f848..0000000000
--- a/support/arara/doc/rules/quickstart.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-!config
-identifier: quickstart
-name: The arara quickstart guide
-authors:
-- Island of TeX
-commands:
-- name: The PDFLaTeX engine
- command: >
- @{
- return getCommand('pdflatex', reference);
- }
-- name: The PDFLaTeX engine
- command: >
- @{
- return getCommand('pdflatex', reference);
- }
-- name: File cleanup
- command: >
- @{
- matches = listFilesByExtensions('.',
- [ 'aux' ], true);
- prefix = [];
- if (isUnix()) {
- prefix = [ 'rm', '-f' ];
- }
- else {
- prefix = [ 'cmd', '/c', 'del' ];
- }
- removals = [];
- extensions = [ 'listing', 'log', 'toc',
- 'out', 'synctex.gz' ];
- foreach (extension : extensions) {
- removals.add(getCommand(prefix, getBasename(reference)
- .concat('.').concat(extension)));
- }
- foreach (match : matches) {
- removals.add(getCommand(prefix, match.getCanonicalPath()));
- }
- return removals;
- }
-arguments: []
diff --git a/support/arara/doc/version.tex b/support/arara/doc/version.tex
deleted file mode 100644
index cb6b1ffdc8..0000000000
--- a/support/arara/doc/version.tex
+++ /dev/null
@@ -1 +0,0 @@
-6.1.7 \ No newline at end of file
diff --git a/support/arara/scripts/rules/arara-rule-animate.yaml b/support/arara/scripts/rules/arara-rule-animate.yaml
index b6473b1db7..1d87ddcf4e 100644
--- a/support/arara/scripts/rules/arara-rule-animate.yaml
+++ b/support/arara/scripts/rules/arara-rule-animate.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-asymptote.yaml b/support/arara/scripts/rules/arara-rule-asymptote.yaml
index f6e6f29612..4bc82f5b2b 100644
--- a/support/arara/scripts/rules/arara-rule-asymptote.yaml
+++ b/support/arara/scripts/rules/arara-rule-asymptote.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-authorindex.yaml b/support/arara/scripts/rules/arara-rule-authorindex.yaml
index c3304a4f38..166bf51801 100644
--- a/support/arara/scripts/rules/arara-rule-authorindex.yaml
+++ b/support/arara/scripts/rules/arara-rule-authorindex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-bib2gls.yaml b/support/arara/scripts/rules/arara-rule-bib2gls.yaml
index f1d8d0e6e4..b27309d246 100644
--- a/support/arara/scripts/rules/arara-rule-bib2gls.yaml
+++ b/support/arara/scripts/rules/arara-rule-bib2gls.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-biber.yaml b/support/arara/scripts/rules/arara-rule-biber.yaml
index 318c8560ec..41a102fa09 100644
--- a/support/arara/scripts/rules/arara-rule-biber.yaml
+++ b/support/arara/scripts/rules/arara-rule-biber.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-bibtex.yaml b/support/arara/scripts/rules/arara-rule-bibtex.yaml
index d796c916ab..39b251a6bf 100644
--- a/support/arara/scripts/rules/arara-rule-bibtex.yaml
+++ b/support/arara/scripts/rules/arara-rule-bibtex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-bibtex8.yaml b/support/arara/scripts/rules/arara-rule-bibtex8.yaml
index e83e455b01..c57bac1396 100644
--- a/support/arara/scripts/rules/arara-rule-bibtex8.yaml
+++ b/support/arara/scripts/rules/arara-rule-bibtex8.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-bibtexu.yaml b/support/arara/scripts/rules/arara-rule-bibtexu.yaml
index f9bc341624..202759b352 100644
--- a/support/arara/scripts/rules/arara-rule-bibtexu.yaml
+++ b/support/arara/scripts/rules/arara-rule-bibtexu.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-clean.yaml b/support/arara/scripts/rules/arara-rule-clean.yaml
index c1057c558c..62f8a10202 100644
--- a/support/arara/scripts/rules/arara-rule-clean.yaml
+++ b/support/arara/scripts/rules/arara-rule-clean.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-context.yaml b/support/arara/scripts/rules/arara-rule-context.yaml
index de81714dbc..7795a264c1 100644
--- a/support/arara/scripts/rules/arara-rule-context.yaml
+++ b/support/arara/scripts/rules/arara-rule-context.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-convert.yaml b/support/arara/scripts/rules/arara-rule-convert.yaml
index a8ee4fb5a8..2d556bd55b 100644
--- a/support/arara/scripts/rules/arara-rule-convert.yaml
+++ b/support/arara/scripts/rules/arara-rule-convert.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-copy.yaml b/support/arara/scripts/rules/arara-rule-copy.yaml
index 078ceeceb2..101a92932b 100644
--- a/support/arara/scripts/rules/arara-rule-copy.yaml
+++ b/support/arara/scripts/rules/arara-rule-copy.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
@@ -33,4 +33,3 @@ arguments:
return parameters.target;
}
required: true
-
diff --git a/support/arara/scripts/rules/arara-rule-csplain.yaml b/support/arara/scripts/rules/arara-rule-csplain.yaml
index 903a7f8e80..58f3099119 100644
--- a/support/arara/scripts/rules/arara-rule-csplain.yaml
+++ b/support/arara/scripts/rules/arara-rule-csplain.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-datatooltk.yaml b/support/arara/scripts/rules/arara-rule-datatooltk.yaml
index 09fb5fcb12..2a6843fb58 100644
--- a/support/arara/scripts/rules/arara-rule-datatooltk.yaml
+++ b/support/arara/scripts/rules/arara-rule-datatooltk.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-detex.yaml b/support/arara/scripts/rules/arara-rule-detex.yaml
index 914fd1704a..924e89b8a9 100644
--- a/support/arara/scripts/rules/arara-rule-detex.yaml
+++ b/support/arara/scripts/rules/arara-rule-detex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-dvipdfm.yaml b/support/arara/scripts/rules/arara-rule-dvipdfm.yaml
index c4e17c6090..fa98bb4ba5 100644
--- a/support/arara/scripts/rules/arara-rule-dvipdfm.yaml
+++ b/support/arara/scripts/rules/arara-rule-dvipdfm.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-dvipdfmx.yaml b/support/arara/scripts/rules/arara-rule-dvipdfmx.yaml
index 1a584e6a27..612b8464f6 100644
--- a/support/arara/scripts/rules/arara-rule-dvipdfmx.yaml
+++ b/support/arara/scripts/rules/arara-rule-dvipdfmx.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-dvips.yaml b/support/arara/scripts/rules/arara-rule-dvips.yaml
index 0fa862f9ac..3cd0771fbf 100644
--- a/support/arara/scripts/rules/arara-rule-dvips.yaml
+++ b/support/arara/scripts/rules/arara-rule-dvips.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-dvipspdf.yaml b/support/arara/scripts/rules/arara-rule-dvipspdf.yaml
index 63f035c94e..ed82fd037f 100644
--- a/support/arara/scripts/rules/arara-rule-dvipspdf.yaml
+++ b/support/arara/scripts/rules/arara-rule-dvipspdf.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-dvisvgm.yaml b/support/arara/scripts/rules/arara-rule-dvisvgm.yaml
index 835f14d3bd..3ae1ecb756 100644
--- a/support/arara/scripts/rules/arara-rule-dvisvgm.yaml
+++ b/support/arara/scripts/rules/arara-rule-dvisvgm.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-etex.yaml b/support/arara/scripts/rules/arara-rule-etex.yaml
index f2a6521db3..48d7d7978d 100644
--- a/support/arara/scripts/rules/arara-rule-etex.yaml
+++ b/support/arara/scripts/rules/arara-rule-etex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-fig2dev.yaml b/support/arara/scripts/rules/arara-rule-fig2dev.yaml
index 82c568927a..fff0d71977 100644
--- a/support/arara/scripts/rules/arara-rule-fig2dev.yaml
+++ b/support/arara/scripts/rules/arara-rule-fig2dev.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-frontespizio.yaml b/support/arara/scripts/rules/arara-rule-frontespizio.yaml
index 894b02e984..05f8d00175 100644
--- a/support/arara/scripts/rules/arara-rule-frontespizio.yaml
+++ b/support/arara/scripts/rules/arara-rule-frontespizio.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-ghostscript.yaml b/support/arara/scripts/rules/arara-rule-ghostscript.yaml
index 95ae8411a0..10be1d8734 100644
--- a/support/arara/scripts/rules/arara-rule-ghostscript.yaml
+++ b/support/arara/scripts/rules/arara-rule-ghostscript.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-gnuplot.yaml b/support/arara/scripts/rules/arara-rule-gnuplot.yaml
index 0fdf82c8ca..77d8257e6e 100644
--- a/support/arara/scripts/rules/arara-rule-gnuplot.yaml
+++ b/support/arara/scripts/rules/arara-rule-gnuplot.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-halt.yaml b/support/arara/scripts/rules/arara-rule-halt.yaml
index e4097ce3dc..1a3e909e6f 100644
--- a/support/arara/scripts/rules/arara-rule-halt.yaml
+++ b/support/arara/scripts/rules/arara-rule-halt.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-indent.yaml b/support/arara/scripts/rules/arara-rule-indent.yaml
index ea4d78dbba..c6df63b557 100644
--- a/support/arara/scripts/rules/arara-rule-indent.yaml
+++ b/support/arara/scripts/rules/arara-rule-indent.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-knitr.yaml b/support/arara/scripts/rules/arara-rule-knitr.yaml
index 8df8a7a0f9..25bfe9f501 100644
--- a/support/arara/scripts/rules/arara-rule-knitr.yaml
+++ b/support/arara/scripts/rules/arara-rule-knitr.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-latex.yaml b/support/arara/scripts/rules/arara-rule-latex.yaml
index 9a2bca4127..33cef01203 100644
--- a/support/arara/scripts/rules/arara-rule-latex.yaml
+++ b/support/arara/scripts/rules/arara-rule-latex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-latexmk.yaml b/support/arara/scripts/rules/arara-rule-latexmk.yaml
index 291e10aa02..d8770da1b4 100644
--- a/support/arara/scripts/rules/arara-rule-latexmk.yaml
+++ b/support/arara/scripts/rules/arara-rule-latexmk.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-llmk.yaml b/support/arara/scripts/rules/arara-rule-llmk.yaml
index da4b990530..965616b501 100644
--- a/support/arara/scripts/rules/arara-rule-llmk.yaml
+++ b/support/arara/scripts/rules/arara-rule-llmk.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
@@ -54,4 +54,3 @@ arguments:
throwError('Invalid mode name.');
}
}
-
diff --git a/support/arara/scripts/rules/arara-rule-ltx2any.yaml b/support/arara/scripts/rules/arara-rule-ltx2any.yaml
index 9a5bd974f0..4b07d08080 100644
--- a/support/arara/scripts/rules/arara-rule-ltx2any.yaml
+++ b/support/arara/scripts/rules/arara-rule-ltx2any.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-luahbtex.yaml b/support/arara/scripts/rules/arara-rule-luahbtex.yaml
index 4e51bef96d..6bed4227b8 100644
--- a/support/arara/scripts/rules/arara-rule-luahbtex.yaml
+++ b/support/arara/scripts/rules/arara-rule-luahbtex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-lualatex.yaml b/support/arara/scripts/rules/arara-rule-lualatex.yaml
index 2979425f6c..a0601bc969 100644
--- a/support/arara/scripts/rules/arara-rule-lualatex.yaml
+++ b/support/arara/scripts/rules/arara-rule-lualatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-luatex.yaml b/support/arara/scripts/rules/arara-rule-luatex.yaml
index 7708763fc3..4ab4883c7d 100644
--- a/support/arara/scripts/rules/arara-rule-luatex.yaml
+++ b/support/arara/scripts/rules/arara-rule-luatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-make.yaml b/support/arara/scripts/rules/arara-rule-make.yaml
index 8695075e69..9158b188fd 100644
--- a/support/arara/scripts/rules/arara-rule-make.yaml
+++ b/support/arara/scripts/rules/arara-rule-make.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-makeglossaries.yaml b/support/arara/scripts/rules/arara-rule-makeglossaries.yaml
index 16c4c364b6..8d775bd1fb 100644
--- a/support/arara/scripts/rules/arara-rule-makeglossaries.yaml
+++ b/support/arara/scripts/rules/arara-rule-makeglossaries.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml b/support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml
index f2323d4cf1..66a1781e3b 100644
--- a/support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml
+++ b/support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-makeindex.yaml b/support/arara/scripts/rules/arara-rule-makeindex.yaml
index eda1e9c981..a4df50d396 100644
--- a/support/arara/scripts/rules/arara-rule-makeindex.yaml
+++ b/support/arara/scripts/rules/arara-rule-makeindex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-metapost.yaml b/support/arara/scripts/rules/arara-rule-metapost.yaml
index 26f61fd21f..993bea48c5 100644
--- a/support/arara/scripts/rules/arara-rule-metapost.yaml
+++ b/support/arara/scripts/rules/arara-rule-metapost.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-move.yaml b/support/arara/scripts/rules/arara-rule-move.yaml
index cd480e829d..8262051884 100644
--- a/support/arara/scripts/rules/arara-rule-move.yaml
+++ b/support/arara/scripts/rules/arara-rule-move.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
@@ -36,4 +36,3 @@ arguments:
return parameters.target;
}
required: true
-
diff --git a/support/arara/scripts/rules/arara-rule-nomencl.yaml b/support/arara/scripts/rules/arara-rule-nomencl.yaml
index 161d216119..dea6f465a3 100644
--- a/support/arara/scripts/rules/arara-rule-nomencl.yaml
+++ b/support/arara/scripts/rules/arara-rule-nomencl.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-pbibtex.yaml b/support/arara/scripts/rules/arara-rule-pbibtex.yaml
index 3e2485a4f0..7c32708d3d 100644
--- a/support/arara/scripts/rules/arara-rule-pbibtex.yaml
+++ b/support/arara/scripts/rules/arara-rule-pbibtex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-pdfcrop.yaml b/support/arara/scripts/rules/arara-rule-pdfcrop.yaml
index 3c4b3e00fe..b8b0950196 100644
--- a/support/arara/scripts/rules/arara-rule-pdfcrop.yaml
+++ b/support/arara/scripts/rules/arara-rule-pdfcrop.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-pdfcsplain.yaml b/support/arara/scripts/rules/arara-rule-pdfcsplain.yaml
index 58bf4bf9c4..43fd939fac 100644
--- a/support/arara/scripts/rules/arara-rule-pdfcsplain.yaml
+++ b/support/arara/scripts/rules/arara-rule-pdfcsplain.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-pdflatex.yaml b/support/arara/scripts/rules/arara-rule-pdflatex.yaml
index ed8a686164..663fd85ec4 100644
--- a/support/arara/scripts/rules/arara-rule-pdflatex.yaml
+++ b/support/arara/scripts/rules/arara-rule-pdflatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-pdftex.yaml b/support/arara/scripts/rules/arara-rule-pdftex.yaml
index 19fe06d42d..a17049c51e 100644
--- a/support/arara/scripts/rules/arara-rule-pdftex.yaml
+++ b/support/arara/scripts/rules/arara-rule-pdftex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-pdftk.yaml b/support/arara/scripts/rules/arara-rule-pdftk.yaml
index 372eac4b42..dc6c72338a 100644
--- a/support/arara/scripts/rules/arara-rule-pdftk.yaml
+++ b/support/arara/scripts/rules/arara-rule-pdftk.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-perltex.yaml b/support/arara/scripts/rules/arara-rule-perltex.yaml
index 19e9f1ff1e..2642ea4d96 100644
--- a/support/arara/scripts/rules/arara-rule-perltex.yaml
+++ b/support/arara/scripts/rules/arara-rule-perltex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-platex.yaml b/support/arara/scripts/rules/arara-rule-platex.yaml
index cb3326d28e..e98e509efc 100644
--- a/support/arara/scripts/rules/arara-rule-platex.yaml
+++ b/support/arara/scripts/rules/arara-rule-platex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-ps2pdf.yaml b/support/arara/scripts/rules/arara-rule-ps2pdf.yaml
index 2c456233a2..e084450d76 100644
--- a/support/arara/scripts/rules/arara-rule-ps2pdf.yaml
+++ b/support/arara/scripts/rules/arara-rule-ps2pdf.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-ptex.yaml b/support/arara/scripts/rules/arara-rule-ptex.yaml
index c81a63a160..e54d83ee92 100644
--- a/support/arara/scripts/rules/arara-rule-ptex.yaml
+++ b/support/arara/scripts/rules/arara-rule-ptex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-pythontex.yaml b/support/arara/scripts/rules/arara-rule-pythontex.yaml
index 039cc23278..19de0e52f3 100644
--- a/support/arara/scripts/rules/arara-rule-pythontex.yaml
+++ b/support/arara/scripts/rules/arara-rule-pythontex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-qpdf.yaml b/support/arara/scripts/rules/arara-rule-qpdf.yaml
index 2019ba69a6..f510228b4f 100644
--- a/support/arara/scripts/rules/arara-rule-qpdf.yaml
+++ b/support/arara/scripts/rules/arara-rule-qpdf.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-sage.yaml b/support/arara/scripts/rules/arara-rule-sage.yaml
index 3d1d4d97e9..a150f8b0ef 100644
--- a/support/arara/scripts/rules/arara-rule-sage.yaml
+++ b/support/arara/scripts/rules/arara-rule-sage.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-sketch.yaml b/support/arara/scripts/rules/arara-rule-sketch.yaml
index 37d5f79a01..98397d3379 100644
--- a/support/arara/scripts/rules/arara-rule-sketch.yaml
+++ b/support/arara/scripts/rules/arara-rule-sketch.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-songidx.yaml b/support/arara/scripts/rules/arara-rule-songidx.yaml
index 12c53c4ee0..e606337ed5 100644
--- a/support/arara/scripts/rules/arara-rule-songidx.yaml
+++ b/support/arara/scripts/rules/arara-rule-songidx.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-spix.yaml b/support/arara/scripts/rules/arara-rule-spix.yaml
index 392a8473cd..cc5106d52a 100644
--- a/support/arara/scripts/rules/arara-rule-spix.yaml
+++ b/support/arara/scripts/rules/arara-rule-spix.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-tex.yaml b/support/arara/scripts/rules/arara-rule-tex.yaml
index cbe37e0795..e67f5117c2 100644
--- a/support/arara/scripts/rules/arara-rule-tex.yaml
+++ b/support/arara/scripts/rules/arara-rule-tex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-texcount.yaml b/support/arara/scripts/rules/arara-rule-texcount.yaml
index d79147ced0..d459de1673 100644
--- a/support/arara/scripts/rules/arara-rule-texcount.yaml
+++ b/support/arara/scripts/rules/arara-rule-texcount.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-texindy.yaml b/support/arara/scripts/rules/arara-rule-texindy.yaml
index 7ffbb99b90..73d2299bf7 100644
--- a/support/arara/scripts/rules/arara-rule-texindy.yaml
+++ b/support/arara/scripts/rules/arara-rule-texindy.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-tikzmake.yaml b/support/arara/scripts/rules/arara-rule-tikzmake.yaml
index 7481fd22a3..7a693f2fa3 100644
--- a/support/arara/scripts/rules/arara-rule-tikzmake.yaml
+++ b/support/arara/scripts/rules/arara-rule-tikzmake.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-upbibtex.yaml b/support/arara/scripts/rules/arara-rule-upbibtex.yaml
index 93012268ae..52d66d4825 100644
--- a/support/arara/scripts/rules/arara-rule-upbibtex.yaml
+++ b/support/arara/scripts/rules/arara-rule-upbibtex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-uplatex.yaml b/support/arara/scripts/rules/arara-rule-uplatex.yaml
index 31d11d0c0b..037d41660f 100644
--- a/support/arara/scripts/rules/arara-rule-uplatex.yaml
+++ b/support/arara/scripts/rules/arara-rule-uplatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-uptex.yaml b/support/arara/scripts/rules/arara-rule-uptex.yaml
index 8f62b09a9e..7fdb6425d3 100644
--- a/support/arara/scripts/rules/arara-rule-uptex.yaml
+++ b/support/arara/scripts/rules/arara-rule-uptex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml b/support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml
index 8ed8153879..c80f5d8d97 100644
--- a/support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml
+++ b/support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-xelatex.yaml b/support/arara/scripts/rules/arara-rule-xelatex.yaml
index 12d1864602..95292cc2c2 100644
--- a/support/arara/scripts/rules/arara-rule-xelatex.yaml
+++ b/support/arara/scripts/rules/arara-rule-xelatex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-xetex.yaml b/support/arara/scripts/rules/arara-rule-xetex.yaml
index e3956f48e3..f3547d556c 100644
--- a/support/arara/scripts/rules/arara-rule-xetex.yaml
+++ b/support/arara/scripts/rules/arara-rule-xetex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-xindex.yaml b/support/arara/scripts/rules/arara-rule-xindex.yaml
index 297237a748..4f8cf96f80 100644
--- a/support/arara/scripts/rules/arara-rule-xindex.yaml
+++ b/support/arara/scripts/rules/arara-rule-xindex.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/arara/scripts/rules/arara-rule-xindy.yaml b/support/arara/scripts/rules/arara-rule-xindy.yaml
index ea907f2dc4..3eb75ac2f8 100644
--- a/support/arara/scripts/rules/arara-rule-xindy.yaml
+++ b/support/arara/scripts/rules/arara-rule-xindy.yaml
@@ -1,6 +1,6 @@
!config
# Arara, the cool TeX automation tool
-# Copyright (c) 2021, Island of TeX
+# Copyright (c) 2022, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
diff --git a/support/lacheck/ChangeLog b/support/lacheck/ChangeLog
index 69dd178c95..d54c274f37 100644
--- a/support/lacheck/ChangeLog
+++ b/support/lacheck/ChangeLog
@@ -1,9 +1,14 @@
2022-05-01 Karl Berry <karl@freefriends.org>
+ * lacheck.l (newcommand): we don't need to explicitly match
+ [N] and [dflt]; instead, just match anything up to the {
+ (as was already done).
+
* configure.ac (lacheck_version): 1.30.
* lacheck.l (newcommand): start group counting.
try to handle *-form, [N] arg count, [dflt] opt arg default.
(<<EOF>>): check for unmatched definitions.
+ * test-def.tex: some more tests of this.
Original report from Michael Clark,
https://tug.org/pipermail/tex-live/2022-April/048096.html
diff --git a/support/lacheck/lacheck.c b/support/lacheck/lacheck.c
index f84af2c1ec..f1edc10a9b 100644
--- a/support/lacheck/lacheck.c
+++ b/support/lacheck/lacheck.c
@@ -384,7 +384,7 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_acclist[356] =
+static yyconst flex_int16_t yy_acclist[355] =
{ 0,
90, 88, 89, 88, 89, 4, 89, 88, 89, 44,
88, 89, 82, 88, 89, 88, 89, 88, 89, 88,
@@ -424,10 +424,10 @@ static yyconst flex_int16_t yy_acclist[356] =
3, 65, 76, 3, 70, 66, 66, 66, 3, 66,
47, 47, 78, 87, 78, 87, 66, 73, 3, 66,
29, 66, 66, 3, 46, 46, 78, 3, 20, 20,
- 78, 21, 51, 29, 33
+ 78, 21, 51, 33
} ;
-static yyconst flex_int16_t yy_accept[984] =
+static yyconst flex_int16_t yy_accept[973] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -530,13 +530,12 @@ static yyconst flex_int16_t yy_accept[984] =
337, 337, 337, 337, 337, 337, 338, 338, 338, 339,
340, 340, 340, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 342,
- 342, 342, 342, 342, 342, 342, 343, 343, 343, 343,
- 343, 344, 345, 345, 345, 345, 345, 345, 345, 346,
- 348, 348, 348, 348, 348, 348, 348, 348, 348, 349,
- 349, 349, 349, 350, 352, 352, 352, 353, 353, 353,
- 353, 354, 354, 354, 354, 355, 355, 355, 355, 355,
- 355, 356, 356
+ 341, 341, 341, 341, 341, 341, 341, 342, 342, 342,
+ 342, 342, 342, 342, 343, 343, 343, 343, 343, 344,
+ 345, 345, 345, 345, 345, 345, 345, 346, 348, 348,
+ 348, 348, 348, 348, 348, 348, 349, 349, 349, 349,
+ 350, 352, 352, 353, 353, 354, 354, 354, 354, 354,
+ 355, 355
} ;
static yyconst YY_CHAR yy_ec[256] =
@@ -581,251 +580,249 @@ static yyconst YY_CHAR yy_meta[57] =
16, 17, 18, 19, 20, 21
} ;
-static yyconst flex_uint16_t yy_base[1080] =
+static yyconst flex_uint16_t yy_base[1067] =
{ 0,
0, 56, 110, 111, 112, 113, 115, 117, 118, 119,
- 4417, 4395, 120, 121, 122, 123, 124, 126, 134, 136,
- 150, 159, 212, 0, 268, 0, 4399, 155, 323, 179,
+ 5193, 5192, 120, 121, 122, 123, 124, 126, 134, 136,
+ 150, 159, 212, 0, 268, 0, 5216, 155, 323, 179,
179, 180, 171, 378, 181, 361, 410, 373, 187, 184,
- 462, 405, 465, 478, 515, 360, 0, 5382, 4353, 0,
- 4345, 5382, 5382, 5382, 167, 0, 4342, 4324, 5382, 5382,
- 4321, 5382, 5382, 4303, 5382, 5382, 4322, 470, 5382, 5382,
- 5382, 5382, 4285, 5382, 4306, 475, 5382, 5382, 315, 570,
+ 462, 405, 465, 478, 515, 360, 0, 5219, 5190, 0,
+ 5189, 5219, 5219, 5219, 167, 0, 5188, 5187, 5219, 5219,
+ 5186, 5219, 5219, 5185, 5219, 5219, 5206, 470, 5219, 5219,
+ 5219, 5219, 5183, 5219, 5204, 475, 5219, 5219, 315, 570,
624, 388, 472, 397, 322, 569, 675, 714, 758, 507,
324, 585, 463, 583, 589, 593, 809, 373, 860, 385,
618, 612, 660, 667, 657, 0, 914, 688, 701, 940,
- 968, 4292, 5382, 704, 719, 5382, 571, 5382, 4303, 5382,
- 712, 1012, 784, 745, 779, 4289, 817, 5382, 596, 5382,
- 5382, 5382, 5382, 5382, 4242, 4221, 5382, 814, 5382, 462,
+ 968, 5190, 5219, 704, 719, 5219, 571, 5219, 5202, 5219,
+ 712, 1012, 784, 745, 779, 5188, 817, 5219, 596, 5219,
+ 5219, 5219, 5219, 5219, 5181, 5180, 5219, 814, 5219, 462,
474, 853, 545, 860, 384, 467, 109, 491, 369, 645,
- 711, 558, 614, 570, 134, 697, 5382, 5382, 801, 891,
- 4214, 4209, 987, 865, 901, 1018, 4199, 412, 1035, 759,
- 1043, 792, 1067, 838, 0, 0, 0, 0, 5382, 4174,
- 0, 0, 4179, 4178, 4175, 4174, 5382, 0, 4198, 619,
- 766, 727, 1114, 731, 685, 5382, 4172, 391, 4158, 4175,
-
- 4160, 462, 4169, 823, 787, 1115, 837, 5382, 597, 4158,
- 895, 1059, 1130, 1010, 4166, 4158, 4151, 4164, 4153, 4154,
- 4154, 4126, 0, 1139, 4092, 4080, 1169, 1150, 1196, 1209,
- 1249, 4066, 4065, 4037, 128, 693, 934, 1304, 4034, 1230,
+ 711, 558, 614, 570, 134, 697, 5219, 5219, 801, 891,
+ 5193, 5192, 987, 865, 901, 1018, 5178, 412, 1035, 759,
+ 1043, 792, 1067, 838, 0, 0, 0, 0, 5219, 5140,
+ 0, 0, 5139, 5136, 5118, 5115, 5219, 0, 5088, 619,
+ 766, 727, 1114, 731, 685, 5219, 5057, 391, 4988, 4977,
+
+ 4960, 462, 4939, 823, 787, 1115, 837, 5219, 597, 4908,
+ 895, 1059, 1130, 1010, 4896, 4871, 4799, 4807, 4740, 4713,
+ 4711, 4673, 0, 1139, 4681, 4674, 1169, 1150, 1196, 1209,
+ 1249, 4640, 4612, 4572, 128, 693, 934, 1304, 4549, 1230,
1311, 1189, 1314, 536, 170, 468, 509, 382, 434, 627,
- 565, 841, 0, 1143, 1335, 5382, 1326, 1241, 4045, 5382,
- 990, 1003, 4053, 4049, 4048, 729, 743, 855, 877, 651,
+ 565, 841, 0, 1143, 1335, 5219, 1326, 1241, 4512, 5219,
+ 990, 1003, 4518, 4487, 4466, 729, 743, 855, 877, 651,
774, 813, 788, 884, 1372, 785, 1128, 900, 313, 1104,
1428, 780, 1037, 925, 864, 1138, 1484, 178, 931, 1033,
1105, 1185, 981, 803, 977, 976, 1051, 1014, 1162, 891,
- 1062, 1233, 600, 1248, 0, 0, 1050, 0, 4052, 1539,
- 1564, 1335, 5382, 1549, 1580, 1589, 1595, 1598, 1622, 4051,
- 4035, 4020, 4019, 4018, 4017, 4057, 4031, 1101, 1308, 1621,
- 1555, 1605, 3991, 3990, 0, 0, 4004, 3987, 4002, 3984,
- 1677, 3983, 0, 3982, 1310, 0, 4011, 1684, 1691, 1350,
- 1697, 3993, 1271, 1542, 3992, 3978, 4018, 0, 5382, 1721,
- 1731, 0, 1741, 1748, 1775, 1698, 1755, 3978, 3982, 3986,
- 1761, 1800, 3981, 1703, 1745, 4005, 1162, 1807, 1810, 1791,
- 1803, 1834, 1216, 1559, 1837, 1542, 1142, 0, 3963, 3998,
- 1695, 0, 1840, 3948, 87, 3938, 3931, 1843, 1681, 3950,
-
- 3945, 1103, 1173, 1013, 1188, 576, 1194, 1288, 1099, 1205,
- 1220, 5382, 3939, 1591, 1294, 1854, 1331, 930, 1335, 1325,
- 1279, 5382, 3938, 1859, 1526, 1582, 1219, 1052, 1528, 5382,
- 3932, 1563, 1593, 1838, 1319, 1607, 1599, 1732, 1719, 1699,
- 1705, 1652, 1716, 689, 1653, 1869, 1880, 5382, 1883, 1874,
- 3950, 3949, 3919, 3943, 1897, 0, 1900, 1913, 1938, 1914,
- 1963, 1970, 1973, 1981, 1997, 3929, 1905, 3900, 3899, 3898,
- 3894, 2024, 1933, 2005, 2012, 3893, 3892, 5382, 3900, 3889,
- 3898, 3898, 3882, 3883, 0, 3888, 3914, 5382, 1760, 3902,
- 3897, 1945, 3867, 1917, 5382, 3869, 3864, 2048, 3897, 2055,
-
- 1847, 0, 1754, 3896, 2040, 3884, 2064, 2070, 3847, 0,
- 3861, 2078, 2088, 5382, 2096, 3854, 3878, 1845, 3877, 3875,
- 2009, 1898, 1546, 1817, 2103, 1827, 2106, 3872, 1874, 1793,
- 3868, 2114, 0, 1989, 3865, 3819, 3807, 3804, 3785, 3773,
- 2121, 2110, 5382, 2125, 1832, 1902, 1939, 1804, 1852, 2134,
+ 1062, 1233, 600, 1248, 0, 0, 1050, 0, 4450, 1539,
+ 1564, 1335, 5219, 1549, 1580, 1589, 1595, 1598, 1622, 4430,
+ 4394, 4360, 4339, 4293, 4292, 4332, 4325, 1101, 1308, 1621,
+ 1555, 1605, 4288, 4286, 0, 0, 4300, 4284, 4299, 4282,
+ 1677, 4281, 0, 4280, 1310, 0, 4308, 1684, 1691, 1350,
+ 1697, 4290, 1271, 1542, 4285, 4271, 4311, 0, 5219, 1721,
+ 1731, 0, 1741, 1748, 1775, 1698, 1755, 4267, 4270, 4274,
+ 1761, 1800, 4248, 1703, 1745, 4256, 1162, 1807, 1810, 1791,
+ 1803, 1834, 1216, 1559, 1837, 1542, 1142, 0, 4199, 4227,
+ 1695, 0, 1840, 4196, 87, 4173, 4164, 1843, 1681, 4166,
+
+ 4163, 1103, 1173, 1013, 1188, 576, 1194, 1288, 1099, 1205,
+ 1220, 5219, 4148, 1591, 1294, 1854, 1331, 930, 1335, 1325,
+ 1279, 5219, 4147, 1859, 1526, 1582, 1219, 1052, 1528, 5219,
+ 4146, 1563, 1593, 1838, 1319, 1607, 1599, 1732, 1719, 1699,
+ 1705, 1652, 1716, 689, 1653, 1869, 1880, 5219, 1883, 1874,
+ 4163, 4162, 4096, 4100, 1897, 0, 1900, 1913, 1938, 1914,
+ 1963, 1970, 1973, 1981, 1997, 4066, 1905, 4035, 4034, 4033,
+ 4031, 2024, 1933, 2005, 2012, 4030, 4027, 5219, 4036, 4027,
+ 4036, 4035, 4021, 4022, 0, 4031, 4057, 5219, 1760, 4045,
+ 4044, 1945, 4015, 1917, 5219, 4020, 4015, 2048, 4051, 2055,
+
+ 1847, 0, 1754, 4050, 2040, 4018, 2064, 2070, 3923, 0,
+ 3913, 2078, 2088, 5219, 2096, 3909, 3938, 1845, 3936, 3935,
+ 2009, 1898, 1546, 1817, 2103, 1827, 2106, 3933, 1874, 1793,
+ 3932, 2114, 0, 1989, 3928, 3888, 3890, 3891, 3886, 3878,
+ 2121, 2110, 5219, 2125, 1832, 1902, 1939, 1804, 1852, 2134,
980, 1856, 2180, 1910, 1812, 2138, 0, 1937, 1946, 1280,
- 1974, 2235, 5382, 3801, 1874, 2014, 5382, 2053, 2040, 1936,
+ 1974, 2235, 5219, 3920, 1874, 2014, 5219, 2053, 2040, 1936,
1972, 2287, 1982, 2061, 1668, 2019, 2048, 2079, 2098, 2066,
- 2097, 2113, 2104, 2343, 2109, 2151, 3791, 3790, 3767, 2238,
- 0, 1980, 3789, 2245, 3772, 2248, 2254, 2398, 2401, 2408,
-
- 2411, 2416, 3731, 3731, 3730, 3725, 3724, 2426, 2435, 2442,
- 3723, 3489, 3496, 3505, 3500, 2447, 3483, 3501, 3524, 2497,
- 3512, 3522, 3521, 3477, 3475, 3493, 2500, 3488, 3476, 3515,
- 2507, 2516, 3503, 3513, 3512, 3473, 5382, 3481, 2525, 0,
- 3509, 2532, 3497, 2143, 3507, 3506, 2000, 2405, 2144, 2152,
- 3505, 2541, 3461, 3459, 3465, 3472, 3458, 2535, 2055, 2557,
- 2222, 2139, 2142, 2238, 3471, 2147, 3449, 2140, 3468, 2232,
- 2223, 3495, 2240, 2405, 2144, 2245, 2549, 2395, 5382, 2602,
- 0, 3475, 3474, 2560, 2385, 2410, 2247, 2418, 2419, 2250,
- 2253, 2653, 2572, 5382, 3483, 3472, 3471, 3460, 3488, 2579,
-
- 2603, 3476, 3417, 3416, 2708, 3386, 3374, 3372, 3371, 3370,
- 2711, 3369, 3368, 3358, 3370, 2718, 3365, 3368, 2441, 3403,
- 3402, 2721, 3359, 3363, 3363, 2724, 3398, 3397, 2748, 3357,
- 5382, 2446, 3395, 3394, 2751, 470, 1999, 2503, 2722, 3351,
- 3363, 3349, 2762, 2485, 2766, 5382, 3389, 2129, 5382, 3369,
- 2494, 2145, 2420, 2499, 2545, 5382, 2548, 2556, 3368, 2525,
- 2551, 2249, 2564, 5382, 2817, 0, 2433, 2516, 2547, 2413,
- 2567, 5382, 2864, 0, 3367, 3366, 2776, 3342, 2786, 3383,
- 3382, 2789, 3340, 5382, 5382, 5382, 5382, 5382, 5382, 3338,
- 5382, 3337, 2506, 2758, 3336, 3335, 2801, 3333, 2594, 2813,
-
- 2736, 2741, 3333, 2829, 5382, 2820, 3374, 2571, 2562, 2581,
- 2590, 2578, 2695, 2594, 2914, 3323, 3372, 2256, 2723, 2736,
- 2921, 0, 3214, 2843, 3227, 3218, 3217, 3234, 2853, 2844,
- 3214, 3210, 3211, 2615, 2926, 2933, 2936, 2795, 2793, 2866,
- 0, 2957, 3210, 2739, 3204, 2788, 2982, 3038, 2696, 3183,
- 5382, 0, 2716, 2831, 2778, 3093, 3096, 3148, 3208, 3224,
- 3195, 3123, 3119, 5382, 2851, 3128, 3127, 3099, 3096, 3102,
- 0, 3125, 3101, 2924, 2838, 2874, 3104, 2804, 2916, 0,
- 2923, 3120, 2938, 2936, 2938, 2850, 2800, 5382, 2867, 5382,
- 2862, 2848, 2777, 2923, 2920, 3203, 3206, 3258, 0, 0,
-
- 2837, 2769, 2705, 2720, 2619, 2617, 2579, 2512, 5382, 2460,
- 2964, 2419, 2343, 2846, 2469, 2282, 3209, 2086, 2050, 1998,
- 1894, 3314, 2932, 2773, 2853, 1797, 3369, 3092, 5382, 0,
- 1745, 1724, 1700, 1665, 1631, 1619, 3109, 1537, 1335, 1359,
- 1228, 3212, 2945, 3111, 3112, 1170, 1145, 912, 5382, 933,
- 2949, 3421, 2905, 757, 0, 0, 2954, 721, 3108, 3371,
- 609, 3097, 5382, 508, 3476, 340, 5382, 3100, 3479, 3192,
- 5382, 3197, 3195, 3482, 304, 0, 182, 3485, 75, 0,
- 0, 5382, 3537, 3558, 3579, 3600, 3621, 3642, 3663, 3684,
- 3705, 3726, 3747, 3760, 3780, 3801, 3822, 3843, 3863, 3881,
-
- 3899, 3917, 3935, 3955, 3976, 3996, 3119, 3213, 4016, 4037,
- 4052, 4064, 4085, 4106, 4127, 4148, 4169, 3219, 4189, 4198,
- 4219, 4240, 4261, 4282, 4291, 4312, 4333, 4354, 4375, 4396,
- 4417, 4437, 4457, 4478, 4499, 4520, 4541, 3226, 4562, 4583,
- 4604, 4625, 4646, 4667, 4688, 4709, 4730, 4751, 4772, 4793,
- 4814, 4835, 4856, 4877, 4898, 3238, 4919, 4940, 4961, 4982,
- 5003, 5024, 5045, 5066, 5087, 5108, 5129, 5150, 5171, 5192,
- 5213, 5234, 5255, 5276, 5297, 5318, 5339, 3123, 5360
+ 2097, 2113, 2104, 2343, 2109, 2151, 3914, 3913, 3890, 2238,
+ 0, 1980, 3897, 2245, 3881, 2248, 2254, 2398, 2401, 2408,
+
+ 2411, 2416, 3846, 3846, 3844, 3843, 3841, 2426, 2435, 2442,
+ 3840, 3839, 3846, 3856, 3851, 2447, 3835, 3853, 3877, 2497,
+ 3861, 3871, 3870, 3822, 3815, 3833, 2500, 3807, 3791, 3830,
+ 2507, 2516, 3818, 3824, 3818, 3779, 5219, 3782, 2525, 0,
+ 3810, 2532, 3798, 2143, 3804, 3803, 2000, 2405, 2144, 2152,
+ 3802, 2541, 3756, 3754, 3760, 3764, 3750, 2535, 2055, 2557,
+ 2222, 2139, 2142, 2238, 3763, 2147, 3740, 2140, 3758, 2232,
+ 2223, 3785, 2240, 2405, 2144, 2245, 2549, 2395, 5219, 2602,
+ 0, 3765, 3762, 2560, 2385, 2410, 2247, 2418, 2419, 2250,
+ 2253, 2653, 2572, 5219, 3771, 3756, 3755, 3744, 3768, 2579,
+
+ 2603, 3755, 3762, 3761, 2708, 3728, 3716, 3715, 3710, 3708,
+ 2711, 3704, 3698, 3688, 3699, 2718, 3692, 3692, 2441, 3725,
+ 3718, 2721, 3661, 3660, 3646, 2724, 3676, 3661, 2748, 3617,
+ 5219, 2446, 3655, 3654, 2751, 470, 1999, 2503, 2722, 3607,
+ 3614, 3594, 2762, 2485, 2766, 5219, 3635, 2129, 5219, 3615,
+ 2494, 2145, 2420, 2499, 2545, 5219, 2548, 2556, 3610, 2525,
+ 2551, 2249, 2564, 5219, 2817, 0, 2433, 2516, 2547, 2413,
+ 2567, 5219, 2864, 0, 3609, 3608, 2776, 3215, 2786, 3256,
+ 3255, 2789, 3213, 5219, 5219, 5219, 5219, 5219, 5219, 3209,
+ 5219, 3208, 2506, 2758, 3207, 3206, 2801, 3204, 2594, 2813,
+
+ 2736, 2741, 3204, 2829, 5219, 2820, 3245, 2571, 2562, 2581,
+ 2590, 2578, 2695, 2594, 2914, 3194, 3243, 2256, 2723, 2736,
+ 2921, 0, 3201, 2843, 3214, 3207, 3206, 3226, 2853, 2844,
+ 3206, 3202, 3200, 2615, 2926, 2933, 2936, 2795, 2793, 2866,
+ 0, 2957, 3196, 2739, 3189, 2788, 2982, 3038, 2696, 3171,
+ 5219, 0, 2716, 2831, 2778, 3093, 3096, 3148, 3195, 3215,
+ 3188, 3123, 3119, 5219, 2851, 3132, 3130, 3099, 3097, 3107,
+ 0, 3129, 3101, 2924, 2838, 2874, 3104, 2804, 2916, 0,
+ 2923, 3125, 3081, 2941, 2939, 2850, 2800, 5219, 2862, 5219,
+ 2861, 2848, 2777, 2923, 2920, 3203, 2760, 3233, 0, 0,
+
+ 2702, 2691, 2579, 2606, 2612, 2552, 2438, 2379, 5219, 2332,
+ 2964, 2282, 2129, 2846, 2469, 2094, 3206, 1992, 1879, 1809,
+ 1766, 3285, 2932, 2773, 2853, 1708, 5219, 0, 1679, 1661,
+ 1602, 1590, 1566, 1364, 3108, 1330, 1199, 1212, 1174, 3209,
+ 2945, 3110, 3112, 912, 923, 752, 5219, 744, 2949, 3341,
+ 614, 0, 0, 2949, 485, 2954, 2886, 348, 3095, 5219,
+ 308, 155, 5219, 3092, 5219, 3193, 0, 75, 0, 0,
+ 5219, 3397, 3418, 3439, 3460, 3481, 3502, 3523, 3544, 3565,
+ 3586, 3607, 3620, 3640, 3661, 3682, 3703, 3723, 3741, 3759,
+ 3777, 3795, 3815, 3836, 3856, 3118, 3127, 3876, 3897, 3912,
+
+ 3924, 3945, 3966, 3987, 4008, 4029, 3210, 4049, 4058, 4079,
+ 4100, 4121, 4142, 4151, 4172, 4193, 4214, 4235, 4256, 4277,
+ 4297, 4317, 4338, 4359, 4380, 4401, 3217, 4422, 4443, 4464,
+ 4485, 4506, 4527, 4548, 4569, 4590, 4611, 4632, 4653, 4674,
+ 4695, 4716, 4737, 4758, 3223, 4779, 4800, 4821, 4842, 4863,
+ 4884, 4905, 4926, 4947, 4968, 4989, 5010, 5031, 5052, 5073,
+ 5094, 5115, 5136, 5157, 3106, 5178
} ;
-static yyconst flex_int16_t yy_def[1080] =
+static yyconst flex_int16_t yy_def[1067] =
{ 0,
- 982, 982, 983, 983, 984, 984, 985, 985, 986, 986,
- 987, 987, 988, 988, 989, 989, 990, 990, 991, 991,
- 992, 992, 982, 23, 982, 25, 982, 982, 982, 29,
- 982, 982, 993, 982, 982, 994, 982, 994, 982, 982,
- 982, 995, 995, 995, 982, 45, 996, 982, 996, 997,
- 997, 982, 982, 982, 982, 998, 998, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 993, 982, 982, 982,
- 982, 982, 982, 982, 993, 982, 982, 982, 982, 999,
- 999, 1000, 993, 1000, 982, 982, 1001, 982, 1001, 982,
- 982, 982, 1002, 1002, 982, 982, 1003, 88, 1003, 982,
-
- 982, 982, 982, 982, 1004, 1005, 1006, 1004, 1004, 982,
- 982, 110, 982, 982, 982, 982, 111, 982, 993, 982,
- 993, 993, 982, 982, 117, 982, 994, 982, 127, 982,
- 982, 982, 982, 982, 1007, 1008, 982, 982, 982, 1008,
- 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
- 1008, 1008, 1008, 1008, 1008, 1008, 982, 982, 1009, 127,
- 982, 982, 982, 982, 995, 995, 117, 117, 995, 45,
- 995, 45, 982, 45, 996, 996, 997, 997, 982, 982,
- 998, 998, 982, 982, 982, 982, 982, 1010, 1011, 1012,
- 1012, 1000, 89, 1000, 89, 982, 982, 982, 982, 982,
-
- 982, 982, 982, 89, 1002, 99, 99, 982, 982, 982,
- 99, 982, 1013, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 1014, 982, 982, 982, 1006, 982, 1015, 982,
- 982, 110, 110, 982, 982, 982, 231, 982, 982, 993,
- 982, 1016, 993, 993, 993, 993, 993, 993, 993, 993,
- 993, 982, 1017, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 1018, 1007, 1018, 1008, 1008, 1008, 1008, 1008,
- 1008, 1008, 1008, 1008, 982, 1008, 1008, 1008, 1008, 1008,
- 982, 1008, 1008, 1008, 1008, 1008, 982, 1008, 1008, 1008,
- 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
-
- 1019, 1019, 1020, 1020, 1021, 1022, 982, 1023, 982, 982,
- 1024, 982, 982, 995, 995, 995, 1019, 1019, 982, 319,
- 982, 982, 982, 982, 982, 982, 1011, 1025, 1012, 1012,
- 1025, 1000, 982, 982, 1026, 1027, 982, 982, 982, 982,
- 1002, 982, 1028, 982, 982, 1029, 982, 1013, 1013, 982,
- 982, 982, 982, 982, 982, 982, 982, 1030, 982, 231,
- 982, 1031, 1013, 1032, 1015, 982, 1032, 982, 982, 982,
- 1033, 1033, 982, 993, 982, 1034, 993, 1035, 1013, 1035,
- 993, 993, 993, 993, 993, 993, 993, 1036, 982, 982,
- 982, 1037, 982, 982, 982, 982, 982, 982, 982, 1038,
-
- 1038, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
- 1008, 982, 1038, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
- 1008, 982, 1038, 1008, 1008, 1008, 1008, 1008, 1008, 982,
- 1038, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
- 1008, 1008, 1008, 1008, 1008, 1019, 1019, 982, 1019, 1020,
- 982, 982, 982, 982, 982, 1039, 1013, 995, 1024, 982,
- 982, 982, 1019, 1019, 1019, 319, 982, 982, 982, 982,
- 982, 1025, 982, 1033, 1033, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 1040, 982, 982, 982, 1013, 1041,
- 982, 1013, 982, 982, 982, 982, 982, 982, 982, 982,
-
- 982, 1042, 982, 982, 1013, 1043, 1032, 1032, 982, 1044,
- 982, 1033, 1033, 982, 1033, 982, 1045, 993, 993, 993,
- 1035, 1013, 1046, 993, 1035, 993, 993, 993, 993, 993,
- 982, 982, 1047, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 1008, 1008, 1008, 1008, 1008, 1008,
- 1008, 1008, 982, 1008, 1008, 982, 1048, 1008, 1008, 1008,
- 1008, 982, 982, 1049, 1008, 1008, 982, 1008, 1008, 1008,
- 1008, 982, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008,
- 1008, 1008, 1008, 982, 1008, 1019, 982, 982, 982, 982,
- 1050, 982, 982, 1013, 1051, 995, 995, 982, 982, 982,
-
- 1019, 982, 982, 982, 982, 982, 982, 1033, 1033, 1033,
- 982, 982, 982, 982, 982, 584, 982, 982, 982, 982,
- 1052, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 1053, 982, 982, 982, 982, 982, 1033, 1054,
- 993, 982, 982, 1055, 993, 993, 993, 993, 993, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 1008, 1008,
- 1008, 1008, 1008, 1008, 553, 1008, 1048, 1008, 553, 1008,
- 1008, 1049, 1008, 1008, 1008, 1008, 1008, 1008, 982, 572,
- 680, 1056, 1008, 680, 1008, 1008, 1008, 1008, 1008, 1008,
- 1008, 982, 1008, 982, 616, 1056, 1008, 982, 982, 982,
-
- 982, 1057, 982, 982, 982, 982, 982, 982, 982, 982,
- 1033, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 1013, 982, 982, 982, 982, 982, 982, 1013, 982,
- 982, 982, 993, 993, 1013, 993, 993, 993, 982, 982,
- 982, 982, 982, 1008, 982, 982, 1058, 1008, 982, 1008,
- 1008, 1008, 1008, 1008, 1008, 982, 1008, 1008, 1008, 1008,
- 1008, 1008, 1008, 982, 1059, 1060, 1008, 1008, 1008, 1008,
- 1008, 982, 692, 773, 1056, 1008, 773, 982, 982, 982,
- 982, 1013, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 1013, 1061, 982, 982, 1013, 982, 1013, 1062,
-
- 993, 993, 982, 982, 982, 982, 1058, 1008, 1008, 1008,
- 1008, 1008, 1008, 1008, 1059, 1063, 982, 1008, 1008, 1008,
- 1008, 1064, 982, 1013, 982, 982, 982, 982, 1061, 982,
- 982, 982, 982, 993, 1062, 1061, 993, 993, 993, 982,
- 1065, 982, 982, 982, 982, 1008, 982, 982, 1008, 1063,
- 982, 680, 1008, 1008, 1008, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 1061, 1066, 982, 1061, 982, 982,
- 1067, 993, 1062, 1061, 1068, 993, 1062, 993, 993, 1069,
- 982, 982, 982, 982, 982, 982, 1008, 982, 1056, 982,
- 1056, 1008, 1008, 1008, 1008, 982, 1070, 982, 1071, 773,
-
- 982, 982, 982, 1072, 982, 982, 982, 982, 982, 982,
- 1073, 993, 993, 993, 993, 982, 982, 982, 982, 982,
- 982, 982, 1008, 1008, 1008, 1070, 1070, 1070, 982, 898,
- 1071, 982, 982, 982, 982, 982, 1061, 982, 982, 993,
- 993, 1061, 993, 993, 982, 982, 982, 982, 982, 1056,
- 1008, 982, 1070, 982, 1074, 1075, 1061, 982, 1061, 993,
- 982, 1008, 982, 1056, 1070, 982, 982, 1008, 1070, 1076,
- 982, 1008, 1076, 1070, 1077, 1078, 1077, 1070, 1078, 1079,
- 1079, 0, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
-
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982
+ 971, 971, 972, 972, 973, 973, 974, 974, 975, 975,
+ 976, 976, 977, 977, 978, 978, 979, 979, 980, 980,
+ 981, 981, 971, 23, 971, 25, 971, 971, 971, 29,
+ 971, 971, 982, 971, 971, 983, 971, 983, 971, 971,
+ 971, 984, 984, 984, 971, 45, 985, 971, 985, 986,
+ 986, 971, 971, 971, 971, 987, 987, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 982, 971, 971, 971,
+ 971, 971, 971, 971, 982, 971, 971, 971, 971, 988,
+ 988, 989, 982, 989, 971, 971, 990, 971, 990, 971,
+ 971, 971, 991, 991, 971, 971, 992, 88, 992, 971,
+
+ 971, 971, 971, 971, 993, 994, 995, 993, 993, 971,
+ 971, 110, 971, 971, 971, 971, 111, 971, 982, 971,
+ 982, 982, 971, 971, 117, 971, 983, 971, 127, 971,
+ 971, 971, 971, 971, 996, 997, 971, 971, 971, 997,
+ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997,
+ 997, 997, 997, 997, 997, 997, 971, 971, 998, 127,
+ 971, 971, 971, 971, 984, 984, 117, 117, 984, 45,
+ 984, 45, 971, 45, 985, 985, 986, 986, 971, 971,
+ 987, 987, 971, 971, 971, 971, 971, 999, 1000, 1001,
+ 1001, 989, 89, 989, 89, 971, 971, 971, 971, 971,
+
+ 971, 971, 971, 89, 991, 99, 99, 971, 971, 971,
+ 99, 971, 1002, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 1003, 971, 971, 971, 995, 971, 1004, 971,
+ 971, 110, 110, 971, 971, 971, 231, 971, 971, 982,
+ 971, 1005, 982, 982, 982, 982, 982, 982, 982, 982,
+ 982, 971, 1006, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 1007, 996, 1007, 997, 997, 997, 997, 997,
+ 997, 997, 997, 997, 971, 997, 997, 997, 997, 997,
+ 971, 997, 997, 997, 997, 997, 971, 997, 997, 997,
+ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997,
+
+ 1008, 1008, 1009, 1009, 1010, 1011, 971, 1012, 971, 971,
+ 1013, 971, 971, 984, 984, 984, 1008, 1008, 971, 319,
+ 971, 971, 971, 971, 971, 971, 1000, 1014, 1001, 1001,
+ 1014, 989, 971, 971, 1015, 1016, 971, 971, 971, 971,
+ 991, 971, 1017, 971, 971, 1018, 971, 1002, 1002, 971,
+ 971, 971, 971, 971, 971, 971, 971, 1019, 971, 231,
+ 971, 1020, 1002, 1021, 1004, 971, 1021, 971, 971, 971,
+ 1022, 1022, 971, 982, 971, 1023, 982, 1024, 1002, 1024,
+ 982, 982, 982, 982, 982, 982, 982, 1025, 971, 971,
+ 971, 1026, 971, 971, 971, 971, 971, 971, 971, 1027,
+
+ 1027, 997, 997, 997, 997, 997, 997, 997, 997, 997,
+ 997, 971, 1027, 997, 997, 997, 997, 997, 997, 997,
+ 997, 971, 1027, 997, 997, 997, 997, 997, 997, 971,
+ 1027, 997, 997, 997, 997, 997, 997, 997, 997, 997,
+ 997, 997, 997, 997, 997, 1008, 1008, 971, 1008, 1009,
+ 971, 971, 971, 971, 971, 1028, 1002, 984, 1013, 971,
+ 971, 971, 1008, 1008, 1008, 319, 971, 971, 971, 971,
+ 971, 1014, 971, 1022, 1022, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 1029, 971, 971, 971, 1002, 1030,
+ 971, 1002, 971, 971, 971, 971, 971, 971, 971, 971,
+
+ 971, 1031, 971, 971, 1002, 1032, 1021, 1021, 971, 1033,
+ 971, 1022, 1022, 971, 1022, 971, 1034, 982, 982, 982,
+ 1024, 1002, 1035, 982, 1024, 982, 982, 982, 982, 982,
+ 971, 971, 1036, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 997, 997, 997, 997, 997, 997,
+ 997, 997, 971, 997, 997, 971, 1037, 997, 997, 997,
+ 997, 971, 971, 1038, 997, 997, 971, 997, 997, 997,
+ 997, 971, 997, 997, 997, 997, 997, 997, 997, 997,
+ 997, 997, 997, 971, 997, 1008, 971, 971, 971, 971,
+ 1039, 971, 971, 1002, 1040, 984, 984, 971, 971, 971,
+
+ 1008, 971, 971, 971, 971, 971, 971, 1022, 1022, 1022,
+ 971, 971, 971, 971, 971, 584, 971, 971, 971, 971,
+ 1041, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 1042, 971, 971, 971, 971, 971, 1022, 1043,
+ 982, 971, 971, 1044, 982, 982, 982, 982, 982, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 997, 997,
+ 997, 997, 997, 997, 553, 997, 1037, 997, 553, 997,
+ 997, 1038, 997, 997, 997, 997, 997, 997, 971, 572,
+ 680, 1045, 997, 680, 997, 997, 997, 997, 997, 997,
+ 997, 971, 997, 971, 616, 1045, 997, 971, 971, 971,
+
+ 971, 1046, 971, 971, 971, 971, 971, 971, 971, 971,
+ 1022, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 1002, 971, 971, 971, 971, 971, 971, 1002, 971,
+ 971, 971, 982, 982, 1002, 982, 982, 982, 971, 971,
+ 971, 971, 971, 997, 971, 971, 1047, 997, 971, 997,
+ 997, 997, 997, 997, 997, 971, 997, 997, 997, 997,
+ 997, 997, 997, 971, 1048, 1049, 997, 997, 997, 997,
+ 997, 971, 692, 773, 1045, 997, 773, 971, 971, 971,
+ 971, 1002, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 1002, 1050, 971, 971, 1002, 971, 1002, 1051,
+
+ 982, 982, 971, 971, 971, 971, 1047, 997, 997, 997,
+ 997, 997, 997, 997, 1048, 1052, 971, 997, 997, 997,
+ 997, 1053, 971, 1002, 971, 971, 971, 971, 1050, 971,
+ 971, 971, 971, 982, 1051, 1050, 982, 982, 982, 971,
+ 1054, 971, 971, 971, 971, 997, 971, 971, 997, 1052,
+ 971, 680, 997, 997, 997, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 1050, 1055, 971, 1050, 971, 971,
+ 1056, 982, 1051, 1050, 1057, 982, 1051, 982, 982, 1058,
+ 971, 971, 971, 971, 971, 971, 997, 971, 1045, 971,
+ 1045, 997, 997, 997, 997, 971, 1059, 1059, 1060, 773,
+
+ 971, 971, 971, 1061, 971, 971, 971, 971, 971, 971,
+ 1062, 982, 982, 982, 982, 971, 971, 971, 971, 971,
+ 971, 971, 997, 997, 997, 1059, 971, 898, 1060, 971,
+ 971, 971, 971, 971, 1050, 971, 971, 982, 982, 1050,
+ 982, 982, 971, 971, 971, 971, 971, 1045, 997, 971,
+ 971, 1063, 1064, 1050, 971, 1050, 982, 971, 997, 971,
+ 1045, 971, 971, 997, 971, 997, 1065, 1065, 1066, 1066,
+ 0, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971
} ;
-static yyconst flex_uint16_t yy_nxt[5439] =
+static yyconst flex_uint16_t yy_nxt[5276] =
{ 0,
28, 29, 30, 29, 31, 28, 32, 33, 28, 28,
28, 28, 34, 28, 34, 35, 28, 28, 28, 28,
@@ -840,7 +837,7 @@ static yyconst flex_uint16_t yy_nxt[5439] =
46, 46, 46, 46, 46, 46, 46, 39, 40, 41,
45, 46, 48, 48, 48, 48, 53, 54, 53, 54,
- 48, 48, 60, 60, 63, 63, 66, 980, 66, 537,
+ 48, 48, 60, 60, 63, 63, 66, 969, 66, 537,
265, 67, 538, 67, 49, 49, 51, 51, 72, 55,
72, 55, 57, 57, 61, 61, 64, 64, 68, 72,
68, 72, 66, 285, 72, 265, 72, 75, 73, 369,
@@ -849,7 +846,7 @@ static yyconst flex_uint16_t yy_nxt[5439] =
114, 115, 114, 76, 121, 116, 118, 116, 161, 161,
161, 179, 101, 101, 101, 122, 126, 101, 180, 265,
- 101, 77, 78, 117, 102, 117, 432, 978, 102, 384,
+ 101, 77, 78, 117, 102, 117, 432, 965, 102, 384,
77, 78, 79, 80, 81, 80, 82, 79, 79, 83,
84, 84, 84, 79, 79, 85, 79, 86, 79, 84,
84, 84, 82, 79, 87, 79, 88, 79, 84, 89,
@@ -862,76 +859,76 @@ static yyconst flex_uint16_t yy_nxt[5439] =
99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99, 99, 90,
- 100, 92, 97, 99, 103, 104, 103, 105, 101, 978,
+ 100, 92, 97, 99, 103, 104, 103, 105, 101, 400,
106, 107, 108, 108, 265, 101, 109, 101, 105, 102,
108, 108, 108, 105, 420, 110, 102, 111, 102, 108,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
112, 112, 112, 112, 101, 173, 113, 110, 112, 123,
123, 123, 174, 127, 120, 102, 101, 128, 159, 208,
- 265, 101, 971, 124, 116, 160, 288, 102, 101, 128,
+ 265, 101, 805, 124, 116, 160, 288, 102, 101, 128,
- 289, 101, 125, 982, 209, 265, 164, 164, 164, 102,
+ 289, 101, 125, 971, 209, 265, 164, 164, 164, 102,
101, 116, 117, 210, 174, 127, 130, 131, 166, 132,
- 133, 102, 982, 387, 334, 284, 134, 160, 313, 167,
+ 133, 102, 971, 387, 334, 284, 134, 160, 313, 167,
335, 135, 136, 137, 138, 139, 120, 140, 141, 142,
143, 144, 145, 146, 147, 148, 136, 136, 149, 136,
150, 151, 152, 153, 154, 155, 136, 156, 136, 146,
136, 157, 158, 162, 162, 162, 164, 164, 164, 116,
- 120, 982, 120, 384, 120, 101, 101, 131, 166, 164,
+ 120, 971, 120, 384, 120, 101, 101, 131, 166, 164,
164, 164, 131, 265, 116, 121, 163, 117, 265, 168,
266, 166, 267, 169, 179, 265, 122, 279, 183, 179,
336, 184, 167, 185, 339, 268, 186, 269, 161, 161,
161, 120, 265, 385, 800, 113, 164, 164, 164, 165,
- 101, 157, 158, 165, 165, 165, 157, 158, 166, 400,
+ 101, 157, 158, 165, 165, 165, 157, 158, 166, 353,
165, 286, 165, 165, 165, 165, 287, 170, 120, 168,
386, 171, 172, 172, 172, 172, 172, 172, 172, 172,
172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
172, 172, 172, 172, 172, 172, 265, 120, 384, 170,
172, 103, 104, 103, 187, 116, 277, 188, 189, 265,
- 278, 116, 101, 101, 126, 187, 162, 162, 162, 982,
+ 278, 116, 101, 101, 126, 187, 162, 162, 162, 971,
187, 265, 190, 117, 111, 116, 101, 265, 101, 116,
- 982, 294, 101, 982, 126, 549, 101, 102, 287, 163,
- 384, 262, 297, 117, 220, 221, 982, 117, 160, 212,
+ 971, 294, 101, 971, 126, 549, 101, 102, 287, 163,
+ 384, 262, 297, 117, 220, 221, 971, 117, 160, 212,
212, 212, 303, 113, 190, 114, 115, 114, 187, 120,
342, 188, 189, 213, 328, 265, 343, 101, 113, 187,
215, 329, 214, 216, 187, 295, 190, 217, 111, 296,
- 160, 218, 219, 805, 303, 220, 221, 222, 224, 224,
+ 160, 218, 219, 962, 303, 220, 221, 222, 224, 224,
224, 103, 104, 103, 187, 385, 265, 223, 114, 115,
114, 187, 265, 329, 223, 187, 290, 113, 190, 192,
187, 225, 187, 192, 192, 192, 291, 187, 101, 224,
- 224, 224, 192, 192, 192, 192, 406, 193, 982, 102,
+ 224, 224, 192, 192, 192, 192, 406, 193, 971, 102,
- 262, 194, 228, 228, 228, 114, 115, 114, 187, 982,
+ 262, 194, 228, 228, 228, 114, 115, 114, 187, 971,
265, 223, 225, 240, 241, 240, 229, 584, 265, 187,
238, 238, 238, 187, 187, 230, 223, 242, 299, 193,
- 196, 354, 265, 982, 187, 370, 243, 982, 138, 187,
- 982, 300, 197, 239, 982, 198, 255, 255, 255, 199,
- 265, 982, 200, 292, 201, 982, 293, 256, 202, 256,
- 124, 203, 192, 315, 265, 353, 192, 192, 192, 257,
+ 196, 354, 265, 971, 187, 370, 243, 971, 138, 187,
+ 971, 300, 197, 239, 971, 198, 255, 255, 255, 199,
+ 265, 971, 200, 292, 201, 971, 293, 256, 202, 256,
+ 124, 203, 192, 315, 265, 400, 192, 192, 192, 257,
402, 101, 165, 159, 315, 192, 192, 192, 192, 315,
- 204, 331, 102, 309, 194, 252, 252, 252, 329, 982,
- 403, 253, 258, 982, 258, 265, 966, 258, 258, 124,
+ 204, 331, 102, 309, 194, 252, 252, 252, 329, 971,
+ 403, 253, 258, 971, 258, 265, 805, 258, 258, 124,
- 982, 265, 301, 302, 301, 165, 265, 316, 254, 265,
- 424, 982, 204, 205, 174, 407, 309, 259, 205, 205,
+ 971, 265, 301, 302, 301, 165, 265, 316, 254, 265,
+ 424, 971, 204, 205, 174, 407, 309, 259, 205, 205,
329, 261, 101, 303, 265, 415, 205, 205, 205, 409,
- 982, 206, 261, 102, 265, 128, 982, 261, 982, 127,
- 408, 982, 215, 128, 439, 216, 174, 982, 388, 217,
- 982, 165, 262, 218, 219, 303, 124, 220, 221, 222,
- 174, 982, 309, 206, 205, 389, 164, 164, 164, 205,
+ 971, 206, 261, 102, 265, 128, 971, 261, 971, 127,
+ 408, 971, 215, 128, 439, 216, 174, 971, 388, 217,
+ 971, 165, 262, 218, 219, 303, 124, 220, 221, 222,
+ 174, 971, 309, 206, 205, 389, 164, 164, 164, 205,
205, 127, 308, 101, 265, 159, 265, 205, 205, 205,
270, 265, 211, 271, 102, 265, 128, 272, 404, 309,
- 279, 273, 174, 280, 274, 982, 275, 276, 265, 281,
+ 279, 273, 174, 280, 274, 971, 275, 276, 265, 281,
- 282, 427, 164, 164, 164, 265, 982, 982, 982, 283,
- 982, 982, 265, 160, 211, 224, 224, 224, 108, 982,
+ 282, 427, 164, 164, 164, 265, 971, 971, 971, 283,
+ 971, 971, 265, 160, 211, 224, 224, 224, 108, 971,
405, 265, 107, 108, 108, 309, 410, 108, 445, 108,
411, 108, 108, 108, 108, 371, 372, 371, 225, 418,
108, 224, 224, 224, 108, 160, 265, 419, 108, 108,
- 108, 265, 265, 108, 400, 231, 805, 108, 108, 108,
+ 108, 265, 265, 108, 958, 231, 805, 108, 108, 108,
108, 559, 232, 433, 225, 426, 108, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
233, 233, 233, 233, 233, 233, 233, 233, 233, 233,
@@ -939,9 +936,9 @@ static yyconst flex_uint16_t yy_nxt[5439] =
234, 265, 265, 217, 301, 302, 301, 218, 219, 441,
663, 235, 236, 222, 120, 215, 438, 440, 216, 310,
- 310, 310, 217, 351, 982, 351, 218, 219, 351, 351,
+ 310, 310, 217, 351, 971, 351, 218, 219, 351, 351,
220, 307, 222, 311, 265, 265, 164, 164, 164, 352,
- 244, 982, 312, 245, 164, 164, 164, 246, 547, 982,
+ 244, 971, 312, 245, 164, 164, 164, 246, 547, 971,
314, 247, 248, 443, 265, 249, 250, 251, 265, 309,
345, 345, 345, 446, 447, 446, 346, 309, 317, 318,
317, 165, 265, 265, 213, 165, 165, 165, 442, 425,
@@ -950,19 +947,19 @@ static yyconst flex_uint16_t yy_nxt[5439] =
320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
320, 320, 320, 320, 320, 320, 320, 320, 332, 341,
- 265, 319, 320, 190, 265, 265, 265, 982, 982, 261,
- 261, 348, 348, 348, 332, 261, 193, 206, 982, 982,
+ 265, 319, 320, 190, 265, 265, 265, 971, 971, 261,
+ 261, 348, 348, 348, 332, 261, 193, 206, 971, 971,
224, 224, 224, 552, 120, 349, 358, 421, 435, 265,
545, 361, 361, 361, 350, 190, 258, 362, 258, 265,
416, 258, 258, 225, 120, 213, 417, 428, 193, 206,
- 224, 224, 224, 108, 230, 520, 961, 108, 108, 108,
+ 224, 224, 224, 108, 230, 520, 956, 108, 108, 108,
429, 259, 108, 265, 108, 530, 108, 108, 108, 108,
378, 379, 378, 225, 265, 108, 347, 363, 363, 363,
546, 347, 347, 347, 380, 444, 265, 347, 347, 265,
- 347, 365, 347, 381, 805, 265, 436, 347, 120, 347,
+ 347, 365, 347, 381, 956, 265, 436, 347, 120, 347,
366, 347, 351, 437, 351, 359, 265, 351, 351, 548,
- 959, 374, 375, 374, 449, 302, 449, 376, 352, 550,
+ 353, 374, 375, 374, 449, 302, 449, 376, 352, 550,
265, 265, 252, 252, 252, 242, 526, 347, 347, 347,
224, 224, 224, 108, 243, 553, 124, 108, 108, 108,
554, 553, 108, 159, 108, 254, 108, 108, 108, 108,
@@ -972,11 +969,11 @@ static yyconst flex_uint16_t yy_nxt[5439] =
265, 265, 303, 110, 112, 238, 238, 238, 187, 265,
670, 223, 345, 345, 345, 265, 120, 485, 346, 187,
- 561, 555, 495, 982, 187, 213, 213, 382, 239, 382,
+ 561, 555, 495, 971, 187, 213, 213, 382, 239, 382,
329, 551, 382, 382, 486, 214, 391, 391, 391, 393,
265, 393, 392, 383, 393, 393, 265, 256, 351, 256,
351, 313, 265, 351, 351, 394, 265, 416, 575, 257,
- 558, 959, 329, 492, 352, 492, 353, 395, 492, 492,
+ 558, 955, 329, 492, 352, 492, 954, 395, 492, 492,
560, 396, 412, 412, 412, 412, 412, 412, 412, 412,
412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
412, 412, 412, 413, 136, 412, 412, 412, 412, 136,
@@ -997,39 +994,39 @@ static yyconst flex_uint16_t yy_nxt[5439] =
136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 136, 136, 136, 430, 430, 430, 430, 430,
455, 455, 455, 494, 120, 494, 456, 265, 120, 265,
- 164, 164, 164, 568, 213, 982, 474, 475, 474, 646,
- 527, 120, 527, 312, 347, 457, 457, 457, 958, 347,
+ 164, 164, 164, 568, 213, 971, 474, 475, 474, 646,
+ 527, 120, 527, 312, 347, 457, 457, 457, 954, 347,
347, 347, 529, 309, 570, 347, 347, 190, 347, 459,
- 347, 461, 462, 461, 265, 347, 982, 347, 460, 347,
- 317, 318, 317, 495, 571, 982, 463, 464, 463, 465,
+ 347, 461, 462, 461, 265, 347, 971, 347, 460, 347,
+ 317, 318, 317, 495, 571, 971, 463, 464, 463, 465,
318, 465, 308, 265, 309, 308, 398, 399, 398, 190,
- 528, 982, 265, 309, 265, 347, 347, 347, 982, 309,
- 265, 957, 309, 164, 164, 164, 165, 553, 265, 982,
- 165, 165, 165, 957, 553, 165, 473, 165, 572, 165,
+ 528, 971, 265, 309, 265, 347, 347, 347, 971, 309,
+ 265, 953, 309, 164, 164, 164, 165, 553, 265, 971,
+ 165, 165, 165, 952, 553, 165, 473, 165, 572, 165,
165, 165, 165, 329, 319, 577, 309, 576, 165, 466,
466, 466, 466, 466, 466, 466, 466, 466, 466, 466,
466, 466, 466, 466, 466, 466, 466, 466, 466, 466,
466, 466, 466, 265, 265, 329, 319, 466, 398, 399,
- 398, 582, 544, 982, 544, 489, 489, 489, 585, 265,
- 982, 490, 348, 348, 348, 687, 956, 491, 345, 345,
+ 398, 582, 544, 971, 544, 489, 489, 489, 585, 265,
+ 971, 490, 348, 348, 348, 687, 951, 491, 345, 345,
- 345, 982, 533, 543, 491, 120, 349, 256, 350, 256,
+ 345, 971, 533, 543, 491, 120, 349, 256, 350, 256,
517, 492, 213, 492, 359, 350, 492, 492, 242, 534,
265, 214, 500, 500, 500, 105, 265, 518, 106, 107,
- 580, 955, 224, 224, 224, 543, 105, 265, 502, 581,
+ 580, 897, 224, 224, 224, 543, 105, 265, 502, 581,
265, 105, 505, 505, 505, 501, 213, 583, 506, 224,
- 224, 224, 485, 265, 491, 503, 371, 372, 371, 954,
+ 224, 224, 485, 265, 491, 503, 371, 372, 371, 927,
213, 507, 512, 513, 512, 366, 579, 621, 358, 486,
359, 578, 225, 491, 113, 347, 363, 363, 363, 225,
- 347, 347, 347, 352, 982, 225, 347, 347, 508, 347,
- 365, 347, 378, 379, 378, 120, 347, 897, 347, 366,
+ 347, 347, 347, 352, 971, 225, 347, 347, 508, 347,
+ 365, 347, 378, 379, 378, 120, 347, 946, 347, 366,
347, 515, 372, 515, 524, 120, 380, 358, 521, 522,
521, 489, 489, 489, 523, 381, 525, 490, 525, 120,
524, 525, 525, 491, 225, 265, 347, 347, 347, 120,
520, 381, 649, 265, 350, 374, 375, 374, 527, 120,
- 527, 391, 391, 391, 541, 542, 541, 120, 929, 242,
+ 527, 391, 391, 391, 541, 542, 541, 120, 945, 242,
661, 666, 256, 265, 256, 556, 556, 556, 243, 265,
562, 563, 562, 553, 257, 543, 564, 573, 647, 574,
446, 447, 446, 265, 383, 265, 120, 265, 557, 234,
@@ -1037,8 +1034,8 @@ static yyconst flex_uint16_t yy_nxt[5439] =
628, 629, 565, 662, 566, 265, 303, 543, 164, 164,
164, 594, 594, 594, 591, 621, 602, 595, 602, 648,
- 567, 491, 213, 491, 164, 164, 164, 673, 494, 982,
- 494, 592, 982, 265, 460, 948, 596, 492, 303, 492,
+ 567, 491, 213, 491, 164, 164, 164, 673, 494, 971,
+ 494, 592, 971, 265, 460, 944, 596, 492, 303, 492,
313, 265, 492, 492, 474, 475, 474, 309, 347, 457,
457, 457, 659, 347, 347, 347, 489, 489, 489, 347,
347, 597, 347, 459, 347, 665, 603, 265, 265, 347,
@@ -1048,20 +1045,20 @@ static yyconst flex_uint16_t yy_nxt[5439] =
347, 347, 543, 265, 309, 265, 313, 309, 601, 464,
601, 120, 120, 265, 308, 309, 608, 609, 608, 352,
- 678, 643, 982, 610, 475, 610, 644, 543, 394, 982,
- 671, 309, 524, 685, 543, 500, 500, 500, 187, 982,
- 395, 188, 189, 119, 396, 265, 982, 947, 801, 187,
+ 678, 643, 971, 610, 475, 610, 644, 543, 394, 971,
+ 671, 309, 524, 685, 543, 500, 500, 500, 187, 971,
+ 395, 188, 189, 119, 396, 265, 971, 805, 801, 187,
265, 632, 632, 632, 187, 736, 190, 633, 501, 500,
500, 500, 187, 491, 674, 223, 500, 500, 500, 187,
688, 265, 223, 187, 225, 224, 224, 224, 187, 265,
187, 224, 224, 224, 265, 187, 265, 113, 190, 512,
513, 512, 265, 507, 744, 358, 676, 265, 225, 639,
- 372, 639, 550, 675, 225, 358, 946, 639, 513, 639,
+ 372, 639, 550, 675, 225, 358, 943, 639, 513, 639,
265, 686, 225, 358, 521, 522, 521, 527, 120, 527,
689, 658, 225, 658, 691, 252, 252, 252, 265, 265,
225, 253, 541, 542, 541, 265, 544, 381, 544, 124,
- 265, 805, 543, 690, 265, 123, 123, 123, 254, 556,
+ 265, 940, 543, 690, 265, 123, 123, 123, 254, 556,
556, 556, 692, 543, 693, 120, 120, 543, 550, 124,
265, 553, 586, 447, 586, 265, 734, 528, 254, 388,
265, 265, 557, 265, 543, 265, 265, 124, 265, 751,
@@ -1074,17 +1071,17 @@ static yyconst flex_uint16_t yy_nxt[5439] =
136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
136, 412, 412, 412, 412, 412, 562, 563, 562, 164,
164, 164, 564, 265, 265, 308, 701, 701, 701, 164,
- 164, 164, 702, 265, 982, 164, 164, 164, 491, 265,
- 982, 265, 309, 553, 750, 759, 265, 596, 265, 309,
+ 164, 164, 702, 265, 971, 164, 164, 164, 491, 265,
+ 971, 265, 309, 553, 750, 759, 265, 596, 265, 309,
265, 265, 309, 753, 265, 763, 814, 265, 309, 754,
- 771, 760, 573, 853, 945, 769, 567, 679, 680, 681,
+ 771, 760, 573, 853, 940, 769, 567, 679, 680, 681,
680, 679, 679, 679, 679, 679, 679, 679, 679, 679,
679, 679, 679, 679, 679, 679, 679, 679, 682, 683,
679, 684, 679, 679, 683, 683, 683, 683, 683, 683,
683, 683, 683, 683, 683, 683, 683, 683, 683, 683,
683, 683, 683, 683, 683, 683, 683, 683, 679, 679,
- 679, 679, 679, 694, 694, 942, 694, 694, 694, 694,
+ 679, 679, 679, 694, 694, 864, 694, 694, 694, 694,
694, 694, 694, 694, 695, 694, 694, 694, 694, 694,
694, 694, 694, 694, 696, 697, 694, 694, 694, 694,
697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
@@ -1093,29 +1090,29 @@ static yyconst flex_uint16_t yy_nxt[5439] =
599, 598, 705, 164, 705, 308, 265, 120, 308, 600,
164, 600, 601, 464, 601, 308, 265, 602, 308, 602,
- 543, 942, 309, 543, 767, 309, 265, 608, 609, 608,
- 543, 265, 309, 982, 265, 309, 711, 475, 711, 265,
- 265, 265, 982, 711, 609, 711, 765, 761, 485, 982,
- 982, 737, 543, 485, 265, 543, 213, 768, 553, 982,
- 553, 213, 543, 550, 770, 486, 982, 603, 694, 694,
- 486, 120, 818, 864, 694, 694, 694, 694, 694, 694,
+ 543, 937, 309, 543, 767, 309, 265, 608, 609, 608,
+ 543, 265, 309, 971, 265, 309, 711, 475, 711, 265,
+ 265, 265, 971, 711, 609, 711, 765, 761, 485, 971,
+ 971, 737, 543, 485, 265, 543, 213, 768, 553, 971,
+ 553, 213, 543, 550, 770, 486, 971, 603, 694, 694,
+ 486, 120, 818, 936, 694, 694, 694, 694, 694, 694,
694, 694, 694, 694, 694, 694, 694, 694, 694, 694,
694, 694, 694, 694, 694, 694, 694, 694, 345, 345,
345, 224, 224, 224, 346, 120, 265, 358, 361, 361,
- 361, 944, 213, 621, 362, 265, 553, 224, 224, 224,
+ 361, 942, 213, 621, 362, 265, 553, 224, 224, 224,
265, 214, 213, 358, 225, 553, 639, 513, 639, 488,
- 982, 230, 358, 345, 345, 345, 658, 265, 658, 346,
+ 971, 230, 358, 345, 345, 345, 658, 265, 658, 346,
225, 802, 391, 391, 391, 809, 265, 213, 392, 225,
- 764, 819, 764, 256, 939, 256, 214, 543, 745, 746,
- 745, 679, 982, 679, 747, 257, 265, 679, 265, 265,
+ 764, 819, 764, 256, 935, 256, 214, 543, 745, 746,
+ 745, 679, 971, 679, 747, 257, 265, 679, 265, 265,
265, 812, 265, 162, 162, 162, 810, 265, 265, 553,
455, 455, 455, 265, 679, 265, 456, 811, 265, 543,
748, 820, 265, 265, 213, 677, 778, 813, 821, 265,
764, 621, 265, 312, 164, 164, 164, 553, 749, 766,
- 308, 265, 846, 553, 938, 265, 488, 120, 982, 937,
- 847, 937, 553, 679, 679, 113, 849, 309, 872, 679,
+ 308, 265, 846, 553, 935, 265, 488, 120, 971, 934,
+ 847, 932, 553, 679, 679, 113, 849, 309, 872, 679,
679, 679, 679, 679, 679, 679, 679, 679, 679, 679,
679, 679, 679, 679, 679, 679, 679, 679, 679, 679,
679, 679, 679, 772, 773, 774, 773, 772, 772, 772,
@@ -1125,36 +1122,36 @@ static yyconst flex_uint16_t yy_nxt[5439] =
776, 776, 776, 776, 776, 776, 776, 776, 776, 776,
776, 776, 776, 776, 772, 772, 772, 772, 772, 705,
- 164, 705, 711, 609, 711, 308, 265, 265, 982, 162,
+ 164, 705, 711, 609, 711, 308, 265, 265, 971, 162,
162, 162, 489, 489, 489, 224, 224, 224, 490, 533,
- 543, 502, 309, 936, 256, 982, 256, 265, 120, 213,
- 848, 892, 778, 120, 265, 350, 534, 934, 503, 505,
+ 543, 502, 309, 931, 256, 971, 256, 265, 120, 213,
+ 848, 892, 778, 120, 265, 350, 534, 930, 503, 505,
505, 505, 489, 489, 489, 506, 893, 265, 490, 829,
829, 829, 543, 804, 804, 804, 854, 745, 746, 745,
- 855, 113, 366, 747, 805, 350, 805, 772, 982, 772,
+ 855, 113, 366, 747, 805, 350, 805, 772, 971, 772,
838, 884, 830, 772, 885, 839, 806, 164, 164, 164,
594, 594, 594, 591, 265, 120, 595, 120, 265, 265,
772, 213, 632, 632, 632, 895, 120, 821, 633, 265,
- 592, 933, 951, 460, 835, 836, 835, 749, 816, 816,
+ 592, 927, 949, 460, 835, 836, 835, 749, 816, 816,
816, 265, 816, 816, 816, 225, 878, 879, 816, 816,
840, 840, 840, 842, 887, 842, 841, 837, 842, 842,
120, 805, 922, 805, 701, 701, 701, 914, 120, 843,
702, 913, 265, 806, 865, 865, 865, 868, 904, 868,
866, 844, 868, 868, 867, 845, 867, 309, 816, 265,
- 816, 822, 894, 880, 265, 982, 120, 830, 805, 923,
- 805, 943, 932, 400, 952, 772, 772, 872, 400, 921,
+ 816, 822, 894, 880, 265, 971, 120, 830, 805, 923,
+ 805, 941, 400, 400, 950, 772, 772, 872, 120, 921,
881, 772, 772, 772, 772, 772, 772, 772, 772, 772,
772, 772, 772, 772, 772, 772, 772, 772, 772, 772,
772, 772, 772, 772, 772, 816, 816, 816, 120, 816,
816, 816, 856, 856, 856, 816, 816, 873, 874, 873,
- 965, 904, 857, 875, 865, 865, 865, 867, 120, 876,
- 866, 265, 265, 915, 265, 858, 867, 120, 982, 877,
- 837, 877, 843, 265, 877, 877, 929, 830, 840, 840,
+ 384, 904, 857, 875, 865, 865, 865, 867, 120, 876,
+ 866, 265, 265, 915, 265, 858, 867, 120, 971, 877,
+ 837, 877, 843, 265, 877, 877, 904, 830, 840, 840,
840, 904, 925, 924, 844, 816, 120, 816, 845, 805,
- 265, 805, 859, 920, 919, 553, 960, 941, 982, 918,
- 962, 806, 888, 888, 888, 888, 888, 888, 888, 888,
+ 265, 805, 859, 971, 920, 553, 957, 939, 971, 919,
+ 959, 806, 888, 888, 888, 888, 888, 888, 888, 888,
888, 888, 888, 888, 888, 888, 888, 888, 888, 888,
888, 888, 888, 889, 136, 888, 888, 888, 888, 136,
@@ -1168,266 +1165,248 @@ static yyconst flex_uint16_t yy_nxt[5439] =
136, 136, 136, 136, 136, 136, 136, 136, 136, 890,
890, 890, 890, 890, 856, 856, 856, 896, 896, 896,
- 865, 865, 865, 910, 857, 873, 874, 873, 911, 953,
- 865, 865, 865, 120, 876, 904, 866, 858, 265, 880,
- 858, 265, 917, 830, 805, 119, 805, 120, 837, 908,
- 264, 264, 982, 830, 264, 979, 881, 968, 979, 907,
- 864, 906, 384, 929, 859, 972, 903, 859, 897, 897,
+ 865, 865, 865, 910, 857, 873, 874, 873, 911, 865,
+ 865, 865, 120, 265, 876, 866, 265, 858, 968, 880,
+ 858, 968, 918, 830, 805, 119, 805, 917, 837, 264,
+ 264, 120, 830, 264, 908, 964, 881, 966, 136, 136,
+ 907, 384, 136, 864, 859, 906, 903, 859, 897, 897,
902, 897, 897, 897, 897, 897, 897, 897, 897, 897,
897, 897, 897, 897, 897, 897, 897, 897, 897, 897,
898, 897, 897, 897, 897, 898, 898, 898, 898, 898,
898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
898, 898, 898, 898, 898, 898, 898, 898, 898, 897,
- 897, 897, 897, 897, 896, 896, 896, 927, 927, 927,
- 840, 840, 840, 865, 865, 865, 841, 974, 265, 866,
- 974, 805, 901, 805, 136, 136, 900, 858, 136, 928,
- 401, 401, 899, 806, 401, 851, 830, 401, 401, 886,
- 883, 401, 871, 975, 870, 869, 975, 864, 976, 401,
- 401, 863, 862, 401, 859, 861, 453, 929, 926, 927,
- 927, 927, 926, 926, 926, 926, 926, 926, 926, 926,
- 926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
- 930, 928, 926, 926, 926, 930, 930, 930, 930, 930,
- 930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
-
- 930, 930, 930, 930, 930, 930, 930, 930, 930, 929,
- 926, 926, 926, 926, 949, 949, 949, 949, 949, 949,
- 949, 949, 949, 949, 949, 949, 949, 949, 949, 949,
- 949, 949, 949, 949, 949, 950, 136, 949, 949, 949,
- 949, 136, 136, 136, 136, 136, 136, 136, 136, 136,
+ 897, 897, 897, 897, 896, 896, 896, 840, 840, 840,
+ 865, 865, 865, 841, 265, 901, 866, 900, 805, 899,
+ 805, 401, 401, 851, 886, 401, 883, 858, 401, 401,
+ 806, 871, 401, 830, 401, 401, 870, 869, 401, 864,
+ 863, 862, 861, 453, 967, 852, 851, 746, 256, 833,
+ 832, 831, 827, 826, 859, 928, 825, 824, 824, 823,
+ 928, 928, 928, 928, 928, 928, 928, 928, 928, 928,
+ 928, 928, 928, 928, 928, 928, 928, 928, 928, 928,
+ 928, 928, 928, 928, 927, 947, 947, 947, 947, 947,
+ 947, 947, 947, 947, 947, 947, 947, 947, 947, 947,
+
+ 947, 947, 947, 947, 947, 947, 948, 136, 947, 947,
+ 947, 947, 136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
- 136, 136, 136, 136, 136, 949, 949, 949, 949, 949,
- 927, 927, 927, 120, 852, 851, 746, 256, 833, 832,
- 831, 827, 826, 825, 824, 824, 823, 265, 400, 265,
- 265, 746, 928, 256, 803, 256, 799, 799, 798, 797,
-
- 797, 796, 795, 794, 793, 793, 792, 791, 790, 765,
- 789, 788, 787, 786, 785, 384, 784, 783, 782, 782,
- 929, 963, 963, 963, 963, 963, 963, 963, 963, 963,
- 963, 963, 963, 963, 963, 963, 963, 963, 963, 963,
- 963, 963, 964, 136, 963, 963, 963, 963, 136, 136,
+ 136, 136, 136, 136, 136, 136, 947, 947, 947, 947,
+ 947, 960, 960, 960, 960, 960, 960, 960, 960, 960,
+ 960, 960, 960, 960, 960, 960, 960, 960, 960, 960,
+ 960, 960, 961, 136, 960, 960, 960, 960, 136, 136,
136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
- 136, 136, 963, 963, 963, 963, 963, 969, 969, 969,
- 969, 969, 969, 969, 969, 969, 969, 969, 969, 781,
- 779, 113, 265, 400, 694, 265, 400, 563, 758, 970,
-
- 756, 755, 743, 742, 741, 740, 256, 739, 735, 735,
- 488, 732, 113, 730, 729, 729, 728, 726, 370, 369,
- 725, 724, 723, 722, 722, 721, 719, 929, 718, 717,
- 929, 716, 715, 929, 714, 713, 929, 47, 47, 47,
+ 136, 136, 960, 960, 960, 960, 960, 47, 47, 47,
+
47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
47, 47, 47, 47, 47, 47, 47, 47, 50, 50,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
50, 50, 50, 50, 50, 50, 50, 50, 50, 52,
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
-
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
56, 48, 48, 48, 48, 48, 48, 48, 48, 48,
48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
+
48, 48, 59, 59, 59, 59, 59, 59, 59, 59,
59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
59, 59, 59, 62, 62, 62, 62, 62, 62, 62,
62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
62, 62, 62, 62, 65, 65, 65, 65, 65, 65,
65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
-
65, 65, 65, 65, 65, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
71, 71, 71, 71, 71, 71, 74, 74, 74, 74,
74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
+
74, 74, 74, 74, 74, 74, 74, 119, 119, 119,
119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
- 119, 119, 119, 119, 119, 119, 119, 119, 129, 712,
- 710, 709, 129, 129, 129, 129, 708, 707, 706, 129,
- 129, 165, 165, 165, 165, 704, 165, 165, 165, 165,
- 165, 700, 165, 165, 165, 165, 698, 306, 305, 165,
-
- 165, 175, 175, 563, 175, 175, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175, 657, 175,
- 175, 175, 177, 177, 656, 177, 177, 177, 177, 177,
- 177, 177, 177, 177, 177, 177, 177, 177, 177, 655,
- 177, 177, 177, 181, 181, 654, 181, 181, 181, 181,
+ 119, 119, 119, 119, 119, 119, 119, 119, 129, 265,
+ 400, 265, 129, 129, 129, 129, 265, 746, 256, 129,
+ 129, 165, 165, 165, 165, 803, 165, 165, 165, 165,
+ 165, 256, 165, 165, 165, 165, 799, 799, 798, 165,
+ 165, 175, 175, 797, 175, 175, 175, 175, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 797, 175,
+ 175, 175, 177, 177, 796, 177, 177, 177, 177, 177,
+ 177, 177, 177, 177, 177, 177, 177, 177, 177, 795,
+
+ 177, 177, 177, 181, 181, 794, 181, 181, 181, 181,
181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
- 653, 181, 181, 181, 191, 191, 191, 652, 191, 191,
- 650, 191, 191, 191, 120, 191, 191, 120, 191, 642,
- 120, 191, 191, 191, 192, 192, 640, 192, 192, 192,
- 638, 192, 636, 192, 192, 192, 192, 635, 631, 627,
-
- 192, 192, 195, 626, 625, 195, 195, 195, 624, 195,
- 488, 195, 195, 195, 195, 623, 620, 352, 195, 195,
- 205, 205, 618, 617, 205, 205, 616, 615, 614, 205,
- 205, 613, 205, 612, 611, 607, 205, 205, 207, 606,
- 605, 604, 207, 207, 316, 590, 589, 207, 207, 207,
- 207, 588, 587, 400, 207, 207, 108, 108, 108, 400,
- 400, 108, 108, 108, 108, 108, 400, 108, 108, 108,
- 108, 400, 540, 539, 108, 108, 226, 226, 536, 226,
+ 793, 181, 181, 181, 191, 191, 191, 793, 191, 191,
+ 792, 191, 191, 191, 791, 191, 191, 790, 191, 765,
+ 789, 191, 191, 191, 192, 192, 788, 192, 192, 192,
+ 787, 192, 786, 192, 192, 192, 192, 785, 784, 783,
+ 192, 192, 195, 782, 782, 195, 195, 195, 781, 195,
+ 779, 195, 195, 195, 195, 113, 265, 400, 195, 195,
+ 205, 205, 694, 265, 205, 205, 400, 563, 758, 205,
+ 205, 756, 205, 755, 743, 742, 205, 205, 207, 741,
+
+ 740, 256, 207, 207, 739, 735, 735, 207, 207, 207,
+ 207, 488, 732, 113, 207, 207, 108, 108, 108, 730,
+ 729, 108, 108, 108, 108, 108, 729, 108, 108, 108,
+ 108, 728, 726, 370, 108, 108, 226, 226, 369, 226,
226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
226, 226, 226, 226, 226, 226, 226, 227, 227, 227,
+ 725, 724, 227, 227, 227, 227, 227, 723, 227, 227,
+ 227, 227, 722, 722, 721, 227, 227, 304, 304, 719,
+ 718, 717, 716, 715, 714, 713, 712, 710, 304, 709,
+ 708, 304, 707, 706, 704, 304, 304, 326, 326, 700,
- 532, 259, 227, 227, 227, 227, 227, 120, 227, 227,
- 227, 227, 516, 511, 510, 227, 227, 304, 304, 509,
- 498, 497, 496, 493, 488, 484, 483, 482, 304, 481,
- 480, 304, 479, 477, 476, 304, 304, 326, 326, 982,
326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
- 326, 326, 326, 326, 326, 326, 326, 326, 327, 472,
- 471, 470, 469, 468, 327, 467, 173, 327, 313, 400,
- 263, 327, 327, 330, 400, 397, 330, 373, 368, 330,
- 367, 108, 360, 330, 330, 347, 347, 347, 347, 347,
+ 326, 326, 326, 326, 326, 326, 326, 326, 327, 698,
+ 306, 305, 563, 657, 327, 656, 655, 327, 654, 653,
+ 652, 327, 327, 330, 650, 120, 330, 120, 642, 330,
+ 120, 640, 638, 330, 330, 347, 347, 347, 347, 347,
347, 347, 347, 347, 347, 347, 347, 347, 347, 347,
-
- 347, 347, 347, 347, 347, 347, 357, 357, 359, 357,
+ 347, 347, 347, 347, 347, 347, 357, 357, 636, 357,
357, 357, 357, 357, 357, 357, 357, 357, 357, 357,
357, 357, 357, 357, 357, 357, 357, 364, 364, 364,
364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
+
364, 364, 364, 364, 364, 364, 364, 364, 377, 377,
377, 377, 377, 377, 377, 377, 377, 377, 377, 377,
377, 377, 377, 377, 377, 377, 377, 377, 377, 390,
- 390, 353, 390, 390, 390, 390, 390, 390, 390, 390,
+ 390, 635, 390, 390, 390, 390, 390, 390, 390, 390,
390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
- 448, 448, 354, 353, 356, 355, 354, 353, 353, 344,
-
- 340, 338, 337, 336, 448, 333, 189, 325, 324, 448,
- 450, 323, 322, 450, 321, 313, 306, 450, 450, 451,
- 451, 305, 451, 451, 451, 451, 451, 451, 451, 451,
+ 448, 448, 631, 627, 626, 625, 624, 488, 623, 620,
+ 352, 618, 617, 616, 448, 615, 614, 613, 612, 448,
+ 450, 611, 607, 450, 606, 605, 604, 450, 450, 451,
+ 451, 316, 451, 451, 451, 451, 451, 451, 451, 451,
451, 451, 451, 451, 451, 451, 451, 451, 451, 451,
- 452, 452, 265, 452, 452, 452, 452, 452, 452, 452,
+
+ 452, 452, 590, 452, 452, 452, 452, 452, 452, 452,
452, 452, 452, 452, 452, 452, 452, 452, 452, 452,
- 452, 454, 454, 263, 454, 454, 454, 454, 454, 454,
+ 452, 454, 454, 589, 454, 454, 454, 454, 454, 454,
454, 454, 454, 454, 454, 454, 454, 454, 454, 454,
454, 454, 458, 458, 458, 458, 458, 458, 458, 458,
458, 458, 458, 458, 458, 458, 458, 458, 458, 458,
-
- 458, 458, 458, 191, 260, 120, 191, 237, 120, 179,
+ 458, 458, 458, 191, 588, 587, 191, 400, 400, 400,
191, 191, 478, 478, 478, 478, 478, 478, 478, 478,
- 478, 478, 478, 478, 120, 478, 478, 179, 478, 478,
+ 478, 478, 478, 478, 400, 478, 478, 400, 478, 478,
478, 478, 478, 430, 430, 430, 430, 430, 430, 430,
- 430, 430, 430, 430, 430, 179, 430, 430, 179, 430,
+
+ 430, 430, 430, 430, 430, 540, 430, 430, 539, 430,
430, 430, 430, 430, 422, 422, 422, 422, 422, 422,
- 422, 422, 422, 422, 422, 422, 182, 422, 422, 178,
- 422, 422, 422, 422, 422, 487, 487, 176, 487, 487,
+ 422, 422, 422, 422, 422, 422, 536, 422, 422, 532,
+ 422, 422, 422, 422, 422, 487, 487, 259, 487, 487,
487, 487, 487, 487, 487, 487, 487, 487, 487, 487,
- 487, 487, 487, 487, 487, 487, 499, 499, 982, 499,
-
+ 487, 487, 487, 487, 487, 487, 499, 499, 120, 499,
499, 499, 499, 499, 499, 499, 499, 499, 499, 499,
- 499, 499, 499, 499, 499, 499, 499, 504, 504, 58,
+ 499, 499, 499, 499, 499, 499, 499, 504, 504, 516,
504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
504, 504, 504, 504, 504, 504, 504, 504, 108, 108,
- 108, 58, 982, 108, 108, 108, 108, 108, 982, 108,
- 108, 108, 108, 982, 982, 982, 108, 108, 514, 514,
- 982, 982, 514, 982, 982, 982, 982, 982, 982, 982,
- 514, 982, 514, 982, 982, 982, 982, 514, 519, 519,
+
+ 108, 511, 510, 108, 108, 108, 108, 108, 509, 108,
+ 108, 108, 108, 498, 497, 496, 108, 108, 514, 514,
+ 493, 488, 514, 484, 483, 482, 481, 480, 479, 477,
+ 514, 476, 514, 971, 472, 471, 470, 514, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519, 519, 377,
-
377, 377, 377, 377, 377, 377, 377, 377, 377, 377,
377, 377, 377, 377, 377, 377, 377, 377, 377, 377,
- 531, 531, 982, 531, 531, 531, 531, 531, 531, 531,
+ 531, 531, 469, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 531, 531, 531, 531, 531, 531,
- 531, 535, 535, 982, 535, 535, 535, 535, 535, 535,
+
+ 531, 535, 535, 468, 535, 535, 535, 535, 535, 535,
535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
- 535, 535, 593, 593, 982, 593, 593, 593, 593, 593,
+ 535, 535, 593, 593, 467, 593, 593, 593, 593, 593,
593, 593, 593, 593, 593, 593, 593, 593, 593, 593,
- 593, 593, 593, 619, 619, 982, 619, 619, 619, 619,
+ 593, 593, 593, 619, 619, 173, 619, 619, 619, 619,
619, 619, 619, 619, 619, 619, 619, 619, 619, 619,
-
- 619, 619, 619, 619, 622, 622, 982, 622, 622, 622,
+ 619, 619, 619, 619, 622, 622, 313, 622, 622, 622,
622, 622, 622, 622, 622, 622, 622, 622, 622, 622,
- 622, 622, 622, 622, 622, 630, 630, 982, 630, 630,
+ 622, 622, 622, 622, 622, 630, 630, 400, 630, 630,
630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
- 630, 630, 630, 630, 630, 630, 634, 634, 982, 634,
+
+ 630, 630, 630, 630, 630, 630, 634, 634, 263, 634,
634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
634, 634, 634, 634, 634, 634, 634, 637, 637, 637,
- 637, 637, 637, 637, 637, 637, 637, 637, 637, 982,
- 637, 637, 982, 637, 637, 637, 637, 637, 641, 641,
+ 637, 637, 637, 637, 637, 637, 637, 637, 637, 400,
+ 637, 637, 397, 637, 637, 637, 637, 637, 641, 641,
641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
-
641, 641, 641, 641, 641, 641, 641, 641, 641, 645,
645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
645, 645, 645, 645, 645, 645, 645, 645, 645, 645,
- 651, 651, 982, 651, 651, 651, 651, 651, 651, 651,
+ 651, 651, 373, 651, 651, 651, 651, 651, 651, 651,
+
651, 651, 651, 651, 651, 651, 651, 651, 651, 651,
- 651, 667, 667, 982, 667, 667, 667, 667, 667, 667,
- 667, 667, 667, 667, 667, 667, 667, 982, 667, 667,
+ 651, 667, 667, 368, 667, 667, 667, 667, 667, 667,
+ 667, 667, 667, 667, 667, 667, 667, 367, 667, 667,
667, 667, 672, 672, 672, 672, 672, 672, 672, 672,
672, 672, 672, 672, 672, 672, 672, 672, 672, 672,
- 672, 672, 672, 699, 699, 982, 699, 699, 699, 699,
-
+ 672, 672, 672, 699, 699, 108, 699, 699, 699, 699,
699, 699, 699, 699, 699, 699, 699, 699, 699, 699,
- 699, 699, 699, 699, 703, 703, 982, 703, 703, 703,
+ 699, 699, 699, 699, 703, 703, 360, 703, 703, 703,
703, 703, 703, 703, 703, 703, 703, 703, 703, 703,
- 703, 703, 703, 703, 703, 720, 720, 982, 720, 720,
+ 703, 703, 703, 703, 703, 720, 720, 359, 720, 720,
+
720, 720, 720, 720, 720, 720, 720, 720, 720, 720,
- 720, 720, 720, 720, 720, 720, 727, 727, 982, 727,
+ 720, 720, 720, 720, 720, 720, 727, 727, 353, 727,
727, 727, 727, 727, 727, 727, 727, 727, 727, 727,
727, 727, 727, 727, 727, 727, 727, 731, 731, 731,
- 731, 731, 731, 731, 731, 731, 731, 731, 731, 982,
- 731, 731, 982, 731, 731, 731, 731, 731, 733, 733,
-
+ 731, 731, 731, 731, 731, 731, 731, 731, 731, 354,
+ 731, 731, 353, 731, 731, 731, 731, 731, 733, 733,
733, 733, 733, 733, 733, 733, 733, 733, 733, 733,
733, 733, 733, 733, 733, 733, 733, 733, 733, 780,
- 780, 982, 780, 780, 780, 780, 780, 780, 780, 780,
+ 780, 356, 780, 780, 780, 780, 780, 780, 780, 780,
780, 780, 780, 780, 780, 780, 780, 780, 780, 780,
+
807, 807, 807, 807, 807, 807, 807, 807, 807, 807,
807, 807, 807, 807, 807, 807, 807, 807, 807, 807,
807, 815, 815, 815, 815, 815, 815, 815, 815, 815,
- 815, 815, 815, 815, 815, 815, 815, 815, 982, 815,
- 815, 815, 817, 817, 982, 817, 817, 817, 817, 817,
+ 815, 815, 815, 815, 815, 815, 815, 815, 355, 815,
+ 815, 815, 817, 817, 354, 817, 817, 817, 817, 817,
817, 817, 817, 817, 817, 817, 817, 817, 817, 817,
-
817, 817, 817, 828, 828, 828, 828, 828, 828, 828,
828, 828, 828, 828, 828, 828, 828, 828, 828, 828,
828, 828, 828, 828, 834, 834, 834, 834, 834, 834,
834, 834, 834, 834, 834, 834, 834, 834, 834, 834,
+
834, 834, 834, 834, 834, 850, 850, 850, 850, 850,
- 982, 850, 850, 850, 850, 850, 850, 850, 850, 850,
- 850, 850, 850, 850, 850, 850, 860, 860, 982, 860,
+ 353, 850, 850, 850, 850, 850, 850, 850, 850, 850,
+ 850, 850, 850, 850, 850, 850, 860, 860, 353, 860,
860, 860, 860, 860, 860, 860, 860, 860, 860, 860,
- 860, 860, 860, 860, 860, 860, 860, 882, 882, 982,
+ 860, 860, 860, 860, 860, 860, 860, 882, 882, 344,
882, 882, 882, 882, 882, 882, 882, 882, 882, 882,
-
882, 882, 882, 882, 882, 882, 882, 882, 905, 905,
- 982, 905, 905, 905, 905, 905, 905, 905, 905, 905,
+ 340, 905, 905, 905, 905, 905, 905, 905, 905, 905,
905, 905, 905, 905, 905, 905, 905, 905, 905, 909,
909, 909, 909, 909, 909, 909, 909, 909, 909, 909,
- 909, 982, 909, 909, 982, 909, 909, 909, 909, 909,
+
+ 909, 338, 909, 909, 337, 909, 909, 909, 909, 909,
912, 912, 912, 912, 912, 912, 912, 912, 912, 912,
912, 912, 912, 912, 912, 912, 912, 912, 912, 912,
- 912, 916, 916, 982, 916, 916, 916, 916, 916, 916,
+ 912, 916, 916, 336, 916, 916, 916, 916, 916, 916,
916, 916, 916, 916, 916, 916, 916, 916, 916, 916,
916, 916, 926, 926, 926, 926, 926, 926, 926, 926,
-
926, 926, 926, 926, 926, 926, 926, 926, 926, 926,
- 926, 926, 926, 931, 931, 931, 931, 931, 931, 931,
- 931, 931, 931, 931, 931, 931, 931, 931, 931, 931,
- 982, 931, 931, 931, 935, 935, 982, 935, 935, 935,
- 935, 935, 935, 935, 935, 935, 935, 935, 935, 935,
- 935, 935, 935, 935, 935, 940, 940, 940, 940, 940,
- 940, 940, 940, 940, 940, 940, 940, 940, 940, 940,
- 940, 940, 940, 940, 940, 940, 967, 967, 967, 967,
- 967, 967, 967, 967, 967, 967, 967, 967, 982, 967,
- 967, 982, 967, 967, 967, 967, 967, 963, 963, 963,
-
- 963, 963, 963, 963, 963, 963, 963, 963, 963, 982,
- 963, 963, 982, 963, 963, 963, 963, 963, 973, 973,
- 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
- 973, 973, 973, 973, 973, 973, 973, 973, 973, 977,
- 977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
- 977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
- 981, 981, 982, 981, 981, 981, 981, 981, 981, 981,
- 981, 981, 981, 981, 981, 981, 982, 981, 981, 981,
- 981, 27, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
-
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982
+ 926, 926, 926, 929, 929, 929, 929, 929, 929, 929,
+ 929, 929, 929, 929, 929, 929, 929, 929, 929, 929,
+ 333, 929, 929, 929, 933, 933, 189, 933, 933, 933,
+
+ 933, 933, 933, 933, 933, 933, 933, 933, 933, 933,
+ 933, 933, 933, 933, 933, 938, 938, 938, 938, 938,
+ 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
+ 938, 938, 938, 938, 938, 938, 963, 963, 963, 963,
+ 963, 963, 963, 963, 963, 963, 963, 963, 325, 963,
+ 963, 324, 963, 963, 963, 963, 963, 960, 960, 960,
+ 960, 960, 960, 960, 960, 960, 960, 960, 960, 323,
+ 960, 960, 322, 960, 960, 960, 960, 960, 970, 970,
+ 321, 970, 970, 970, 970, 970, 970, 970, 970, 970,
+ 970, 970, 970, 970, 313, 970, 970, 970, 970, 306,
+
+ 305, 265, 263, 260, 120, 237, 120, 179, 120, 179,
+ 179, 179, 182, 178, 176, 971, 58, 58, 27, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971
} ;
-static yyconst flex_int16_t yy_chk[5439] =
+static yyconst flex_int16_t yy_chk[5276] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1442,7 +1421,7 @@ static yyconst flex_int16_t yy_chk[5439] =
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 3, 4, 5, 6, 7, 7, 8, 8,
- 9, 10, 13, 14, 15, 16, 17, 979, 18, 395,
+ 9, 10, 13, 14, 15, 16, 17, 968, 18, 395,
147, 17, 395, 18, 3, 4, 5, 6, 19, 7,
20, 8, 9, 10, 13, 14, 15, 16, 17, 19,
18, 20, 21, 147, 19, 155, 20, 21, 19, 235,
@@ -1451,7 +1430,7 @@ static yyconst flex_int16_t yy_chk[5439] =
30, 30, 30, 22, 33, 31, 32, 35, 39, 39,
39, 55, 31, 32, 35, 33, 35, 40, 55, 288,
- 39, 21, 21, 31, 32, 35, 288, 977, 40, 245,
+ 39, 21, 21, 31, 32, 35, 288, 962, 40, 245,
22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
@@ -1464,14 +1443,14 @@ static yyconst flex_int16_t yy_chk[5439] =
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
- 25, 25, 25, 25, 29, 29, 29, 29, 79, 975,
+ 25, 25, 25, 25, 29, 29, 29, 29, 79, 961,
29, 29, 29, 29, 279, 85, 29, 91, 29, 79,
29, 29, 29, 29, 279, 29, 85, 29, 91, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 36, 46, 29, 29, 29, 34,
34, 34, 46, 36, 248, 36, 38, 36, 38, 98,
- 149, 34, 966, 34, 82, 38, 149, 38, 100, 38,
+ 149, 34, 958, 34, 82, 38, 149, 38, 100, 38,
149, 82, 34, 84, 98, 145, 42, 42, 42, 100,
84, 42, 82, 98, 46, 36, 37, 37, 42, 37,
@@ -1486,7 +1465,7 @@ static yyconst flex_int16_t yy_chk[5439] =
202, 68, 44, 76, 202, 141, 76, 141, 90, 90,
90, 247, 148, 246, 736, 41, 45, 45, 45, 45,
- 90, 68, 68, 45, 45, 45, 76, 76, 45, 964,
+ 90, 68, 68, 45, 45, 45, 76, 76, 45, 955,
45, 148, 45, 45, 45, 45, 148, 45, 244, 45,
247, 45, 45, 45, 45, 45, 45, 45, 45, 45,
45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
@@ -1500,7 +1479,7 @@ static yyconst flex_int16_t yy_chk[5439] =
101, 101, 303, 80, 80, 81, 81, 81, 81, 250,
209, 81, 81, 101, 190, 153, 209, 81, 92, 81,
102, 190, 101, 102, 81, 153, 81, 102, 81, 153,
- 129, 102, 102, 961, 303, 102, 102, 102, 105, 105,
+ 129, 102, 102, 951, 303, 102, 102, 102, 105, 105,
105, 103, 103, 103, 103, 250, 150, 103, 104, 104,
104, 104, 270, 190, 104, 103, 150, 81, 81, 87,
103, 105, 104, 87, 87, 87, 150, 104, 87, 108,
@@ -1512,10 +1491,10 @@ static yyconst flex_int16_t yy_chk[5439] =
88, 236, 151, 192, 115, 236, 121, 194, 88, 115,
192, 156, 88, 115, 194, 88, 124, 124, 124, 88,
266, 192, 88, 151, 88, 194, 151, 124, 88, 124,
- 124, 88, 89, 170, 267, 958, 89, 89, 89, 124,
+ 124, 88, 89, 170, 267, 948, 89, 89, 89, 124,
266, 89, 170, 89, 170, 89, 89, 89, 89, 170,
89, 191, 89, 170, 89, 123, 123, 123, 191, 125,
- 267, 123, 125, 205, 125, 271, 954, 125, 125, 123,
+ 267, 123, 125, 205, 125, 271, 946, 125, 125, 123,
205, 282, 159, 159, 159, 172, 276, 172, 123, 273,
282, 205, 89, 97, 172, 271, 172, 125, 97, 97,
@@ -1533,7 +1512,7 @@ static yyconst flex_int16_t yy_chk[5439] =
269, 278, 107, 107, 107, 165, 274, 107, 300, 107,
274, 107, 107, 107, 107, 237, 237, 237, 107, 278,
107, 110, 110, 110, 110, 160, 284, 278, 110, 110,
- 110, 418, 289, 110, 950, 110, 948, 110, 110, 110,
+ 110, 418, 289, 110, 945, 110, 944, 110, 110, 110,
110, 418, 110, 289, 110, 284, 110, 110, 110, 110,
110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
@@ -1557,14 +1536,14 @@ static yyconst flex_int16_t yy_chk[5439] =
224, 224, 224, 409, 387, 213, 224, 280, 291, 277,
402, 228, 228, 228, 213, 328, 254, 228, 254, 286,
277, 254, 254, 224, 377, 228, 277, 286, 193, 206,
- 227, 227, 227, 227, 228, 377, 947, 227, 227, 227,
+ 227, 227, 227, 227, 228, 377, 939, 227, 227, 227,
286, 254, 227, 299, 227, 387, 227, 227, 227, 227,
242, 242, 242, 227, 403, 227, 229, 229, 229, 229,
403, 229, 229, 229, 242, 299, 292, 229, 229, 405,
- 229, 229, 229, 242, 946, 407, 292, 229, 383, 229,
+ 229, 229, 229, 242, 938, 407, 292, 229, 383, 229,
229, 229, 230, 292, 230, 230, 410, 230, 230, 405,
- 941, 240, 240, 240, 302, 302, 302, 240, 230, 407,
+ 937, 240, 240, 240, 302, 302, 302, 240, 230, 407,
427, 411, 258, 258, 258, 240, 383, 229, 229, 229,
231, 231, 231, 231, 240, 410, 258, 231, 231, 231,
411, 427, 231, 304, 231, 258, 231, 231, 231, 231,
@@ -1578,7 +1557,7 @@ static yyconst flex_int16_t yy_chk[5439] =
329, 408, 243, 243, 345, 241, 255, 255, 255, 257,
435, 257, 255, 243, 257, 257, 420, 255, 312, 255,
312, 312, 417, 312, 312, 257, 419, 420, 435, 255,
- 417, 940, 329, 350, 312, 350, 939, 257, 350, 350,
+ 417, 936, 329, 350, 312, 350, 934, 257, 350, 350,
419, 257, 275, 275, 275, 275, 275, 275, 275, 275,
275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
275, 275, 275, 275, 275, 275, 275, 275, 275, 275,
@@ -1600,38 +1579,38 @@ static yyconst flex_int16_t yy_chk[5439] =
287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
310, 310, 310, 354, 386, 354, 310, 425, 523, 429,
314, 314, 314, 425, 310, 314, 331, 331, 331, 523,
- 384, 384, 384, 310, 311, 311, 311, 311, 938, 311,
+ 384, 384, 384, 310, 311, 311, 311, 311, 933, 311,
311, 311, 386, 314, 429, 311, 311, 331, 311, 311,
311, 315, 315, 315, 432, 311, 315, 311, 311, 311,
316, 316, 316, 354, 432, 316, 317, 317, 317, 318,
318, 318, 317, 426, 315, 318, 332, 332, 332, 331,
384, 332, 414, 316, 433, 311, 311, 311, 332, 317,
- 437, 936, 318, 319, 319, 319, 319, 426, 436, 332,
- 319, 319, 319, 935, 414, 319, 330, 319, 433, 319,
+ 437, 932, 318, 319, 319, 319, 319, 426, 436, 332,
+ 319, 319, 319, 931, 414, 319, 330, 319, 433, 319,
319, 319, 319, 330, 319, 437, 319, 436, 319, 319,
319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
319, 319, 319, 319, 319, 319, 319, 319, 319, 319,
319, 319, 319, 442, 445, 330, 319, 319, 341, 341,
341, 442, 399, 341, 399, 348, 348, 348, 445, 575,
- 341, 348, 349, 349, 349, 575, 934, 348, 351, 351,
+ 341, 348, 349, 349, 349, 575, 930, 348, 351, 351,
351, 341, 391, 399, 349, 374, 349, 391, 348, 391,
374, 366, 351, 366, 366, 349, 366, 366, 374, 391,
440, 351, 360, 360, 360, 360, 441, 374, 360, 360,
- 440, 933, 361, 361, 361, 399, 360, 443, 361, 441,
+ 440, 929, 361, 361, 361, 399, 360, 443, 361, 441,
439, 360, 363, 363, 363, 360, 361, 443, 363, 364,
- 364, 364, 375, 438, 363, 361, 367, 367, 367, 932,
+ 364, 364, 375, 438, 363, 361, 367, 367, 367, 926,
375, 364, 371, 371, 371, 363, 439, 489, 371, 375,
503, 438, 364, 489, 360, 365, 365, 365, 365, 367,
365, 365, 365, 503, 489, 371, 365, 365, 365, 365,
- 365, 365, 380, 380, 380, 530, 365, 931, 365, 365,
+ 365, 365, 380, 380, 380, 530, 365, 921, 365, 365,
365, 372, 372, 372, 380, 381, 380, 372, 378, 378,
378, 379, 379, 379, 378, 380, 381, 379, 381, 524,
378, 381, 381, 379, 372, 548, 365, 365, 365, 526,
524, 378, 530, 555, 379, 382, 382, 382, 385, 385,
- 385, 393, 393, 393, 398, 398, 398, 518, 926, 382,
+ 385, 393, 393, 393, 398, 398, 398, 518, 920, 382,
548, 555, 393, 545, 393, 416, 416, 416, 382, 434,
424, 424, 424, 545, 393, 398, 424, 434, 526, 434,
446, 446, 446, 549, 518, 416, 529, 552, 416, 501,
@@ -1640,7 +1619,7 @@ static yyconst flex_int16_t yy_chk[5439] =
455, 457, 457, 457, 455, 522, 467, 457, 467, 529,
424, 522, 455, 457, 458, 458, 458, 565, 494, 458,
- 494, 455, 522, 546, 457, 921, 458, 460, 450, 460,
+ 494, 455, 522, 546, 457, 919, 458, 460, 450, 460,
460, 554, 460, 460, 473, 473, 473, 458, 459, 459,
459, 459, 546, 459, 459, 459, 492, 492, 492, 459,
459, 459, 459, 459, 459, 554, 467, 570, 558, 459,
@@ -1652,18 +1631,18 @@ static yyconst flex_int16_t yy_chk[5439] =
465, 737, 647, 573, 465, 464, 474, 474, 474, 592,
571, 521, 474, 475, 475, 475, 521, 461, 534, 475,
561, 465, 521, 573, 462, 472, 472, 472, 472, 474,
- 534, 472, 472, 521, 534, 566, 475, 920, 737, 472,
+ 534, 472, 472, 521, 534, 566, 475, 918, 737, 472,
576, 505, 505, 505, 472, 647, 472, 505, 472, 498,
498, 498, 498, 505, 566, 498, 500, 500, 500, 500,
576, 569, 500, 498, 505, 507, 507, 507, 498, 577,
500, 508, 508, 508, 568, 500, 659, 472, 472, 512,
512, 512, 574, 508, 659, 512, 569, 580, 507, 513,
- 513, 513, 577, 568, 508, 513, 919, 515, 515, 515,
+ 513, 513, 577, 568, 508, 513, 916, 515, 515, 515,
578, 574, 512, 515, 525, 525, 525, 527, 527, 527,
578, 542, 513, 542, 580, 532, 532, 532, 581, 579,
515, 532, 541, 541, 541, 583, 544, 525, 544, 532,
- 585, 918, 542, 579, 582, 550, 550, 550, 532, 556,
+ 585, 913, 542, 579, 582, 550, 550, 550, 532, 556,
556, 556, 581, 541, 582, 644, 649, 544, 583, 550,
748, 585, 586, 586, 586, 550, 644, 527, 550, 650,
662, 668, 556, 663, 542, 675, 752, 650, 666, 662,
@@ -1679,14 +1658,14 @@ static yyconst flex_int16_t yy_chk[5439] =
596, 596, 594, 670, 596, 597, 597, 597, 594, 664,
597, 673, 590, 670, 661, 671, 676, 597, 687, 594,
762, 690, 596, 664, 691, 676, 762, 818, 597, 664,
- 690, 673, 691, 818, 916, 687, 562, 572, 572, 572,
+ 690, 673, 691, 818, 912, 687, 562, 572, 572, 572,
572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
572, 572, 572, 572, 572, 572, 572, 572, 572, 572,
- 572, 572, 572, 584, 584, 913, 584, 584, 584, 584,
+ 572, 572, 572, 584, 584, 910, 584, 584, 584, 584,
584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
@@ -1695,12 +1674,12 @@ static yyconst flex_int16_t yy_chk[5439] =
598, 598, 599, 599, 599, 598, 685, 648, 599, 600,
600, 600, 601, 601, 601, 600, 678, 602, 601, 602,
- 598, 912, 598, 599, 685, 599, 674, 608, 608, 608,
+ 598, 908, 598, 599, 685, 599, 674, 608, 608, 608,
600, 686, 600, 608, 770, 601, 609, 609, 609, 688,
689, 753, 609, 610, 610, 610, 678, 674, 719, 610,
608, 648, 598, 732, 767, 599, 719, 686, 770, 609,
753, 732, 600, 689, 688, 719, 610, 602, 616, 616,
- 732, 915, 767, 910, 616, 616, 616, 616, 616, 616,
+ 732, 915, 767, 907, 616, 616, 616, 616, 616, 616,
616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
616, 616, 616, 616, 616, 616, 616, 616, 620, 620,
@@ -1709,15 +1688,15 @@ static yyconst flex_int16_t yy_chk[5439] =
754, 620, 631, 632, 627, 751, 639, 639, 639, 632,
793, 631, 639, 642, 642, 642, 658, 768, 658, 642,
632, 738, 652, 652, 652, 754, 760, 642, 652, 639,
- 677, 768, 677, 652, 908, 652, 642, 658, 660, 660,
+ 677, 768, 677, 652, 906, 652, 642, 658, 660, 660,
660, 684, 684, 684, 660, 652, 755, 684, 769, 757,
677, 760, 761, 693, 693, 693, 755, 758, 660, 757,
700, 700, 700, 809, 684, 763, 700, 758, 771, 658,
660, 769, 808, 693, 700, 763, 693, 761, 771, 812,
677, 799, 810, 700, 701, 701, 701, 809, 660, 680,
- 701, 811, 808, 810, 907, 814, 701, 834, 799, 906,
- 812, 905, 811, 680, 680, 693, 814, 701, 834, 680,
+ 701, 811, 808, 810, 905, 814, 701, 834, 799, 904,
+ 812, 903, 811, 680, 680, 693, 814, 701, 834, 680,
680, 680, 680, 680, 680, 680, 680, 680, 680, 680,
680, 680, 680, 680, 680, 680, 680, 680, 680, 680,
680, 680, 680, 692, 692, 692, 692, 692, 692, 692,
@@ -1729,8 +1708,8 @@ static yyconst flex_int16_t yy_chk[5439] =
692, 692, 692, 692, 692, 692, 692, 692, 692, 705,
705, 705, 711, 711, 711, 705, 813, 849, 711, 716,
716, 716, 722, 722, 722, 726, 726, 726, 722, 739,
- 705, 726, 705, 904, 739, 711, 739, 853, 801, 726,
- 813, 849, 716, 802, 819, 722, 739, 903, 726, 729,
+ 705, 726, 705, 902, 739, 711, 739, 853, 801, 726,
+ 813, 849, 716, 802, 819, 722, 739, 901, 726, 729,
729, 729, 735, 735, 735, 729, 853, 820, 735, 794,
794, 794, 705, 743, 743, 743, 819, 745, 745, 745,
820, 716, 729, 745, 743, 735, 743, 777, 777, 777,
@@ -1738,25 +1717,25 @@ static yyconst flex_int16_t yy_chk[5439] =
782, 782, 782, 779, 924, 839, 782, 838, 893, 855,
777, 779, 797, 797, 797, 855, 878, 893, 797, 846,
- 779, 902, 924, 782, 800, 800, 800, 745, 765, 765,
+ 779, 897, 924, 782, 800, 800, 800, 745, 765, 765,
765, 887, 765, 765, 765, 797, 838, 839, 765, 765,
804, 804, 804, 806, 846, 806, 804, 800, 806, 806,
875, 804, 887, 804, 824, 824, 824, 878, 914, 806,
824, 875, 854, 804, 829, 829, 829, 830, 865, 830,
829, 806, 830, 830, 865, 806, 829, 824, 765, 892,
765, 773, 854, 840, 925, 865, 876, 829, 840, 892,
- 840, 914, 901, 891, 925, 773, 773, 876, 889, 886,
+ 840, 914, 891, 889, 925, 773, 773, 876, 957, 886,
840, 773, 773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 815, 815, 815, 879, 815,
815, 815, 821, 821, 821, 815, 815, 835, 835, 835,
- 953, 874, 821, 835, 836, 836, 836, 874, 837, 835,
- 836, 895, 821, 879, 894, 821, 836, 943, 874, 837,
- 835, 837, 881, 923, 837, 837, 953, 836, 842, 842,
- 842, 957, 895, 894, 881, 815, 911, 815, 881, 842,
- 951, 842, 821, 885, 884, 923, 943, 911, 957, 883,
- 951, 842, 847, 847, 847, 847, 847, 847, 847, 847,
+ 957, 874, 821, 835, 836, 836, 836, 874, 837, 835,
+ 836, 895, 821, 879, 894, 821, 836, 941, 874, 837,
+ 835, 837, 881, 923, 837, 837, 954, 836, 842, 842,
+ 842, 956, 895, 894, 881, 815, 911, 815, 881, 842,
+ 949, 842, 821, 954, 885, 923, 941, 911, 956, 884,
+ 949, 842, 847, 847, 847, 847, 847, 847, 847, 847,
847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
847, 847, 847, 847, 847, 847, 847, 847, 847, 847,
@@ -1770,263 +1749,245 @@ static yyconst flex_int16_t yy_chk[5439] =
848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
848, 848, 848, 848, 856, 856, 856, 857, 857, 857,
- 868, 868, 868, 873, 856, 877, 877, 877, 873, 928,
- 937, 937, 937, 944, 873, 959, 937, 856, 962, 945,
- 857, 968, 882, 868, 945, 873, 945, 872, 877, 870,
- 1007, 1007, 959, 937, 1007, 1078, 945, 962, 1078, 869,
- 867, 866, 944, 928, 856, 968, 863, 857, 858, 858,
+ 868, 868, 868, 873, 856, 877, 877, 877, 873, 935,
+ 935, 935, 942, 964, 873, 935, 959, 856, 1065, 943,
+ 857, 1065, 883, 868, 943, 873, 943, 882, 877, 996,
+ 996, 872, 935, 996, 870, 959, 943, 964, 997, 997,
+ 869, 942, 997, 867, 856, 866, 863, 857, 858, 858,
862, 858, 858, 858, 858, 858, 858, 858, 858, 858,
858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 896, 896, 896, 897, 897, 897,
- 917, 917, 917, 942, 942, 942, 917, 970, 972, 942,
- 973, 917, 861, 917, 1008, 1008, 860, 896, 1008, 897,
- 1018, 1018, 859, 917, 1018, 850, 942, 1038, 1038, 845,
- 843, 1038, 833, 970, 832, 831, 973, 828, 972, 1056,
- 1056, 827, 826, 1056, 896, 825, 823, 897, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
+ 858, 858, 858, 858, 896, 896, 896, 917, 917, 917,
+ 940, 940, 940, 917, 966, 861, 940, 860, 917, 859,
+ 917, 1007, 1007, 850, 845, 1007, 843, 896, 1027, 1027,
+ 917, 833, 1027, 940, 1045, 1045, 832, 831, 1045, 828,
+ 827, 826, 825, 823, 966, 817, 816, 807, 803, 798,
+ 796, 795, 792, 790, 896, 898, 783, 781, 780, 778,
898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
-
- 898, 898, 898, 898, 898, 898, 898, 898, 898, 898,
- 898, 898, 898, 898, 922, 922, 922, 922, 922, 922,
+ 898, 898, 898, 898, 898, 922, 922, 922, 922, 922,
922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
+
922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
922, 922, 922, 922, 922, 922, 922, 922, 922, 922,
- 927, 927, 927, 960, 817, 816, 807, 803, 798, 796,
- 795, 792, 790, 783, 781, 780, 778, 776, 775, 759,
- 750, 747, 927, 742, 741, 740, 734, 733, 730, 728,
-
- 727, 725, 724, 723, 721, 720, 718, 717, 715, 714,
- 713, 712, 710, 709, 708, 960, 707, 706, 704, 703,
- 927, 952, 952, 952, 952, 952, 952, 952, 952, 952,
- 952, 952, 952, 952, 952, 952, 952, 952, 952, 952,
- 952, 952, 952, 952, 952, 952, 952, 952, 952, 952,
- 952, 952, 952, 952, 952, 952, 952, 952, 952, 952,
- 952, 952, 952, 952, 952, 952, 952, 952, 952, 952,
- 952, 952, 952, 952, 952, 952, 952, 965, 965, 965,
- 969, 969, 969, 974, 974, 974, 978, 978, 978, 702,
- 699, 698, 697, 696, 695, 683, 682, 672, 669, 965,
-
- 667, 665, 657, 656, 655, 654, 653, 651, 646, 645,
- 643, 641, 638, 636, 635, 634, 633, 630, 629, 628,
- 626, 625, 624, 623, 622, 621, 619, 965, 618, 617,
- 969, 615, 614, 974, 613, 612, 978, 983, 983, 983,
- 983, 983, 983, 983, 983, 983, 983, 983, 983, 983,
- 983, 983, 983, 983, 983, 983, 983, 983, 984, 984,
- 984, 984, 984, 984, 984, 984, 984, 984, 984, 984,
- 984, 984, 984, 984, 984, 984, 984, 984, 984, 985,
- 985, 985, 985, 985, 985, 985, 985, 985, 985, 985,
- 985, 985, 985, 985, 985, 985, 985, 985, 985, 985,
-
- 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
- 986, 986, 986, 986, 986, 986, 986, 986, 986, 986,
- 986, 987, 987, 987, 987, 987, 987, 987, 987, 987,
+ 922, 950, 950, 950, 950, 950, 950, 950, 950, 950,
+ 950, 950, 950, 950, 950, 950, 950, 950, 950, 950,
+ 950, 950, 950, 950, 950, 950, 950, 950, 950, 950,
+ 950, 950, 950, 950, 950, 950, 950, 950, 950, 950,
+ 950, 950, 950, 950, 950, 950, 950, 950, 950, 950,
+ 950, 950, 950, 950, 950, 950, 950, 972, 972, 972,
+
+ 972, 972, 972, 972, 972, 972, 972, 972, 972, 972,
+ 972, 972, 972, 972, 972, 972, 972, 972, 973, 973,
+ 973, 973, 973, 973, 973, 973, 973, 973, 973, 973,
+ 973, 973, 973, 973, 973, 973, 973, 973, 973, 974,
+ 974, 974, 974, 974, 974, 974, 974, 974, 974, 974,
+ 974, 974, 974, 974, 974, 974, 974, 974, 974, 974,
+ 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
+ 975, 975, 975, 975, 975, 975, 975, 975, 975, 975,
+ 975, 976, 976, 976, 976, 976, 976, 976, 976, 976,
+ 976, 976, 976, 976, 976, 976, 976, 976, 976, 976,
+
+ 976, 976, 977, 977, 977, 977, 977, 977, 977, 977,
+ 977, 977, 977, 977, 977, 977, 977, 977, 977, 977,
+ 977, 977, 977, 978, 978, 978, 978, 978, 978, 978,
+ 978, 978, 978, 978, 978, 978, 978, 978, 978, 978,
+ 978, 978, 978, 978, 979, 979, 979, 979, 979, 979,
+ 979, 979, 979, 979, 979, 979, 979, 979, 979, 979,
+ 979, 979, 979, 979, 979, 980, 980, 980, 980, 980,
+ 980, 980, 980, 980, 980, 980, 980, 980, 980, 980,
+ 980, 980, 980, 980, 980, 980, 981, 981, 981, 981,
+ 981, 981, 981, 981, 981, 981, 981, 981, 981, 981,
+
+ 981, 981, 981, 981, 981, 981, 981, 982, 982, 982,
+ 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
+ 982, 982, 982, 982, 982, 982, 982, 982, 983, 776,
+ 775, 759, 983, 983, 983, 983, 750, 747, 742, 983,
+ 983, 984, 984, 984, 984, 741, 984, 984, 984, 984,
+ 984, 740, 984, 984, 984, 984, 734, 733, 730, 984,
+ 984, 985, 985, 728, 985, 985, 985, 985, 985, 985,
+ 985, 985, 985, 985, 985, 985, 985, 985, 727, 985,
+ 985, 985, 986, 986, 725, 986, 986, 986, 986, 986,
+ 986, 986, 986, 986, 986, 986, 986, 986, 986, 724,
+
+ 986, 986, 986, 987, 987, 723, 987, 987, 987, 987,
987, 987, 987, 987, 987, 987, 987, 987, 987, 987,
- 987, 987, 988, 988, 988, 988, 988, 988, 988, 988,
- 988, 988, 988, 988, 988, 988, 988, 988, 988, 988,
- 988, 988, 988, 989, 989, 989, 989, 989, 989, 989,
- 989, 989, 989, 989, 989, 989, 989, 989, 989, 989,
- 989, 989, 989, 989, 990, 990, 990, 990, 990, 990,
- 990, 990, 990, 990, 990, 990, 990, 990, 990, 990,
-
- 990, 990, 990, 990, 990, 991, 991, 991, 991, 991,
- 991, 991, 991, 991, 991, 991, 991, 991, 991, 991,
- 991, 991, 991, 991, 991, 991, 992, 992, 992, 992,
- 992, 992, 992, 992, 992, 992, 992, 992, 992, 992,
- 992, 992, 992, 992, 992, 992, 992, 993, 993, 993,
- 993, 993, 993, 993, 993, 993, 993, 993, 993, 993,
- 993, 993, 993, 993, 993, 993, 993, 993, 994, 611,
- 607, 606, 994, 994, 994, 994, 605, 604, 603, 994,
- 994, 995, 995, 995, 995, 595, 995, 995, 995, 995,
- 995, 593, 995, 995, 995, 995, 589, 588, 587, 995,
-
- 995, 996, 996, 564, 996, 996, 996, 996, 996, 996,
- 996, 996, 996, 996, 996, 996, 996, 996, 540, 996,
- 996, 996, 997, 997, 539, 997, 997, 997, 997, 997,
- 997, 997, 997, 997, 997, 997, 997, 997, 997, 538,
- 997, 997, 997, 998, 998, 537, 998, 998, 998, 998,
- 998, 998, 998, 998, 998, 998, 998, 998, 998, 998,
- 536, 998, 998, 998, 999, 999, 999, 535, 999, 999,
- 531, 999, 999, 999, 528, 999, 999, 520, 999, 519,
- 517, 999, 999, 999, 1000, 1000, 516, 1000, 1000, 1000,
- 511, 1000, 509, 1000, 1000, 1000, 1000, 506, 504, 499,
-
- 1000, 1000, 1001, 497, 496, 1001, 1001, 1001, 493, 1001,
- 491, 1001, 1001, 1001, 1001, 490, 487, 486, 1001, 1001,
- 1002, 1002, 484, 483, 1002, 1002, 482, 481, 480, 1002,
- 1002, 479, 1002, 477, 476, 471, 1002, 1002, 1003, 470,
- 469, 468, 1003, 1003, 466, 454, 453, 1003, 1003, 1003,
- 1003, 452, 451, 431, 1003, 1003, 1004, 1004, 1004, 423,
- 413, 1004, 1004, 1004, 1004, 1004, 401, 1004, 1004, 1004,
- 1004, 400, 397, 396, 1004, 1004, 1005, 1005, 394, 1005,
+ 721, 987, 987, 987, 988, 988, 988, 720, 988, 988,
+ 718, 988, 988, 988, 717, 988, 988, 715, 988, 714,
+ 713, 988, 988, 988, 989, 989, 712, 989, 989, 989,
+ 710, 989, 709, 989, 989, 989, 989, 708, 707, 706,
+ 989, 989, 990, 704, 703, 990, 990, 990, 702, 990,
+ 699, 990, 990, 990, 990, 698, 697, 696, 990, 990,
+ 991, 991, 695, 683, 991, 991, 682, 672, 669, 991,
+ 991, 667, 991, 665, 657, 656, 991, 991, 992, 655,
+
+ 654, 653, 992, 992, 651, 646, 645, 992, 992, 992,
+ 992, 643, 641, 638, 992, 992, 993, 993, 993, 636,
+ 635, 993, 993, 993, 993, 993, 634, 993, 993, 993,
+ 993, 633, 630, 629, 993, 993, 994, 994, 628, 994,
+ 994, 994, 994, 994, 994, 994, 994, 994, 994, 994,
+ 994, 994, 994, 994, 994, 994, 994, 995, 995, 995,
+ 626, 625, 995, 995, 995, 995, 995, 624, 995, 995,
+ 995, 995, 623, 622, 621, 995, 995, 998, 998, 619,
+ 618, 617, 615, 614, 613, 612, 611, 607, 998, 606,
+ 605, 998, 604, 603, 595, 998, 998, 999, 999, 593,
+
+ 999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
+ 999, 999, 999, 999, 999, 999, 999, 999, 1000, 589,
+ 588, 587, 564, 540, 1000, 539, 538, 1000, 537, 536,
+ 535, 1000, 1000, 1001, 531, 528, 1001, 520, 519, 1001,
+ 517, 516, 511, 1001, 1001, 1002, 1002, 1002, 1002, 1002,
+ 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
+ 1002, 1002, 1002, 1002, 1002, 1002, 1003, 1003, 509, 1003,
+ 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
+ 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1004, 1004,
+ 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004,
+
+ 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1004, 1005, 1005,
1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005,
- 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1006, 1006, 1006,
-
- 390, 389, 1006, 1006, 1006, 1006, 1006, 376, 1006, 1006,
- 1006, 1006, 373, 370, 369, 1006, 1006, 1009, 1009, 368,
- 357, 356, 355, 352, 347, 344, 342, 340, 1009, 339,
- 338, 1009, 337, 334, 333, 1009, 1009, 1010, 1010, 327,
+ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1006,
+ 1006, 506, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006,
+ 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006, 1006,
+ 1008, 1008, 504, 499, 497, 496, 493, 491, 490, 487,
+ 486, 484, 483, 482, 1008, 481, 480, 479, 477, 1008,
+ 1009, 476, 471, 1009, 470, 469, 468, 1009, 1009, 1010,
+ 1010, 466, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010,
1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010,
- 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1010, 1011, 326,
- 325, 324, 323, 322, 1011, 321, 320, 1011, 309, 265,
- 264, 1011, 1011, 1012, 263, 259, 1012, 239, 234, 1012,
- 233, 232, 226, 1012, 1012, 1013, 1013, 1013, 1013, 1013,
- 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
- 1013, 1013, 1013, 1013, 1013, 1013, 1014, 1014, 225, 1014,
- 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1014,
- 1014, 1014, 1014, 1014, 1014, 1014, 1014, 1015, 1015, 1015,
- 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
- 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1016, 1016,
- 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016,
- 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1017,
- 1017, 222, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
- 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017,
- 1019, 1019, 221, 220, 219, 218, 217, 216, 215, 210,
-
- 203, 201, 200, 199, 1019, 197, 189, 186, 185, 1019,
- 1020, 184, 183, 1020, 180, 167, 162, 1020, 1020, 1021,
- 1021, 161, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
- 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
- 1022, 1022, 136, 1022, 1022, 1022, 1022, 1022, 1022, 1022,
- 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022,
- 1022, 1023, 1023, 135, 1023, 1023, 1023, 1023, 1023, 1023,
+ 1011, 1011, 454, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
+ 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
+ 1011, 1012, 1012, 453, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012,
+ 1012, 1012, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
+ 1013, 1013, 1013, 1014, 452, 451, 1014, 431, 423, 413,
+ 1014, 1014, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
+ 1015, 1015, 1015, 1015, 401, 1015, 1015, 400, 1015, 1015,
+ 1015, 1015, 1015, 1016, 1016, 1016, 1016, 1016, 1016, 1016,
+
+ 1016, 1016, 1016, 1016, 1016, 397, 1016, 1016, 396, 1016,
+ 1016, 1016, 1016, 1016, 1017, 1017, 1017, 1017, 1017, 1017,
+ 1017, 1017, 1017, 1017, 1017, 1017, 394, 1017, 1017, 390,
+ 1017, 1017, 1017, 1017, 1017, 1018, 1018, 389, 1018, 1018,
+ 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018, 1018,
+ 1018, 1018, 1018, 1018, 1018, 1018, 1019, 1019, 376, 1019,
+ 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1019,
+ 1019, 1019, 1019, 1019, 1019, 1019, 1019, 1020, 1020, 373,
+ 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020,
+ 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1021, 1021,
+
+ 1021, 370, 369, 1021, 1021, 1021, 1021, 1021, 368, 1021,
+ 1021, 1021, 1021, 357, 356, 355, 1021, 1021, 1022, 1022,
+ 352, 347, 1022, 344, 342, 340, 339, 338, 337, 334,
+ 1022, 333, 1022, 327, 326, 325, 324, 1022, 1023, 1023,
1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,
- 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
+ 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1024,
1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
-
- 1024, 1024, 1024, 1025, 126, 119, 1025, 112, 75, 73,
- 1025, 1025, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
- 1026, 1026, 1026, 1026, 67, 1026, 1026, 64, 1026, 1026,
- 1026, 1026, 1026, 1027, 1027, 1027, 1027, 1027, 1027, 1027,
- 1027, 1027, 1027, 1027, 1027, 61, 1027, 1027, 58, 1027,
- 1027, 1027, 1027, 1027, 1028, 1028, 1028, 1028, 1028, 1028,
- 1028, 1028, 1028, 1028, 1028, 1028, 57, 1028, 1028, 51,
- 1028, 1028, 1028, 1028, 1028, 1029, 1029, 49, 1029, 1029,
+ 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
+ 1025, 1025, 323, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
+ 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025, 1025,
+
+ 1025, 1026, 1026, 322, 1026, 1026, 1026, 1026, 1026, 1026,
+ 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
+ 1026, 1026, 1028, 1028, 321, 1028, 1028, 1028, 1028, 1028,
+ 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028, 1028,
+ 1028, 1028, 1028, 1029, 1029, 320, 1029, 1029, 1029, 1029,
1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029, 1029,
- 1029, 1029, 1029, 1029, 1029, 1029, 1030, 1030, 27, 1030,
-
+ 1029, 1029, 1029, 1029, 1030, 1030, 309, 1030, 1030, 1030,
1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030,
- 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1031, 1031, 12,
+ 1030, 1030, 1030, 1030, 1030, 1031, 1031, 265, 1031, 1031,
1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031,
- 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1031, 1032, 1032,
- 1032, 11, 0, 1032, 1032, 1032, 1032, 1032, 0, 1032,
- 1032, 1032, 1032, 0, 0, 0, 1032, 1032, 1033, 1033,
- 0, 0, 1033, 0, 0, 0, 0, 0, 0, 0,
- 1033, 0, 1033, 0, 0, 0, 0, 1033, 1034, 1034,
+
+ 1031, 1031, 1031, 1031, 1031, 1031, 1032, 1032, 264, 1032,
+ 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
+ 1032, 1032, 1032, 1032, 1032, 1032, 1032, 1033, 1033, 1033,
+ 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 1033, 263,
+ 1033, 1033, 259, 1033, 1033, 1033, 1033, 1033, 1034, 1034,
1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1035,
-
1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035,
1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035,
- 1036, 1036, 0, 1036, 1036, 1036, 1036, 1036, 1036, 1036,
+ 1036, 1036, 239, 1036, 1036, 1036, 1036, 1036, 1036, 1036,
+
1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036,
- 1036, 1037, 1037, 0, 1037, 1037, 1037, 1037, 1037, 1037,
- 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037, 1037,
- 1037, 1037, 1039, 1039, 0, 1039, 1039, 1039, 1039, 1039,
+ 1036, 1037, 1037, 234, 1037, 1037, 1037, 1037, 1037, 1037,
+ 1037, 1037, 1037, 1037, 1037, 1037, 1037, 233, 1037, 1037,
+ 1037, 1037, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
+ 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
+ 1038, 1038, 1038, 1039, 1039, 232, 1039, 1039, 1039, 1039,
1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
- 1039, 1039, 1039, 1040, 1040, 0, 1040, 1040, 1040, 1040,
+ 1039, 1039, 1039, 1039, 1040, 1040, 226, 1040, 1040, 1040,
1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040,
+ 1040, 1040, 1040, 1040, 1040, 1041, 1041, 225, 1041, 1041,
- 1040, 1040, 1040, 1040, 1041, 1041, 0, 1041, 1041, 1041,
1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041,
- 1041, 1041, 1041, 1041, 1041, 1042, 1042, 0, 1042, 1042,
+ 1041, 1041, 1041, 1041, 1041, 1041, 1042, 1042, 222, 1042,
1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042,
- 1042, 1042, 1042, 1042, 1042, 1042, 1043, 1043, 0, 1043,
- 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043,
- 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1044, 1044, 1044,
- 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 0,
- 1044, 1044, 0, 1044, 1044, 1044, 1044, 1044, 1045, 1045,
- 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045,
-
- 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046,
- 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046,
+ 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1043, 1043, 1043,
+ 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 1043, 221,
+ 1043, 1043, 220, 1043, 1043, 1043, 1043, 1043, 1044, 1044,
+ 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044,
+ 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1046,
+ 1046, 219, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046,
1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046,
- 1047, 1047, 0, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
+
1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
- 1047, 1048, 1048, 0, 1048, 1048, 1048, 1048, 1048, 1048,
- 1048, 1048, 1048, 1048, 1048, 1048, 1048, 0, 1048, 1048,
- 1048, 1048, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
+ 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047,
+ 1047, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048,
+ 1048, 1048, 1048, 1048, 1048, 1048, 1048, 1048, 218, 1048,
+ 1048, 1048, 1049, 1049, 217, 1049, 1049, 1049, 1049, 1049,
1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
- 1049, 1049, 1049, 1050, 1050, 0, 1050, 1050, 1050, 1050,
-
+ 1049, 1049, 1049, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050,
- 1050, 1050, 1050, 1050, 1051, 1051, 0, 1051, 1051, 1051,
+ 1050, 1050, 1050, 1050, 1051, 1051, 1051, 1051, 1051, 1051,
1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051,
- 1051, 1051, 1051, 1051, 1051, 1052, 1052, 0, 1052, 1052,
- 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052,
- 1052, 1052, 1052, 1052, 1052, 1052, 1053, 1053, 0, 1053,
- 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
- 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1054, 1054, 1054,
- 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 0,
- 1054, 1054, 0, 1054, 1054, 1054, 1054, 1054, 1055, 1055,
- 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
- 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1057,
- 1057, 0, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
+ 1051, 1051, 1051, 1051, 1051, 1052, 1052, 1052, 1052, 1052,
+ 216, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052, 1052,
+ 1052, 1052, 1052, 1052, 1052, 1052, 1053, 1053, 215, 1053,
+ 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
+ 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1054, 1054, 210,
+ 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054,
+ 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1055,
+ 203, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
+ 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1056,
+ 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
+
+ 1056, 201, 1056, 1056, 200, 1056, 1056, 1056, 1056, 1056,
1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
+ 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
+ 1057, 1058, 1058, 199, 1058, 1058, 1058, 1058, 1058, 1058,
1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058,
- 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058,
- 1058, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
- 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 0, 1059,
- 1059, 1059, 1060, 1060, 0, 1060, 1060, 1060, 1060, 1060,
+ 1058, 1058, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
+ 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
+ 1059, 1059, 1059, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
+ 197, 1060, 1060, 1060, 1061, 1061, 189, 1061, 1061, 1061,
- 1060, 1060, 1060, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
- 1061, 1061, 1061, 1061, 1062, 1062, 1062, 1062, 1062, 1062,
+ 1061, 1061, 1061, 1061, 1061, 1062, 1062, 1062, 1062, 1062,
1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
- 1062, 1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063, 1063,
- 0, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063,
- 1063, 1063, 1063, 1063, 1063, 1063, 1064, 1064, 0, 1064,
- 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
- 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1065, 1065, 0,
- 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065,
-
- 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1066, 1066,
- 0, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066,
- 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1067,
- 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067,
- 1067, 0, 1067, 1067, 0, 1067, 1067, 1067, 1067, 1067,
- 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068,
- 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068,
- 1068, 1069, 1069, 0, 1069, 1069, 1069, 1069, 1069, 1069,
- 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
- 1069, 1069, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
-
- 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
- 1070, 1070, 1070, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
- 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
- 0, 1071, 1071, 1071, 1072, 1072, 0, 1072, 1072, 1072,
- 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
- 1072, 1072, 1072, 1072, 1072, 1073, 1073, 1073, 1073, 1073,
- 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073,
- 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1074, 1074, 1074,
- 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 0, 1074,
- 1074, 0, 1074, 1074, 1074, 1074, 1074, 1075, 1075, 1075,
-
- 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 0,
- 1075, 1075, 0, 1075, 1075, 1075, 1075, 1075, 1076, 1076,
- 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
- 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1077,
- 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
- 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
- 1079, 1079, 0, 1079, 1079, 1079, 1079, 1079, 1079, 1079,
- 1079, 1079, 1079, 1079, 1079, 1079, 0, 1079, 1079, 1079,
- 1079, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
-
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982, 982, 982,
- 982, 982, 982, 982, 982, 982, 982, 982
+ 1062, 1062, 1062, 1062, 1062, 1062, 1063, 1063, 1063, 1063,
+ 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 186, 1063,
+ 1063, 185, 1063, 1063, 1063, 1063, 1063, 1064, 1064, 1064,
+ 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 184,
+ 1064, 1064, 183, 1064, 1064, 1064, 1064, 1064, 1066, 1066,
+ 180, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066,
+ 1066, 1066, 1066, 1066, 167, 1066, 1066, 1066, 1066, 162,
+
+ 161, 136, 135, 126, 119, 112, 75, 73, 67, 64,
+ 61, 58, 57, 51, 49, 27, 12, 11, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971, 971, 971, 971, 971, 971,
+ 971, 971, 971, 971, 971
} ;
extern int yy_flex_debug;
@@ -2056,7 +2017,7 @@ goto find_rule; \
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "../../../utils/lacheck/lacheck.l"
-/* $Id: lacheck.l 51590 2019-07-09 15:26:51Z karl $
+/* $Id: lacheck.l 63190 2022-04-30 22:15:57Z karl $
*
* lacheck.lex - A consistency checker checker for LaTeX documents
*
@@ -2082,8 +2043,8 @@ char *yytext;
* Created On : Sun May 26 18:11:58 1991
*
* HISTORY
- * 01-May-2022 Karl Berry
- * Handle groups in definitions, and more \newcommand features.
+ * 02-May-2022 Karl Berry
+ * Count initial { of definitions, and support \newcommand* (etc.).
* Report from Michael Clark,
* https://tug.org/pipermail/tex-live/2022-April/048096.html.
* Version number now 1.30.
@@ -2250,7 +2211,7 @@ int def_count = 0;
-#line 2254 "../../../utils/lacheck/lacheck.c"
+#line 2215 "../../../utils/lacheck/lacheck.c"
#define INITIAL 0
#define B_ENVIRONMENT 1
@@ -2492,7 +2453,7 @@ YY_DECL
#line 241 "../../../utils/lacheck/lacheck.l"
-#line 2496 "../../../utils/lacheck/lacheck.c"
+#line 2457 "../../../utils/lacheck/lacheck.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -2519,14 +2480,14 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 983 )
+ if ( yy_current_state >= 972 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
*(yy_state_ptr)++ = yy_current_state;
++yy_cp;
}
- while ( yy_current_state != 982 );
+ while ( yy_current_state != 971 );
yy_find_action:
yy_current_state = *--(yy_state_ptr);
@@ -2861,7 +2822,7 @@ YY_RULE_SETUP
#line 401 "../../../utils/lacheck/lacheck.l"
{ ++def_count; BEGIN(DEF); }
YY_BREAK
-/* ws optional* ({\cs} |\cs) [N]? [dflt]? .* {defn}
+/* ws optional* ({\cs} |\cs) .*? {defn}
Pre-2019 rule was (see test-def.tex):
"\\"[exg]?(def|newcommand)[^\n\{]+ BEGIN(DEF);
@@ -3521,7 +3482,7 @@ YY_RULE_SETUP
#line 802 "../../../utils/lacheck/lacheck.l"
ECHO;
YY_BREAK
-#line 3525 "../../../utils/lacheck/lacheck.c"
+#line 3486 "../../../utils/lacheck/lacheck.c"
case YY_END_OF_BUFFER:
{
@@ -3782,7 +3743,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 983 )
+ if ( yy_current_state >= 972 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -3805,11 +3766,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 983 )
+ if ( yy_current_state >= 972 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 982);
+ yy_is_jam = (yy_current_state == 971);
if ( ! yy_is_jam )
*(yy_state_ptr)++ = yy_current_state;
@@ -4503,7 +4464,7 @@ void yyfree (void * ptr )
static void print_version (void)
{
printf("%s (TeX Live) %s\n", PROGNAME, "1.30");
- puts("$Id: lacheck.l 51590 2019-07-09 15:26:51Z karl $");
+ puts("$Id: lacheck.l 63190 2022-04-30 22:15:57Z karl $");
printf("License GPLv1+: GNU GPL version 1 or later");
puts(" <https://gnu.org/licenses/gpl.html>.");
puts("This is free software: you are free to change and redistribute it.");
diff --git a/support/lacheck/lacheck.l b/support/lacheck/lacheck.l
index f0f52f93b8..84694f4b03 100644
--- a/support/lacheck/lacheck.l
+++ b/support/lacheck/lacheck.l
@@ -1,4 +1,4 @@
-/* $Id: lacheck.l 63190 2022-04-30 22:15:57Z karl $
+/* $Id: lacheck.l 63198 2022-05-01 15:18:17Z karl $
*
* lacheck.lex - A consistency checker checker for LaTeX documents
*
@@ -24,8 +24,8 @@
* Created On : Sun May 26 18:11:58 1991
*
* HISTORY
- * 01-May-2022 Karl Berry
- * Count initial { of definitions, and more \newcommand features.
+ * 02-May-2022 Karl Berry
+ * Count initial { of definitions, and support \newcommand* (etc.).
* Report from Michael Clark,
* https://tug.org/pipermail/tex-live/2022-April/048096.html.
* Version number now 1.30.
@@ -391,16 +391,16 @@ symbol ("$"("\\"{atoz}+|.)"$"|"\\#"|"\\$"|"\\%"|"\\ref")
and/or with \...command[N] argument count;
To allow for arbitrary control sequence names, we match
the braced name as anything not containing a }.
- To handle optional argument specifications, we assume the { is on
- the same line as the csname.
We assume the control sequence name is either a single character or
one or more English letters, a-zA-Z, as usual with TeX.
- We assume the optional argument default does not contain a ].
+ To handle the [N] argument count and [dflt] optional argument
+ default specifications, we just match anything after the control
+ sequence up to the next {, which we assume starts the definition.
We don't do anything with the definition; the only purpose is to
count braces. */
-"\\"(provide|(re)?newcommand)[ \t\n]*(\*[ \t\n]*)?(\{\\[^}]+\}|\\([a-zA-Z]+|.))[ \t\n]*(\[[0-9]\](\[[^]]*\])?)?[ \t\n]*[^{]*\{ { ++def_count; BEGIN(DEF); }
+"\\"(provide|(re)?newcommand)[ \t\n]*(\*[ \t\n]*)?(\{\\[^}]+\}|\\([a-zA-Z]+|.))[^{]*\{ { ++def_count; BEGIN(DEF); }
- /* ws optional* ({\cs} |\cs) [N]? [dflt]? .* {defn}
+ /* ws optional* ({\cs} |\cs) .*? {defn}
Pre-2019 rule was (see test-def.tex):
"\\"[exg]?(def|newcommand)[^\n\{]+ BEGIN(DEF);
@@ -803,7 +803,7 @@ symbol ("$"("\\"{atoz}+|.)"$"|"\\#"|"\\$"|"\\%"|"\\ref")
static void print_version (void)
{
printf("%s (TeX Live) %s\n", PROGNAME, "1.30");
- puts("$Id: lacheck.l 63190 2022-04-30 22:15:57Z karl $");
+ puts("$Id: lacheck.l 63198 2022-05-01 15:18:17Z karl $");
printf("License GPLv1+: GNU GPL version 1 or later");
puts(" <https://gnu.org/licenses/gpl.html>.");
puts("This is free software: you are free to change and redistribute it.");
diff --git a/support/lacheck/test-def.tex b/support/lacheck/test-def.tex
index 44304876c2..95e8715741 100644
--- a/support/lacheck/test-def.tex
+++ b/support/lacheck/test-def.tex
@@ -1,8 +1,8 @@
-% $Id: test-def.tex 63190 2022-04-30 22:15:57Z karl $
+% $Id: test-def.tex 63198 2022-05-01 15:18:17Z karl $
% This file is public domain.
\documentclass{report}
-%\newcommand{\defaultleftmargin}{0.25in}
+\newcommand{\defaultleftmargin}{0.25in}
%\setlength{\oddsidemargin}{\defaultleftmargin}
%\providecommand{\defaultmargin}{0.25in}\def\defx{\defy}
diff --git a/support/luafindfont/CHANGELOG b/support/luafindfont/CHANGELOG
index c71c5f90c5..d809b8dec2 100644
--- a/support/luafindfont/CHANGELOG
+++ b/support/luafindfont/CHANGELOG
@@ -1,3 +1,4 @@
+0.07 2022-05-01 - added -x option for a kpsewhich test
0.06 2022-02-08 - small fix for output log
0.05 2021-12-04 - use always lowercase for internal search
- allow combined search like "times & bold"
diff --git a/support/luafindfont/README.md b/support/luafindfont/README.md
index f16decd3a2..6298fc3f95 100644
--- a/support/luafindfont/README.md
+++ b/support/luafindfont/README.md
@@ -14,6 +14,7 @@ parameter handling
- -h,--help
- -o,--otfinfo (default 0)
- -i,--info (default 0)
+- -x,--xetex
- -v,--verbose
- -m,--max_string (default 90)
- -n,--nosymbolicnames
diff --git a/support/luafindfont/doc/Examples/exa01.txt b/support/luafindfont/doc/Examples/exa01.txt
deleted file mode 100644
index e530f26082..0000000000
--- a/support/luafindfont/doc/Examples/exa01.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-We are using Lua 5.3
-Check for file /usr/local/texlive/2021/texmf-var/luatex-cache/generic/names/luaotfload-names
- 1. Segoe UI Symbol.ttf segoeuisymbol /Users/voss/Library/Fonts/Segoe/Segoe UI Symbol.ttf
- 2. Segoe_Print.ttf segoeprint /Users/voss/Library/Fonts/Segoe/Segoe_Print.ttf
- 3. Segoe_Print_Bold.ttf segoeprint /Users/voss/Library/Fonts/Segoe/Segoe_Print_Bold.ttf
- 4. Segoe_Script.ttf segoescript /Users/voss/Library/Fonts/Segoe/Segoe_Script.ttf
- 5. Segoe_Script_Bold.ttf segoescript /Users/voss/Library/Fonts/Segoe/Segoe_Script_Bold.ttf
- 6. Segoe_UI.ttf segoeui /Users/voss/Library/Fonts/Segoe/Segoe_UI.ttf
- 7. Segoe_UI_Bold.ttf segoeui /Users/voss/Library/Fonts/Segoe/Segoe_UI_Bold.ttf
- 8. Segoe_UI_Bold_Italic.ttf segoeui /Users/voss/Library/Fonts/Segoe/Segoe_UI_Bold_Italic.ttf
- 9. Segoe_UI_Italic.ttf segoeui /Users/voss/Library/Fonts/Segoe/Segoe_UI_Italic.ttf
diff --git a/support/luafindfont/doc/Examples/exa02.txt b/support/luafindfont/doc/Examples/exa02.txt
deleted file mode 100644
index 8c113341de..0000000000
--- a/support/luafindfont/doc/Examples/exa02.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-We are using Lua 5.3
-Check for file /usr/local/texlive/2021/texmf-var/luatex-cache/generic/names/luaotfload-names
- 1. LibertinusKeyboard-Regular.otf libertinuskeyboard /usr/local/texlive/2021/te...Regular.otf
- 2. LibertinusMath-Regular.otf libertinusmath /usr/local/texlive/2021/te...Regular.otf
- 3. LibertinusMono-Regular.otf libertinusmono /usr/local/texlive/2021/te...Regular.otf
- 4. LibertinusSans-Bold.otf libertinussans /usr/local/texlive/2021/te...ns-Bold.otf
- 5. LibertinusSans-Italic.otf libertinussans /usr/local/texlive/2021/te...-Italic.otf
- 6. LibertinusSans-Regular.otf libertinussans /usr/local/texlive/2021/te...Regular.otf
- 7. LibertinusSerif-Bold.otf libertinusserif /usr/local/texlive/2021/te...if-Bold.otf
- 8. LibertinusSerif-BoldItalic.otf libertinusserif /usr/local/texlive/2021/te...dItalic.otf
- 9. LibertinusSerif-Italic.otf libertinusserif /usr/local/texlive/2021/te...-Italic.otf
-10. LibertinusSerif-Regular.otf libertinusserif /usr/local/texlive/2021/te...Regular.otf
-11. LibertinusSerif-Semibold.otf libertinusserif /usr/local/texlive/2021/te...emibold.otf
-12. LibertinusSerif-SemiboldItalic.otf libertinusserif /usr/local/texlive/2021/te...dItalic.otf
-13. LibertinusSerifDisplay-Regular.otf libertinusserifdisplay /usr/local/texlive/2021/te...Regular.otf
-14. LibertinusSerifInitials-Regular.otf libertinusserifinitials /usr/local/texlive/2021/te...Regular.otf
diff --git a/support/luafindfont/doc/Examples/exa03.txt b/support/luafindfont/doc/Examples/exa03.txt
deleted file mode 100644
index 2bb02df1a6..0000000000
--- a/support/luafindfont/doc/Examples/exa03.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-We are using Lua 5.3
-Check for file /usr/local/texlive/2021/texmf-var/luatex-cache/generic/names/luaotfload-names
- 1. Arial Black.ttf arialblack /System/Library/Fonts/Supplemental/Arial Black.ttf
- 2. Arial Bold Italic.ttf arial /System/Library/Fonts/Supplemental/Arial Bold Italic.ttf
- 3. Arial Bold.ttf arial /System/Library/Fonts/Supplemental/Arial Bold.ttf
- 4. Arial Italic.ttf arial /System/Library/Fonts/Supplemental/Arial Italic.ttf
- 5. Arial Narrow Bold Italic.ttf arialnarrow /System/Library/Fonts/Supplemental/Arial Narrow Bold Italic.ttf
- 6. Arial Narrow Bold.ttf arialnarrow /System/Library/Fonts/Supplemental/Arial Narrow Bold.ttf
- 7. Arial Narrow Italic.ttf arialnarrow /System/Library/Fonts/Supplemental/Arial Narrow Italic.ttf
- 8. Arial Narrow.ttf arialnarrow /System/Library/Fonts/Supplemental/Arial Narrow.ttf
- 9. Arial Rounded Bold.ttf arialroundedmtbold /System/Library/Fonts/Supplemental/Arial Rounded Bold.ttf
-10. Arial Unicode.ttf arialunicodems /Library/Fonts/Arial Unicode.ttf
-11. Arial Unicode.ttf arialunicodems /System/Library/Fonts/Supplemental/Arial Unicode.ttf
-12. Arial.ttf arial /System/Library/Fonts/Supplemental/Arial.ttf
-13. Arial.ttf arial /Users/voss/Library/Fonts/Arial/Arial.ttf
-14. ArialHB.ttc arialhebrew /System/Library/Fonts/ArialHB.ttc
-15. ArialHB.ttc arialhebrewdeskinterface /System/Library/Fonts/ArialHB.ttc
-16. ArialHB.ttc arialhebrewscholar /System/Library/Fonts/ArialHB.ttc
-17. ArialHB.ttc arialhebrew /System/Library/Fonts/ArialHB.ttc
-
-Run otfinfo:6
-Family: Arial Narrow
-Subfamily: Bold
-Full name: Arial Narrow Bold
-PostScript name: ArialNarrow-Bold
-Version: Version 2.38.1x
-Unique ID: Arial Narrow Bold : 2007
-Description: Monotype Drawing Office 1982. A contemporary sans serif design, Arial contains more humanist characteristics than many of its predecessors and as such is more in tune with the mood of the last decades of the twentieth century. The overall treatment of curves is softer and fuller than in most industrial-style sans serif faces. Terminal strokes are cut on the diagonal which helps to give the face a less mechanical appearance. Arial is an extremely versatile family of typefaces which can be used with equal success for text setting in reports, presentations, magazines etc, and for display use in newspapers, advertising and promotions.
-Designer: Robin Nicholas, Patricia Saunders
-Manufacturer: The Monotype Corporation
-Trademark: Arial is a trademark of The Monotype Corporation in the United States and/or other countries.
-Copyright: © 2007 The Monotype Corporation. All Rights Reserved.
-License Description: You may use this font to display and print content as permitted by the license terms for the product in which this font is included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content.
-Vendor ID: TMC \ No newline at end of file
diff --git a/support/luafindfont/doc/Examples/exa04.txt b/support/luafindfont/doc/Examples/exa04.txt
deleted file mode 100644
index 5de45e30c6..0000000000
--- a/support/luafindfont/doc/Examples/exa04.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-We are using Lua 5.3
-Check for file /usr/local/texlive/2021/texmf-var/luatex-cache/generic/names/luaotfload-names
- 1. Segoe UI Symbol.ttf segoeuisymbol /Users/voss/Library/Fonts/Segoe/Segoe UI Symbol.ttf
- 2. Segoe_Print.ttf segoeprint /Users/voss/Library/Fonts/Segoe/Segoe_Print.ttf
- 3. Segoe_Print_Bold.ttf segoeprint /Users/voss/Library/Fonts/Segoe/Segoe_Print_Bold.ttf
- 4. Segoe_Script.ttf segoescript /Users/voss/Library/Fonts/Segoe/Segoe_Script.ttf
- 5. Segoe_Script_Bold.ttf segoescript /Users/voss/Library/Fonts/Segoe/Segoe_Script_Bold.ttf
- 6. Segoe_UI.ttf segoeui /Users/voss/Library/Fonts/Segoe/Segoe_UI.ttf
- 7. Segoe_UI_Bold.ttf segoeui /Users/voss/Library/Fonts/Segoe/Segoe_UI_Bold.ttf
- 8. Segoe_UI_Bold_Italic.ttf segoeui /Users/voss/Library/Fonts/Segoe/Segoe_UI_Bold_Italic.ttf
- 9. Segoe_UI_Italic.ttf segoeui /Users/voss/Library/Fonts/Segoe/Segoe_UI_Italic.ttf
-
-Font: segoeui
-Fonttype ttf(system) --> | Regular | Bold | Italic | BoldItalic |
diff --git a/support/luafindfont/doc/Examples/exa05.txt b/support/luafindfont/doc/Examples/exa05.txt
deleted file mode 100644
index ddcd0b86a3..0000000000
--- a/support/luafindfont/doc/Examples/exa05.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-We are using Lua 5.3
-Looking for font "*"
-Check for file /usr/local/texlive/texmf-var/luatex-cache/generic/names/luaotfload-names
- Nr. Fontname Path
- 1. Aboensis-Regular.otf /usr/local/texlive/texmf-dist/fonts/opentype/public/aboensis/
- 2. academicons.ttf /usr/local/texlive/texmf-dist/fonts/truetype/public/academicons/
- 3. Academy Engraved LET Fonts.ttf /System/Library/Fonts/Supplemental/
- 4. ACaslonPro-Bold.otf /Users/voss/Library/Fonts/Caslon/
- 5. ACaslonPro-BoldItalic.otf /Users/voss/Library/Fonts/Caslon/
- 6. ACaslonPro-Italic.otf /Users/voss/Library/Fonts/Caslon/
- 7. ACaslonPro-Regular.otf /Users/voss/Library/Fonts/Caslon/
- 8. ACaslonPro-Semibold.otf /Users/voss/Library/Fonts/Caslon/
- 9. ACaslonPro-SemiboldItalic.otf /Users/voss/Library/Fonts/Caslon/
- 10. Acathist-Regular.otf /usr/local/texlive/texmf-dist/fonts/opentype/public/fonts-churchslavonic/
- 11. AccanthisADFStdNo3-Bold.otf /usr/local/texlive/texmf-dist/fonts/opentype/arkandis/accanthis/
- 12. AccanthisADFStdNo3-BoldItalic.otf /usr/local/texlive/texmf-dist/fonts/opentype/arkandis/accanthis/
- 13. AccanthisADFStdNo3-Italic.otf /usr/local/texlive/texmf-dist/fonts/opentype/arkandis/accanthis/
- 14. AccanthisADFStdNo3-Regular.otf /usr/local/texlive/texmf-dist/fonts/opentype/arkandis/accanthis/
- 15. ACE.ttc /Users/voss/Library/Fonts/AppleSymbols/
- 16. ACE.ttc /Users/voss/Library/Fonts/AppleSymbols/
- 17. AdineKirnberg-Script.otf /Users/voss/Library/Fonts/AdineScript/
- 18. AdobeArabic-Bold.otf /Users/voss/Library/Fonts/Adobe/
- 19. AdobeArabic-BoldItalic.otf /Users/voss/Library/Fonts/Adobe/
-[...] [...] [...]
-6847. 儷宋_Pro.ttf /Users/voss/Library/Fonts/KozukaPro/
-6848. 华文仿宋.ttf /Users/voss/Library/Fonts/KozukaPro/
-6849. 华文宋体.ttf /Users/voss/Library/Fonts/KozukaPro/
-6850. 华文楷体.ttf /Users/voss/Library/Fonts/KozukaPro/
diff --git a/support/luafindfont/doc/Examples/exa06.txt b/support/luafindfont/doc/Examples/exa06.txt
deleted file mode 100644
index c076ffffd3..0000000000
--- a/support/luafindfont/doc/Examples/exa06.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-We are using Lua 5.3
-Looking for font "minion"
-Check for file /usr/local/texlive/2021/texmf-var/luatex-cache/generic/names/luaotfload-names
- Nr. Fontname Path
- 1. MinionMath-Bold.otf /Users/voss/Library/Fonts/MinionMath/
- 2. MinionMath-Regular.otf /Users/voss/Library/Fonts/MinionMath/
- 3. MinionPro-Bold.otf /Users/voss/Library/Fonts/MinionPro/
- 4. MinionPro-BoldCn.otf /Users/voss/Library/Fonts/MinionPro/
- 5. MinionPro-BoldCnIt.otf /Users/voss/Library/Fonts/MinionPro/
- 6. MinionPro-BoldIt.otf /Users/voss/Library/Fonts/MinionPro/
- 7. MinionPro-Capt.otf /Users/voss/Library/Fonts/MinionPro/
- 8. MinionPro-Disp.otf /Users/voss/Library/Fonts/MinionPro/
- 9. MinionPro-It.otf /Users/voss/Library/Fonts/MinionPro/
- 10. MinionPro-Medium.otf /Users/voss/Library/Fonts/MinionPro/
- 11. MinionPro-MediumIt.otf /Users/voss/Library/Fonts/MinionPro/
- 12. MinionPro-Regular.otf /Users/voss/Library/Fonts/MinionPro/
- 13. MinionPro-Semibold.otf /Users/voss/Library/Fonts/MinionPro/
- 14. MinionPro-SemiboldIt.otf /Users/voss/Library/Fonts/MinionPro/
- 15. MinionPro-Subh.otf /Users/voss/Library/Fonts/MinionPro/
diff --git a/support/luafindfont/doc/luafindfont-doc.pdf b/support/luafindfont/doc/luafindfont-doc.pdf
index 11fa8bff88..2d71f09f94 100644
--- a/support/luafindfont/doc/luafindfont-doc.pdf
+++ b/support/luafindfont/doc/luafindfont-doc.pdf
Binary files differ
diff --git a/support/luafindfont/doc/luafindfont-doc.tex b/support/luafindfont/doc/luafindfont-doc.tex
index b896d5953a..be0ea0c3c8 100644
--- a/support/luafindfont/doc/luafindfont-doc.tex
+++ b/support/luafindfont/doc/luafindfont-doc.tex
@@ -1,4 +1,4 @@
- %% $Id: luafindfont-doc.tex 341 2021-12-05 10:38:08Z herbert $
+ %% $Id: luafindfont-doc.tex 533 2022-05-01 18:31:44Z herbert $
%
\listfiles\setcounter{errorcontextlines}{100}
\documentclass[paper=a4,fontsize=11pt,DIV=14,parskip=half-,
@@ -37,7 +37,7 @@
\usepackage{xltabular,pdflscape}
\usepackage{hvlogos} % for Wikipedia W
\usepackage{listings}
-\usepackage{dtk-extern} % for Wikipedia W
+\usepackage{hvextern} % for Wikipedia W
\lstset{basicstyle=\ttfamily\small,language=[LaTeX]TeX}
\usepackage{ragged2e}
\usepackage{makeidx}\makeindex
@@ -77,9 +77,9 @@
\def\setVersion#1{\setVVersion#1!!}
\def\setVVersion#1=#2!!{\def\luafindfontVersion{#2}}
-\setVersion{version = 0.06}% can be automatically changed by perl
+\setVersion{version = 0.07}% can be automatically changed by perl
-\setkeys{dtk}{cleanup=true,force}
+\setkeys{hv}{cleanup=true,force}
\title{Program \texttt{luafindfont} \\--\\ \normalsize \luafindfontVersion\ (\today)}
\author{\shortstack{Herbert Voß\\\small \href{mailto:hvoss@tug.org}{hvoss@tug.org}}}
@@ -166,6 +166,7 @@ long form which, of course, can be mixed:
-h,--help
-o,--otfinfo (default 0)
-i,--info (default 0)
+ -x,--xetex
-n,--nosymbolicnames
-v... Verbosity output
-m,--max_string (default 90)
@@ -292,6 +293,30 @@ For the font number 4 there also exists a Regular, Bold, and a Italic font. The
is a BoldItalic version.
+\subsection{Option \texttt{-x}}\label{xetex}
+
+\XeTeX\ will find OpenType and TrueType fonts only, if they are part of the system fonts or
+found by \texttt{kpsewhich} by its filename. With the option \texttt{-x} you'll an additional
+column, which shows if the font is found by \texttt{kpsewhich} (1) or not (0). If not, then
+it is obvious, that you have to update the filename database of the \TeX\ distribution in
+the usual way by running \texttt{texhash} or via a menu entry if using a file manager.
+
+
+
+\begin{Verbatim}
+bash-3.2$ ./luafindfont.lua -x PStricksdotfont
+We are using Lua 5.3
+Looking for font "pstricksdotfont"
+No. Fontname Symbolic Name Path X
+ 1. myFont.otf pstricksdotfont /usr/local/texlive/texmf-local/fonts/opentype/ 0
+ 2. PSTricksDotFont.otf pstricksdotfont /usr/local/texlive/texmf-local/fonts/opentype/ 1
+\end{Verbatim}
+
+
+The font \texttt{myFont.otf} is found by \LuaTeX\ but not by \XeTeX.
+
+
+
\section{Examples}
diff --git a/support/luafindfont/man/luafindfont.1 b/support/luafindfont/man/luafindfont.1
index 50186a9f52..b3efcdcc07 100644
--- a/support/luafindfont/man/luafindfont.1
+++ b/support/luafindfont/man/luafindfont.1
@@ -22,6 +22,8 @@ List the given fontstyles (regular, bold, italic, bolditalic)
for the font with the given number
.IP -v,--verbose Verbosity level
Give more informations, by now only -v works
+.IP -x,--xetex
+test, if font is found by xetex via kpsewhich
.IP -m,--max_string (default 90)
The maximum of the stringlength of the full path of fonts
.IP -n,--nosymbolicnames
diff --git a/support/luafindfont/scripts/luafindfont.lua b/support/luafindfont/scripts/luafindfont.lua
index 2008194bb7..e3389ca9f7 100755
--- a/support/luafindfont/scripts/luafindfont.lua
+++ b/support/luafindfont/scripts/luafindfont.lua
@@ -4,10 +4,10 @@
-- FILE: luafindfont.lua
-- DESCRIPTION: search for fonts in the database
-- REQUIREMENTS: luatex v.0.80 or later; packages lualibs, xindex-lapp
--- AUTHOR: Herbert Voß (C) 2021-11-27
+-- AUTHOR: Herbert Voß (C) 2022-05-01
-----------------------------------------------------------------------
luafindfont = luafindfont or { }
- local version = 0.06
+ local version = 0.07
luafindfont.version = version
--[[
@@ -63,6 +63,7 @@ while i <= #arg do
-n,--nosymbolicnames
-o,--otfinfo (default 0)
-i,--info (default 0)
+ -x, --xetex
-v, --verbose
-m,--max_string (default 90)
<font> (string) ]])
@@ -70,6 +71,8 @@ while i <= #arg do
args_verbose = 1
elseif arg[i] == "-n" or arg[i] == "--nosymbolicnames" then
args_nosymbolicnames = 1
+ elseif arg[i] == "-x" or arg[i] == "--xetex" then
+ args_xetex = 1
elseif arg[i] == "-o" or arg[i] == "--otfinfo" then
local o_arg = arg[i+1]
otfinfo_arg = "i"
@@ -174,10 +177,12 @@ function getFileLocation()
end
function readBinaryOrZippedFile(file)
- print("Check for file "..file)
+ if vlevel > 0 then print("Check for file "..file..".luc") end
local f,err = io.open (file..".luc", "rb")
if not f then
- if vlevel > 0 then print("There is no binary data file ... ") end
+ if vlevel > 0 then
+ print("There is no binary data file ... checking for lua.gz")
+ end
f,err = io.open (file..".lua.gz", "r")
if not f then
if vlevel > 0 then print("There is no gzipped data file ... ") end
@@ -308,20 +313,43 @@ local Path = "Path"
local SymbolicName = "Symbolic Name"
local lfdNr = "No."
if (font_str ~= "*") and not noSymbolicNames then
- print(string.format("%4s %"..l_max[1].."s %"..l_max[2].."s %"..l_max[3].."s",lfdNr,Fontname,SymbolicName,Path))
+ if args_xetex then
+ print(string.format("%5s %"..l_max[1].."s %"..l_max[2].."s %"..l_max[3].."s".."%4s",lfdNr,Fontname,SymbolicName,Path,"X"))
+ else
+ print(string.format("%5s %"..l_max[1].."s %"..l_max[2].."s %"..l_max[3].."s",lfdNr,Fontname,SymbolicName,Path))
+ end
+else
+ if args_xetex then
+ print(string.format("%5s %"..l_max[1].."s %"..l_max[3].."s".."%4s",lfdNr,Fontname,Path,"X"))
else
- print(string.format("%4s %"..l_max[1].."s %"..l_max[3].."s",lfdNr,Fontname,Path))
+ print(string.format("%5s %"..l_max[1].."s %"..l_max[3].."s",lfdNr,Fontname,Path))
+ end
end
+local kpsewhich = "0" -- test if font is present for xetex
for i, v in ipairs(fontList) do
local path = getFileParts(v["fullpath"],"path")
if string.len(path) > l_max[3] then
path = string.sub (path, 1, minChars).."..."..string.sub (path, string.len(path)-maxStrLength+minChars+4)
end
+ local exrun = io.popen("kpsewhich "..v["basename"],'r')
+ if string.len(exrun:read('*all')) > 0 then
+ kpsewhich = "1"
+ else
+ kpsewhich = "0"
+ end
if (font_str ~= "*") and not noSymbolicNames then
- print(string.format("%4d. %"..l_max[1].."s %"..l_max[2].."s %"..l_max[3].."s",i,v["basename"],v["familyname"],path))
+ if args_xetex then
+ print(string.format("%4d. %"..l_max[1].."s %"..l_max[2].."s %"..l_max[3].."s".." %3s",i,v["basename"],v["familyname"],path,kpsewhich))
+ else
+ print(string.format("%4d. %"..l_max[1].."s %"..l_max[2].."s %"..l_max[3].."s",i,v["basename"],v["familyname"],path))
+ end
else
- print(string.format("%4d. %"..l_max[1].."s %"..l_max[3].."s",i,v["basename"],path))
+ if args_xetex then
+ print(string.format("%4d. %"..l_max[1].."s %"..l_max[3].."s".." %3s",i,v["basename"],path,kpsewhich))
+ else
+ print(string.format("%4d. %"..l_max[1].."s %"..l_max[3].."s",i,v["basename"],path))
+ end
end
end
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 8d90b0781b..4f68fe5c21 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -49,6 +49,7 @@ $mirrors = {
'Korea' => {
'http://ftp.ktug.org/tex-archive/' => 1,
'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,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 53fdd75c55..afbf4d2f48 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/2022
-depend revision/63190
+depend revision/63203
name 00texlive.image
category TLCore
@@ -4565,7 +4565,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 63172
+revision 63192
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
@@ -21101,7 +21101,7 @@ catalogue-version 1.0
name arara
category Package
-revision 63054
+revision 63203
shortdesc Automation of LaTeX compilation
longdesc Arara is comparable with other well-known compilation tools
longdesc like latexmk and rubber. The key difference is that arara
@@ -21109,53 +21109,39 @@ longdesc determines its actions from metadata in the source code, rather
longdesc than relying on indirect resources, such as log file analysis.
longdesc Arara requires a Java virtual machine.
depend arara.ARCH
-containersize 10626804
-containerchecksum 77b449def7818987bbf4750fd6e271f056f60db017c0469c18c54173164b64d953844c3198c1e157c88cdcefcc6255be199b988d23ee87c5cb8319ba2ce32846
-doccontainersize 2058272
-doccontainerchecksum dde89a4bd8a9fc62079337d762c67f039e6e79ff6dae7b30e9b23ea52e901c3e7e5dc78bb15c603f8fc228ea7b4e7317fe40a51ab608f9f1daad8de5d015a962
-docfiles size=836
+containersize 11777096
+containerchecksum 9ebd413c855345d621375f8698490246a1dff1f3b08af4bfaed5df1601d4c4848e946e828eccc59661e262a808e504f849a0791a8ea34533ae232b4780f97042
+doccontainersize 2660316
+doccontainerchecksum 46354fefac9ac53d93bb593b3fec10026838ab43c906c2c242c41ecdbf656a13eb77da8e674926091ae004a802b24d4f63831d3494e7dd0ee1d5f4a1d485d6a8
+docfiles size=1422
texmf-dist/doc/man/man1/arara.1
texmf-dist/doc/man/man1/arara.man1.pdf
texmf-dist/doc/support/arara/README.md details="Readme"
texmf-dist/doc/support/arara/arara-manual.pdf details="Reference manual"
- texmf-dist/doc/support/arara/arara-manual.tex
texmf-dist/doc/support/arara/arara-quickstart.pdf details="Quickstart guide"
- texmf-dist/doc/support/arara/arara-quickstart.tex
- texmf-dist/doc/support/arara/arara.sty
- texmf-dist/doc/support/arara/arararc.yaml
- texmf-dist/doc/support/arara/chapters/building.tex
- texmf-dist/doc/support/arara/chapters/cli.tex
- texmf-dist/doc/support/arara/chapters/concepts.tex
- texmf-dist/doc/support/arara/chapters/configuration.tex
- texmf-dist/doc/support/arara/chapters/deploying.tex
- texmf-dist/doc/support/arara/chapters/introduction.tex
- texmf-dist/doc/support/arara/chapters/license.tex
- texmf-dist/doc/support/arara/chapters/logging.tex
- texmf-dist/doc/support/arara/chapters/methods.tex
- texmf-dist/doc/support/arara/chapters/mvel.tex
- texmf-dist/doc/support/arara/chapters/rules.tex
- texmf-dist/doc/support/arara/chapters/yaml.tex
- texmf-dist/doc/support/arara/figures/arara.png
- texmf-dist/doc/support/arara/figures/dropdown1.pdf
- texmf-dist/doc/support/arara/figures/dropdown2.pdf
- texmf-dist/doc/support/arara/figures/gl.pdf
- texmf-dist/doc/support/arara/figures/inputbox1.pdf
- texmf-dist/doc/support/arara/figures/inputbox2.pdf
- texmf-dist/doc/support/arara/figures/messagebox1.pdf
- texmf-dist/doc/support/arara/figures/messagebox2.pdf
- texmf-dist/doc/support/arara/figures/optionbox1.pdf
- texmf-dist/doc/support/arara/figures/optionbox2.pdf
- texmf-dist/doc/support/arara/logos/bird.pdf
- texmf-dist/doc/support/arara/logos/logo1.pdf
- texmf-dist/doc/support/arara/logos/logo2.pdf
- texmf-dist/doc/support/arara/rules/manual.yaml
- texmf-dist/doc/support/arara/rules/quickstart.yaml
- texmf-dist/doc/support/arara/version.tex
-srccontainersize 100224
-srccontainerchecksum 81376faeb4b3560364382ddd8b6a6767874ef1414ba93b68481e526b2e5ba9b7e383b3011e83c14e4f78ad45b97487e05b4e966f0aa231471817526b3dedbf72
-srcfiles size=33
- texmf-dist/source/support/arara/arara-6.1.7-src.zip
-runfiles size=2973
+ texmf-dist/doc/support/arara/htmlmanualtopdf.sh
+ texmf-dist/doc/support/arara/htmlquickstarttopdf.sh
+ texmf-dist/doc/support/arara/resources/CascadiaMono-ExtraLight.otf
+ texmf-dist/doc/support/arara/resources/CascadiaMono-ExtraLightItalic.otf
+ texmf-dist/doc/support/arara/resources/CascadiaMono-Italic.otf
+ texmf-dist/doc/support/arara/resources/CascadiaMono-Light.otf
+ texmf-dist/doc/support/arara/resources/CascadiaMono-LightItalic.otf
+ texmf-dist/doc/support/arara/resources/CascadiaMono-Regular.otf
+ texmf-dist/doc/support/arara/resources/arara-logo-with-text-bottom.svg
+ texmf-dist/doc/support/arara/resources/firasans-bold.otf
+ texmf-dist/doc/support/arara/resources/firasans-italic.otf
+ texmf-dist/doc/support/arara/resources/firasans-light.otf
+ texmf-dist/doc/support/arara/resources/firasans-lightitalic.otf
+ texmf-dist/doc/support/arara/resources/firasans-regular.otf
+ texmf-dist/doc/support/arara/resources/gitlab-icon.svg
+ texmf-dist/doc/support/arara/resources/manual.css
+ texmf-dist/doc/support/arara/resources/version.txt
+ texmf-dist/doc/support/arara/website-src.zip
+srccontainersize 111096
+srccontainerchecksum 56539bb0d90e932ee9321f6370f8851d253738d3183b2edd326ffd24aa8a0cc317895dda2d4c86ad3a6f8cd1307576fd208cafa5008605438cd1d166d484a89f
+srcfiles size=38
+ texmf-dist/source/support/arara/arara-7.0.0-src.zip
+runfiles size=3281
texmf-dist/scripts/arara/arara.jar
texmf-dist/scripts/arara/arara.sh
texmf-dist/scripts/arara/rules/arara-rule-animate.yaml
@@ -21234,7 +21220,7 @@ catalogue-contact-support https://matrix.to/#/!HfEWIEvFtDplCLSQvz:matrix.org?via
catalogue-ctan /support/arara
catalogue-license bsd
catalogue-topics compilation
-catalogue-version 6.1.7
+catalogue-version 7.0.0
name arara.aarch64-linux
category Package
@@ -140875,7 +140861,7 @@ catalogue-version 0.21
name hvfloat
category Package
-revision 62893
+revision 63201
shortdesc Controlling captions, fullpage and doublepage floats
relocated 1
longdesc This package defines a macro to place objects (tables and
@@ -140887,11 +140873,11 @@ longdesc \hvFloat{figure}{\includegraphics{rose}}{Caption}{fig:0}.
longdesc Options are provided to place captions to the right or left,
longdesc and rotated. Setting nonFloat=true results in placing the float
longdesc here.
-containersize 11704
-containerchecksum 81a2c8f56105f4aa4427a7ef0f01f14353a15c32d4ba58fb1104b07d1633ee48ef922cefd30a8da132678837db0fbad4d1294cd86e17ffa761d9cdcfc3da596b
-doccontainersize 8718616
-doccontainerchecksum 27730ccb13436fbc4d8ca8a851da6b33de47e28558d882d530722660730564933a9f1229f4c2a189e1a22276445bafa57aaba28cdff46eabdde5f977ddeda3bd
-docfiles size=3873
+containersize 11776
+containerchecksum 06c66e5acb29d4c37f5261c97c7bd6db824f913b92e1c8253ba26df8d53b7158ff626b98a09e2ba9434dc60ead27185fb607d82c34151cd44534caf3b65f64c2
+doccontainersize 8725268
+doccontainerchecksum dc1d611b61ede790473d3da910db911bbd8780d92a353eaa81b81096b75939ea4a10438969d56a6fb80be2dd090428aa562ce32b4afc25583f6a401fbb29659d
+docfiles size=3875
RELOC/doc/latex/hvfloat/CTAN.png
RELOC/doc/latex/hvfloat/Changes
RELOC/doc/latex/hvfloat/README details="Readme"
@@ -141023,7 +141009,7 @@ catalogue-also rotating
catalogue-ctan /macros/latex/contrib/hvfloat
catalogue-license lppl
catalogue-topics float box-manip
-catalogue-version 2.38
+catalogue-version 2.39
name hvindex
category Package
@@ -146809,7 +146795,7 @@ catalogue-version 2.2
name install-latex-guide-zh-cn
category Package
-revision 62922
+revision 63200
shortdesc A short introduction to LaTeX installation written in Chinese
relocated 1
longdesc This package will introduce the operations related to
@@ -146818,9 +146804,9 @@ 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 50f1a8b82cc03ec8156652aabe1877490ec8b4a97798b49859e50e97567c82cb4802fb3abbe9d293730f3b778cb1ac29262937de4879f84be38d0a2c622d6b67
-doccontainersize 784944
-doccontainerchecksum dcbfd082620292d86d385961fa190d3f32adb99581ef8d7822e4fcf660fe5ed7aa36e0ede4f4aa34bdfa7150d2553b659512d2726bebc9fd9e70e5e6d719c74f
+containerchecksum b3b791ca57300348f3f8dabb83d0f2b36b97dd093a181beb4c8e113c04f2ef4f14d7e852efb9fb187053a08e34b2f149d6f910f485106084dcdea0adbc447655
+doccontainersize 787484
+doccontainerchecksum 8f71803e0337fb66496f2dd25acf533ca5f319333d2a4949ad5dd80c7c2c681acf2a6844ce388b394894e67945f67da60b311ef724a00e3c2abf321a5aca9b5f
docfiles size=225
RELOC/doc/latex/install-latex-guide-zh-cn/LICENSE
RELOC/doc/latex/install-latex-guide-zh-cn/README.md details="Readme"
@@ -146843,7 +146829,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 2022.4.1
+catalogue-version 2022.5.1
name installfont
category Package
@@ -220339,26 +220325,26 @@ catalogue-version 0.0.1
name njuthesis
category Package
-revision 62995
+revision 63202
shortdesc LaTeX thesis template for Nanjing University
relocated 1
longdesc The njuthesis class is intended for typesetting Nanjing
longdesc University dissertations with LaTeX, providing support for
longdesc bachelor, master, and doctoral thesis.
-containersize 14588
-containerchecksum 102a8147c1dfb50bdf5b12f2b84c20a6332adbbf3d3f72a8defe68e8fd05d884ca684656ab0867618767e27bdba01bbf6931468bb9918330a32ede0429c48c5c
-doccontainersize 1218472
-doccontainerchecksum 39971ca3da4b88abcccdbc4bc8b090b6c44b65125d96e0a180640c6559de6b5ed527d26aee4892e2ffd356f36637977fc3a9a7e9cf75643b91725d8a268b1210
-docfiles size=305
+containersize 15416
+containerchecksum 2f138d73592c6b9e9aa154bcaf43f898f38e518f98b3801db7186398a7d45e79d28897b360f5bc27f8ba38ae0c7f9739a9fa6e1d7ec76313c2ec49e614b7f1c6
+doccontainersize 1257848
+doccontainerchecksum 5ca8d84a068e68fa8d7ec1292874abbdc97d76e0a3d96f3d2c193d2cac138917a2aea498d47cceb95a3ea03cde813900bf4046330af36e89aa7f736f0a273aaa
+docfiles size=315
RELOC/doc/latex/njuthesis/LICENSE
RELOC/doc/latex/njuthesis/README.md details="Readme"
RELOC/doc/latex/njuthesis/njuthesis.pdf details="Package documentation" language="zh"
-srccontainersize 52028
-srccontainerchecksum 915f9b37f81ad325197aaf841c00b715a270804fd4a95965e04e26da82e64d71a7d4a90ac73bb91fbd83a56e487ed5d3cfc37a934fa75c8354e38498fdd9c058
-srcfiles size=56
+srccontainersize 54568
+srccontainerchecksum 1277fc0757587353704ff419ba0e3d463dcc093a295e1dddb703809a10e9cb3a928c4d80ccd7d3a31df8947333fe8bd1ac6fdadb6b47a505cd3a866ef6fdf89d
+srcfiles size=60
RELOC/source/latex/njuthesis/njuthesis.dtx
RELOC/source/latex/njuthesis/njuthesis.ins
-runfiles size=20
+runfiles size=21
RELOC/tex/latex/njuthesis/njuthesis-graduate.def
RELOC/tex/latex/njuthesis/njuthesis-undergraduate.def
RELOC/tex/latex/njuthesis/njuthesis.cls
@@ -220370,7 +220356,7 @@ catalogue-contact-support https://github.com/nju-lug/NJUThesis/discussions
catalogue-ctan /macros/unicodetex/latex/njuthesis
catalogue-license lppl1.3c
catalogue-topics dissertation proposal latex3 chinese
-catalogue-version 0.17.0
+catalogue-version 0.18.0
name njuvisual
category Package
@@ -290992,7 +290978,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 63180
+revision 63199
shortdesc Convert (La)TeX to HTML/XML
longdesc A converter from TeX and LaTeX to SGML-based formats such as
longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a
@@ -291013,10 +290999,10 @@ longdesc files from them is nontrivial, and generally done with the
longdesc Makefile in development, from which the TeX4ht package in TeX
longdesc Live is updated.
depend tex4ht.ARCH
-containersize 952160
-containerchecksum 206eaf66d0893f39f51d702715b3791f4979aa23b2b3ca06ae1f0c0a22797527d5915294cef4a6bee80f0b78c8945cf1afc5315c3f73774bca378b8e94d0a0ee
+containersize 952176
+containerchecksum 1651b36dc5912cf04551714b5cb55389fff49715ad67fee8bb2d298d4cab6fdec9387fea6f259733d8b32fa918bc7613b98b302655f81591cdf2a196bfd8059a
doccontainersize 136384
-doccontainerchecksum 2602c3026dc88e8dbed9f0dc2bd902ae78f34b01c4466377015a2c6d4af5158a0434770e54774681a211b5e249bff7735dfdbd2172e59eadd6f70a8bc7af4bae
+doccontainerchecksum 3a2c18d930a256aeac9faccb72ba8f8856e495cb685b2a5b011c76801ef550aebf54a19426d8d25ada2efb30309d88745445c3ce054d7f4a8ecc42cb688d21de
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -291088,8 +291074,8 @@ docfiles size=260
texmf-dist/doc/generic/tex4ht/mn56.html
texmf-dist/doc/generic/tex4ht/mn5x.png
texmf-dist/doc/generic/tex4ht/mn6x.png
-srccontainersize 1250200
-srccontainerchecksum c6e9b84692a452746579bc96e3721292d6016615184a93a93ca81646208a7cb58274faee05d245fcefc9bdb52c35be3213a03c4a6b79d797225dae056d6e47f6
+srccontainersize 1255040
+srccontainerchecksum 76b3374bcb1c7d2ae137cb6fb4c2ed4b873b260f0255594592330e0e03712915c487338a4d0948e641b571e28bd4f6abfac8fcba619b55cdf9e4e899456a5c47
srcfiles size=3810
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -301437,7 +301423,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 63172
+revision 63192
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.
@@ -301445,10 +301431,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 109720
-containerchecksum 00d5b5bcc5313f4ad5d9b0fa78ea0ccf70c746b9a4fe76de28bc4f6bc3f16bc3ed9703f683b2fb9d55d12c4c98f8f2bf8df6ef24435e54af4e5ae506e472d968
-doccontainersize 406260
-doccontainerchecksum 8e5cf3e1f4551067eb130fee13fdc47fc13a903276c697466d3b0cbe14457b487a21bbfce8bfeb862607340b1f250f1508eeb056540a0b246c105541d806e5f1
+containersize 109732
+containerchecksum 277ae45ea33eadc5278a1a62e21e74250f3050d225de72194f2242e73f91d5988a9efa156c660d1ac78d88e2733e94c156e393a8a5143037d9264a36f5699ce2
+doccontainersize 406360
+doccontainerchecksum d2695595b7f4d6db9383b3774d79920f0483d59c75b25a62719894b8a33d4ce3bffcb58a508cfacf0a258701d94a2f15adc6e2d0faf4236628bbfedbf236a19f
docfiles size=505
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 2ea40090ea..b2b277de07 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-636da01bafb4cf63d72442c981e85ee9 texlive.tlpdb
+2b0f2bc8b1164b2b5ca94381b742efda texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 51a10a97e5..a3ed555fee 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-75ae3cae3050104b0b84c2eceb91b4ac673bb11d4cd820596675e9c7bb2d3800cba9489feb23e64e9864d7e9584133e44afa7b5ad6e1db18f9da992b1fc7e577 texlive.tlpdb
+f2be6756d4aa3023b41d9a6478ff018f85cd1a4a910ae9722893e54cc03515c70dba8b8a16caa2c4fa41f874cee3212ceea27025bf61241da8fd0e00dbcf0d46 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 5d07bcc3f5..5a07877091 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-----
-iQEcBAEBCgAGBQJibc3oAAoJEEzhh34ZQ4xwt8AIAL8jZpsSENMk1Sb/ERhE+Fse
-ByQp9ImRVCuVgIsEu2FI+uVk7QPV3PItqFUzK6IgFKsb60WZsR4PsfH1lzsD+1D/
-L99pN/nx+gpPRT9JL92GfZiVJ+JSnoeB7cdWRiffOHOGj5bPrM2qcKOlgjEd5r6p
-vYnRZYM6RzFtUQz1whM8q1/lQG/dOIhwPuwSxIYjy3NG6rwmFVYcQVjgvrHC0WLy
-2neOIYW13XE+66Zp6G0IT/COYSYC69zFYM2ZGQEFfRWrxud4ghLjCxGjiyexIO0Y
-7fd/wm45rV27bMFYlKDXKEfuSVv/OAWvsZE7bfETXLkYxX3BLzrCxrojjTic1FM=
-=fvJl
+iQEcBAEBCgAGBQJibx4aAAoJEEzhh34ZQ4xwBRQH/jjnsTfO0PlWNMxOz2fzpBEr
+2dp/BKgamtc+QYI6VnlkqxJCK34+lS4dAyBp17DaZyv3ko/rYGX+Ho+/A/DuoMo1
++PebItkgHxKG4apQuNctXlITzcJM8sMhwgJrds44MGIq9hdW3Pu/gnT4MKqeyyoH
+IjOXLiloNdkd4nfZlznvYg1WVvO3an/nUPwgp2eBOPtqqZPOhfaCraIRCqkTtUYJ
+nxZnPe6STgL2yhNH/oNvaaUFG10HOB8Ct/h7O2bBAMAoL38yS78M8ErnxoHv8Hhx
+LHzWxe4Ov7jgj7lbtl8Ly4Hk+vWU58hwAZ/dmWPpLxouKbCefxdRcEKXJj39yHI=
+=VxnI
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index ddec753633..c12606ef26 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/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 8ca5171cd1..c35358381f 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=1651349865
+date=1651436240
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=117b35d3eaaace90811658e2c8b83daf
+lstdigest=0095a46b968f87b2a452e7bccde09d78
numpkg=5557
relstate=next
-version=8155
+version=8156
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: nn03I5JKRiEvviy1o/qJbNuuYkQIPQuG8dwmEJvUqCu2ORkbvusIcEEvlxIuwJdT+SNi28pVPxsqVm/y+JohEsY0FH0SIuG9gq+Nxfot7xgwIiSfEkpUPeHgLmPmvMHgiX+7Jgh5PMR2+qW2E5wnc6s6vdwfKC8JcxigPEfx8/tJYcU/CaY8y5vstpg/73AHsI0HdQCdQpwd+1rRdRnYBKJ6m55PSC7UbSomuadoRpqYhooC9HaYo/2PIplsPAMQx703jRlZgiWUelIqzKs99K79j7SmkH97pmX1C+LNMGuaNbLnToBbut48xpALRqezDXLCth8eq55D5UJUpbnaug==
+;;;; signature/miktex: vR+lCygyzOxSyoKM+4eX7tp2JyQpGgc/ZncUkFmlWIBL3ZRTnvdtCjLpCh23LxohyBgeyWNi9s+shzEYvITgmQemtndflI5YDu4pPDnN/ft08YFJT8eL14uGh+fWWIyoE0sC1yN3GMShyHnl4kTmPH4+ZK4ASOTLWY3SjJyQMofR46tpLAn4+hyjHG2dsOHMCtb1qNUEpwH03dOZ3hQs5nzzsPN3tWg+FLj8KaBF9Sh+MvcliTO89YFLl+IFemz3it66wvBFK5qICI35EDR/oXCpt6+PodFNAooShKpoy1BaIcKss6CKzlH+RcBnBkUms+Kzan4iPShiYSSXvYGP0A==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 0b169375d7..c91ed0d6db 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1651349483
+date=1651435875
lastupd=adjmulticol adjmulticol__doc adjmulticol__source arara arara__doc arara__source autopuncitems autopuncitems__doc autopuncitems__source babel-french babel-french__doc babel-french__source beaulivre beaulivre__doc beaulivre__source biblatex-gb7714-2015 biblatex-gb7714-2015__doc biblatex-gb7714-2015__source bxorigcapt bxorigcapt__doc
-lstdigest=224b2bfe977d6d0113cde7272e7300fc
+lstdigest=ff037a8c2f05213f884ff22733c7b799
numpkg=5557
relstate=stable
-version=8155
+version=8156
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: SlT3R8RqEI6yFKhm6RLzb+533scXjA96toPU1LdIEc19YvBwhY6GBr2Ht7mBji06kD7y2sM4AVIpvmhDI8XigTRfXdqZJ5DiXh/faDPWSZTBDZ7hX3lVIpnlHcH9Ru3POuEyPs533M5TFrD9/4rKdeskHYQkqAQU/W6Yh3eOeZgQev2ACRCe568qJ6H3XZKn+E2fDUlVXHI1Wz45Q8qbjQFGpkR6AuB7Ty21gpgoM8BI8vHYDKoSmbrOxcXsxUnGag3F7LV/wnmue/2muad+UjvuV5fpX4ZYnMqViI005YXhzmVTFR7J2oHI5QipzdmRxxpsTQrgt4+6yt6KB+mMlQ==
+;;;; signature/miktex: qTzaPKT+ki3TTw8+TdEGojq6JrqOHK/8jN6Mup0tEJYLn/Hzicud9M9oPCAs+euzogFaP8T93wuuxMELyjZ8ddTj4kRjHmBS41Ta/DvguZxPsT/7ILgEVjazi0XGaYvQITno25Qglu+dhotiwRgVvP4GF9fEp4b9JWY3MUmUJ3RoopsM/JRFOyBPEFVu0mPa8iI8//+gZL530fyMSQeTnJdlLd6dfl37UHTSD5BA449bHRQCQFyjhgnYGftWAjVqNIfbDCS+YHKC7KIUWgnb5WN398jUsN6aw0nfMSAqXvkUGfkHLYo6sPHCjT5SRDl4AeMFSt6TFDpd0PwnICTWBA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 51ff27489e..519b39d08c 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:
-2022-05-01-02-02
+2022-05-02-02-02