summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-01-15 03:00:56 +0000
committerNorbert Preining <norbert@preining.info>2020-01-15 03:00:56 +0000
commit3bd863734612dc2fe9c5c7c1405358ffb1228afb (patch)
tree9f7d421c227b998debe92dac90f4cf8634a8f94f
parentb3225c4301e7724de481f410444fef5463799b9d (diff)
CTAN sync 202001150300
-rw-r--r--FILES.byname756
-rw-r--r--FILES.byname.gzbin2161088 -> 2161516 bytes
-rw-r--r--FILES.last07days635
-rw-r--r--fonts/fourier-GUT/README11
-rw-r--r--fonts/fourier-GUT/latex/fourier-orns.sty20
-rw-r--r--fonts/fourier-GUT/latex/fourier.sty12
-rw-r--r--macros/latex/contrib/booktabs/README8
-rw-r--r--macros/latex/contrib/booktabs/booktabs.dtx33
-rw-r--r--macros/latex/contrib/booktabs/booktabs.ins47
-rw-r--r--macros/latex/contrib/booktabs/booktabs.pdfbin296459 -> 295596 bytes
-rw-r--r--macros/latex/contrib/cooking-units/README.md2
-rw-r--r--macros/latex/contrib/cooking-units/cooking-units.dtx2428
-rw-r--r--macros/latex/contrib/cooking-units/cooking-units.ins8
-rw-r--r--macros/latex/contrib/cooking-units/cooking-units.pdfbin658095 -> 700306 bytes
-rw-r--r--macros/latex/contrib/l3build/CHANGELOG.md9
-rw-r--r--macros/latex/contrib/l3build/README.md4
-rw-r--r--macros/latex/contrib/l3build/l3build-file-functions.lua6
-rw-r--r--macros/latex/contrib/l3build/l3build.12
-rw-r--r--macros/latex/contrib/l3build/l3build.dtx4
-rwxr-xr-xmacros/latex/contrib/l3build/l3build.lua4
-rw-r--r--macros/latex/contrib/l3build/l3build.pdfbin704370 -> 704174 bytes
-rw-r--r--macros/latex/contrib/tudscr/README.md10
-rw-r--r--macros/latex/contrib/tudscr/doc/LICENSE.md2
-rw-r--r--macros/latex/contrib/tudscr/doc/tudscr.pdfbin1160022 -> 1153970 bytes
-rw-r--r--macros/latex/contrib/tudscr/doc/tudscr_print.pdfbin1144517 -> 1138793 bytes
-rw-r--r--macros/latex/contrib/tudscr/doc/tudscrsource.pdfbin1016743 -> 1015159 bytes
-rw-r--r--macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdfbin122341 -> 121062 bytes
-rw-r--r--macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdfbin139909 -> 138011 bytes
-rw-r--r--macros/latex/contrib/tudscr/doc/tutorials/treatise.pdfbin889140 -> 888937 bytes
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex8
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/document.tex8
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex8
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex9
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex9
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/notice.tex8
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/poster.tex8
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/task.tex8
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/thesis.tex8
-rw-r--r--macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex9
-rw-r--r--macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex8
-rw-r--r--macros/latex/contrib/tudscr/source/doc/tudscr.tex10
-rw-r--r--macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex17
-rw-r--r--macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex17
-rw-r--r--macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex26
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-area.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-base.dtx110
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-color.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-comp.dtx18
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-doc.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-fields.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-fonts.dtx18
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-layout.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-localization.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-manual.dtx32
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-misc.dtx12
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-texindy.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-title.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx10
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-version.dtx14
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr.ins4
-rw-r--r--macros/latex/contrib/tudscr/source/tudscrsource.tex8
-rw-r--r--macros/latex/contrib/xurl/Changes1
-rw-r--r--macros/latex/contrib/xurl/doc/xurl.pdfbin42438 -> 56280 bytes
-rw-r--r--macros/latex/contrib/xurl/doc/xurl.tex38
-rw-r--r--macros/latex/contrib/xurl/latex/xurl.sty11
-rw-r--r--support/texplate/README.md169
-rw-r--r--support/texplate/doc/texplate-manual.pdfbin0 -> 103721 bytes
-rw-r--r--support/texplate/doc/texplate-manual.tex604
-rw-r--r--support/texplate/scripts/templates/article.toml54
-rw-r--r--support/texplate/scripts/templates/standalone.toml45
-rw-r--r--support/texplate/scripts/texplate.sh17
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/Main.java36
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidKeySetException.java37
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidTemplateException.java34
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/exceptions/TemplateMergingException.java37
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/model/Configuration.java150
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/model/Template.java252
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/model/TemplateProcessing.java391
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/BooleanHandler.java26
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/CSVListHandler.java30
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/Handler.java20
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/util/HandlerUtils.java31
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/util/MergingUtils.java186
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/util/MessageUtils.java84
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/util/PathUtils.java123
-rw-r--r--support/texplate/source/main/java/org/islandoftex/texplate/util/ValidatorUtils.java75
-rw-r--r--systems/mac/mactex/ExtrasFolder.pdfbin37824 -> 37305 bytes
-rw-r--r--systems/mac/mactex/Licenses.txt4
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl3
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb272
-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.xzbin2150904 -> 2154488 bytes
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin518736 -> 518141 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin518770 -> 517942 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini10
-rw-r--r--systems/win32/w32tex/ChangeLog6
-rw-r--r--timestamp2
104 files changed, 5394 insertions, 1888 deletions
diff --git a/FILES.byname b/FILES.byname
index 4716907f70..daffdacf9d 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -4993,7 +4993,7 @@
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
2014/04/13 | 4600576 | dviware/xdvi/22.87/xdvik-22.87.tar.gz
-2020/01/13 | 121147 | FILES.last07days
+2020/01/14 | 156393 | FILES.last07days
2018/06/27 | 99883 | fonts/academicons/academicons.pdf
2018/06/27 | 10779 | fonts/academicons/academicons.sty
2018/06/27 | 5774 | fonts/academicons/academicons.tex
@@ -39842,21 +39842,21 @@
2019/12/17 | 1680 | fonts/forum/vf/Forum-lf-t1.vf
2019/12/17 | 444 | fonts/forum/vf/Forum-lf-ts1.vf
2019/12/17 | 644312 | fonts/forum.zip
-2003/09/14 | 951 | fonts/fourier-GUT/afm/fourier-alt.afm
-2003/09/14 | 832 | fonts/fourier-GUT/afm/fourier-alt-black.afm
-2003/09/14 | 828 | fonts/fourier-GUT/afm/fourier-alt-bold.afm
-2003/09/14 | 850 | fonts/fourier-GUT/afm/fourier-alt-boldita.afm
-2003/09/14 | 837 | fonts/fourier-GUT/afm/fourier-alt-ita.afm
-2003/09/14 | 892 | fonts/fourier-GUT/afm/fourier-alt-semi.afm
-2003/09/14 | 851 | fonts/fourier-GUT/afm/fourier-alt-semiita.afm
-2003/09/14 | 1647 | fonts/fourier-GUT/afm/fourier-bb.afm
-2004/10/30 | 1618 | fonts/fourier-GUT/afm/fourier-mcl.afm
-2004/11/11 | 11335 | fonts/fourier-GUT/afm/fourier-mex.afm
-2004/10/30 | 3489 | fonts/fourier-GUT/afm/fourier-ml.afm
-2004/10/30 | 3503 | fonts/fourier-GUT/afm/fourier-mlb.afm
-2004/10/30 | 2702 | fonts/fourier-GUT/afm/fourier-mlit.afm
-2004/10/30 | 2711 | fonts/fourier-GUT/afm/fourier-mlitb.afm
-2005/01/07 | 7306 | fonts/fourier-GUT/afm/fourier-ms.afm
+2020/01/14 | 951 | fonts/fourier-GUT/afm/fourier-alt.afm
+2020/01/14 | 832 | fonts/fourier-GUT/afm/fourier-alt-black.afm
+2020/01/14 | 828 | fonts/fourier-GUT/afm/fourier-alt-bold.afm
+2020/01/14 | 850 | fonts/fourier-GUT/afm/fourier-alt-boldita.afm
+2020/01/14 | 837 | fonts/fourier-GUT/afm/fourier-alt-ita.afm
+2020/01/14 | 892 | fonts/fourier-GUT/afm/fourier-alt-semi.afm
+2020/01/14 | 851 | fonts/fourier-GUT/afm/fourier-alt-semiita.afm
+2020/01/14 | 1647 | fonts/fourier-GUT/afm/fourier-bb.afm
+2020/01/14 | 1618 | fonts/fourier-GUT/afm/fourier-mcl.afm
+2020/01/14 | 11335 | fonts/fourier-GUT/afm/fourier-mex.afm
+2020/01/14 | 3489 | fonts/fourier-GUT/afm/fourier-ml.afm
+2020/01/14 | 3503 | fonts/fourier-GUT/afm/fourier-mlb.afm
+2020/01/14 | 2702 | fonts/fourier-GUT/afm/fourier-mlit.afm
+2020/01/14 | 2711 | fonts/fourier-GUT/afm/fourier-mlitb.afm
+2020/01/14 | 7306 | fonts/fourier-GUT/afm/fourier-ms.afm
2019/11/16 | 2177 | fonts/fourier-GUT/afm/fourier-orns.afm
2019/11/28 | 249260 | fonts/fourier-GUT/doc/fourier-doc-en.pdf
2019/11/28 | 12628 | fonts/fourier-GUT/doc/fourier-doc-en.tex
@@ -39865,9 +39865,9 @@
2004/10/30 | 640 | fonts/fourier-GUT/latex/fmlfutm.fd
2004/10/30 | 656 | fonts/fourier-GUT/latex/fmlfutmi.fd
2004/10/30 | 344 | fonts/fourier-GUT/latex/fmsfutm.fd
-2004/10/31 | 234 | fonts/fourier-GUT/latex/fmxfutm.fd
-2019/11/28 | 4720 | fonts/fourier-GUT/latex/fourier-orns.sty
-2019/11/28 | 14751 | fonts/fourier-GUT/latex/fourier.sty
+2020/01/14 | 234 | fonts/fourier-GUT/latex/fmxfutm.fd
+2020/01/14 | 4863 | fonts/fourier-GUT/latex/fourier-orns.sty
+2020/01/14 | 15090 | fonts/fourier-GUT/latex/fourier.sty
2005/12/19 | 1679 | fonts/fourier-GUT/latex/t1futj.fd
2004/03/02 | 1110 | fonts/fourier-GUT/latex/t1futs.fd
2005/12/19 | 1089 | fonts/fourier-GUT/latex/t1fut-sup.fd
@@ -39882,7 +39882,7 @@
2019/11/20 | 33064 | fonts/fourier-GUT/opentype/FourierOrns-Bold.otf
2019/11/20 | 33188 | fonts/fourier-GUT/opentype/FourierOrns-Italic.otf
2019/11/20 | 33080 | fonts/fourier-GUT/opentype/FourierOrns-Regular.otf
-2019/11/28 | 7525 | fonts/fourier-GUT/README
+2020/01/14 | 8009 | fonts/fourier-GUT/README
2005/12/19 | 232 | fonts/fourier-GUT/tfm/fourier-alt-black.tfm
2005/12/19 | 220 | fonts/fourier-GUT/tfm/fourier-alt-boldita.tfm
2005/12/19 | 240 | fonts/fourier-GUT/tfm/fourier-alt-bold-sl.tfm
@@ -40114,7 +40114,7 @@
2019/11/16 | 296 | fonts/fourier-GUT/vf/futsorn.vf
2005/12/19 | 212 | fonts/fourier-GUT/vf/futs-sup.vf
2005/12/19 | 1244 | fonts/fourier-GUT/vf/futsy.vf
-2019/12/01 | 990309 | fonts/fourier-GUT.zip
+2020/01/14 | 990707 | fonts/fourier-GUT.zip
2007/04/26 | 1618 | fonts/fouriernc/afm/fourier-mcl.afm
2007/04/26 | 3489 | fonts/fouriernc/afm/fourier-ml.afm
2007/04/26 | 3503 | fonts/fouriernc/afm/fourier-mlb.afm
@@ -159971,7 +159971,7 @@
2019/11/29 | 509662 | install/macros/latex/contrib/kvoptions.tds.zip
2019/12/15 | 385518 | install/macros/latex/contrib/kvsetkeys.tds.zip
2019/11/25 | 785272 | install/macros/latex/contrib/l3backend.tds.zip
-2019/11/27 | 785828 | install/macros/latex/contrib/l3build.tds.zip
+2020/01/14 | 785535 | install/macros/latex/contrib/l3build.tds.zip
2020/01/13 | 4940260 | install/macros/latex/contrib/l3experimental.tds.zip
2020/01/13 | 11795151 | install/macros/latex/contrib/l3kernel.tds.zip
2020/01/13 | 2110761 | install/macros/latex/contrib/l3packages.tds.zip
@@ -160142,7 +160142,7 @@
2020/01/12 | 22124063 | install/macros/latex-dev/latex-base-dev.tds.zip
2019/11/18 | 2636412 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
2019/11/18 | 2535792 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
-2020/01/13 | 6935353 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
+2020/01/14 | 6957051 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
2019/11/10 | 21967509 | install/macros/latex/latex-base.tds.zip
2017/12/18 | 1359749 | install/macros/latex/required/amscls.tds.zip
2013/03/08 | 2480846 | install/macros/latex/required/amslatex/math.tds.zip
@@ -160189,6 +160189,7 @@
2015/12/31 | 575855 | install/support/pmxchords.tds.zip
2018/02/12 | 567984 | install/support/pmx.tds.zip
2018/03/28 | 170265 | install/support/texdef.tds.zip
+2020/01/14 | 2752909 | install/support/texplate.tds.zip
2018/09/08 | 33172 | install/support/thumbpdf.tds.zip
2012/09/28 | 2797 | install/support/typeoutfileinfo.tds.zip
2013/05/16 | 325991 | install/support/wheretotrim.tds.zip
@@ -179517,16 +179518,16 @@
2019/12/03 | 475757 | macros/latex/contrib/bookmark/bookmark.pdf
2019/12/03 | 328 | macros/latex/contrib/bookmark/README.md
2019/12/03 | 481265 | macros/latex/contrib/bookmark.zip
-2019/10/08 | 44017 | macros/latex/contrib/booktabs/booktabs.dtx
-2019/10/08 | 2384 | macros/latex/contrib/booktabs/booktabs.ins
-2019/10/08 | 296459 | macros/latex/contrib/booktabs/booktabs.pdf
+2020/01/14 | 44012 | macros/latex/contrib/booktabs/booktabs.dtx
+2020/01/14 | 2898 | macros/latex/contrib/booktabs/booktabs.ins
+2020/01/14 | 295596 | macros/latex/contrib/booktabs/booktabs.pdf
2011/03/30 | 49351 | macros/latex/contrib/booktabs-de/booktabs-de.dtx
2011/03/30 | 3503 | macros/latex/contrib/booktabs-de/booktabs-de.ins
2011/03/30 | 274075 | macros/latex/contrib/booktabs-de/booktabs-de.pdf
2011/03/30 | 1828 | macros/latex/contrib/booktabs-de/README-DE
2011/03/30 | 276646 | macros/latex/contrib/booktabs-de.zip
-2019/10/08 | 1623 | macros/latex/contrib/booktabs/README
-2019/10/08 | 309986 | macros/latex/contrib/booktabs.zip
+2020/01/14 | 1609 | macros/latex/contrib/booktabs/README
+2020/01/14 | 309272 | macros/latex/contrib/booktabs.zip
2010/04/12 | 43040 | macros/latex/contrib/boolexpr/boolexpr.dtx
2010/04/12 | 2504 | macros/latex/contrib/boolexpr/boolexpr.ins
2010/04/12 | 221162 | macros/latex/contrib/boolexpr/boolexpr.pdf
@@ -181259,11 +181260,11 @@
2014/12/28 | 409523 | macros/latex/contrib/cookingsymbols/cookingsymbols.pdf
2014/12/28 | 494 | macros/latex/contrib/cookingsymbols/README
2014/12/28 | 386109 | macros/latex/contrib/cookingsymbols.zip
-2018/09/24 | 259584 | macros/latex/contrib/cooking-units/cooking-units.dtx
-2018/09/24 | 1635 | macros/latex/contrib/cooking-units/cooking-units.ins
-2018/09/24 | 658095 | macros/latex/contrib/cooking-units/cooking-units.pdf
-2018/09/24 | 1480 | macros/latex/contrib/cooking-units/README.md
-2018/09/24 | 712231 | macros/latex/contrib/cooking-units.zip
+2020/01/13 | 289016 | macros/latex/contrib/cooking-units/cooking-units.dtx
+2020/01/13 | 1655 | macros/latex/contrib/cooking-units/cooking-units.ins
+2020/01/13 | 700306 | macros/latex/contrib/cooking-units/cooking-units.pdf
+2020/01/13 | 1482 | macros/latex/contrib/cooking-units/README.md
+2020/01/14 | 761901 | macros/latex/contrib/cooking-units.zip
2006/12/09 | 68397 | macros/latex/contrib/cooking.zip
2009/10/12 | 24947 | macros/latex/contrib/cookybooky/cookybooky.dtx
2009/10/10 | 1719 | macros/latex/contrib/cookybooky/cookybooky.ins
@@ -189542,31 +189543,31 @@
2019/11/25 | 47976 | macros/latex/contrib/l3backend/l3backend-pdf.dtx
2019/11/25 | 545 | macros/latex/contrib/l3backend/README.md
2019/11/26 | 761058 | macros/latex/contrib/l3backend.zip
-2019/11/27 | 11220 | macros/latex/contrib/l3build/CHANGELOG.md
-2019/11/27 | 2339 | macros/latex/contrib/l3build/CONTRIBUTING.md
-2019/11/27 | 1817 | macros/latex/contrib/l3build/l3build.1
-2019/11/27 | 7438 | macros/latex/contrib/l3build/l3build-arguments.lua
-2019/11/27 | 3239 | macros/latex/contrib/l3build/l3build-aux.lua
-2019/11/27 | 33539 | macros/latex/contrib/l3build/l3build-check.lua
-2019/11/27 | 1495 | macros/latex/contrib/l3build/l3build-clean.lua
-2019/11/27 | 4472 | macros/latex/contrib/l3build/l3build-ctan.lua
-2019/11/27 | 104561 | macros/latex/contrib/l3build/l3build.dtx
-2019/11/27 | 11748 | macros/latex/contrib/l3build/l3build-file-functions.lua
-2019/11/27 | 2191 | macros/latex/contrib/l3build/l3build-help.lua
-2019/11/27 | 1537 | macros/latex/contrib/l3build/l3build.ins
-2019/11/27 | 8915 | macros/latex/contrib/l3build/l3build-install.lua
-2019/11/27 | 5392 | macros/latex/contrib/l3build/l3build.lua
-2019/11/27 | 7205 | macros/latex/contrib/l3build/l3build-manifest.lua
-2019/11/27 | 11024 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
-2019/11/27 | 704370 | macros/latex/contrib/l3build/l3build.pdf
-2019/11/27 | 4303 | macros/latex/contrib/l3build/l3build-stdmain.lua
-2019/11/27 | 2305 | macros/latex/contrib/l3build/l3build-tagging.lua
-2019/11/27 | 6789 | macros/latex/contrib/l3build/l3build-typesetting.lua
-2019/11/27 | 3106 | macros/latex/contrib/l3build/l3build-unpack.lua
-2019/11/27 | 11575 | macros/latex/contrib/l3build/l3build-upload.lua
-2019/11/27 | 6790 | macros/latex/contrib/l3build/l3build-variables.lua
-2019/11/27 | 1024 | macros/latex/contrib/l3build/README.md
-2019/11/27 | 781880 | macros/latex/contrib/l3build.zip
+2020/01/14 | 11376 | macros/latex/contrib/l3build/CHANGELOG.md
+2020/01/14 | 2339 | macros/latex/contrib/l3build/CONTRIBUTING.md
+2020/01/14 | 1817 | macros/latex/contrib/l3build/l3build.1
+2020/01/14 | 7438 | macros/latex/contrib/l3build/l3build-arguments.lua
+2020/01/14 | 3239 | macros/latex/contrib/l3build/l3build-aux.lua
+2020/01/14 | 33539 | macros/latex/contrib/l3build/l3build-check.lua
+2020/01/14 | 1495 | macros/latex/contrib/l3build/l3build-clean.lua
+2020/01/14 | 4472 | macros/latex/contrib/l3build/l3build-ctan.lua
+2020/01/14 | 104561 | macros/latex/contrib/l3build/l3build.dtx
+2020/01/14 | 11748 | macros/latex/contrib/l3build/l3build-file-functions.lua
+2020/01/14 | 2191 | macros/latex/contrib/l3build/l3build-help.lua
+2020/01/14 | 1537 | macros/latex/contrib/l3build/l3build.ins
+2020/01/14 | 8915 | macros/latex/contrib/l3build/l3build-install.lua
+2020/01/14 | 5392 | macros/latex/contrib/l3build/l3build.lua
+2020/01/14 | 7205 | macros/latex/contrib/l3build/l3build-manifest.lua
+2020/01/14 | 11024 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
+2020/01/14 | 704174 | macros/latex/contrib/l3build/l3build.pdf
+2020/01/14 | 4303 | macros/latex/contrib/l3build/l3build-stdmain.lua
+2020/01/14 | 2305 | macros/latex/contrib/l3build/l3build-tagging.lua
+2020/01/14 | 6789 | macros/latex/contrib/l3build/l3build-typesetting.lua
+2020/01/14 | 3106 | macros/latex/contrib/l3build/l3build-unpack.lua
+2020/01/14 | 11575 | macros/latex/contrib/l3build/l3build-upload.lua
+2020/01/14 | 6790 | macros/latex/contrib/l3build/l3build-variables.lua
+2020/01/14 | 1024 | macros/latex/contrib/l3build/README.md
+2020/01/14 | 781587 | macros/latex/contrib/l3build.zip
2020/01/13 | 3714 | macros/latex/contrib/l3experimental/CHANGELOG.md
2020/01/13 | 17815 | macros/latex/contrib/l3experimental/l3benchmark.dtx
2020/01/13 | 1564 | macros/latex/contrib/l3experimental/l3benchmark.ins
@@ -202267,13 +202268,13 @@
2019/12/18 | 6639 | macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
2019/12/18 | 23566 | macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
2019/12/18 | 6371141 | macros/latex/contrib/tuda-ci.zip
-2019/07/17 | 1398 | macros/latex/contrib/tudscr/doc/LICENSE.md
-2019/10/23 | 1160022 | macros/latex/contrib/tudscr/doc/tudscr.pdf
-2019/10/23 | 1144517 | macros/latex/contrib/tudscr/doc/tudscr_print.pdf
-2019/10/23 | 1016743 | macros/latex/contrib/tudscr/doc/tudscrsource.pdf
-2019/10/23 | 122341 | macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf
-2019/10/23 | 139909 | macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdf
-2019/10/23 | 889140 | macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf
+2020/01/14 | 1398 | macros/latex/contrib/tudscr/doc/LICENSE.md
+2020/01/14 | 1153970 | macros/latex/contrib/tudscr/doc/tudscr.pdf
+2020/01/14 | 1138793 | macros/latex/contrib/tudscr/doc/tudscr_print.pdf
+2020/01/14 | 1015159 | macros/latex/contrib/tudscr/doc/tudscrsource.pdf
+2020/01/14 | 121062 | macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf
+2020/01/14 | 138011 | macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdf
+2020/01/14 | 888937 | macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf
2014/12/17 | 29754 | macros/latex/contrib/tudscr/logo/DDC-01.eps
2014/12/17 | 14980 | macros/latex/contrib/tudscr/logo/DDC-01.pdf
2014/12/17 | 17516 | macros/latex/contrib/tudscr/logo/DDC-03.eps
@@ -202304,58 +202305,58 @@
2015/02/15 | 9491 | macros/latex/contrib/tudscr/logo/TUD-blue.pdf
2015/02/15 | 19988 | macros/latex/contrib/tudscr/logo/TUD-white.eps
2015/02/15 | 9486 | macros/latex/contrib/tudscr/logo/TUD-white.pdf
-2019/10/23 | 14783 | macros/latex/contrib/tudscr/README.md
-2019/09/13 | 911 | macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex
-2019/10/07 | 489 | macros/latex/contrib/tudscr/source/doc/examples/document.tex
-2019/09/13 | 1996 | macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex
-2019/10/23 | 578 | macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex
-2019/10/23 | 1554 | macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex
-2019/09/13 | 1829 | macros/latex/contrib/tudscr/source/doc/examples/notice.tex
+2020/01/14 | 14914 | macros/latex/contrib/tudscr/README.md
+2020/01/14 | 914 | macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex
+2020/01/14 | 492 | macros/latex/contrib/tudscr/source/doc/examples/document.tex
+2020/01/14 | 1999 | macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex
+2020/01/14 | 631 | macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex
+2020/01/14 | 1607 | macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex
+2020/01/14 | 1832 | macros/latex/contrib/tudscr/source/doc/examples/notice.tex
2019/07/17 | 60 | macros/latex/contrib/tudscr/source/doc/examples/poster_print.tex
-2019/09/19 | 1067 | macros/latex/contrib/tudscr/source/doc/examples/poster.tex
-2019/09/13 | 1934 | macros/latex/contrib/tudscr/source/doc/examples/task.tex
-2019/09/13 | 893 | macros/latex/contrib/tudscr/source/doc/examples/thesis.tex
-2019/10/23 | 14895 | macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex
-2019/10/23 | 334 | macros/latex/contrib/tudscr/source/doc/sub-tudscr.tex
-2019/10/23 | 2630 | macros/latex/contrib/tudscr/source/doc/tudscr-additional.tex
-2019/10/23 | 18117 | macros/latex/contrib/tudscr/source/doc/tudscr-bundle.tex
-2019/10/23 | 6160 | macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex
-2019/10/23 | 39321 | macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex
-2019/10/23 | 4110 | macros/latex/contrib/tudscr/source/doc/tudscr-index.tex
-2019/10/23 | 28537 | macros/latex/contrib/tudscr/source/doc/tudscr-installation.tex
-2019/10/23 | 9684 | macros/latex/contrib/tudscr/source/doc/tudscr-introduction.tex
-2019/10/23 | 167066 | macros/latex/contrib/tudscr/source/doc/tudscr-mainclasses.tex
-2019/10/23 | 38104 | macros/latex/contrib/tudscr/source/doc/tudscr-obsolete.tex
-2019/10/23 | 53767 | macros/latex/contrib/tudscr/source/doc/tudscr-packages.tex
-2019/10/23 | 17370 | macros/latex/contrib/tudscr/source/doc/tudscr-poster.tex
-2019/10/23 | 3487 | macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex
-2019/10/23 | 17472 | macros/latex/contrib/tudscr/source/doc/tudscr-supervisor.tex
-2019/10/23 | 5024 | macros/latex/contrib/tudscr/source/doc/tudscr.tex
-2019/10/23 | 8615 | macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex
-2019/10/23 | 7044 | macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex
-2019/10/23 | 142094 | macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex
-2019/10/23 | 90056 | macros/latex/contrib/tudscr/source/tudscr-area.dtx
-2019/10/23 | 57305 | macros/latex/contrib/tudscr/source/tudscr-base.dtx
-2019/10/23 | 15611 | macros/latex/contrib/tudscr/source/tudscr-color.dtx
-2019/10/23 | 76935 | macros/latex/contrib/tudscr/source/tudscr-comp.dtx
-2019/10/23 | 55082 | macros/latex/contrib/tudscr/source/tudscr-doc.dtx
-2019/10/23 | 45102 | macros/latex/contrib/tudscr/source/tudscr-fields.dtx
-2019/10/23 | 157047 | macros/latex/contrib/tudscr/source/tudscr-fonts.dtx
-2019/10/23 | 49103 | macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx
-2019/10/23 | 11350 | macros/latex/contrib/tudscr/source/tudscr.ins
-2019/10/23 | 67829 | macros/latex/contrib/tudscr/source/tudscr-layout.dtx
-2019/10/23 | 38883 | macros/latex/contrib/tudscr/source/tudscr-localization.dtx
-2019/10/23 | 242211 | macros/latex/contrib/tudscr/source/tudscr-manual.dtx
-2019/10/23 | 11459 | macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx
-2019/10/23 | 23826 | macros/latex/contrib/tudscr/source/tudscr-misc.dtx
-2019/10/23 | 108243 | macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx
-2019/10/23 | 2985 | macros/latex/contrib/tudscr/source/tudscrsource.tex
-2019/10/23 | 22005 | macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
-2019/10/23 | 21517 | macros/latex/contrib/tudscr/source/tudscr-texindy.dtx
-2019/10/23 | 60016 | macros/latex/contrib/tudscr/source/tudscr-title.dtx
-2019/10/23 | 8079 | macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx
-2019/10/23 | 11338 | macros/latex/contrib/tudscr/source/tudscr-version.dtx
-2019/10/23 | 5030028 | macros/latex/contrib/tudscr.zip
+2020/01/14 | 1070 | macros/latex/contrib/tudscr/source/doc/examples/poster.tex
+2020/01/14 | 1937 | macros/latex/contrib/tudscr/source/doc/examples/task.tex
+2020/01/14 | 896 | macros/latex/contrib/tudscr/source/doc/examples/thesis.tex
+2020/01/14 | 14917 | macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex
+2020/01/14 | 334 | macros/latex/contrib/tudscr/source/doc/sub-tudscr.tex
+2020/01/14 | 2630 | macros/latex/contrib/tudscr/source/doc/tudscr-additional.tex
+2020/01/14 | 18117 | macros/latex/contrib/tudscr/source/doc/tudscr-bundle.tex
+2020/01/14 | 6160 | macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex
+2020/01/14 | 39355 | macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex
+2020/01/14 | 4110 | macros/latex/contrib/tudscr/source/doc/tudscr-index.tex
+2020/01/14 | 28537 | macros/latex/contrib/tudscr/source/doc/tudscr-installation.tex
+2020/01/14 | 9684 | macros/latex/contrib/tudscr/source/doc/tudscr-introduction.tex
+2020/01/14 | 167066 | macros/latex/contrib/tudscr/source/doc/tudscr-mainclasses.tex
+2020/01/14 | 38104 | macros/latex/contrib/tudscr/source/doc/tudscr-obsolete.tex
+2020/01/14 | 53767 | macros/latex/contrib/tudscr/source/doc/tudscr-packages.tex
+2020/01/14 | 17370 | macros/latex/contrib/tudscr/source/doc/tudscr-poster.tex
+2020/01/14 | 3487 | macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex
+2020/01/14 | 17472 | macros/latex/contrib/tudscr/source/doc/tudscr-supervisor.tex
+2020/01/14 | 5027 | macros/latex/contrib/tudscr/source/doc/tudscr.tex
+2020/01/14 | 8671 | macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex
+2020/01/14 | 7100 | macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex
+2020/01/14 | 142141 | macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex
+2020/01/14 | 90059 | macros/latex/contrib/tudscr/source/tudscr-area.dtx
+2020/01/14 | 55422 | macros/latex/contrib/tudscr/source/tudscr-base.dtx
+2020/01/14 | 15614 | macros/latex/contrib/tudscr/source/tudscr-color.dtx
+2020/01/14 | 77060 | macros/latex/contrib/tudscr/source/tudscr-comp.dtx
+2020/01/14 | 55085 | macros/latex/contrib/tudscr/source/tudscr-doc.dtx
+2020/01/14 | 45105 | macros/latex/contrib/tudscr/source/tudscr-fields.dtx
+2020/01/14 | 157045 | macros/latex/contrib/tudscr/source/tudscr-fonts.dtx
+2020/01/14 | 49106 | macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx
+2020/01/14 | 11350 | macros/latex/contrib/tudscr/source/tudscr.ins
+2020/01/14 | 67832 | macros/latex/contrib/tudscr/source/tudscr-layout.dtx
+2020/01/14 | 38886 | macros/latex/contrib/tudscr/source/tudscr-localization.dtx
+2020/01/14 | 242275 | macros/latex/contrib/tudscr/source/tudscr-manual.dtx
+2020/01/14 | 11462 | macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx
+2020/01/14 | 23829 | macros/latex/contrib/tudscr/source/tudscr-misc.dtx
+2020/01/14 | 108246 | macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx
+2020/01/14 | 2988 | macros/latex/contrib/tudscr/source/tudscrsource.tex
+2020/01/14 | 22008 | macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
+2020/01/14 | 21520 | macros/latex/contrib/tudscr/source/tudscr-texindy.dtx
+2020/01/14 | 60019 | macros/latex/contrib/tudscr/source/tudscr-title.dtx
+2020/01/14 | 8082 | macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx
+2020/01/14 | 11341 | macros/latex/contrib/tudscr/source/tudscr-version.dtx
+2020/01/14 | 5012595 | macros/latex/contrib/tudscr.zip
2013/12/13 | 18313 | macros/latex/contrib/tufte-latex/graphics/be-contents.pdf
2013/12/13 | 5353 | macros/latex/contrib/tufte-latex/graphics/be-title.pdf
2013/12/13 | 19296 | macros/latex/contrib/tufte-latex/graphics/ei-contents.pdf
@@ -204351,12 +204352,12 @@
2018/03/20 | 782104 | macros/latex/contrib/xtuthesis/xtuthesis.pdf
2018/03/18 | 1106 | macros/latex/contrib/xtuthesis/xtuthesis.tex
2018/03/20 | 1324593 | macros/latex/contrib/xtuthesis.zip
-2018/12/23 | 281 | macros/latex/contrib/xurl/Changes
-2018/12/23 | 42438 | macros/latex/contrib/xurl/doc/xurl.pdf
-2018/12/23 | 3990 | macros/latex/contrib/xurl/doc/xurl.tex
-2018/12/23 | 4374 | macros/latex/contrib/xurl/latex/xurl.sty
+2020/01/14 | 337 | macros/latex/contrib/xurl/Changes
+2020/01/14 | 56280 | macros/latex/contrib/xurl/doc/xurl.pdf
+2020/01/14 | 5312 | macros/latex/contrib/xurl/doc/xurl.tex
+2020/01/14 | 4658 | macros/latex/contrib/xurl/latex/xurl.sty
2018/06/02 | 546 | macros/latex/contrib/xurl/README.md
-2018/12/23 | 45639 | macros/latex/contrib/xurl.zip
+2020/01/14 | 59420 | macros/latex/contrib/xurl.zip
2012/10/23 | 3192 | macros/latex/contrib/xwatermark/doc/xwatermark-examples1.tex
2012/02/05 | 179188 | macros/latex/contrib/xwatermark/doc/xwatermark-examples2.pdf
2012/10/23 | 7219 | macros/latex/contrib/xwatermark/doc/xwatermark-examples2.tex
@@ -246526,6 +246527,29 @@
1999/03/03 | 98257 | support/texperf/texperf.zip
2003/11/22 | 571 | support/TeXpert/README
2003/11/19 | 2317974 | support/TeXpert/TeXpert_XP_12.zip
+2020/01/14 | 103721 | support/texplate/doc/texplate-manual.pdf
+2020/01/14 | 28074 | support/texplate/doc/texplate-manual.tex
+2020/01/14 | 7995 | support/texplate/README.md
+2020/01/14 | 953 | support/texplate/scripts/templates/article.toml
+2020/01/14 | 812 | support/texplate/scripts/templates/standalone.toml
+2020/01/14 | 2815205 | support/texplate/scripts/texplate.jar
+2020/01/14 | 574 | support/texplate/scripts/texplate.sh
+2020/01/14 | 793 | support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidKeySetException.java
+2020/01/14 | 759 | support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidTemplateException.java
+2020/01/14 | 791 | support/texplate/source/main/java/org/islandoftex/texplate/exceptions/TemplateMergingException.java
+2020/01/14 | 978 | support/texplate/source/main/java/org/islandoftex/texplate/Main.java
+2020/01/14 | 3908 | support/texplate/source/main/java/org/islandoftex/texplate/model/Configuration.java
+2020/01/14 | 527 | support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/BooleanHandler.java
+2020/01/14 | 692 | support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/CSVListHandler.java
+2020/01/14 | 356 | support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/Handler.java
+2020/01/14 | 6857 | support/texplate/source/main/java/org/islandoftex/texplate/model/Template.java
+2020/01/14 | 13662 | support/texplate/source/main/java/org/islandoftex/texplate/model/TemplateProcessing.java
+2020/01/14 | 767 | support/texplate/source/main/java/org/islandoftex/texplate/util/HandlerUtils.java
+2020/01/14 | 6773 | support/texplate/source/main/java/org/islandoftex/texplate/util/MergingUtils.java
+2020/01/14 | 2959 | support/texplate/source/main/java/org/islandoftex/texplate/util/MessageUtils.java
+2020/01/14 | 3792 | support/texplate/source/main/java/org/islandoftex/texplate/util/PathUtils.java
+2020/01/14 | 2451 | support/texplate/source/main/java/org/islandoftex/texplate/util/ValidatorUtils.java
+2020/01/14 | 2749979 | support/texplate.zip
1992/10/06 | 1161 | support/texproc/READ.ME
1992/10/06 | 2025 | support/texproc/texproc.c
1999/09/14 | 459 | support/texref/INSTALL
@@ -248246,9 +248270,9 @@
1991/06/04 | 90303 | systems/mac/macbibtex2_0-sit.hqx
1994/02/22 | 94984 | systems/mac/macmakeindex2.12.sea.hqx
1993/07/19 | 61321 | systems/mac/macmakeindex.sit.hqx
-2019/12/23 | 37824 | systems/mac/mactex/ExtrasFolder.pdf
+2020/01/13 | 37305 | systems/mac/mactex/ExtrasFolder.pdf
2019/05/05 | 71 | systems/mac/mactex/Ghostscript.pkg.md5
-2019/12/23 | 1780 | systems/mac/mactex/Licenses.txt
+2020/01/13 | 1780 | systems/mac/mactex/Licenses.txt
2019/05/08 | 4124396391 | systems/mac/mactex/mactex-20190508.pkg
2019/05/09 | 54 | systems/mac/mactex/mactex-20190508.pkg.md5
2019/10/12 | 94280706 | systems/mac/mactex/mactex-basictex-20191011.pkg
@@ -248256,8 +248280,8 @@
2019/05/03 | 20933117 | systems/mac/mactex/mactex-ghostscript-9.27-20190502.pkg
2019/05/03 | 71 | systems/mac/mactex/mactex-ghostscript-9.27-20190502.pkg.md5
2019/05/09 | 54 | systems/mac/mactex/MacTeX.pkg.md5
-2019/12/23 | 428284730 | systems/mac/mactex/MacTeXtras-20191228.zip
-2019/12/28 | 58 | systems/mac/mactex/MacTeXtras-20191228.zip.md5
+2020/01/13 | 428287653 | systems/mac/mactex/MacTeXtras-20200113.zip
+2020/01/13 | 58 | systems/mac/mactex/MacTeXtras-20200113.zip.md5
2019/04/29 | 163 | systems/mac/mactex/README
1995/08/15 | 308344 | systems/mac/MakeIndex-Fat-1.0-sit.hqx
1994/04/20 | 2925109 | systems/mac/metafont/bluesky/MAC_MF_0.66.sit.hqx
@@ -249655,12 +249679,12 @@
2019/02/28 | 1150464 | systems/texlive/tlnet/archive/aomart.doc.tar.xz
2019/02/28 | 20092 | systems/texlive/tlnet/archive/aomart.source.tar.xz
2019/02/28 | 13276 | systems/texlive/tlnet/archive/aomart.tar.xz
-2019/02/28 | 565384 | systems/texlive/tlnet/archive/apa6.doc.tar.xz
+2020/01/14 | 565088 | systems/texlive/tlnet/archive/apa6.doc.r53390.tar.xz
2019/02/28 | 245600 | systems/texlive/tlnet/archive/apa6e.doc.tar.xz
2019/02/28 | 8492 | systems/texlive/tlnet/archive/apa6e.source.tar.xz
2019/02/28 | 2896 | systems/texlive/tlnet/archive/apa6e.tar.xz
-2019/02/28 | 37104 | systems/texlive/tlnet/archive/apa6.source.tar.xz
-2019/02/28 | 13780 | systems/texlive/tlnet/archive/apa6.tar.xz
+2020/01/14 | 13760 | systems/texlive/tlnet/archive/apa6.r53390.tar.xz
+2020/01/14 | 37332 | systems/texlive/tlnet/archive/apa6.source.r53390.tar.xz
2020/01/02 | 717664 | systems/texlive/tlnet/archive/apa7.doc.r53280.tar.xz
2020/01/02 | 14232 | systems/texlive/tlnet/archive/apa7.r53280.tar.xz
2020/01/02 | 31412 | systems/texlive/tlnet/archive/apa7.source.r53280.tar.xz
@@ -249779,9 +249803,9 @@
2019/02/28 | 383824 | systems/texlive/tlnet/archive/asciilist.doc.tar.xz
2019/02/28 | 14092 | systems/texlive/tlnet/archive/asciilist.source.tar.xz
2019/02/28 | 3104 | systems/texlive/tlnet/archive/asciilist.tar.xz
-2019/02/28 | 153588 | systems/texlive/tlnet/archive/ascmac.doc.tar.xz
-2019/02/28 | 8596 | systems/texlive/tlnet/archive/ascmac.source.tar.xz
-2019/02/28 | 16664 | systems/texlive/tlnet/archive/ascmac.tar.xz
+2020/01/14 | 157668 | systems/texlive/tlnet/archive/ascmac.doc.r53391.tar.xz
+2020/01/14 | 16680 | systems/texlive/tlnet/archive/ascmac.r53391.tar.xz
+2020/01/14 | 8664 | systems/texlive/tlnet/archive/ascmac.source.r53391.tar.xz
2019/12/12 | 590144 | systems/texlive/tlnet/archive/askinclude.doc.r53096.tar.xz
2019/12/12 | 4368 | systems/texlive/tlnet/archive/askinclude.r53096.tar.xz
2019/12/12 | 12152 | systems/texlive/tlnet/archive/askinclude.source.r53096.tar.xz
@@ -251402,7 +251426,7 @@
2019/11/18 | 1344 | systems/texlive/tlnet/archive/collection-pictures.tar.xz
2019/11/02 | 868 | systems/texlive/tlnet/archive/collection-plaingeneric.tar.xz
2019/10/03 | 812 | systems/texlive/tlnet/archive/collection-pstricks.tar.xz
-2019/12/29 | 1464 | systems/texlive/tlnet/archive/collection-publishers.r53250.tar.xz
+2020/01/14 | 1468 | systems/texlive/tlnet/archive/collection-publishers.r53393.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/collection-texworks.tar.xz
2019/02/28 | 388 | systems/texlive/tlnet/archive/collection-wintools.tar.xz
2019/11/08 | 648 | systems/texlive/tlnet/archive/collection-xetex.tar.xz
@@ -253260,8 +253284,8 @@
2019/02/28 | 1112404 | systems/texlive/tlnet/archive/fancytooltips.doc.tar.xz
2019/02/28 | 16736 | systems/texlive/tlnet/archive/fancytooltips.source.tar.xz
2019/02/28 | 8020 | systems/texlive/tlnet/archive/fancytooltips.tar.xz
-2019/11/10 | 150300 | systems/texlive/tlnet/archive/fancyvrb.doc.tar.xz
-2019/11/10 | 11612 | systems/texlive/tlnet/archive/fancyvrb.tar.xz
+2020/01/14 | 141392 | systems/texlive/tlnet/archive/fancyvrb.doc.r53392.tar.xz
+2020/01/14 | 11676 | systems/texlive/tlnet/archive/fancyvrb.r53392.tar.xz
2019/02/28 | 12168 | systems/texlive/tlnet/archive/fandol.doc.tar.xz
2019/02/28 | 21582588 | systems/texlive/tlnet/archive/fandol.tar.xz
2019/02/28 | 2042292 | systems/texlive/tlnet/archive/fascicules.doc.tar.xz
@@ -253403,10 +253427,10 @@
2019/02/28 | 2704 | systems/texlive/tlnet/archive/finstrut.source.tar.xz
2019/02/28 | 3352 | systems/texlive/tlnet/archive/finstrut.tar.xz
2019/10/12 | 1297052 | systems/texlive/tlnet/archive/fira.doc.tar.xz
-2019/06/07 | 546744 | systems/texlive/tlnet/archive/firamath.doc.tar.xz
+2020/01/14 | 535448 | systems/texlive/tlnet/archive/firamath.doc.r53388.tar.xz
2019/04/04 | 124236 | systems/texlive/tlnet/archive/firamath-otf.doc.tar.xz
2019/04/04 | 1336 | systems/texlive/tlnet/archive/firamath-otf.tar.xz
-2019/06/07 | 98336 | systems/texlive/tlnet/archive/firamath.tar.xz
+2020/01/14 | 84996 | systems/texlive/tlnet/archive/firamath.r53388.tar.xz
2019/10/12 | 15826756 | systems/texlive/tlnet/archive/fira.tar.xz
2019/02/28 | 503812 | systems/texlive/tlnet/archive/first-latex-doc.doc.tar.xz
2019/02/28 | 496 | systems/texlive/tlnet/archive/first-latex-doc.tar.xz
@@ -254216,6 +254240,9 @@
2019/02/28 | 1800 | systems/texlive/tlnet/archive/hep.doc.tar.xz
2019/02/28 | 975796 | systems/texlive/tlnet/archive/hepnames.doc.tar.xz
2019/02/28 | 6660 | systems/texlive/tlnet/archive/hepnames.tar.xz
+2020/01/14 | 427356 | systems/texlive/tlnet/archive/hep-paper.doc.r53393.tar.xz
+2020/01/14 | 3436 | systems/texlive/tlnet/archive/hep-paper.r53393.tar.xz
+2020/01/14 | 9496 | systems/texlive/tlnet/archive/hep-paper.source.r53393.tar.xz
2019/02/28 | 83952 | systems/texlive/tlnet/archive/hepparticles.doc.tar.xz
2019/02/28 | 4448 | systems/texlive/tlnet/archive/hepparticles.tar.xz
2019/02/28 | 2124 | systems/texlive/tlnet/archive/hep.tar.xz
@@ -254919,15 +254946,15 @@
2019/02/28 | 344 | systems/texlive/tlnet/archive/l3build.x86_64-linuxmusl.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.x86_64-linux.tar.xz
2019/02/28 | 340 | systems/texlive/tlnet/archive/l3build.x86_64-solaris.tar.xz
-2019/10/13 | 3869360 | systems/texlive/tlnet/archive/l3experimental.doc.tar.xz
-2019/10/13 | 84956 | systems/texlive/tlnet/archive/l3experimental.source.tar.xz
-2019/10/13 | 25104 | systems/texlive/tlnet/archive/l3experimental.tar.xz
-2019/11/08 | 7963972 | systems/texlive/tlnet/archive/l3kernel.doc.tar.xz
-2019/11/08 | 525276 | systems/texlive/tlnet/archive/l3kernel.source.tar.xz
-2019/11/08 | 145800 | systems/texlive/tlnet/archive/l3kernel.tar.xz
-2019/10/13 | 1728212 | systems/texlive/tlnet/archive/l3packages.doc.tar.xz
-2019/10/13 | 64820 | systems/texlive/tlnet/archive/l3packages.source.tar.xz
-2019/10/13 | 19860 | systems/texlive/tlnet/archive/l3packages.tar.xz
+2020/01/14 | 3870792 | systems/texlive/tlnet/archive/l3experimental.doc.r53394.tar.xz
+2020/01/14 | 25084 | systems/texlive/tlnet/archive/l3experimental.r53394.tar.xz
+2020/01/14 | 84892 | systems/texlive/tlnet/archive/l3experimental.source.r53394.tar.xz
+2020/01/14 | 9993752 | systems/texlive/tlnet/archive/l3kernel.doc.r53394.tar.xz
+2020/01/14 | 148048 | systems/texlive/tlnet/archive/l3kernel.r53394.tar.xz
+2020/01/14 | 528792 | systems/texlive/tlnet/archive/l3kernel.source.r53394.tar.xz
+2020/01/14 | 1727964 | systems/texlive/tlnet/archive/l3packages.doc.r53394.tar.xz
+2020/01/14 | 19836 | systems/texlive/tlnet/archive/l3packages.r53394.tar.xz
+2020/01/14 | 64824 | systems/texlive/tlnet/archive/l3packages.source.r53394.tar.xz
2019/02/28 | 210236 | systems/texlive/tlnet/archive/labbook.doc.tar.xz
2019/02/28 | 23192 | systems/texlive/tlnet/archive/labbook.source.tar.xz
2019/02/28 | 4180 | systems/texlive/tlnet/archive/labbook.tar.xz
@@ -255030,9 +255057,9 @@
2019/11/20 | 30044 | systems/texlive/tlnet/archive/latex-amsmath-dev.tar.xz
2019/02/28 | 147412 | systems/texlive/tlnet/archive/latexbangla.doc.tar.xz
2019/02/28 | 3288 | systems/texlive/tlnet/archive/latexbangla.tar.xz
-2019/11/21 | 17910724 | systems/texlive/tlnet/archive/latex-base-dev.doc.tar.xz
-2019/11/21 | 499632 | systems/texlive/tlnet/archive/latex-base-dev.source.tar.xz
-2019/11/21 | 160176 | systems/texlive/tlnet/archive/latex-base-dev.tar.xz
+2020/01/14 | 17410204 | systems/texlive/tlnet/archive/latex-base-dev.doc.r53395.tar.xz
+2020/01/14 | 167640 | systems/texlive/tlnet/archive/latex-base-dev.r53395.tar.xz
+2020/01/14 | 522644 | systems/texlive/tlnet/archive/latex-base-dev.source.r53395.tar.xz
2019/02/28 | 180084 | systems/texlive/tlnet/archive/latex-bib2-ex.doc.tar.xz
2019/02/28 | 456 | systems/texlive/tlnet/archive/latex-bib2-ex.tar.xz
2019/02/28 | 49548 | systems/texlive/tlnet/archive/latex-bib-ex.doc.tar.xz
@@ -255259,9 +255286,9 @@
2019/02/28 | 84088 | systems/texlive/tlnet/archive/latex-tds.doc.tar.xz
2019/02/28 | 128300 | systems/texlive/tlnet/archive/latex-tds.source.tar.xz
2019/02/28 | 588 | systems/texlive/tlnet/archive/latex-tds.tar.xz
-2019/11/20 | 5220664 | systems/texlive/tlnet/archive/latex-tools-dev.doc.tar.xz
-2019/11/20 | 223892 | systems/texlive/tlnet/archive/latex-tools-dev.source.tar.xz
-2019/11/20 | 41088 | systems/texlive/tlnet/archive/latex-tools-dev.tar.xz
+2020/01/14 | 5207816 | systems/texlive/tlnet/archive/latex-tools-dev.doc.r53395.tar.xz
+2020/01/14 | 34968 | systems/texlive/tlnet/archive/latex-tools-dev.r53395.tar.xz
+2020/01/14 | 224236 | systems/texlive/tlnet/archive/latex-tools-dev.source.r53395.tar.xz
2019/02/28 | 3380 | systems/texlive/tlnet/archive/latex-uni8.doc.tar.xz
2019/02/28 | 4112 | systems/texlive/tlnet/archive/latex-uni8.tar.xz
2019/02/28 | 975444 | systems/texlive/tlnet/archive/latex-veryshortguide.doc.tar.xz
@@ -259373,11 +259400,11 @@
2019/02/28 | 944 | systems/texlive/tlnet/archive/susy.tar.xz
2019/02/28 | 1380 | systems/texlive/tlnet/archive/svgcolor.doc.tar.xz
2019/02/28 | 3452 | systems/texlive/tlnet/archive/svgcolor.tar.xz
-2019/10/24 | 1065596 | systems/texlive/tlnet/archive/svg.doc.tar.xz
+2020/01/14 | 1065576 | systems/texlive/tlnet/archive/svg.doc.r53389.tar.xz
2019/02/28 | 197212 | systems/texlive/tlnet/archive/svg-inkscape.doc.tar.xz
2019/02/28 | 648 | systems/texlive/tlnet/archive/svg-inkscape.tar.xz
-2019/10/24 | 42276 | systems/texlive/tlnet/archive/svg.source.tar.xz
-2019/10/24 | 13172 | systems/texlive/tlnet/archive/svg.tar.xz
+2020/01/14 | 13148 | systems/texlive/tlnet/archive/svg.r53389.tar.xz
+2020/01/14 | 42224 | systems/texlive/tlnet/archive/svg.source.r53389.tar.xz
2019/02/28 | 441216 | systems/texlive/tlnet/archive/svn.doc.tar.xz
2019/02/28 | 258436 | systems/texlive/tlnet/archive/svninfo.doc.tar.xz
2019/02/28 | 12712 | systems/texlive/tlnet/archive/svninfo.source.tar.xz
@@ -259885,13 +259912,13 @@
2019/12/30 | 472 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r53254.tar.xz
2019/12/30 | 476 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r53254.tar.xz
2019/12/30 | 476 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r53254.tar.xz
-2020/01/12 | 130232 | systems/texlive/tlnet/archive/texlive-scripts.doc.r53367.tar.xz
+2020/01/14 | 130232 | systems/texlive/tlnet/archive/texlive-scripts.doc.r53387.tar.xz
2019/12/30 | 472 | systems/texlive/tlnet/archive/texlive-scripts.i386-cygwin.r53254.tar.xz
2019/12/30 | 476 | systems/texlive/tlnet/archive/texlive-scripts.i386-freebsd.r53254.tar.xz
2019/12/30 | 472 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r53254.tar.xz
2019/12/30 | 472 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r53254.tar.xz
2019/12/30 | 476 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r53254.tar.xz
-2020/01/12 | 83344 | systems/texlive/tlnet/archive/texlive-scripts.r53367.tar.xz
+2020/01/14 | 83320 | systems/texlive/tlnet/archive/texlive-scripts.r53387.tar.xz
2019/12/30 | 35872 | systems/texlive/tlnet/archive/texlive-scripts.win32.r53262.tar.xz
2019/12/30 | 476 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r53254.tar.xz
2019/12/30 | 480 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-darwinlegacy.r53254.tar.xz
@@ -261477,16 +261504,16 @@
2019/02/28 | 136844 | systems/texlive/tlnet/archive/zxjatype.doc.tar.xz
2019/02/28 | 8412 | systems/texlive/tlnet/archive/zxjatype.tar.xz
2019/12/21 | 107147 | systems/texlive/tlnet/install-tl
-2020/01/13 | 3954088 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/01/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2020/01/13 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/01/14 | 3953821 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/01/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/01/14 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2019/05/09 | 4543 | systems/texlive/tlnet/install-tl-windows.bat
-2020/01/13 | 18703377 | systems/texlive/tlnet/install-tl-windows.exe
-2020/01/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2020/01/13 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/01/13 | 22546427 | systems/texlive/tlnet/install-tl.zip
-2020/01/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/01/13 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/01/14 | 18703770 | systems/texlive/tlnet/install-tl-windows.exe
+2020/01/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/01/14 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/01/14 | 22546401 | systems/texlive/tlnet/install-tl.zip
+2020/01/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/01/14 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2019/04/29 | 1221 | systems/texlive/tlnet/README.md
2019/03/13 | 5351 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
2016/04/12 | 600 | systems/texlive/tlnet/tlpkg/gpg/random_seed
@@ -261495,7 +261522,7 @@
2019/03/13 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2020/01/06 | 48441 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2020/01/11 | 5849 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2020/01/13 | 5767 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2018/04/29 | 13647 | systems/texlive/tlnet/tlpkg/installer/DirSelect.pm
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
2019/06/25 | 5491 | systems/texlive/tlnet/tlpkg/installer/install-menu-extl.pl
@@ -261541,12 +261568,12 @@
2019/09/23 | 18176 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2016/10/11 | 4618 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2017/11/14 | 27560 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2020/01/13 | 15984496 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2020/01/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/01/14 | 15987101 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/01/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2019/12/10 | 87503 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2020/01/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2020/01/13 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/01/13 | 2150904 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/01/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/01/14 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/01/14 | 2154488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2019/12/22 | 58727 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2020/01/03 | 40906 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2018/08/31 | 14972 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -263843,7 +263870,7 @@
2016/05/03 | 95543 | systems/win32/miktex/tm/packages/aobs-tikz.tar.lzma
2017/12/18 | 1184867 | systems/win32/miktex/tm/packages/aomart.tar.lzma
2011/07/04 | 257190 | systems/win32/miktex/tm/packages/apa6e.tar.lzma
-2018/09/04 | 613289 | systems/win32/miktex/tm/packages/apa6.tar.lzma
+2020/01/14 | 613370 | systems/win32/miktex/tm/packages/apa6.tar.lzma
2019/12/31 | 765456 | systems/win32/miktex/tm/packages/apa7.tar.lzma
2013/07/29 | 845001 | systems/win32/miktex/tm/packages/apacite.tar.lzma
2016/11/02 | 6569 | systems/win32/miktex/tm/packages/apalike2.tar.lzma
@@ -263887,7 +263914,7 @@
2010/11/24 | 26343 | systems/win32/miktex/tm/packages/ascii-chart.tar.lzma
2016/05/17 | 424854 | systems/win32/miktex/tm/packages/ascii-font.tar.lzma
2018/11/05 | 401446 | systems/win32/miktex/tm/packages/asciilist.tar.lzma
-2018/03/10 | 179556 | systems/win32/miktex/tm/packages/ascmac.tar.lzma
+2020/01/14 | 183816 | systems/win32/miktex/tm/packages/ascmac.tar.lzma
2019/12/13 | 608780 | systems/win32/miktex/tm/packages/askinclude.tar.lzma
2013/12/23 | 316683 | systems/win32/miktex/tm/packages/askmaps.tar.lzma
2019/12/31 | 474536 | systems/win32/miktex/tm/packages/asmeconf.tar.lzma
@@ -264906,7 +264933,7 @@
2015/02/28 | 5938051 | systems/win32/miktex/tm/packages/fancyslides.tar.lzma
2016/06/29 | 190364 | systems/win32/miktex/tm/packages/fancytabs.tar.lzma
2012/06/11 | 1136130 | systems/win32/miktex/tm/packages/fancytooltips.tar.lzma
-2019/11/10 | 162481 | systems/win32/miktex/tm/packages/fancyvrb.tar.lzma
+2020/01/14 | 153660 | systems/win32/miktex/tm/packages/fancyvrb.tar.lzma
2015/07/21 | 21599588 | systems/win32/miktex/tm/packages/fandol.tar.lzma
2018/12/20 | 2489193 | systems/win32/miktex/tm/packages/fascicules.tar.lzma
2013/03/01 | 1410180 | systems/win32/miktex/tm/packages/fast-diagram.tar.lzma
@@ -264946,13 +264973,13 @@
2019/10/04 | 281928 | 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
-2020/01/13 | 518736 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/01/14 | 518141 | 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
2011/03/15 | 180183 | systems/win32/miktex/tm/packages/finstrut.tar.lzma
2019/04/04 | 125829 | systems/win32/miktex/tm/packages/firamath-otf.tar.lzma
-2019/06/04 | 645447 | systems/win32/miktex/tm/packages/firamath.tar.lzma
+2020/01/14 | 621258 | systems/win32/miktex/tm/packages/firamath.tar.lzma
2019/10/15 | 16768795 | systems/win32/miktex/tm/packages/fira.tar.lzma
2009/07/13 | 504177 | systems/win32/miktex/tm/packages/first-latex-doc.tar.lzma
2019/02/23 | 504679 | systems/win32/miktex/tm/packages/fitbox.tar.lzma
@@ -265257,6 +265284,7 @@
2006/09/28 | 745459 | systems/win32/miktex/tm/packages/helvetic.cab
2005/12/16 | 3444 | systems/win32/miktex/tm/packages/hep.cab
2014/12/22 | 985855 | systems/win32/miktex/tm/packages/hepnames.tar.lzma
+2020/01/14 | 441458 | systems/win32/miktex/tm/packages/hep-paper.tar.lzma
2014/12/22 | 88816 | systems/win32/miktex/tm/packages/hepparticles.tar.lzma
2017/12/14 | 699188 | systems/win32/miktex/tm/packages/hepthesis.tar.lzma
2007/10/02 | 11557 | systems/win32/miktex/tm/packages/hepunits.tar.lzma
@@ -265484,9 +265512,9 @@
2019/11/27 | 767421 | systems/win32/miktex/tm/packages/l3backend.tar.lzma
2019/11/28 | 771495 | systems/win32/miktex/tm/packages/l3build.tar.lzma
2013/05/29 | 156214 | systems/win32/miktex/tm/packages/l3ctr2e.tar.lzma
-2019/10/15 | 3980759 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma
-2019/11/10 | 8643618 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
-2019/10/15 | 1814300 | systems/win32/miktex/tm/packages/l3packages.tar.lzma
+2020/01/14 | 3982611 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma
+2020/01/14 | 10579672 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
+2020/01/14 | 1814068 | systems/win32/miktex/tm/packages/l3packages.tar.lzma
2008/04/02 | 115132 | systems/win32/miktex/tm/packages/labbook.tar.lzma
2006/11/14 | 45130 | systems/win32/miktex/tm/packages/labelcas.cab
2019/05/15 | 27323 | systems/win32/miktex/tm/packages/labels4easylist.tar.lzma
@@ -265511,7 +265539,7 @@
2019/03/04 | 753256 | systems/win32/miktex/tm/packages/latexalpha2.tar.lzma
2019/11/20 | 2438803 | systems/win32/miktex/tm/packages/latex-amsmath-dev.tar.lzma
2016/11/05 | 150896 | systems/win32/miktex/tm/packages/latexbangla.tar.lzma
-2019/11/22 | 18333310 | systems/win32/miktex/tm/packages/latex-base-dev.tar.lzma
+2020/01/14 | 17824104 | systems/win32/miktex/tm/packages/latex-base-dev.tar.lzma
2019/10/17 | 200688 | systems/win32/miktex/tm/packages/latexbug.tar.lzma
2019/01/31 | 396437 | systems/win32/miktex/tm/packages/latexcolors.tar.lzma
2015/12/08 | 5507619 | systems/win32/miktex/tm/packages/latexcourse-rug.tar.lzma
@@ -265533,7 +265561,7 @@
2019/12/13 | 8214 | systems/win32/miktex/tm/packages/latexpand.tar.lzma
2019/12/15 | 5172 | systems/win32/miktex/tm/packages/latex-papersize.tar.lzma
2017/08/20 | 5040571 | systems/win32/miktex/tm/packages/latex-refsheet.tar.lzma
-2019/11/20 | 5486488 | systems/win32/miktex/tm/packages/latex-tools-dev.tar.lzma
+2020/01/14 | 5467748 | systems/win32/miktex/tm/packages/latex-tools-dev.tar.lzma
2019/01/19 | 6799 | systems/win32/miktex/tm/packages/latex-uni8.tar.lzma
2016/08/13 | 976308 | systems/win32/miktex/tm/packages/latex-veryshortguide.tar.lzma
2019/12/31 | 2020462 | systems/win32/miktex/tm/packages/latex-via-exemplos.tar.lzma
@@ -266069,9 +266097,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2019/11/11 | 38784 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2019/11/11 | 42872 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/01/13 | 195262 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/01/13 | 1160021 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/01/13 | 1081090 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/01/14 | 195364 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/01/14 | 1160244 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/01/14 | 1080697 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2019/11/11 | 13040 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2019/11/11 | 14027 | 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
@@ -266220,181 +266248,181 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2019/09/11 | 231430 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2020/01/13 | 518770 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/01/13 | 29241 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/01/13 | 33400 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2020/01/13 | 863200 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/01/13 | 954075 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2020/01/13 | 24071 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2020/01/13 | 26177 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/01/13 | 29297 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/01/13 | 34847 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/01/13 | 49772 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/01/13 | 57220 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/01/13 | 84535 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/01/13 | 94239 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/01/13 | 60330 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2020/01/13 | 67258 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/01/13 | 26663 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/01/13 | 30240 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/01/13 | 328876 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2020/01/13 | 391462 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2020/01/13 | 32268 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2020/01/13 | 36381 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2020/01/13 | 49264 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2020/01/13 | 53996 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/01/13 | 198079 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2020/01/13 | 214152 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2020/01/13 | 169203 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2020/01/13 | 184160 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2020/01/13 | 51772 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2020/01/13 | 58795 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2020/01/13 | 20738 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2020/01/13 | 22960 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2020/01/13 | 449940 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
-2020/01/13 | 40992 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2020/01/13 | 45810 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2020/01/13 | 271814 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2020/01/13 | 308660 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2020/01/13 | 40739 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2020/01/13 | 44983 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2020/01/13 | 112995 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2020/01/13 | 127172 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2020/01/13 | 1203298 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2020/01/13 | 1329052 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2020/01/13 | 33549 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/01/13 | 38863 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/01/13 | 43441 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2020/01/13 | 47980 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2020/01/13 | 45467 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2020/01/13 | 50581 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/01/13 | 56622 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2020/01/13 | 61657 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/01/13 | 133205 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2020/01/13 | 152166 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2020/01/13 | 69609 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/01/13 | 72600 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/01/13 | 68676 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2020/01/13 | 77318 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2020/01/13 | 246456 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2020/01/13 | 281676 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2020/01/13 | 25329 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2020/01/13 | 28710 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2020/01/13 | 100683 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2020/01/13 | 116802 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/01/13 | 63289 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2020/01/13 | 72573 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/01/13 | 94641 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2020/01/13 | 111237 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2020/01/13 | 35216 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2020/01/13 | 39846 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2020/01/13 | 457348 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/01/13 | 544016 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/01/13 | 137170 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2020/01/13 | 150091 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2020/01/13 | 92937 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/01/13 | 108761 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2020/01/13 | 15898 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2020/01/13 | 17699 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2020/01/13 | 27821 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2020/01/13 | 29690 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2020/01/13 | 498554 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2020/01/13 | 560770 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2020/01/13 | 538880 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2020/01/13 | 575925 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2020/01/13 | 93476 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2020/01/13 | 102381 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2020/01/13 | 1679153 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2020/01/13 | 1945836 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/01/13 | 67253 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2020/01/13 | 73635 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/01/13 | 26979 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/01/13 | 31294 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/01/13 | 7506 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2020/01/13 | 8485 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2020/01/13 | 167847 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/01/13 | 182760 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2020/01/13 | 247501 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2020/01/13 | 281285 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2020/01/13 | 87276 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2020/01/13 | 91982 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/01/13 | 77961 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2020/01/13 | 86582 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2020/01/13 | 166015 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2020/01/13 | 185299 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/01/13 | 146765 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2020/01/13 | 165965 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2020/01/13 | 194998 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2020/01/13 | 177583 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/01/13 | 80507 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2020/01/13 | 91156 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/01/13 | 30990 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/01/13 | 34834 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/01/13 | 56424 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/01/13 | 62910 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2020/01/13 | 41880 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2020/01/13 | 45742 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/01/13 | 45591 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2020/01/13 | 52142 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/01/13 | 354501 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
-2020/01/13 | 387512 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
-2020/01/13 | 321499 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2020/01/13 | 356321 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2020/01/13 | 187297 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2020/01/13 | 193315 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2020/01/13 | 202429 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2020/01/13 | 237541 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/01/13 | 77936 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2020/01/13 | 87219 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2020/01/13 | 932886 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2020/01/13 | 1042664 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2020/01/13 | 19793 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2020/01/13 | 23345 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2020/01/13 | 31155 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2020/01/13 | 36633 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2020/01/13 | 63275 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/01/13 | 71698 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2020/01/13 | 42574 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2020/01/13 | 50793 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/01/13 | 1068588 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2020/01/13 | 1195625 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2020/01/13 | 41865 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2020/01/13 | 50828 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2020/01/13 | 53448 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
-2020/01/13 | 59459 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
-2020/01/13 | 26801 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2020/01/13 | 29145 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2020/01/13 | 16042 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2020/01/13 | 17764 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2020/01/13 | 63118 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2020/01/13 | 69213 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/01/13 | 147096 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2020/01/13 | 160559 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2020/01/13 | 70252 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2020/01/13 | 79845 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2020/01/13 | 91338 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2020/01/13 | 96208 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2020/01/13 | 2459485 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2020/01/13 | 2579408 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2020/01/13 | 54743 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2020/01/13 | 61219 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2020/01/13 | 26510 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2020/01/13 | 32349 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/01/13 | 61567 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2020/01/13 | 65024 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2020/01/13 | 246892 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2020/01/13 | 276601 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2020/01/13 | 533458 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2020/01/13 | 563307 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2020/01/13 | 39221 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/01/13 | 42945 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/01/13 | 195265 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/01/13 | 1160988 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/01/13 | 1080016 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2020/01/13 | 13062 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2020/01/13 | 14051 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/01/14 | 517942 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/01/14 | 29241 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/01/14 | 33401 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/01/14 | 863202 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/01/14 | 954073 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/01/14 | 24073 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/01/14 | 26177 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/01/14 | 29295 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/01/14 | 34846 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/01/14 | 49771 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/01/14 | 57220 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/01/14 | 84535 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/01/14 | 94238 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/01/14 | 60328 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/01/14 | 67257 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/01/14 | 26662 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/01/14 | 30239 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/01/14 | 328877 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/01/14 | 391460 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/01/14 | 32267 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/01/14 | 36380 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/01/14 | 49263 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/01/14 | 53996 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/01/14 | 198079 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/01/14 | 214152 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/01/14 | 169202 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/01/14 | 184160 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/01/14 | 51774 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/01/14 | 58794 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/01/14 | 20739 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/01/14 | 22960 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/01/14 | 449940 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
+2020/01/14 | 40990 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/01/14 | 45809 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/01/14 | 271813 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/01/14 | 308660 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/01/14 | 40739 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/01/14 | 44982 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/01/14 | 112995 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/01/14 | 127173 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/01/14 | 1203298 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/01/14 | 1329051 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/01/14 | 33548 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/01/14 | 38863 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/01/14 | 43440 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/01/14 | 47979 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/01/14 | 45466 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/01/14 | 50581 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/01/14 | 56621 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/01/14 | 61656 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/01/14 | 133206 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/01/14 | 152165 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/01/14 | 69609 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/01/14 | 72599 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/01/14 | 68673 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/01/14 | 77319 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/01/14 | 246456 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/01/14 | 281676 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/01/14 | 25328 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/01/14 | 28711 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/01/14 | 100683 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/01/14 | 116802 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/01/14 | 63288 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/01/14 | 72572 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/01/14 | 94640 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/01/14 | 111235 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/01/14 | 35217 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/01/14 | 39845 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/01/14 | 457347 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/01/14 | 544015 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/01/14 | 137170 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/01/14 | 150088 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/01/14 | 92936 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/01/14 | 108761 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/01/14 | 15897 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/01/14 | 17699 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/01/14 | 27819 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/01/14 | 29690 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/01/14 | 498554 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/01/14 | 560771 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/01/14 | 538881 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/01/14 | 575924 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/01/14 | 93475 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/01/14 | 102380 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/01/14 | 1679153 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/01/14 | 1945843 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/01/14 | 67251 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/01/14 | 73635 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/01/14 | 26979 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/01/14 | 31294 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/01/14 | 7507 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/01/14 | 8484 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/01/14 | 167845 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/01/14 | 182760 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/01/14 | 247502 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/01/14 | 281285 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/01/14 | 87275 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/01/14 | 91982 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/01/14 | 77961 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/01/14 | 86581 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/01/14 | 166013 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/01/14 | 185299 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/01/14 | 146765 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/01/14 | 165965 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/01/14 | 194998 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/01/14 | 177583 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/01/14 | 80507 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/01/14 | 91156 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/01/14 | 30991 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/01/14 | 34835 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/01/14 | 56423 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/01/14 | 62910 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/01/14 | 41880 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/01/14 | 45741 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/01/14 | 45591 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/01/14 | 52142 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/01/14 | 354501 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
+2020/01/14 | 387513 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
+2020/01/14 | 321502 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/01/14 | 356320 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/01/14 | 187297 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/01/14 | 193315 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/01/14 | 202428 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/01/14 | 237541 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/01/14 | 77937 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/01/14 | 87219 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/01/14 | 932886 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/01/14 | 1042658 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/01/14 | 19792 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/01/14 | 23346 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/01/14 | 31154 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/01/14 | 36634 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/01/14 | 63274 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/01/14 | 71696 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/01/14 | 42574 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/01/14 | 50790 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/01/14 | 1068591 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/01/14 | 1195624 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/01/14 | 41865 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/01/14 | 50828 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/01/14 | 53446 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
+2020/01/14 | 59459 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
+2020/01/14 | 26801 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/01/14 | 29143 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/01/14 | 16043 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/01/14 | 17763 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/01/14 | 63116 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/01/14 | 69213 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/01/14 | 147096 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/01/14 | 160559 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/01/14 | 70249 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/01/14 | 79845 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/01/14 | 91339 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/01/14 | 96206 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/01/14 | 2459483 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/01/14 | 2579407 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/01/14 | 54741 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/01/14 | 61218 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/01/14 | 26510 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/01/14 | 32347 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/01/14 | 61568 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/01/14 | 65025 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/01/14 | 246890 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/01/14 | 276600 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/01/14 | 533456 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/01/14 | 563308 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/01/14 | 39220 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/01/14 | 42944 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/01/14 | 195285 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/01/14 | 1160695 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/01/14 | 1080933 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/01/14 | 13062 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/01/14 | 14050 | 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
-2020/01/13 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/01/14 | 652 | 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
@@ -266703,7 +266731,7 @@
2008/11/07 | 35981 | systems/win32/miktex/tm/packages/prettyref.tar.lzma
2017/07/26 | 201385 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
-2020/01/13 | 321 | systems/win32/miktex/tm/packages/pr.ini
+2020/01/14 | 345 | 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
@@ -267234,7 +267262,7 @@
2005/04/09 | 43619 | systems/win32/miktex/tm/packages/supertabular.cab
2006/11/14 | 56821 | systems/win32/miktex/tm/packages/susy.tar.bz2
2007/01/02 | 4353 | systems/win32/miktex/tm/packages/svgcolor.tar.bz2
-2019/10/24 | 1124678 | systems/win32/miktex/tm/packages/svg.tar.lzma
+2020/01/14 | 1124010 | systems/win32/miktex/tm/packages/svg.tar.lzma
2010/03/30 | 275226 | systems/win32/miktex/tm/packages/svninfo.tar.lzma
2012/05/11 | 452623 | systems/win32/miktex/tm/packages/svn-multi.tar.lzma
2010/04/27 | 254706 | systems/win32/miktex/tm/packages/svn-prov.tar.lzma
@@ -267824,13 +267852,13 @@
2019/12/17 | 4906836 | systems/win32/w32tex/aleph-w32.tar.xz
2020/01/07 | 64194980 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2020/01/12 | 571380 | systems/win32/w32tex/ChangeLog
+2020/01/13 | 571477 | systems/win32/w32tex/ChangeLog
2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0
2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1
2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2
2013/09/03 | 352299 | systems/win32/w32tex/ChangeLog.3
2017/06/24 | 644754 | systems/win32/w32tex/ChangeLog.4
-2019/11/28 | 22469724 | systems/win32/w32tex/cjkzr.tar.xz
+2020/01/13 | 22470544 | systems/win32/w32tex/cjkzr.tar.xz
2013/04/27 | 15858676 | systems/win32/w32tex/context-doc.tar.xz
2020/01/10 | 139469652 | systems/win32/w32tex/context.tar.xz
2019/11/23 | 902480 | systems/win32/w32tex/cweb-w32.tar.xz
@@ -267865,7 +267893,7 @@
2020/01/11 | 8244584 | systems/win32/w32tex/newtxpx-boondoxfonts.tar.xz
2019/11/07 | 1217272 | systems/win32/w32tex/omegaj-w32.tar.xz
2019/09/08 | 357888 | systems/win32/w32tex/otfbeta.tar.xz
-2019/12/31 | 18705792 | systems/win32/w32tex/pdftex-w32.tar.xz
+2020/01/13 | 18707816 | systems/win32/w32tex/pdftex-w32.tar.xz
2020/01/09 | 81527400 | systems/win32/w32tex/pgfcontrib.tar.xz
2015/01/26 | 189072 | systems/win32/w32tex/plain2-2.54-w32.tar.xz
2019/10/22 | 2933444 | systems/win32/w32tex/platex.tar.xz
@@ -268038,7 +268066,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2020/01/14 | 186 | timestamp
+2020/01/15 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 8999772020..6be9ce3517 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index a1f71455fd..ac9344a863 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,3 +1,381 @@
+2020/01/14 | 9993752 | systems/texlive/tlnet/archive/l3kernel.doc.r53394.tar.xz
+2020/01/14 | 990707 | fonts/fourier-GUT.zip
+2020/01/14 | 978 | support/texplate/source/main/java/org/islandoftex/texplate/Main.java
+2020/01/14 | 9684 | macros/latex/contrib/tudscr/source/doc/tudscr-introduction.tex
+2020/01/14 | 96206 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/01/14 | 954073 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/01/14 | 953 | support/texplate/scripts/templates/article.toml
+2020/01/14 | 951 | fonts/fourier-GUT/afm/fourier-alt.afm
+2020/01/14 | 9496 | systems/texlive/tlnet/archive/hep-paper.source.r53393.tar.xz
+2020/01/14 | 94640 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/01/14 | 94238 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/01/14 | 93475 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/01/14 | 932886 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/01/14 | 92936 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/01/14 | 91982 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/01/14 | 914 | macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex
+2020/01/14 | 91339 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/01/14 | 91156 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/01/14 | 90059 | macros/latex/contrib/tudscr/source/tudscr-area.dtx
+2020/01/14 | 896 | macros/latex/contrib/tudscr/source/doc/examples/thesis.tex
+2020/01/14 | 892 | fonts/fourier-GUT/afm/fourier-alt-semi.afm
+2020/01/14 | 8915 | macros/latex/contrib/l3build/l3build-install.lua
+2020/01/14 | 888937 | macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf
+2020/01/14 | 87275 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/01/14 | 87219 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/01/14 | 8671 | macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex
+2020/01/14 | 8664 | systems/texlive/tlnet/archive/ascmac.source.r53391.tar.xz
+2020/01/14 | 86581 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/01/14 | 863202 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/01/14 | 851 | fonts/fourier-GUT/afm/fourier-alt-semiita.afm
+2020/01/14 | 850 | fonts/fourier-GUT/afm/fourier-alt-boldita.afm
+2020/01/14 | 84996 | systems/texlive/tlnet/archive/firamath.r53388.tar.xz
+2020/01/14 | 84892 | systems/texlive/tlnet/archive/l3experimental.source.r53394.tar.xz
+2020/01/14 | 8484 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/01/14 | 84535 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/01/14 | 837 | fonts/fourier-GUT/afm/fourier-alt-ita.afm
+2020/01/14 | 83320 | systems/texlive/tlnet/archive/texlive-scripts.r53387.tar.xz
+2020/01/14 | 832 | fonts/fourier-GUT/afm/fourier-alt-black.afm
+2020/01/14 | 828 | fonts/fourier-GUT/afm/fourier-alt-bold.afm
+2020/01/14 | 812 | support/texplate/scripts/templates/standalone.toml
+2020/01/14 | 8082 | macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx
+2020/01/14 | 80507 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/01/14 | 8009 | fonts/fourier-GUT/README
+2020/01/14 | 7995 | support/texplate/README.md
+2020/01/14 | 79845 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/01/14 | 793 | support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidKeySetException.java
+2020/01/14 | 791 | support/texplate/source/main/java/org/islandoftex/texplate/exceptions/TemplateMergingException.java
+2020/01/14 | 785535 | install/macros/latex/contrib/l3build.tds.zip
+2020/01/14 | 781587 | macros/latex/contrib/l3build.zip
+2020/01/14 | 77961 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/01/14 | 77937 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/01/14 | 77319 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/01/14 | 77060 | macros/latex/contrib/tudscr/source/tudscr-comp.dtx
+2020/01/14 | 767 | support/texplate/source/main/java/org/islandoftex/texplate/util/HandlerUtils.java
+2020/01/14 | 761901 | macros/latex/contrib/cooking-units.zip
+2020/01/14 | 759 | support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidTemplateException.java
+2020/01/14 | 7507 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/01/14 | 7438 | macros/latex/contrib/l3build/l3build-arguments.lua
+2020/01/14 | 73635 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/01/14 | 7306 | fonts/fourier-GUT/afm/fourier-ms.afm
+2020/01/14 | 72599 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/01/14 | 72572 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/01/14 | 7205 | macros/latex/contrib/l3build/l3build-manifest.lua
+2020/01/14 | 71696 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/01/14 | 7100 | macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex
+2020/01/14 | 704174 | macros/latex/contrib/l3build/l3build.pdf
+2020/01/14 | 70249 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/01/14 | 69609 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/01/14 | 6957051 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
+2020/01/14 | 692 | support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/CSVListHandler.java
+2020/01/14 | 69213 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/01/14 | 68673 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/01/14 | 6857 | support/texplate/source/main/java/org/islandoftex/texplate/model/Template.java
+2020/01/14 | 6790 | macros/latex/contrib/l3build/l3build-variables.lua
+2020/01/14 | 6789 | macros/latex/contrib/l3build/l3build-typesetting.lua
+2020/01/14 | 67832 | macros/latex/contrib/tudscr/source/tudscr-layout.dtx
+2020/01/14 | 6773 | support/texplate/source/main/java/org/islandoftex/texplate/util/MergingUtils.java
+2020/01/14 | 67257 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/01/14 | 67251 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/01/14 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/01/14 | 65025 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/01/14 | 64824 | systems/texlive/tlnet/archive/l3packages.source.r53394.tar.xz
+2020/01/14 | 63288 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/01/14 | 63274 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/01/14 | 631 | macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex
+2020/01/14 | 63116 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/01/14 | 62910 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/01/14 | 621258 | systems/win32/miktex/tm/packages/firamath.tar.lzma
+2020/01/14 | 61656 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/01/14 | 6160 | macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex
+2020/01/14 | 61568 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/01/14 | 613370 | systems/win32/miktex/tm/packages/apa6.tar.lzma
+2020/01/14 | 61218 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/01/14 | 60328 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/01/14 | 60019 | macros/latex/contrib/tudscr/source/tudscr-title.dtx
+2020/01/14 | 59459 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
+2020/01/14 | 59420 | macros/latex/contrib/xurl.zip
+2020/01/14 | 58794 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/01/14 | 575924 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/01/14 | 574 | support/texplate/scripts/texplate.sh
+2020/01/14 | 57220 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/01/14 | 56621 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/01/14 | 565088 | systems/texlive/tlnet/archive/apa6.doc.r53390.tar.xz
+2020/01/14 | 56423 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/01/14 | 563308 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/01/14 | 56280 | macros/latex/contrib/xurl/doc/xurl.pdf
+2020/01/14 | 560771 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/01/14 | 55422 | macros/latex/contrib/tudscr/source/tudscr-base.dtx
+2020/01/14 | 55085 | macros/latex/contrib/tudscr/source/tudscr-doc.dtx
+2020/01/14 | 54741 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/01/14 | 5467748 | systems/win32/miktex/tm/packages/latex-tools-dev.tar.lzma
+2020/01/14 | 544015 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/01/14 | 53996 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/01/14 | 5392 | macros/latex/contrib/l3build/l3build.lua
+2020/01/14 | 538881 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/01/14 | 53767 | macros/latex/contrib/tudscr/source/doc/tudscr-packages.tex
+2020/01/14 | 535448 | systems/texlive/tlnet/archive/firamath.doc.r53388.tar.xz
+2020/01/14 | 53446 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
+2020/01/14 | 533456 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/01/14 | 5312 | macros/latex/contrib/xurl/doc/xurl.tex
+2020/01/14 | 528792 | systems/texlive/tlnet/archive/l3kernel.source.r53394.tar.xz
+2020/01/14 | 527 | support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/BooleanHandler.java
+2020/01/14 | 522644 | systems/texlive/tlnet/archive/latex-base-dev.source.r53395.tar.xz
+2020/01/14 | 52142 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/01/14 | 5207816 | systems/texlive/tlnet/archive/latex-tools-dev.doc.r53395.tar.xz
+2020/01/14 | 518141 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/01/14 | 517942 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/01/14 | 51774 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/01/14 | 50828 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/01/14 | 50790 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/01/14 | 50581 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/01/14 | 5027 | macros/latex/contrib/tudscr/source/doc/tudscr.tex
+2020/01/14 | 5012595 | macros/latex/contrib/tudscr.zip
+2020/01/14 | 498554 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/01/14 | 49771 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/01/14 | 492 | macros/latex/contrib/tudscr/source/doc/examples/document.tex
+2020/01/14 | 49263 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/01/14 | 49106 | macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx
+2020/01/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/01/14 | 4863 | fonts/fourier-GUT/latex/fourier-orns.sty
+2020/01/14 | 47979 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/01/14 | 4658 | macros/latex/contrib/xurl/latex/xurl.sty
+2020/01/14 | 45809 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/01/14 | 45741 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/01/14 | 457347 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/01/14 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/01/14 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/01/14 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/01/14 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/01/14 | 45591 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/01/14 | 45466 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/01/14 | 45105 | macros/latex/contrib/tudscr/source/tudscr-fields.dtx
+2020/01/14 | 449940 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
+2020/01/14 | 44982 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/01/14 | 4472 | macros/latex/contrib/l3build/l3build-ctan.lua
+2020/01/14 | 441458 | systems/win32/miktex/tm/packages/hep-paper.tar.lzma
+2020/01/14 | 44012 | macros/latex/contrib/booktabs/booktabs.dtx
+2020/01/14 | 43440 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/01/14 | 4303 | macros/latex/contrib/l3build/l3build-stdmain.lua
+2020/01/14 | 42944 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/01/14 | 427356 | systems/texlive/tlnet/archive/hep-paper.doc.r53393.tar.xz
+2020/01/14 | 42574 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/01/14 | 42224 | systems/texlive/tlnet/archive/svg.source.r53389.tar.xz
+2020/01/14 | 41880 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/01/14 | 41865 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/01/14 | 4110 | macros/latex/contrib/tudscr/source/doc/tudscr-index.tex
+2020/01/14 | 40990 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/01/14 | 40739 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/01/14 | 39845 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/01/14 | 3982611 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma
+2020/01/14 | 3953821 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/01/14 | 39355 | macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex
+2020/01/14 | 39220 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/01/14 | 391460 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/01/14 | 3908 | support/texplate/source/main/java/org/islandoftex/texplate/model/Configuration.java
+2020/01/14 | 38886 | macros/latex/contrib/tudscr/source/tudscr-localization.dtx
+2020/01/14 | 38863 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/01/14 | 387513 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
+2020/01/14 | 3870792 | systems/texlive/tlnet/archive/l3experimental.doc.r53394.tar.xz
+2020/01/14 | 38104 | macros/latex/contrib/tudscr/source/doc/tudscr-obsolete.tex
+2020/01/14 | 3792 | support/texplate/source/main/java/org/islandoftex/texplate/util/PathUtils.java
+2020/01/14 | 37332 | systems/texlive/tlnet/archive/apa6.source.r53390.tar.xz
+2020/01/14 | 36634 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/01/14 | 36380 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/01/14 | 356 | support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/Handler.java
+2020/01/14 | 356320 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/01/14 | 354501 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
+2020/01/14 | 35217 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/01/14 | 3503 | fonts/fourier-GUT/afm/fourier-mlb.afm
+2020/01/14 | 34968 | systems/texlive/tlnet/archive/latex-tools-dev.r53395.tar.xz
+2020/01/14 | 3489 | fonts/fourier-GUT/afm/fourier-ml.afm
+2020/01/14 | 3487 | macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex
+2020/01/14 | 34846 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/01/14 | 34835 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/01/14 | 345 | systems/win32/miktex/tm/packages/pr.ini
+2020/01/14 | 3436 | systems/texlive/tlnet/archive/hep-paper.r53393.tar.xz
+2020/01/14 | 337 | macros/latex/contrib/xurl/Changes
+2020/01/14 | 33548 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/01/14 | 33539 | macros/latex/contrib/l3build/l3build-check.lua
+2020/01/14 | 334 | macros/latex/contrib/tudscr/source/doc/sub-tudscr.tex
+2020/01/14 | 33401 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/01/14 | 328877 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/01/14 | 3239 | macros/latex/contrib/l3build/l3build-aux.lua
+2020/01/14 | 32347 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/01/14 | 32267 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/01/14 | 321502 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/01/14 | 31294 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/01/14 | 31154 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/01/14 | 3106 | macros/latex/contrib/l3build/l3build-unpack.lua
+2020/01/14 | 30991 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/01/14 | 309272 | macros/latex/contrib/booktabs.zip
+2020/01/14 | 308660 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/01/14 | 30239 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/01/14 | 2988 | macros/latex/contrib/tudscr/source/tudscrsource.tex
+2020/01/14 | 29690 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/01/14 | 2959 | support/texplate/source/main/java/org/islandoftex/texplate/util/MessageUtils.java
+2020/01/14 | 295596 | macros/latex/contrib/booktabs/booktabs.pdf
+2020/01/14 | 29295 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/01/14 | 29241 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/01/14 | 29143 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/01/14 | 2898 | macros/latex/contrib/booktabs/booktabs.ins
+2020/01/14 | 28711 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/01/14 | 28537 | macros/latex/contrib/tudscr/source/doc/tudscr-installation.tex
+2020/01/14 | 281676 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/01/14 | 2815205 | support/texplate/scripts/texplate.jar
+2020/01/14 | 281285 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/01/14 | 28074 | support/texplate/doc/texplate-manual.tex
+2020/01/14 | 27819 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/01/14 | 276600 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/01/14 | 2752909 | install/support/texplate.tds.zip
+2020/01/14 | 2749979 | support/texplate.zip
+2020/01/14 | 271813 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/01/14 | 2711 | fonts/fourier-GUT/afm/fourier-mlitb.afm
+2020/01/14 | 2702 | fonts/fourier-GUT/afm/fourier-mlit.afm
+2020/01/14 | 26979 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/01/14 | 26801 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/01/14 | 26662 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/01/14 | 26510 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/01/14 | 2630 | macros/latex/contrib/tudscr/source/doc/tudscr-additional.tex
+2020/01/14 | 26177 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/01/14 | 2579407 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/01/14 | 25328 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/01/14 | 25084 | systems/texlive/tlnet/archive/l3experimental.r53394.tar.xz
+2020/01/14 | 247502 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/01/14 | 246890 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/01/14 | 246456 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/01/14 | 2459483 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/01/14 | 2451 | support/texplate/source/main/java/org/islandoftex/texplate/util/ValidatorUtils.java
+2020/01/14 | 242275 | macros/latex/contrib/tudscr/source/tudscr-manual.dtx
+2020/01/14 | 24073 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/01/14 | 23829 | macros/latex/contrib/tudscr/source/tudscr-misc.dtx
+2020/01/14 | 237541 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/01/14 | 234 | fonts/fourier-GUT/latex/fmxfutm.fd
+2020/01/14 | 2339 | macros/latex/contrib/l3build/CONTRIBUTING.md
+2020/01/14 | 23346 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/01/14 | 2305 | macros/latex/contrib/l3build/l3build-tagging.lua
+2020/01/14 | 22960 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/01/14 | 22546401 | systems/texlive/tlnet/install-tl.zip
+2020/01/14 | 224236 | systems/texlive/tlnet/archive/latex-tools-dev.source.r53395.tar.xz
+2020/01/14 | 22008 | macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
+2020/01/14 | 2191 | macros/latex/contrib/l3build/l3build-help.lua
+2020/01/14 | 2154488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/01/14 | 21520 | macros/latex/contrib/tudscr/source/tudscr-texindy.dtx
+2020/01/14 | 214152 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/01/14 | 20739 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/01/14 | 202428 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/01/14 | 1999 | macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex
+2020/01/14 | 19836 | systems/texlive/tlnet/archive/l3packages.r53394.tar.xz
+2020/01/14 | 198079 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/01/14 | 19792 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/01/14 | 195364 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/01/14 | 195285 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/01/14 | 194998 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/01/14 | 1945843 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/01/14 | 1937 | macros/latex/contrib/tudscr/source/doc/examples/task.tex
+2020/01/14 | 193315 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/01/14 | 187297 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/01/14 | 18703770 | systems/texlive/tlnet/install-tl-windows.exe
+2020/01/14 | 185299 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/01/14 | 184160 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/01/14 | 183816 | systems/win32/miktex/tm/packages/ascmac.tar.lzma
+2020/01/14 | 1832 | macros/latex/contrib/tudscr/source/doc/examples/notice.tex
+2020/01/14 | 182760 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/01/14 | 1817 | macros/latex/contrib/l3build/l3build.1
+2020/01/14 | 1814068 | systems/win32/miktex/tm/packages/l3packages.tar.lzma
+2020/01/14 | 18117 | macros/latex/contrib/tudscr/source/doc/tudscr-bundle.tex
+2020/01/14 | 17824104 | systems/win32/miktex/tm/packages/latex-base-dev.tar.lzma
+2020/01/14 | 17763 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/01/14 | 177583 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/01/14 | 17699 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/01/14 | 17472 | macros/latex/contrib/tudscr/source/doc/tudscr-supervisor.tex
+2020/01/14 | 17410204 | systems/texlive/tlnet/archive/latex-base-dev.doc.r53395.tar.xz
+2020/01/14 | 17370 | macros/latex/contrib/tudscr/source/doc/tudscr-poster.tex
+2020/01/14 | 1727964 | systems/texlive/tlnet/archive/l3packages.doc.r53394.tar.xz
+2020/01/14 | 169202 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/01/14 | 1679153 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/01/14 | 167845 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/01/14 | 167640 | systems/texlive/tlnet/archive/latex-base-dev.r53395.tar.xz
+2020/01/14 | 167066 | macros/latex/contrib/tudscr/source/doc/tudscr-mainclasses.tex
+2020/01/14 | 16680 | systems/texlive/tlnet/archive/ascmac.r53391.tar.xz
+2020/01/14 | 166013 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/01/14 | 165965 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/01/14 | 1647 | fonts/fourier-GUT/afm/fourier-bb.afm
+2020/01/14 | 1618 | fonts/fourier-GUT/afm/fourier-mcl.afm
+2020/01/14 | 1609 | macros/latex/contrib/booktabs/README
+2020/01/14 | 1607 | macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex
+2020/01/14 | 160559 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/01/14 | 16043 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/01/14 | 15987101 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/01/14 | 15897 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/01/14 | 157668 | systems/texlive/tlnet/archive/ascmac.doc.r53391.tar.xz
+2020/01/14 | 157045 | macros/latex/contrib/tudscr/source/tudscr-fonts.dtx
+2020/01/14 | 15614 | macros/latex/contrib/tudscr/source/tudscr-color.dtx
+2020/01/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/01/14 | 1537 | macros/latex/contrib/l3build/l3build.ins
+2020/01/14 | 153660 | systems/win32/miktex/tm/packages/fancyvrb.tar.lzma
+2020/01/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/01/14 | 152165 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/01/14 | 15090 | fonts/fourier-GUT/latex/fourier.sty
+2020/01/14 | 150088 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/01/14 | 1495 | macros/latex/contrib/l3build/l3build-clean.lua
+2020/01/14 | 14917 | macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex
+2020/01/14 | 14914 | macros/latex/contrib/tudscr/README.md
+2020/01/14 | 148048 | systems/texlive/tlnet/archive/l3kernel.r53394.tar.xz
+2020/01/14 | 147096 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/01/14 | 1468 | systems/texlive/tlnet/archive/collection-publishers.r53393.tar.xz
+2020/01/14 | 146765 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/01/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/01/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/01/14 | 142141 | macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex
+2020/01/14 | 141392 | systems/texlive/tlnet/archive/fancyvrb.doc.r53392.tar.xz
+2020/01/14 | 14050 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/01/14 | 1398 | macros/latex/contrib/tudscr/doc/LICENSE.md
+2020/01/14 | 138011 | macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdf
+2020/01/14 | 13760 | systems/texlive/tlnet/archive/apa6.r53390.tar.xz
+2020/01/14 | 137170 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/01/14 | 13662 | support/texplate/source/main/java/org/islandoftex/texplate/model/TemplateProcessing.java
+2020/01/14 | 133206 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/01/14 | 1329051 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/01/14 | 13148 | systems/texlive/tlnet/archive/svg.r53389.tar.xz
+2020/01/14 | 13062 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/01/14 | 130232 | systems/texlive/tlnet/archive/texlive-scripts.doc.r53387.tar.xz
+2020/01/14 | 127173 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/01/14 | 121062 | macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf
+2020/01/14 | 1203298 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/01/14 | 1195624 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/01/14 | 11748 | macros/latex/contrib/l3build/l3build-file-functions.lua
+2020/01/14 | 116802 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/01/14 | 11676 | systems/texlive/tlnet/archive/fancyvrb.r53392.tar.xz
+2020/01/14 | 1160695 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/01/14 | 1160244 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/01/14 | 11575 | macros/latex/contrib/l3build/l3build-upload.lua
+2020/01/14 | 1153970 | macros/latex/contrib/tudscr/doc/tudscr.pdf
+2020/01/14 | 11462 | macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx
+2020/01/14 | 1138793 | macros/latex/contrib/tudscr/doc/tudscr_print.pdf
+2020/01/14 | 11376 | macros/latex/contrib/l3build/CHANGELOG.md
+2020/01/14 | 11350 | macros/latex/contrib/tudscr/source/tudscr.ins
+2020/01/14 | 11341 | macros/latex/contrib/tudscr/source/tudscr-version.dtx
+2020/01/14 | 11335 | fonts/fourier-GUT/afm/fourier-mex.afm
+2020/01/14 | 112995 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/01/14 | 1124010 | systems/win32/miktex/tm/packages/svg.tar.lzma
+2020/01/14 | 111235 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/01/14 | 11024 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
+2020/01/14 | 108761 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/01/14 | 108246 | macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx
+2020/01/14 | 1080933 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/01/14 | 1080697 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/01/14 | 1070 | macros/latex/contrib/tudscr/source/doc/examples/poster.tex
+2020/01/14 | 1068591 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/01/14 | 1065576 | systems/texlive/tlnet/archive/svg.doc.r53389.tar.xz
+2020/01/14 | 10579672 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
+2020/01/14 | 104561 | macros/latex/contrib/l3build/l3build.dtx
+2020/01/14 | 1042658 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/01/14 | 103721 | support/texplate/doc/texplate-manual.pdf
+2020/01/14 | 1024 | macros/latex/contrib/l3build/README.md
+2020/01/14 | 102380 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/01/14 | 1015159 | macros/latex/contrib/tudscr/doc/tudscrsource.pdf
+2020/01/14 | 100683 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
2020/01/13 | 9990 | macros/latex/contrib/l3kernel/l3news10.tex
2020/01/13 | 99543 | macros/latex/contrib/l3packages/xtemplate.dtx
2020/01/13 | 9888 | macros/latex/contrib/l3experimental/l3draw-transforms.dtx
@@ -7,258 +385,157 @@
2020/01/13 | 9772 | macros/latex/contrib/l3kernel/l3docstrip.dtx
2020/01/13 | 96866 | macros/latex/contrib/l3experimental/l3galley.dtx
2020/01/13 | 9656 | macros/latex/contrib/l3kernel/l3unicode.dtx
-2020/01/13 | 96208 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2020/01/13 | 954075 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
2020/01/13 | 9498 | macros/latex-dev/required/tools/shellesc.dtx
2020/01/13 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
-2020/01/13 | 94641 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
2020/01/13 | 9450 | macros/latex/contrib/l3kernel/l3flag.dtx
-2020/01/13 | 94239 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/01/13 | 93476 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2020/01/13 | 932886 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2020/01/13 | 92937 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/01/13 | 91982 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/01/13 | 91338 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2020/01/13 | 91156 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2020/01/13 | 8982 | macros/latex-dev/required/tools/rawfonts.dtx
2020/01/13 | 88271 | macros/latex/contrib/l3kernel/l3int.dtx
-2020/01/13 | 87276 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2020/01/13 | 87219 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2020/01/13 | 86582 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2020/01/13 | 863200 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
2020/01/13 | 85507 | macros/latex/contrib/l3kernel/l3coffins.dtx
-2020/01/13 | 8485 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
2020/01/13 | 84833 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
-2020/01/13 | 84535 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2020/01/13 | 8424 | macros/latex/contrib/l3kernel/l3news11.tex
2020/01/13 | 835796 | systems/texlive/tlnet/archive/newtx.doc.r53379.tar.xz
2020/01/13 | 82562 | macros/latex/contrib/l3kernel/l3seq.dtx
-2020/01/13 | 80507 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2020/01/13 | 79845 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
2020/01/13 | 793 | macros/latex/contrib/ascmac/README.md
2020/01/13 | 78396 | systems/texlive/tlnet/archive/dsserif.r53384.tar.xz
-2020/01/13 | 77961 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2020/01/13 | 77936 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2020/01/13 | 77318 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2020/01/13 | 7724 | macros/latex/contrib/apa6/samples/bibliography.bib
2020/01/13 | 77128 | macros/latex/contrib/l3kernel/l3box.dtx
2020/01/13 | 7700 | macros/latex/contrib/ascmac/ascgrp.pfb
2020/01/13 | 7681 | macros/latex/contrib/hep-paper/bibliography.bib
2020/01/13 | 75907 | macros/latex/contrib/l3kernel/l3skip.dtx
-2020/01/13 | 7506 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
2020/01/13 | 7488 | macros/latex/contrib/l3experimental/l3draw-scopes.dtx
2020/01/13 | 74349 | macros/latex/contrib/l3kernel/l3clist.dtx
2020/01/13 | 73859 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
-2020/01/13 | 73635 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
2020/01/13 | 72855 | macros/latex/contrib/l3kernel/l3str.dtx
-2020/01/13 | 72600 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/01/13 | 72573 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
2020/01/13 | 72030 | macros/latex-dev/required/tools/longtable.dtx
-2020/01/13 | 71698 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2020/01/13 | 71688 | macros/latex/contrib/l3kernel/l3msg.dtx
2020/01/13 | 71308 | macros/latex-dev/required/tools/verbatim.dtx
2020/01/13 | 70305 | macros/latex/contrib/l3kernel/l3fp.dtx
-2020/01/13 | 70252 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/01/13 | 700306 | macros/latex/contrib/cooking-units/cooking-units.pdf
2020/01/13 | 6990 | macros/latex/contrib/l3packages/xfp.dtx
2020/01/13 | 6970 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
-2020/01/13 | 69609 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/01/13 | 6935353 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
-2020/01/13 | 69213 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2020/01/13 | 6908 | macros/latex/contrib/apa6/samples/longsample.tex
2020/01/13 | 6870179 | macros/latex-dev/required/tools.zip
-2020/01/13 | 68676 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
2020/01/13 | 68288 | macros/latex-dev/required/tools/tools-overview.pdf
2020/01/13 | 68272 | macros/latex/contrib/l3kernel/l3candidates.dtx
2020/01/13 | 6795 | macros/latex-dev/required/tools/delarray.dtx
-2020/01/13 | 67258 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/01/13 | 67253 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
2020/01/13 | 6704 | macros/latex/contrib/apa6/apa6.ins
2020/01/13 | 6677 | macros/latex/contrib/l3kernel/l3news02.tex
2020/01/13 | 661758 | install/fonts/firamath.tds.zip
2020/01/13 | 660240 | fonts/firamath.zip
-2020/01/13 | 652 | systems/win32/miktex/tm/packages/next/pr.ini
-2020/01/13 | 65024 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
2020/01/13 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex
2020/01/13 | 645129 | systems/win32/miktex/tm/packages/acro.tar.lzma
2020/01/13 | 6431 | macros/latex/contrib/l3kernel/l3news06.tex
2020/01/13 | 64264 | macros/latex/contrib/l3kernel/l3prg.dtx
-2020/01/13 | 63289 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2020/01/13 | 63275 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/01/13 | 63118 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2020/01/13 | 62910 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
2020/01/13 | 627172 | macros/latex/contrib/apa6.zip
2020/01/13 | 6249 | macros/latex/contrib/apa6/samples/shortsample.tex
2020/01/13 | 624175 | macros/latex/contrib/l3experimental/l3draw-code.pdf
2020/01/13 | 6236 | macros/latex/contrib/l3kernel/l3alloc.dtx
2020/01/13 | 6203 | macros/latex/contrib/l3kernel/l3color-base.dtx
-2020/01/13 | 61657 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
2020/01/13 | 6163 | macros/latex/contrib/l3experimental/l3draw-state.dtx
2020/01/13 | 615836 | systems/texlive/tlnet/archive/acro.doc.r53383.tar.xz
-2020/01/13 | 61567 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2020/01/13 | 61219 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2020/01/13 | 61208 | macros/latex/contrib/l3kernel/expl3.dtx
2020/01/13 | 6104 | macros/latex/contrib/l3kernel/l3syntax-changes.tex
2020/01/13 | 6074 | macros/latex/contrib/l3kernel/l3.ins
2020/01/13 | 6074 | macros/latex/contrib/ascmac/ascii.mf
-2020/01/13 | 60330 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
2020/01/13 | 5968 | macros/latex-dev/required/tools/xr.dtx
2020/01/13 | 595965 | macros/latex/contrib/apa6/apa6.pdf
-2020/01/13 | 59459 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64-2.9.tar.lzma
2020/01/13 | 59414 | macros/latex-dev/required/tools/bm.dtx
2020/01/13 | 59384 | macros/latex/contrib/l3kernel/l3prefixes.pdf
-2020/01/13 | 58795 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/01/13 | 58 | systems/mac/mactex/MacTeXtras-20200113.zip.md5
2020/01/13 | 584331 | macros/latex/contrib/l3kernel/expl3.pdf
2020/01/13 | 58429 | macros/latex/contrib/l3experimental/xgalley.dtx
2020/01/13 | 5797 | macros/latex-dev/required/tools/somedefs.dtx
-2020/01/13 | 575925 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/01/13 | 5767 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/01/13 | 5757322 | macros/latex/contrib/l3kernel/source3.pdf
-2020/01/13 | 57220 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/01/13 | 571477 | systems/win32/w32tex/ChangeLog
2020/01/13 | 5701 | macros/latex/contrib/l3kernel/l3format.ins
2020/01/13 | 5692 | macros/latex-dev/required/tools/tools.ins
2020/01/13 | 5667 | macros/latex/contrib/l3experimental/l3draw-layers.dtx
-2020/01/13 | 56622 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2020/01/13 | 56424 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/01/13 | 563307 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2020/01/13 | 560770 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2020/01/13 | 55995 | fonts/firamath/firamath-demo.pdf
2020/01/13 | 5548 | macros/latex/contrib/apa6/config/APAendfloat.cfg
2020/01/13 | 55286 | macros/latex-dev/required/tools/changes.txt
-2020/01/13 | 54743 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2020/01/13 | 544016 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2020/01/13 | 5429 | macros/latex/contrib/l3kernel/l3news04.tex
-2020/01/13 | 53996 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/01/13 | 538880 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2020/01/13 | 5363575 | systems/win32/miktex/tm/packages/newtx.tar.lzma
-2020/01/13 | 53448 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-2.9.tar.lzma
-2020/01/13 | 533458 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
2020/01/13 | 532318 | systems/win32/miktex/tm/packages/tocloft.tar.lzma
2020/01/13 | 53174 | macros/latex-dev/required/tools/calc.dtx
-2020/01/13 | 52142 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
2020/01/13 | 5213 | macros/latex-dev/required/tools/tools-overview.tex
-2020/01/13 | 518770 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/01/13 | 518736 | systems/win32/miktex/tm/packages/files.csv.lzma
-2020/01/13 | 51772 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2020/01/13 | 516193 | fonts/firamath/firamath-specimen.pdf
2020/01/13 | 51448 | systems/texlive/tlnet/archive/acmart.source.r53381.tar.xz
2020/01/13 | 51073 | macros/latex/contrib/l3kernel/l3fp-extended.dtx
-2020/01/13 | 50828 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2020/01/13 | 50793 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/01/13 | 50581 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
2020/01/13 | 501747 | macros/latex/contrib/l3packages/xparse.pdf
-2020/01/13 | 498554 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2020/01/13 | 49772 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
2020/01/13 | 4974 | macros/latex/contrib/l3kernel/l3news07.tex
2020/01/13 | 4965 | macros/latex-dev/required/tools/fileerr.dtx
2020/01/13 | 49619 | macros/latex/contrib/l3kernel/l3prop.dtx
2020/01/13 | 4940260 | install/macros/latex/contrib/l3experimental.tds.zip
2020/01/13 | 49394 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
2020/01/13 | 4935 | macros/latex/contrib/l3kernel/l3news01.tex
-2020/01/13 | 49264 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
2020/01/13 | 491417 | macros/latex-dev/required/tools/multicol.pdf
2020/01/13 | 491117 | macros/latex/contrib/l3experimental/l3draw.pdf
2020/01/13 | 4902 | fonts/firamath/firamath-demo.tex
-2020/01/13 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/01/13 | 4897760 | macros/latex/contrib/l3experimental.zip
2020/01/13 | 481463 | macros/latex-dev/required/tools/array.pdf
-2020/01/13 | 47980 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2020/01/13 | 478 | macros/latex/contrib/ascmac/ascmac.ins
2020/01/13 | 47215 | macros/latex/contrib/l3kernel/l3fp-aux.dtx
2020/01/13 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
2020/01/13 | 46646 | macros/latex/contrib/l3kernel/l3text-case.dtx
2020/01/13 | 464631 | systems/win32/miktex/tm/packages/tasks.tar.lzma
-2020/01/13 | 45810 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2020/01/13 | 45742 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/01/13 | 457348 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/01/13 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/01/13 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2020/01/13 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/01/13 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2020/01/13 | 45591 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
2020/01/13 | 4549 | macros/latex/contrib/l3experimental/README.md
-2020/01/13 | 45467 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
2020/01/13 | 454084 | macros/latex/contrib/l3packages/xfrac.pdf
2020/01/13 | 4527676 | systems/texlive/tlnet/archive/newtx.r53379.tar.xz
-2020/01/13 | 449940 | systems/win32/miktex/tm/packages/next/miktex-doc-2.9.tar.lzma
-2020/01/13 | 44983 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2020/01/13 | 448 | macros/latex/contrib/ascmac/ascgrp.tfm
2020/01/13 | 435337 | macros/latex/contrib/hep-paper.zip
2020/01/13 | 43454 | macros/latex-dev/required/tools/theorem.dtx
-2020/01/13 | 43441 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
2020/01/13 | 4328 | macros/latex/contrib/l3experimental/l3draw-boxes.dtx
2020/01/13 | 43158 | macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
-2020/01/13 | 42945 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/01/13 | 428287653 | systems/mac/mactex/MacTeXtras-20200113.zip
2020/01/13 | 427670 | systems/win32/miktex/tm/packages/exframe.tar.lzma
-2020/01/13 | 42574 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
2020/01/13 | 425702 | macros/latex/contrib/hep-paper/hep-paper.pdf
2020/01/13 | 42142 | macros/latex/contrib/l3kernel/l3debug.dtx
2020/01/13 | 419261 | systems/win32/miktex/tm/packages/circledsteps.tar.lzma
-2020/01/13 | 41880 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2020/01/13 | 41865 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2020/01/13 | 416174 | macros/latex/contrib/l3packages/xtemplate.pdf
2020/01/13 | 415380 | systems/texlive/tlnet/archive/circledsteps.doc.r53382.tar.xz
2020/01/13 | 413933 | macros/latex/contrib/l3kernel/l3news.pdf
2020/01/13 | 41238 | systems/win32/miktex/tm/packages/simplebnf.tar.lzma
-2020/01/13 | 40992 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
2020/01/13 | 40930 | macros/latex/contrib/l3kernel/l3sort.dtx
-2020/01/13 | 40739 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2020/01/13 | 40718 | macros/latex/contrib/l3experimental/l3draw.dtx
2020/01/13 | 40709 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
2020/01/13 | 4022 | macros/latex/contrib/l3kernel/l3news.tex
2020/01/13 | 40082 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex
-2020/01/13 | 39846 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2020/01/13 | 39702 | macros/latex-dev/required/tools/ftnright.dtx
-2020/01/13 | 3954088 | systems/texlive/tlnet/install-tl-unx.tar.gz
2020/01/13 | 39276 | macros/latex/contrib/l3packages/xfrac.dtx
-2020/01/13 | 39221 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/01/13 | 391462 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2020/01/13 | 3903906 | systems/win32/miktex/tm/packages/acmart.tar.lzma
2020/01/13 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r53374.tar.xz
2020/01/13 | 3886 | graphics/svg/README.md
-2020/01/13 | 38863 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/01/13 | 387512 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-x64-2.9.tar.lzma
2020/01/13 | 38561 | macros/latex/contrib/l3kernel/l3deprecation.dtx
2020/01/13 | 385522 | macros/latex/contrib/l3experimental/l3galley.pdf
2020/01/13 | 3804080 | systems/texlive/tlnet/archive/acmart.doc.r53381.tar.xz
2020/01/13 | 3740 | systems/texlive/tlnet/archive/zxjafont.r53380.tar.xz
+2020/01/13 | 37305 | systems/mac/mactex/ExtrasFolder.pdf
2020/01/13 | 372664 | macros/latex/contrib/l3experimental/xcoffins.pdf
2020/01/13 | 3714 | macros/latex/contrib/l3experimental/CHANGELOG.md
-2020/01/13 | 36633 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
2020/01/13 | 36624 | systems/texlive/tlnet/archive/acmart.r53381.tar.xz
-2020/01/13 | 36381 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2020/01/13 | 362861 | macros/latex/contrib/l3experimental/l3graphics.pdf
2020/01/13 | 35816 | macros/latex-dev/required/tools/tabularx.dtx
-2020/01/13 | 356321 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
2020/01/13 | 355228 | macros/latex-dev/required/tools/varioref.pdf
-2020/01/13 | 354501 | systems/win32/miktex/tm/packages/next/miktex-omega-bin-2.9.tar.lzma
-2020/01/13 | 35216 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2020/01/13 | 35177 | macros/latex/contrib/l3experimental/xcoffins.dtx
2020/01/13 | 350326 | macros/latex-dev/required/tools/longtable.pdf
2020/01/13 | 349685 | macros/latex/contrib/l3experimental/l3color.pdf
2020/01/13 | 349545 | macros/latex/contrib/l3experimental/l3pdf.pdf
-2020/01/13 | 34847 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/01/13 | 34834 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2020/01/13 | 346873 | macros/latex-dev/required/tools/ftnright.pdf
2020/01/13 | 344664 | macros/latex/contrib/l3experimental/l3str-format.pdf
2020/01/13 | 340877 | macros/latex-dev/required/tools/calc.pdf
2020/01/13 | 3406 | macros/latex/contrib/l3packages/README.md
2020/01/13 | 33872 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
2020/01/13 | 337341 | macros/latex/contrib/l3experimental/l3cctab.pdf
-2020/01/13 | 33549 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/01/13 | 33400 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
2020/01/13 | 32 | macros/latex/contrib/ascmac/ascii36.mf
2020/01/13 | 32 | macros/latex/contrib/ascmac/ascii10.mf
2020/01/13 | 3292 | macros/latex-dev/required/tools/manifest.txt
-2020/01/13 | 328876 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2020/01/13 | 326866 | macros/latex/contrib/l3packages/l3keys2e.pdf
2020/01/13 | 32522 | macros/latex/contrib/l3experimental/l3draw-paths.dtx
-2020/01/13 | 32349 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2020/01/13 | 323427 | macros/latex-dev/required/tools/theorem.pdf
-2020/01/13 | 32268 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2020/01/13 | 3223 | macros/latex/contrib/apa6/config/APAngerman.txt
2020/01/13 | 3221 | macros/latex/contrib/apa6/config/APAgreek.txt
-2020/01/13 | 321 | systems/win32/miktex/tm/packages/pr.ini
2020/01/13 | 3214 | macros/latex/contrib/apa6/config/APAgerman.txt
-2020/01/13 | 321499 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
2020/01/13 | 3213 | macros/latex/contrib/apa6/config/APAturkish.txt
2020/01/13 | 3204 | macros/latex/contrib/apa6/config/APAczech.txt
2020/01/13 | 3193 | macros/latex/contrib/apa6/config/APAdutch.txt
@@ -269,49 +546,29 @@
2020/01/13 | 3164 | macros/latex/contrib/apa6/config/APAbritish.txt
2020/01/13 | 314019 | macros/latex/contrib/l3experimental/l3benchmark.pdf
2020/01/13 | 31299 | macros/latex/contrib/l3experimental/l3draw-points.dtx
-2020/01/13 | 31294 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/01/13 | 31155 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
2020/01/13 | 311429 | macros/latex/contrib/l3experimental/l3sys-shell.pdf
-2020/01/13 | 30990 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
2020/01/13 | 309651 | macros/latex/contrib/l3packages/xfp.pdf
2020/01/13 | 30962 | macros/latex-dev/required/tools/layout.dtx
-2020/01/13 | 308660 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2020/01/13 | 306782 | macros/latex-dev/required/tools/bm.pdf
2020/01/13 | 30613 | macros/latex/contrib/hep-paper/hep-paper.dtx
-2020/01/13 | 30240 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2020/01/13 | 302239 | macros/latex-dev/required/tools/verbatim.pdf
2020/01/13 | 2997 | macros/latex/contrib/l3kernel/README.md
2020/01/13 | 29901 | macros/latex/contrib/l3experimental/l3color.dtx
2020/01/13 | 29845 | macros/latex/contrib/l3kernel/l3prefixes.csv
2020/01/13 | 29720 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
-2020/01/13 | 29690 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2020/01/13 | 29571 | macros/latex-dev/required/tools/showkeys.dtx
-2020/01/13 | 29297 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/01/13 | 29241 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/01/13 | 29145 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2020/01/13 | 2910 | macros/latex/contrib/ascmac/ascii10.pfb
2020/01/13 | 2892 | macros/latex/contrib/ascmac/ascii36.pfb
-2020/01/13 | 28710 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/01/13 | 289016 | macros/latex/contrib/cooking-units/cooking-units.dtx
2020/01/13 | 285447 | macros/latex/contrib/l3experimental/xgalley.pdf
2020/01/13 | 28521 | macros/latex/contrib/l3kernel/l3text.dtx
-2020/01/13 | 281676 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2020/01/13 | 281285 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2020/01/13 | 279782 | macros/latex/contrib/l3kernel/l3styleguide.pdf
-2020/01/13 | 27821 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
2020/01/13 | 277030 | macros/latex/contrib/l3experimental/l3pdf-code.pdf
-2020/01/13 | 276601 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
2020/01/13 | 27400 | macros/latex/contrib/ascmac/ascmac.dtx
-2020/01/13 | 271814 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2020/01/13 | 26979 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/01/13 | 26801 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2020/01/13 | 26663 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2020/01/13 | 26532 | macros/latex/contrib/l3kernel/l3sys.dtx
-2020/01/13 | 26510 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
2020/01/13 | 263041 | macros/latex/contrib/l3kernel/l3docstrip.pdf
-2020/01/13 | 26177 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
2020/01/13 | 2592 | macros/latex/contrib/l3kernel/l3prefixes.tex
2020/01/13 | 2587 | macros/latex-dev/required/tools/multicol.ins
-2020/01/13 | 2579408 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2020/01/13 | 25753 | macros/latex/contrib/l3kernel/l3fp-random.dtx
2020/01/13 | 25619 | fonts/firamath/firamath-glyph-list.tex
2020/01/13 | 2549 | macros/latex-dev/required/tools/longtable.ins
@@ -320,37 +577,26 @@
2020/01/13 | 254340 | macros/latex-dev/required/tools/tabularx.pdf
2020/01/13 | 2542 | macros/latex-dev/required/tools/varioref.ins
2020/01/13 | 2535 | macros/latex-dev/required/tools/bm.ins
-2020/01/13 | 25329 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2020/01/13 | 250949 | macros/latex/contrib/l3kernel/l3regex.dtx
2020/01/13 | 2484 | macros/latex/contrib/l3kernel/l3legacy.dtx
2020/01/13 | 24769 | macros/latex/contrib/l3experimental/l3graphics.dtx
-2020/01/13 | 247501 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
2020/01/13 | 247184 | systems/texlive/tlnet/archive/dsserif.doc.r53384.tar.xz
2020/01/13 | 246931 | macros/latex-dev/required/tools/layout.pdf
-2020/01/13 | 246892 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
2020/01/13 | 24664 | macros/latex-dev/required/tools/trace.dtx
-2020/01/13 | 246456 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2020/01/13 | 2459485 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
2020/01/13 | 24536 | systems/texlive/tlnet/archive/acro.r53383.tar.xz
2020/01/13 | 244282 | macros/latex/contrib/l3kernel/l3news12.pdf
2020/01/13 | 242786 | macros/latex-dev/required/tools/showkeys.pdf
-2020/01/13 | 24071 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
2020/01/13 | 238007 | macros/latex-dev/required/tools/xspace.pdf
-2020/01/13 | 237541 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2020/01/13 | 237488 | systems/texlive/tlnet/archive/epspdf.doc.r53378.tar.xz
2020/01/13 | 235323 | macros/latex/contrib/l3kernel/l3news09.pdf
-2020/01/13 | 23345 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2020/01/13 | 23068 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
-2020/01/13 | 22960 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2020/01/13 | 227512 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
-2020/01/13 | 22546427 | systems/texlive/tlnet/install-tl.zip
+2020/01/13 | 22470544 | systems/win32/w32tex/cjkzr.tar.xz
2020/01/13 | 2226 | macros/latex-dev/required/tools/indentfirst.dtx
2020/01/13 | 21817 | macros/latex/contrib/l3kernel/l3quark.dtx
2020/01/13 | 218137 | graphics/svg/source/svg.dtx
2020/01/13 | 21717442 | macros/latex-dev/base.zip
2020/01/13 | 2153 | macros/latex/contrib/l3kernel/source3.tex
-2020/01/13 | 2150904 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
-2020/01/13 | 214152 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2020/01/13 | 212742 | macros/latex-dev/required/tools/trace.pdf
2020/01/13 | 21165 | macros/latex/contrib/l3kernel/source3body.tex
2020/01/13 | 2110761 | install/macros/latex/contrib/l3packages.tds.zip
@@ -358,38 +604,25 @@
2020/01/13 | 2090 | language/japanese/zxjafont/README-ja.md
2020/01/13 | 208 | macros/latex/contrib/ascmac/ascii36.tfm
2020/01/13 | 2082028 | macros/latex/contrib/l3packages.zip
-2020/01/13 | 20738 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
2020/01/13 | 204 | macros/latex/contrib/ascmac/ascii10.tfm
2020/01/13 | 20463 | macros/latex/contrib/l3experimental/l3draw-softpath.dtx
-2020/01/13 | 202429 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
2020/01/13 | 199221 | macros/latex-dev/required/tools/dcolumn.pdf
2020/01/13 | 199049 | macros/latex-dev/required/tools/enumerate.pdf
-2020/01/13 | 198079 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2020/01/13 | 19793 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
2020/01/13 | 19693 | macros/latex/contrib/l3kernel/l3intarray.dtx
2020/01/13 | 19661 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
-2020/01/13 | 195265 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/01/13 | 195262 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/01/13 | 194998 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2020/01/13 | 1945836 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/01/13 | 193315 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
2020/01/13 | 19309 | macros/latex/contrib/l3kernel/l3bootstrap.dtx
2020/01/13 | 19219 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
2020/01/13 | 191979 | install/macros/latex/contrib/ascmac.tds.zip
2020/01/13 | 1912 | macros/latex/contrib/l3experimental/l3draw.ins
2020/01/13 | 1909 | macros/latex/contrib/l3kernel/interface3.tex
2020/01/13 | 189848 | macros/latex-dev/required/tools/afterpage.pdf
-2020/01/13 | 187297 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2020/01/13 | 18703377 | systems/texlive/tlnet/install-tl-windows.exe
+2020/01/13 | 18707816 | systems/win32/w32tex/pdftex-w32.tar.xz
2020/01/13 | 186295 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
2020/01/13 | 18605 | macros/latex/contrib/l3kernel/l3fp-round.dtx
2020/01/13 | 1852 | systems/texlive/tlnet/archive/circledsteps.r53382.tar.xz
-2020/01/13 | 185299 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/01/13 | 184160 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2020/01/13 | 183432 | macros/latex-dev/required/tools/delarray.pdf
2020/01/13 | 183380 | macros/latex/contrib/ascmac.zip
2020/01/13 | 18295 | macros/latex/contrib/l3kernel/CHANGELOG.md
-2020/01/13 | 182760 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2020/01/13 | 182427 | macros/latex-dev/required/tools/multicol.dtx
2020/01/13 | 180048 | macros/latex-dev/required/tools/fileerr.pdf
2020/01/13 | 179680 | macros/latex/contrib/l3packages/xparse.dtx
@@ -397,9 +630,7 @@
2020/01/13 | 17918 | macros/latex/contrib/l3kernel/l3luatex.dtx
2020/01/13 | 17862 | macros/latex-dev/required/tools/xspace.dtx
2020/01/13 | 17815 | macros/latex/contrib/l3experimental/l3benchmark.dtx
-2020/01/13 | 17764 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2020/01/13 | 177583 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/01/13 | 17699 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/01/13 | 1780 | systems/mac/mactex/Licenses.txt
2020/01/13 | 175678 | macros/latex-dev/required/tools/hhline.pdf
2020/01/13 | 174241 | macros/latex/contrib/l3kernel/l3news11.pdf
2020/01/13 | 173224 | systems/win32/miktex/tm/packages/ulem.tar.lzma
@@ -407,21 +638,13 @@
2020/01/13 | 172025 | macros/latex/contrib/apa6/apa6.dtx
2020/01/13 | 1718 | language/japanese/zxjafont/README.md
2020/01/13 | 169757 | macros/latex-dev/required/tools/shellesc.pdf
-2020/01/13 | 169203 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2020/01/13 | 1679153 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2020/01/13 | 167847 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
2020/01/13 | 1675 | macros/latex/contrib/ascmac/Makefile
2020/01/13 | 1666 | macros/latex-dev/required/tools/README.md
-2020/01/13 | 166015 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2020/01/13 | 165965 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/01/13 | 1655 | macros/latex/contrib/cooking-units/cooking-units.ins
2020/01/13 | 1642 | macros/latex/contrib/l3kernel/l3term-glossary.tex
2020/01/13 | 163785 | macros/latex-dev/required/tools/xr.pdf
2020/01/13 | 1630 | macros/latex/contrib/l3experimental/xgalley.ins
2020/01/13 | 16186 | language/japanese/zxjafont/zxjafont.sty
-2020/01/13 | 160559 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2020/01/13 | 16042 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2020/01/13 | 15984496 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2020/01/13 | 15898 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2020/01/13 | 158813 | macros/latex/contrib/ascmac/ascmac.pdf
2020/01/13 | 15841 | fonts/firamath/firamath-specimen.tex
2020/01/13 | 157948 | systems/texlive/tlnet/archive/texlive-docindex.doc.r53374.tar.xz
@@ -437,23 +660,16 @@
2020/01/13 | 155856 | macros/latex/contrib/fancyvrb.zip
2020/01/13 | 1553 | macros/latex/contrib/ascmac/LICENSE
2020/01/13 | 1547 | macros/latex/contrib/l3experimental/l3color.ins
-2020/01/13 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2020/01/13 | 1538470 | macros/latex/contrib/l3kernel/interface3.pdf
2020/01/13 | 1536 | macros/latex/contrib/l3experimental/l3pdf.ins
-2020/01/13 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2020/01/13 | 152644 | fonts/firamath/FiraMath-Regular.otf
2020/01/13 | 152413 | macros/latex/contrib/l3kernel/l3news08.pdf
-2020/01/13 | 152166 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2020/01/13 | 150776 | systems/win32/miktex/tm/packages/zxjafont.tar.lzma
-2020/01/13 | 150091 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2020/01/13 | 149148 | macros/latex/contrib/l3kernel/l3doc.dtx
+2020/01/13 | 1482 | macros/latex/contrib/cooking-units/README.md
2020/01/13 | 147099 | macros/latex/contrib/l3kernel/l3news10.pdf
-2020/01/13 | 147096 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2020/01/13 | 146765 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
2020/01/13 | 146432 | systems/texlive/tlnet/archive/zxjafont.doc.r53380.tar.xz
2020/01/13 | 1461 | graphics/svg/doc/LICENSE.md
-2020/01/13 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/01/13 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2020/01/13 | 144780 | macros/latex/contrib/l3kernel/l3news03.pdf
2020/01/13 | 144779 | macros/latex-dev/required/tools/indentfirst.pdf
2020/01/13 | 1444 | macros/latex/contrib/l3packages/l3keys2e-demo.tex
@@ -464,21 +680,15 @@
2020/01/13 | 140796 | macros/latex/contrib/l3kernel/l3news06.pdf
2020/01/13 | 14078 | macros/latex-dev/required/tools/afterpage.dtx
2020/01/13 | 140776 | macros/latex/contrib/l3kernel/l3news02.pdf
-2020/01/13 | 14051 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2020/01/13 | 138025 | macros/latex-dev/required/tools/fontsmpl.pdf
2020/01/13 | 13798 | macros/latex/contrib/apa6/pseudoTeX/apa6.ptex
-2020/01/13 | 137170 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2020/01/13 | 1356 | macros/latex/contrib/l3experimental/l3draw-code.tex
2020/01/13 | 135688 | macros/latex-dev/required/tools/rawfonts.pdf
2020/01/13 | 133221 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
-2020/01/13 | 133205 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2020/01/13 | 1329052 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2020/01/13 | 13269 | macros/latex/contrib/apa6/pseudoTeX/TeX2WordForapa6.bas
2020/01/13 | 132279 | macros/latex/contrib/l3kernel/l3tl.dtx
2020/01/13 | 1309 | macros/latex/contrib/fancyvrb/Changes
-2020/01/13 | 13062 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
2020/01/13 | 12979 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
-2020/01/13 | 127172 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2020/01/13 | 12715 | macros/latex-dev/required/tools/dcolumn.dtx
2020/01/13 | 127036 | macros/latex/contrib/l3kernel/l3basics.dtx
2020/01/13 | 1267 | macros/latex/contrib/l3packages/xfrac.ins
@@ -486,52 +696,38 @@
2020/01/13 | 123627 | macros/latex-dev/required/tools/array.dtx
2020/01/13 | 1234 | macros/latex/contrib/l3packages/l3keys2e.ins
2020/01/13 | 1223 | macros/latex/contrib/l3packages/xparse.ins
-2020/01/13 | 1203298 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
2020/01/13 | 1197 | macros/latex/contrib/l3packages/xfp.ins
-2020/01/13 | 1195625 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2020/01/13 | 118976 | macros/latex/contrib/l3kernel/l3news07.pdf
2020/01/13 | 11884 | macros/latex/contrib/l3kernel/l3styleguide.tex
2020/01/13 | 11826 | macros/latex/contrib/l3kernel/l3fparray.dtx
2020/01/13 | 11795151 | install/macros/latex/contrib/l3kernel.tds.zip
2020/01/13 | 11755 | macros/latex-dev/required/tools/array-2016-10-06.sty
-2020/01/13 | 116802 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/01/13 | 1160988 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/01/13 | 1160021 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
2020/01/13 | 11579075 | macros/latex/contrib/l3kernel.zip
2020/01/13 | 1150532 | graphics/svg.zip
2020/01/13 | 113527 | macros/latex/contrib/l3kernel/l3news01.pdf
-2020/01/13 | 112995 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2020/01/13 | 112873 | macros/latex/contrib/l3kernel/l3names.dtx
2020/01/13 | 1116 | macros/latex/contrib/l3experimental/l3pdf-code.tex
2020/01/13 | 11156 | macros/latex/contrib/l3packages/l3keys2e.dtx
2020/01/13 | 11154 | macros/latex-dev/required/tools/hhline.dtx
-2020/01/13 | 111237 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2020/01/13 | 109736 | macros/latex/contrib/l3kernel/l3str-convert.dtx
2020/01/13 | 10937 | macros/latex/contrib/l3experimental/l3sys-shell.dtx
2020/01/13 | 1091 | language/japanese/zxjafont/LICENSE
2020/01/13 | 108823 | macros/latex/contrib/l3kernel/l3token.dtx
-2020/01/13 | 108761 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2020/01/13 | 1081090 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2020/01/13 | 1080016 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2020/01/13 | 10797 | language/japanese/zxjafont/zxjafont.tex
2020/01/13 | 10777 | macros/latex-dev/required/tools/fontsmpl.dtx
2020/01/13 | 1074 | fonts/firamath/README.md
2020/01/13 | 107379 | macros/latex/contrib/l3kernel/l3news09.tex
2020/01/13 | 107119 | macros/latex/contrib/l3kernel/l3news04.pdf
-2020/01/13 | 1068588 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
2020/01/13 | 106742 | macros/latex/contrib/l3kernel/l3expan.dtx
2020/01/13 | 10650 | macros/latex-dev/required/tools/enumerate.dtx
2020/01/13 | 105629 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
2020/01/13 | 1054938 | systems/win32/miktex/tm/packages/nicematrix.tar.lzma
2020/01/13 | 1052279 | systems/win32/miktex/tm/packages/hithesis.tar.lzma
2020/01/13 | 105092 | macros/latex/contrib/l3kernel/l3news05.pdf
-2020/01/13 | 1042664 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2020/01/13 | 103606 | macros/latex-dev/required/tools/varioref.dtx
2020/01/13 | 1028543 | graphics/svg/doc/svg.pdf
-2020/01/13 | 102381 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
2020/01/13 | 10099 | macros/latex/contrib/ascmac/ascgrp.mf
2020/01/13 | 1008 | macros/latex/contrib/hep-paper/README.md
-2020/01/13 | 100683 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
2020/01/12 | 9882 | macros/latex-dev/base/manifest.txt
2020/01/12 | 9814 | macros/latex-dev/base/ltnews21.tex
2020/01/12 | 9776 | systems/texlive/tlnet/archive/exframe.r53369.tar.xz
@@ -553,7 +749,6 @@
2020/01/12 | 8632 | macros/latex-dev/base/oldlfont.dtx
2020/01/12 | 8541 | macros/latex-dev/base/texpert.txt
2020/01/12 | 8435 | macros/latex/contrib/circledsteps/circledsteps-manual.tex
-2020/01/12 | 83344 | systems/texlive/tlnet/archive/texlive-scripts.r53367.tar.xz
2020/01/12 | 787376 | systems/win32/w32tex/win64/dvipsk-w64.tar.xz
2020/01/12 | 76499 | macros/latex-dev/base/ltfssbas.dtx
2020/01/12 | 7578 | macros/latex-dev/base/ltxguide.cls
@@ -582,7 +777,6 @@
2020/01/12 | 5854 | macros/latex-dev/base/ltpar.dtx
2020/01/12 | 5808 | macros/latex-dev/base/ltnews16.tex
2020/01/12 | 5733 | macros/latex-dev/base/inputenc.ins
-2020/01/12 | 571380 | systems/win32/w32tex/ChangeLog
2020/01/12 | 5710 | macros/latex-dev/base/ltnews08.tex
2020/01/12 | 5682 | macros/latex-dev/base/ltnews10.tex
2020/01/12 | 5621 | macros/latex-dev/base/ltnews05.tex
@@ -771,7 +965,6 @@
2020/01/12 | 133132 | macros/latex-dev/base/ltnews06.pdf
2020/01/12 | 13305 | macros/latex-dev/base/proc.dtx
2020/01/12 | 130688 | macros/latex-dev/base/ltnews16.pdf
-2020/01/12 | 130232 | systems/texlive/tlnet/archive/texlive-scripts.doc.r53367.tar.xz
2020/01/12 | 12967 | macros/latex-dev/base/manual.err
2020/01/12 | 128768 | macros/latex-dev/base/ltnews04.pdf
2020/01/12 | 12537 | macros/latex-dev/base/testpage.tex
@@ -808,7 +1001,6 @@
2020/01/11 | 6148 | systems/texlive/tlnet/archive/tocloft.r53364.tar.xz
2020/01/11 | 593251 | macros/latex/contrib/acro/acro-manual.pdf
2020/01/11 | 58844 | systems/texlive/tlnet/archive/hithesis.source.r53362.tar.xz
-2020/01/11 | 5849 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/01/11 | 574638 | macros/latex/contrib/acmart/samples/sample-sigchi.pdf
2020/01/11 | 573679 | macros/latex/contrib/acmart/samples/sample-manuscript.pdf
2020/01/11 | 573671 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
@@ -1175,7 +1367,6 @@
2020/01/08 | 61671 | graphics/pgf/base/doc/text-en/pgfmanual-en-base-animations.tex
2020/01/08 | 61358 | graphics/pgf/base/doc/text-en/pgfmanual-en-tutorial-map.tex
2020/01/08 | 612 | graphics/pgf/base/tex/t-pgfkey.tex
-2020/01/08 | 6081 | fonts/cochineal/README
2020/01/08 | 60485 | graphics/pgf/base/doc/images/brave-gnu-world-logo-mask.jpg
2020/01/08 | 6038 | graphics/pgf/base/tex/pgfcoregraphicstate.code.tex
2020/01/08 | 60269 | graphics/pgf/base/tex/pgfsys.code.tex
@@ -1190,7 +1381,6 @@
2020/01/08 | 58801 | graphics/pgf/base/tex/pgflibraryarrows.meta.code.tex
2020/01/08 | 586 | graphics/pgf/base/source/module_script.h
2020/01/08 | 5849 | graphics/pgf/base/doc/text-en/pgfmanual-en-library-fixedpoint.tex
-2020/01/08 | 5789419 | install/fonts/cochineal.tds.zip
2020/01/08 | 577 | graphics/pgf/base/source/BarycenterHeuristic_script.h
2020/01/08 | 575 | graphics/pgf/base/source/GreedyCycleRemoval_script.h
2020/01/08 | 575 | graphics/pgf/base/source/DfsAcyclicSubgraph_script.h
@@ -1501,7 +1691,6 @@
2020/01/08 | 333 | graphics/pgf/base/lua/graphdrawing/pgf/gd/doc/ogdf/module/RankingModule.lua
2020/01/08 | 33336 | graphics/pgf/base/tex/pgflibraryshapes.callouts.code.tex
2020/01/08 | 33335 | graphics/pgf/base/tex/pgfcorepoints.code.tex
-2020/01/08 | 3332 | fonts/cochineal/tfm/zcochbmi.tfm
2020/01/08 | 332 | graphics/pgf/base/tex/pgfmanual.sty
2020/01/08 | 331 | graphics/pgf/base/tex/tikzlibraryplothandlers.code.tex
2020/01/08 | 331 | graphics/pgf/base/lua/graphdrawing/pgf/gd/model/library.lua
@@ -1512,10 +1701,8 @@
2020/01/08 | 32926 | graphics/pgf/base/doc/text-en/pgfmanual-en-base-paths.tex
2020/01/08 | 329004 | systems/win32/miktex/tm/packages/dsserif.tar.lzma
2020/01/08 | 328 | graphics/pgf/base/tex/pgfcalendar.sty
-2020/01/08 | 32804 | fonts/cochineal/map/Cochineal.map
2020/01/08 | 325 | graphics/pgf/base/tex/tikzlibraryplotmarks.code.tex
2020/01/08 | 325 | graphics/pgf/base/tex/pgfrcs.sty
-2020/01/08 | 3256 | fonts/cochineal/tfm/zcochmi.tfm
2020/01/08 | 3243 | graphics/pgf/base/tex/tikzlibrary3d.code.tex
2020/01/08 | 321 | graphics/pgf/base/tex/tikzlibrarydecorations.pathmorphing.code.tex
2020/01/08 | 321 | graphics/pgf/base/doc/INSTALL
@@ -1590,7 +1777,6 @@
2020/01/08 | 2627 | graphics/pgf/base/tex/pgfsys-dvipdfm.def
2020/01/08 | 2616 | graphics/pgf/base/doc/text-en/pgfmanual-en-dv-examples.tex
2020/01/08 | 260 | graphics/pgf/base/doc/images/brave-gnu-world-logo.xbb
-2020/01/08 | 2584 | fonts/cochineal/vf/zcochbmi.vf
2020/01/08 | 25798 | graphics/pgf/base/doc/text-en/pgfmanual-en-library-fpu.tex
2020/01/08 | 2576 | graphics/pgf/base/tex/tikzlibrarygraphs.standard.code.tex
2020/01/08 | 2571 | graphics/pgf/base/lua/graphdrawing/pgf/gd/deprecated/Iterators.lua
@@ -1607,7 +1793,6 @@
2020/01/08 | 2505 | graphics/pgf/base/source/InterfaceFromOGDF.c++
2020/01/08 | 24998 | graphics/pgf/base/lua/graphdrawing/pgf/gd/phylogenetics/Maeusle2012.lua
2020/01/08 | 24930 | graphics/pgf/base/doc/text-en/pgfmanual-en-tikz-scopes.tex
-2020/01/08 | 2492 | fonts/cochineal/vf/zcochmi.vf
2020/01/08 | 2488 | graphics/pgf/base/lua/graphdrawing/pgf/gd/force/jedi/library.lua
2020/01/08 | 2479 | graphics/pgf/base/lua/graphdrawing/pgf/gd/routing/NecklaceRouting.lua
2020/01/08 | 24742 | graphics/pgf/base/tex/pgflibrarysvg.path.code.tex
@@ -1616,11 +1801,9 @@
2020/01/08 | 24617 | graphics/pgf/base/tex/pgflibraryshapes.gates.logic.IEC.code.tex
2020/01/08 | 2439 | graphics/pgf/base/doc/text-en/pgfmanual-en-gd-phylogenetics.tex
2020/01/08 | 24091 | graphics/pgf/base/tex/pgfcalendar.code.tex
-2020/01/08 | 2388 | fonts/cochineal/tfm/zcochbmia.tfm
2020/01/08 | 23888 | graphics/pgf/base/doc/text-en/pgfmanual-en-tikz-pics.tex
2020/01/08 | 23778 | graphics/pgf/base/source/InterfaceFromC.h
2020/01/08 | 23777 | graphics/pgf/base/tex/pgffor.code.tex
-2020/01/08 | 2372 | fonts/cochineal/tfm/zcochmia.tfm
2020/01/08 | 23635 | graphics/pgf/base/doc/text-en/pgfmanual-en-tikz-decorations.tex
2020/01/08 | 235 | graphics/pgf/base/source/planarity_script.h
2020/01/08 | 2351 | graphics/pgf/base/lua/graphdrawing/pgf/gd/examples/SimpleDemo.lua
@@ -1683,7 +1866,6 @@
2020/01/08 | 19618 | graphics/pgf/base/lua/graphdrawing/pgf/gd/phylogenetics/BalancedMinimumEvolution.lua
2020/01/08 | 19582 | graphics/pgf/base/tex/pgfmoduleparser.code.tex
2020/01/08 | 1952 | graphics/pgf/base/lua/graphdrawing/pgf/gd/layered/CycleRemovalBergerS1990b.lua
-2020/01/08 | 1952 | fonts/cochineal/vf/zcochmia.vf
2020/01/08 | 19512 | graphics/pgf/base/lua/graphdrawing/pgf/gd/force/SpringElectricalWalshaw2000.lua
2020/01/08 | 1946552 | systems/win32/miktex/tm/packages/scholax.tar.lzma
2020/01/08 | 1945 | graphics/pgf/base/lua/graphdrawing/pgf/gd/force/ControlSprings.lua
@@ -1696,7 +1878,6 @@
2020/01/08 | 1944 | graphics/pgf/base/doc/version-for-dvips/en/plots/pgfplotgnuplot-example.table
2020/01/08 | 1944 | graphics/pgf/base/doc/version-for-dvipdfm/en/plots/pgfplotgnuplot-example.table
2020/01/08 | 1944 | graphics/pgf/base/doc/text-en/plots/pgfplotgnuplot-example.table
-2020/01/08 | 1944 | fonts/cochineal/vf/zcochbmia.vf
2020/01/08 | 19324 | graphics/pgf/base/tex/pgfcoreexternal.code.tex
2020/01/08 | 191 | graphics/pgf/base/doc/version-for-dvisvgm/en/pgfmanual-test.html
2020/01/08 | 1918 | graphics/pgf/base/tex/pgfmodulesorting.code.tex
@@ -1930,39 +2111,3 @@
2020/01/08 | 1000 | graphics/pgf/base/source/MultilevelLayout_script.h
2020/01/08 | 10009 | graphics/pgf/base/tex/pgfutil-plain.def
2020/01/08 | 0 | graphics/pgf/base/doc/version-for-dvisvgm/en/color.cfg
-2020/01/07 | 98754304 | systems/win32/w32tex/web2c-lib.tar.xz
-2020/01/07 | 790391 | macros/latex/contrib/eqexam/doc/eqexam.pdf
-2020/01/07 | 768 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/README
-2020/01/07 | 762 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/manuscripts-noautoshorthand.dbx
-2020/01/07 | 746 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/manuscripts.dbx
-2020/01/07 | 73088 | systems/texlive/tlnet/archive/tetex.r53340.tar.xz
-2020/01/07 | 668610 | macros/latex/contrib/eqexam/doc/fortextbook/fortextbook.pdf
-2020/01/07 | 66119 | macros/latex/contrib/eqexam/eqexam.def
-2020/01/07 | 64194980 | systems/win32/w32tex/biblatex-biber.tar.xz
-2020/01/07 | 618511 | macros/latex/contrib/eqexam/doc/eqexamman.pdf
-2020/01/07 | 6152 | macros/latex/contrib/eqexam/aebrandom.def
-2020/01/07 | 572473 | macros/latex/contrib/acrotex/exerquiz.dtx
-2020/01/07 | 5583280 | systems/texlive/tlnet/archive/cormorantgaramond.r53339.tar.xz
-2020/01/07 | 538796 | systems/texlive/tlnet/archive/tetex.doc.r53340.tar.xz
-2020/01/07 | 526161 | macros/latex/contrib/acrotex/doc/aeb_man.tex
-2020/01/07 | 4356 | macros/latex/contrib/acrotex/acrotex.ins
-2020/01/07 | 400822 | macros/latex/contrib/eqexam/eqexam.dtx
-2020/01/07 | 3774 | macros/latex/contrib/eqexam/README.md
-2020/01/07 | 36324 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/documentation/biblatex-manuscripts-philology-example.pdf
-2020/01/07 | 355221 | macros/latex/contrib/acrotex/examples/jquiztst.pdf
-2020/01/07 | 3362404 | macros/latex/contrib/acrotex.zip
-2020/01/07 | 3289 | macros/latex/contrib/acrotex/README.md
-2020/01/07 | 222934 | macros/latex/contrib/eqexam/doc/eqexamman.tex
-2020/01/07 | 21226 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/documentation/biblatex-manuscripts-philology.tex
-2020/01/07 | 1841 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/french-manuscripts.lbx
-2020/01/07 | 1839 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/italian-manuscripts.lbx
-2020/01/07 | 1767 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/english-manuscripts.lbx
-2020/01/07 | 158024 | systems/texlive/tlnet/archive/cormorantgaramond.doc.r53339.tar.xz
-2020/01/07 | 154952 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology.zip
-2020/01/07 | 1408 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/manuscripts-shared.dbx
-2020/01/07 | 138639 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm
-2020/01/07 | 11411 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/manuscripts-shared.bbx
-2020/01/07 | 1139 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/manuscripts.bbx
-2020/01/07 | 1047 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/manuscripts-noautoshorthand.bbx
-2020/01/07 | 102344 | support/pdfxup.zip
-2020/01/07 | 100109 | macros/latex/contrib/biblatex-contrib/biblatex-manuscripts-philology/documentation/biblatex-manuscripts-philology.pdf
diff --git a/fonts/fourier-GUT/README b/fonts/fourier-GUT/README
index f58e3e2e9c..c57aa43348 100644
--- a/fonts/fourier-GUT/README
+++ b/fonts/fourier-GUT/README
@@ -1,4 +1,4 @@
-Fourier-GUTenberg distribution, Michel Bovani michel.bovani@wanadoo.fr
+Fourier-GUTenberg distribution, Michel Bovani michel.bovani@icloud.com
1 VERSIONS
2 LICENCE
@@ -9,7 +9,14 @@ Fourier-GUTenberg distribution, Michel Bovani michel.bovani@wanadoo.fr
1 VERSION
-This version number is 2.0 (2019-11-27)
+This version number is 2.1 (2020-01-14)
+NEW in version 2.1:
+* in fourier-orns.sty, the otf versions of the font are now searched by file name rather than by font name in order xelatex to find them easily.
+Thanks to Marcel KrĂ¼ger and Norbert Preining for pointing this out.
+* in fourier-orns.sty, the \danger command is now also defined in the otf context.
+* in fourier.sty there is now a warning message to suggest the use of fourier-otf.sty when xelatex or lualatex are used. Thanks to Daniel Flipo for suggesting this.
+
+
NEW in version 2.0:
* In expert modes (need you buy the expert utopia pfb fonts):
- Possibility is provided to use superior letters of the commercial utopia font
diff --git a/fonts/fourier-GUT/latex/fourier-orns.sty b/fonts/fourier-GUT/latex/fourier-orns.sty
index aa67aefca9..92a4a5a355 100644
--- a/fonts/fourier-GUT/latex/fourier-orns.sty
+++ b/fonts/fourier-GUT/latex/fourier-orns.sty
@@ -1,13 +1,16 @@
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{2.0}
-\def\filedate{2019/11/18}
+\def\fileversion{2.1}
+\def\filedate{2020/01/14}
\ProvidesPackage{fourier-orns}%
[\filedate\space\fileversion\space fourier-ornaments package]
\RequirePackage{iftex}[2019/10/24]
\iftutex
\RequirePackage{fontspec}
- \newfontfamily\FourierOrns{FourierOrns}
+ \newfontfamily\FourierOrns{FourierOrns-Regular.otf}[
+ BoldFont = FourierOrns-Bold.otf ,
+ ItalicFont = FourierOrns-Italic.otf ,
+ BoldItalicFont = FourierOrns-BoldItalic.otf ]
\newcommand*{\TakeFourierOrnament}[1]{{\FourierOrns \char#1}}
\renewcommand*{\textpertenthousand}{\TakeFourierOrnament{"2031}}
\newcommand*{\eurologo}{\TakeFourierOrnament{"20AC}}
@@ -52,11 +55,7 @@
\newcommand*{\eurologo}{\TakeFourierOrnament{69}}
\newcommand*{\noway}{\TakeFourierOrnament{65}}
\newcommand*{\warning}{\TakeFourierOrnament{66}}
- \newcommand*{\danger}{\PackageWarning{fourier-orns}{%
- Command \protect\danger\space is deprecated.\MessageBreak
- Use \protect\warning\space instead; reported}%
- \warning}
- \newcommand*{\bomb}{\TakeFourierOrnament{76}}
+ \newcommand*{\bomb}{\TakeFourierOrnament{76}}
\newcommand*{\grimace}{\TakeFourierOrnament{77}}
\newcommand*{\textthing}{\TakeFourierOrnament{78}}
\newcommand*{\oldpilcrowone}{\TakeFourierOrnament{79}}
@@ -90,6 +89,11 @@
\newcommand*{\lefthand}{\TakeFourierOrnament{116}}
\newcommand*{\righthand}{\TakeFourierOrnament{117}}
\fi
+ \newcommand*{\danger}{\PackageWarning{fourier-orns}{%
+ Command \protect\danger\space is deprecated.\MessageBreak
+ Use \protect\warning\space instead; reported}%
+ \warning}
+
%
%
\endinput
diff --git a/fonts/fourier-GUT/latex/fourier.sty b/fonts/fourier-GUT/latex/fourier.sty
index fe97bedb99..0a1d4e40cb 100644
--- a/fonts/fourier-GUT/latex/fourier.sty
+++ b/fonts/fourier-GUT/latex/fourier.sty
@@ -1,8 +1,16 @@
-\def\fileversion{2.0}%
-\def\filedate{2019/11/27}%
+\def\fileversion{2.1}%
+\def\filedate{2020/01/14}%
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{fourier}%
[\filedate\space\fileversion\space fourier-GUTenberg package]%
+\RequirePackage{iftex}[2019/10/24]
+\iftutex
+\PackageWarningNoLine{fourier}{%
+ Please consider loading "fourier-otf.sty" instead of\MessageBreak
+ "fourier.sty" with Unicode engines LuaTeX or XeTeX,\MessageBreak
+ so that Type1 fonts get replaced by OpenType fonts.\MessageBreak
+ See file "Erewhon-Math.pdf" for more information}
+\fi
\DeclareFontEncoding{FML}{}{}
\DeclareFontSubstitution{FML}{futm}{m}{it}
\DeclareFontEncoding{FMS}{}{}
diff --git a/macros/latex/contrib/booktabs/README b/macros/latex/contrib/booktabs/README
index 94a47a0d47..506d51b74c 100644
--- a/macros/latex/contrib/booktabs/README
+++ b/macros/latex/contrib/booktabs/README
@@ -13,20 +13,18 @@ This package provide some additional commands to enhance
the quality of tables in LaTeX. Guidelines are given as
to what constitutes a good table in this context.
-Copyright: (C) 1995--2019 Simon Fear
-Licence: GPL
+Copyright: (C) 1995--2020 Simon Fear
+Licence: LPPL
FILES IN DISTRIBUTION
=====================
BASE DISTRIBUTION:
- README.md This file.
+ README This file.
booktabs.ins Package installation file.
booktabs.dtx Package source file.
- STYLE FILE
-
booktabs.sty Package style file. It was produced by
executing "latex booktabs.ins".
diff --git a/macros/latex/contrib/booktabs/booktabs.dtx b/macros/latex/contrib/booktabs/booktabs.dtx
index de915565e7..969e3b3290 100644
--- a/macros/latex/contrib/booktabs/booktabs.dtx
+++ b/macros/latex/contrib/booktabs/booktabs.dtx
@@ -1,22 +1,21 @@
% \iffalse (meta-comment)
% -----------------------------------------------------------------
% booktabs.dtx
-% Copyright (C) 1995--2019 Simon Fear
+% Copyright (C) 1995--2020 Simon Fear
% Maintained by Danie Els <dnjels@gmail.com>
%
% This file is part of the booktabs package for publication
% quality tables for LaTeX
% -----------------------------------------------------------------
%
-% This file may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in:
+% This work may be distributed and/or modified under the conditions
+% of the LaTeX Project Public License, either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008/05/04 or later.
%
-% http://www.latex-project.org/lppl.txt
-%
-% and version 1.3 or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
% -----------------------------------------------------------------
% \fi
%
@@ -27,12 +26,12 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{booktabs}
%<*package>
- [2019/10/08 v1.6180339 publication quality tables]
+ [2020/01/12 v1.61803398 Publication quality tables]
%</package>
%
%<*driver>
\documentclass{ltxdoc}
- \usepackage{booktabs}[2019/10/08]
+ \usepackage{booktabs}[2020/01/12]
\EnableCrossrefs
\CodelineIndex
\RecordChanges
@@ -48,7 +47,7 @@
%</driver>
% \fi
%
-% \CheckSum{497}
+% \CheckSum{489}
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -91,7 +90,7 @@
% Releases (Versions 1.618, 1.6180, 1.61803 and 1.618033) are
% only bug patches, support for the =colortbl= package and better
% compatability with =longtable=.\footnote{By Danie Els
-% (\texttt{dnjels@gmail.com}) in the absence of the author.}
+% (\texttt{dnjels@sun.ac.za}) in the absence of the author.}
% \end{abstract}
%
% \bigskip
@@ -747,6 +746,7 @@
% All the rules (except =\addlinespace=) share this code.
% \changes{v1.618033}{2016/04/27}{Rearranged and added \cmd{\nobreak} within longtable (Morten H{\o}gholm)}
% \changes{v1.6180339}{2019/10/08}{Add test for xltabular (Herbert Voss)}
+% \changes{v1.61803398}{2020/01/12}{Restore \cmd{\@BTrule} to v1.618033 (Danie Els) }
% \begin{macrocode}
\def\@BTrule[#1]{%
% \end{macrocode}
@@ -772,11 +772,8 @@
\nobreak
\let\@BTswitch\@BLTrule
\else
- \ifx\xltabular\undefined
- \let\@BTswitch\@BTnormal
- \else
- \let\@BTswitch\@BLTrule
- \fi\fi\fi
+ \let\@BTswitch\@BTnormal
+ \fi\fi
% \end{macrocode}
% Call =\@BTswitch= at end of macro
% \begin{macrocode}
diff --git a/macros/latex/contrib/booktabs/booktabs.ins b/macros/latex/contrib/booktabs/booktabs.ins
index e1bd227c15..0c6ccbb546 100644
--- a/macros/latex/contrib/booktabs/booktabs.ins
+++ b/macros/latex/contrib/booktabs/booktabs.ins
@@ -5,42 +5,53 @@
%% TeX.
%% --------------------------------------------------------------------
%%
-%% Copyright (C) 1995--2019 Simon Fear
-%% Maintained by Danie Els <dnjels@sun.ac.za>
+%% Copyright (C) 1995--2020 Simon Fear
%%
%% This file is part of the booktabs package for publication quality
%% tables for LaTeX
%% --------------------------------------------------------------------
%%
-%% This file may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License, either version 1.3 of this license
-%% or (at your option) any later version. The latest version of this
-%% license is in:
+%% This work may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3c of this
+%% license or (at your option) any later version. The latest version
+%% of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
%%
-%% http://www.latex-project.org/lppl.txt
+%% This work has the LPPL maintenance status 'Maintained'.
%%
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% This Current Maintainer of this work is Danie Els (dnjels@gmail.com)
%%
+%% This package consists of the files: booktabs.dtx
+%% booktabs.ins
+%% and the derived files: booktabs.cls
+%%
+%% --------------------------------------------------------------------
+
\input docstrip.tex
\keepsilent
-\usedir{tex/latex/booktabs}
+\usedir{tex/latex/skeleton}
\preamble
-Copyright (C) 1995--2019 Simon Fear
-Maintained by Danie Els <dnjels@sun.ac.za>
+Copyright (C) 1995--2020 Simon Fear
+Maintained by Danie Els <dnjels@gmail.com>
-This file may be distributed and/or modified under the conditions of the
-LaTeX Project Public License, either version 1.3 of this license or (at your
-option) any later version. The latest version of this license is in:
+-----------------------------------------------------------------
+ The booktabs package for publication quality tables for LaTeX
+-----------------------------------------------------------------
- http://www.latex-project.org/lppl.txt
+This work may be distributed and/or modified under the conditions
+of the LaTeX Project Public License, either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008/05/04 or later.
-and version 1.3 or later is part of all distributions of LaTeX version
-2005/12/01 or later.
-----------------------------------------------------------------
\endpreamble
diff --git a/macros/latex/contrib/booktabs/booktabs.pdf b/macros/latex/contrib/booktabs/booktabs.pdf
index ab17c10ee9..b7ef2a8e40 100644
--- a/macros/latex/contrib/booktabs/booktabs.pdf
+++ b/macros/latex/contrib/booktabs/booktabs.pdf
Binary files differ
diff --git a/macros/latex/contrib/cooking-units/README.md b/macros/latex/contrib/cooking-units/README.md
index 9ae432ec6b..f5ab89dd31 100644
--- a/macros/latex/contrib/cooking-units/README.md
+++ b/macros/latex/contrib/cooking-units/README.md
@@ -55,7 +55,7 @@ License
-------
This material is subject to the LaTeX Project Public License 1.3c or later. See
- https://ctan.org/license/lppl1.3c
+ https://www.latex-project.org/lppl/
for the details of that license.
diff --git a/macros/latex/contrib/cooking-units/cooking-units.dtx b/macros/latex/contrib/cooking-units/cooking-units.dtx
index 74cd835484..0e01884a27 100644
--- a/macros/latex/contrib/cooking-units/cooking-units.dtx
+++ b/macros/latex/contrib/cooking-units/cooking-units.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% !TEX encoding = UTF-8 Unicode
% !TEX program = pdfLaTeX
-%
+%^^A PdfLaTeX-dev
%
%<*internal>
\iffalse
@@ -65,7 +65,7 @@ License
-------
This material is subject to the LaTeX Project Public License 1.3c or later. See
- https://ctan.org/license/lppl1.3c
+ https://www.latex-project.org/lppl/
for the details of that license.
@@ -82,14 +82,14 @@ for the details of that license.
%\keepsilent
\askforoverwritefalse
\preamble
-Copyright (C) 2016--2018 by Ben Vitecek (current Maintainer)
+Copyright (C) 2016--2020 by Ben Vitecek (current Maintainer)
This file may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
version 1.3c of this license or (at your option) any later
version. The latest version of this license is in:
- https://ctan.org/license/lppl1.3c
+ https://www.latex-project.org/lppl/
and version 1.3c or later is part of all distributions of
LaTeX version 2008-05-04 or later.
@@ -136,7 +136,7 @@ and the derived file cooking-units.sty.
]{l3doc}
\usepackage[utf8]{inputenc}
\usepackage[main=english]{babel}
-\usepackage[use-numerals=true]{cooking-units}
+\usepackage[use-fmtcount-numerals=true]{cooking-units}
\usepackage{tikzsymbols}
\usepackage{listings}
\usepackage{environ}
@@ -146,6 +146,7 @@ and the derived file cooking-units.sty.
\usepackage{siunitx}
\usepackage{totalcount}
\usepackage{microtype}
+\usepackage{enumitem}
\newcounter{CookingUnitsCounter}
@@ -168,15 +169,21 @@ and the derived file cooking-units.sty.
\DeclareSIUnit{\stone}{st}
\DeclareSIUnit{\st}{\stone}
\DeclareSIUnit{\stick}{st}
+\DeclareSIUnit{\inch}{in}
\cusetup{print-numerals=false}
%\EnableCrossrefs
+\newcommand\US{$^{\mathrm{U.S.}}$}
+
-%\newcommand\TODO[1]{\footnote{\textcolor{red}{#1}}}
\ExplSyntaxOn
+\NewDocumentCommand \cookingunitsToDo { m }
+ {
+% \marginpar { \textcolor{red}{#1} }
+ }
\clist_new:N \l_cookingunits_list_of_defined_befehlen_clist
@@ -200,13 +207,21 @@ and the derived file cooking-units.sty.
culabel,
curef,
cudefinephrase,
+ declarecookingderivatives ,
+ cufrac ,
+ cusetoptionfor, cuaddoptionfor, cuclearoptionfor,
+ cudeclareunitgroup, cuaddtounitgroup, cuclearunitgroup
}
\NewDocumentCommand \mycs { m }
{
\clist_if_in:NnTF \l_cookingunits_list_of_defined_befehlen_clist {#1}
- { \cs{\textcolor{blue}{#1}} }
- { \ERROR }
+ {
+ \cs_if_exist:cTF {#1}
+ { \cs{\textcolor{blue}{#1}} }
+ { \mycsERRORII }
+ }
+ { \mycsERROR }
}
\newcommand\opt{\texttt}
\newcommand\myunit{\texttt}
@@ -235,7 +250,7 @@ and the derived file cooking-units.sty.
\NewDocumentCommand \PrintGroup { m }
{
\mygroup {#1} &
- \seq_use:cn { l__cookingunits_group_ #1 _seq } { ,~ }
+ \texttt{\seq_use:cn { l__cookingunits_group_ #1 _seq } { \textrm{,~} }}
}
\NewDocumentCommand \DeactivateForbiddenUnitError { }
@@ -247,7 +262,8 @@ and the derived file cooking-units.sty.
%% Allyourwhitespacearebelongtous (too long)
%% 42
%% Miep!
-\NewDocumentCommand \dothewhitespace { O{ Ducks } }
+%% Ducks
+\NewDocumentCommand \dothewhitespace { O{ cup~of~tea } }
{
\textcolor{white} {#1} \\
}
@@ -331,6 +347,7 @@ and the derived file cooking-units.sty.
\ProvideDocumentEnvironment{cuexamplecode}{}{}{}{}
+
\NewDocumentEnvironment { cuexample } { }
{
\paragraph{Example:}
@@ -346,6 +363,13 @@ and the derived file cooking-units.sty.
\paragraph{Note:}
}{ }
+\NewEnviron { cuenumnote }
+ {
+ \begin{enumerate}[label={Note \space \arabic*:}]
+ \BODY
+ \end{enumerate}
+ }
+
\NewDocumentEnvironment { cuinterest } { m }
{
@@ -569,9 +593,15 @@ and the derived file cooking-units.sty.
culabel,
curef,
cudefinephrase,
+ declarecookingderivatives
}
}
+\newcommand\eneunit[3]{\sfrac{#1\,#2${}^2$}{#3${}^2$}}
+%% Can overflow and takes too long, hard code it
+%\declarecookingderivatives{kg,m,s}{#1*#2-#3}{ (#1)*(#2)^2/(#3)^2 } {\eneunit{#1}{#2}{#3}}
+\newcookingunit[\eneunit{kg}{m}{s}]{kg*m-s}
+\newcookingunit[\eneunit{oz}{in}{min}]{oz*in-min}
\newcookingunit {st}
\newcookingunit [\ensuremath{ {} ^ { \circ } }\kern-\scriptspace R{\text{\o}}] {Ro}
\newcookingunit {ft}
@@ -585,6 +615,9 @@ and the derived file cooking-units.sty.
{
{Ro} { #1*21/40 + 7.5 }
}
+
+
+
\cusetup
{
commands-add-hook = {\stepcounter{CookingUnitsCounter}} ,
@@ -592,7 +625,7 @@ and the derived file cooking-units.sty.
cutext-add-hook = {\stepcounter{cutextCounter}} ,
Cutext-add-hook = {\stepcounter{CutextCounter}} ,
cuam-add-hook = {\stepcounter{cuamCounter}} ,
- set-option-for-Ro = { round-to-int = true } ,
+ set-option-for-Ro = { round-precision= 0 } ,
% add-unit-to-group = { weight = {st} , temperature = {Ro} }
}
@@ -768,73 +801,37 @@ and the derived file cooking-units.sty.
% \begin{documentation}
% \begin{abstract}
% This package enables user to globally format units, to switch
-% between them and since v1.10 you can also change your recipes for a given
+% between them and change your recipes to a given
% number of persons.
+%
+% For not implemented units or differences between Imperial and U.S.\ unit
+% you may have a look at \cref{sec:other-units}.
+%
% It should be used for light-hearted things like
-% cookery books (and not e.g. scientific texts).\footnote{I did hide some
-% grammatical and spelling errors for easter egg hunters \Winkey.}
+% cookery books (and not e.g. scientific texts; use e.g.\ \pkg{siunitx} for those).
%
% Please read through the section \enquote{Important Changes}
% \end{abstract}
%
% \tableofcontents
%
-% \begin{comment}
-% \begin{myde}
-% \cusetup{print-numerals=true,use-phrases=true}
-% \cunum[convert-to-eV=true]{1}{m} \\
-% \cunum[convert-to-eV=true]{1}{m} \\
-% \cuam{6} Eier \\
-% \cuam{12} Eier \\
-% \cuam{18} Eier \\
-% \cuam{132--168} Eier \\
-% \cuam{12--60} Eier \\
-% \cuam{12--24} Eier \\
-% \cuam{12--24.2} Eier \\
-% \cuam{24--12} Eier \\
-% \cuam{18--6} Eier \\
-% \cuam[recalculate-amount=true, set-number-of-persons=10, label=Hallo*4, ref=Hallo]{24} Eier \\
-% \cuam[recalculate-amount=true, set-number-of-persons=10, ref=Hallo, use-phrases=false]{24} Eier (phrase-false)\\
-% \cuam[recalculate-amount=true, set-number-of-persons=10, ref=Hallo, parse-number=false]{12--24} Eier (no parse)\\
-% \cuam{23} Eier \\
-% \cuam{60} Eier \\
-% \cuam{62} Eier \\
-% \cuam{12--60} Eier \\
-% \cuam{288} Eier \\
-% \end{myde}
-%
-% \begingroup
-% \cusetup{print-numerals=true}
-% \cutext[convert-to-eV=true]{1}{m} \\
-% \cunum[convert-to-eV=true]{1}{m} \\
-% \cuam{6} Eier \\
-% \cuam{12} Eier \\
-% \cuam{18} Eier \\
-% \cuam[recalculate-amount=true, set-number-of-persons=10, ref=Hallo]{24} Eier \\
-% \cuam[recalculate-amount=true, set-number-of-persons=10, ref=Hallo, use-phrases=false]{24} Eier \\
-% \cuam{23} Eier \\
-% \cuam{60} Eier \\
-% \cuam{62} Eier \\
-% \endgroup
-% \end{comment}
-%
% \section{Introduction}
%
%
-% While writing on a cookery book I used -- for reasons whatsoever --
+% While writing on a cookery book I used -- for some reasons whatsoever --
% three different units for weight: kilogram (kg), gram (g) and
% decagram (dag, or older: dkg). Later my mother told me that she
% doesn't like it if a cookery book uses more than two different units
% (for weight in this case). Happily I hardly used Decagram and
% therefore didn't have many problems changing the units. But, well
% \dots\ I am using \LaTeX\ and changing those units by hand seemed
-% not very \LaTeX\-like, so I started writing some code to convert
+% not very \LaTeX-like, so I started writing some code to convert
% units. I expanded the code, rewrote it in \LaTeX3 (which is much
% more pleasant than \LaTeXe) and here it is.
%
%
-% \subsection{Important Changes}
-%
+% \begin{comment}
+% \subsection{Overview}
% \begin{description}
% \item[Language] I am now using the \pkg{translations} package
% and I hope it makes things easier. As such, declaring the used language
@@ -851,22 +848,24 @@ and the derived file cooking-units.sty.
% tries to \enquote{fix} this idea (at least make it work). If any problems occur
% (for this specific case or in general) please feel free to contact me.
% \end{description}
+% \end{comment}
+%
%
%
% \subsection{Supported languages}
-%
+% \cookingunitsToDo{Passt.}
% \begin{itemize}
% \item German
% \item English
% \item French (currently suboptimal\footnote{You can only get limited information from the internet.})
% \end{itemize}
-% Have another language to add or a correction of an existing one?
+% Want to contribute a new language or make a correction to an existing one?
% See \cref{sec:bug-feed} for more details. Wanna just check the
% existing translations? See \cref{sec:Translations}.
%
% \section {The Commands}
% \label{sec:commands}
-%
+% \cookingunitsToDo{Passt.}
%
% This package offers the following commands for unit printing (and
% converting):
@@ -924,11 +923,14 @@ and the derived file cooking-units.sty.
% v1.10 it works similar\footnote{One could also say \enquote{exactly
% like}.} to \mycs{cunum}: it allows the conversion between units and
% interprets the numerical part (again |_| and |/| are used for
-% (mixed) fractions and |--| for ranges). Furthermore, if the package
-% option \opt{use-numerals} is used, integers below a specific integer
-% (by default 13; see \opt{use-numerals-below}) are written out with
-% \lstinline|\Cutext| capitalizing the first letter (using package
-% \pkg{fmtcount}).
+% (mixed) fractions and |--| for ranges). Furthermore, \cCutext\ allow
+% the usages of numerals (see \cref{sec:load-time-options} for more information).
+%^^A if the package
+%^^A option \opt{use-fmtcount-numerals} (see \cref{sec:load-time-options})
+%^^A is used, integers below a specific integer
+%^^A (by default 13; see \opt{use-numerals-below}) are written out with
+%^^A \lstinline|\Cutext| capitalizing the first letter (using package
+%^^A \pkg{fmtcount}).
%
%
% \begin{cuexamplecode}
@@ -938,7 +940,7 @@ and the derived file cooking-units.sty.
% \cutext{12}{l} \\
% \Cutext{13}{l}
% \end{cuexamplecode}
-% and using package option \opt{use-numerals=true}
+% and using (e.g.) package option \opt{use-fmtcount-numerals=true}
% \cusetup{print-numerals=true}
% \begin{cuexamplecode}
% \cutext{1}{l} \\
@@ -949,6 +951,9 @@ and the derived file cooking-units.sty.
% \Cutext{13}{l}
% \end{cuexamplecode}
% \cusetup{print-numerals=false}
+% You can customize the numeral functions used with \opt{numeral-function} and
+% \opt{Numeral-function}.
+%
% Furthermore,
% since v1.10 \cCutext\ also allow their units to be changed (this behavior
% can be altered using \opt{cutext-change-unit}):
@@ -976,7 +981,7 @@ and the derived file cooking-units.sty.
% \end{cuexamplecode}
%
% Furthermore it allows the concept of \enquote{phrases} (replacing a positive integer
-% by a word, such as \enquote{12} becoming \enquote{dozen}\footnote{At least I think})
+% by a word; such as \enquote{12} becoming \enquote{dozen}\footnote{At least I think})
% which can be activated by the option \opt{use-phrases}
% (as I don't know any english phrases, I switched the language to german for the following examples)
% \begin{myde}
@@ -996,7 +1001,7 @@ and the derived file cooking-units.sty.
%
% \section{Label \& refs: Changing the amount of the recipe}
% \label{sec:labeletref}
-%
+% \cookingunitsToDo{Also not much to change}
%
% What if you don't want to change units, but the amounts of the recipe because
% you cook not for 4 persons, but for 2 and don't like to do the math?
@@ -1056,22 +1061,22 @@ and the derived file cooking-units.sty.
%
%
%
-%
+% \begin{comment}
% \section{Some Interesting options}
-%
+% \cookingunitsToDo{This section is horrible, change or delete as a whole, but later}
% This package has some options which might be of interest and to highlight them, this section exists. All options can be
% found in \cref{sec:options}.
%
%
%\subsection{Numerals}
-% \begin{cuinterest}{use-numerals, use-numerals-below, print-numerals}
+% \begin{cuinterest}{use-fmtcount-numerals, use-numerals-below, print-numerals}
% As seen above, you can use the \emph{package}-option
-% \opt{use-numerals} to print integers used by \cCutext{} below
+% \opt{use-fmtcount-numerals} to print integers used by \cCutext{} below
% \opt{use-numerals-below} (13 by default) by \pkg{fmtcount}.
% You can still decide if numerals should be printed or not with \opt{print-numerals}.
%
% \begin{cunote}
-% \opt{use-numerals} is a package option as it needs to load
+% \opt{use-fmtcount-numerals} is a package option as it needs to load
% \pkg{fmtcount} which is not loaded by default.
% \end{cunote}
%
@@ -1100,7 +1105,7 @@ and the derived file cooking-units.sty.
% \cuam{60}
% \end{cuexamplecode}
% \end{myde}
-% This of course also works with the \emph{package}-option \opt{use-numerals}:
+% This of course also works with the \emph{package}-option \opt{use-fmtcount-numerals}:
% \begin{myde}
% \cusetup{print-numerals=true}
% \begin{cuexamplecode}
@@ -1116,30 +1121,38 @@ and the derived file cooking-units.sty.
%
%
% \begin{cunote}
-% Currently only the lower-case variant for \opt{use-numerals} is
+% Currently only the lower-case variant for \opt{use-fmtcount-numerals} is
% supported. Furthermore this feature is only available for \mycs{cuam}.
% \end{cunote}
%
% \end{cuinterest}
%
+% \end{comment}
+%
+%
+%
+%
+%
+%
%
%\subsection{Rounding temperatures}
%
-% By default temperatures are rounded to integers (using \opt{round-to-int = true}).
+% By default temperatures are rounded to integers (using \opt{round-precision=0}).
% Since 1.30 it is possible to round amounts to a negative precision.
% If you want to round temperatures to the tens see the following
% example (\opt{set-option-for-\meta{unit}} is described in \cref{sec:opt:unit-spec}).
%
% \begin{cuexamplecode}
-% \cunum{180}{C} \\
+% \cunum{182}{C} \\
% \cunum[C=F]{180}{C} \\
% \cunum[C=Re]{180}{C} \\
% \cunum[C=K]{180}{C} \\
-% \cusetup{set-option-for-C = { round-precision = -1 } } @
-% \cusetup{set-option-for-F = { round-precision = -1 } } @
-% \cusetup{set-option-for-Re = { round-precision = -1 } } @
-% \cusetup{set-option-for-K = { round-precision = -1 } } @
-% \cunum{180}{C} \\
+% \cusetoptionfor{C,F,K,Re}{ round-precision = -1 } @
+%^^A \cusetup{set-option-for-C = { round-precision = -1 } } @
+%^^A \cusetup{set-option-for-F = { round-precision = -1 } } @
+%^^A \cusetup{set-option-for-Re = { round-precision = -1 } } @
+%^^A \cusetup{set-option-for-K = { round-precision = -1 } } @
+% \cunum{182}{C} \\
% \cunum[C=F]{180}{C} \\
% \cunum[C=Re]{180}{C} \\
% \cunum[C=K]{180}{C} \\
@@ -1147,7 +1160,7 @@ and the derived file cooking-units.sty.
%
% \section{Predefined units \& some notes}
% \label{sec:pred-units}
-%
+% \cookingunitsToDo{Passt.}
% \begin{comment}
% In \cref{tab:def-units} and \cref{tab:some-more-units} (and \cref{tab:strange-units})
% you can find
@@ -1248,23 +1261,28 @@ and the derived file cooking-units.sty.
%
% \section{Defining units}
% \label{sec:def-units}
-%
+% \cookingunitsToDo{Passt.}
% New units can be defined using
% \begin{itemize}
-% \item \mycs{declarecookingunit}
-% \item \mycs{newcookingunit}
-% \item \mycs{providecookingunit}
+% \item \mycs{declarecookingunit}\oarg{symbol}\marg{unit-key}
+% \item \mycs{newcookingunit}\oarg{symbol}\marg{new-unit-key}
+% \item \mycs{providecookingunit}\oarg{symbol}\marg{new-unit-key}
% \end{itemize}
%
% \begin{function}{\declarecookingunit,\newcookingunit,\providecookingunit}
% \begin{syntax}
% \mycs{declarecookingunit}\oarg{symbol}\marg{unit-key}
% \mycs{newcookingunit}\oarg{symbol}\marg{new-unit-key}
-% \mycs{providecookingunit}\oarg{symbol}\marg{new-unit-key}
+% \mycs{providecookingunit}\oarg{symbol}\marg{unit-key}
% \end{syntax}
% These commands define the unit \meta{unit-key}. If the
% key is not the same as the printed symbol use \oarg{symbol}.
-% Note that \meta{unit-key} should neither contain |/| nor |,|.
+% Note that \meta{unit-key} can neither contain |/| nor |,|.
+%
+% Please note due to the current implementation catcodes may cause
+% trouble. For example using |:| inside \meta{unit-key} may cause
+% the key to \enquote{not be defined} in the document. If that happens
+% try removing or changing the \meta{unit-key}.
%
% \mycs{newcookingunit} raises an error if the unit is already defined,
% \mycs{declarecookingunit} creates or (if given) overwrites \meta{symbol}
@@ -1274,7 +1292,6 @@ and the derived file cooking-units.sty.
% All units have male gender |m| by default.
%
% Some examples:
-%
% \begin{lstlisting}
% \declarecookingunit{kg}
% \declarecookingunit{g}
@@ -1282,18 +1299,61 @@ and the derived file cooking-units.sty.
% \declarecookingunit[\ensuremath{{}^{\circ}}\kern-\scriptspace C] {C}
% \end{lstlisting}
%
+% \end{function}
% \begin{cunote}
% The definition of the printed degree Celsius is
-% directly copied and pasted from (a maybe older version of) \pkg{siunitx}
+% copied and pasted from (a maybe older version of) \pkg{siunitx}.
% \end{cunote}
%
%
+%
+% \begin{function}{\declarecookingderivatives}
+% \begin{syntax}
+% \mycs{declarecookingderivatives} \marg{unit-list} \marg{unit-key}
+% \ \ \marg{mathematical-relation} \marg{unit-symbol}
+% \end{syntax}
+%
+% \emph{This function is experimental}. Defines new units which are a combination
+% of the units given in \meta{unit-list} \emph{and} their linked-units.
+% \meta{unit-key}, \meta{mathematical-relation} and \meta{unit-symbol}
+% accept |#1| to |#n| as arguments with $n$ being the number of units
+% given in \meta{unit-list}. $n$ \emph{cannot} be greater than $8$ (and it will
+% probably compile for quite a while). Also note that this command doesn't work/isn't
+% tested for single keys.
+%
+% Also note that it is quite possible that an \enquote{overflow-error} will
+% occur if there are too many units.
+%
% \end{function}
%
+% \begin{cunote}
+% Due to catcodes (and my inability to deal with them properly)
+% there can be problems when using |:|
+% (and probably other signs) inside \meta{unit-key}.
+% \end{cunote}
+%
+% \begin{cuexample}
+% Your homework is to change the unit of energy \si{\kg\m\squared\per\s\squared}
+% into \si{\ounce\inch\squared\per\minute\squared}. To check if you are correct
+% you use \mycs{declarecookingderivatives}:
+% \begin{lstlisting}
+% \declarecookingderivatives{kg,m,s}{#1*#2-#3}
+% { (#1)*(#2)^2/(#3)^2 } {\sfrac{#1\,#2${}^2$}{#3${}^2$}}
+% \end{lstlisting}
+%
+% Using |\cunum[kg*m-s=oz*in-min]{1}{kg*m-s}| shows that
+% \cunum{1}{kg*m-s} is equal to \cunum{196829101.34}{oz*in-min}.
+% (Note: This is \emph{really} experimental and it can easily happen that
+% an \enquote{overflow-error} occurs) (like for me which is why I hard-coded the
+% results after testing).
+%
+% \end{cuexample}
+%
+%
%
% \section{Defining options to change units}
% \label{sec:defining-opt}
-%
+% \cookingunitsToDo{Passt.}
% Options (to change units) can be newly defined or added to already existing keys (units)
% using
% \begin{itemize}
@@ -1304,29 +1364,29 @@ and the derived file cooking-units.sty.
% \item \mycs{cuaddtokeys}
% \end{itemize}
% I apologize for the (name) inconsistency between \mycs{cudefinekeys} and
-% \mycs{cudefinesinglekey} (although they are named similarly, they work different).
+% \mycs{cudefinesinglekey} (although they are named similarly, they work differently).
%
% \begin{function}{\cudefinekeys,\cudefinesinglekey}
% \begin{syntax}
% \mycs{cudefinekeys}\marg{unit-key-1}
% \ \ \{
-% \ \ \ \ \marg{unit-key-2} \marg{1 unit-key-1 are \dots\ unit-key-2}
-% \ \ \ \ \marg{unit-key-3} \marg{1 unit-key-1 are \dots\ unit-key-3}
-% \ \ \ \ \marg{unit-key-4} \marg{1 unit-key-1 are \dots\ unit-key-4}
+% \ \ \ \ \marg{unit-key-2} \marg{$1$ unit-key-1 are \dots\ unit-key-2}
+% \ \ \ \ \marg{unit-key-3} \marg{$1$ unit-key-1 are \dots\ unit-key-3}
+% \ \ \ \ \marg{unit-key-4} \marg{$1$ unit-key-1 are \dots\ unit-key-4}
% \ \ \ \ \dots
% \ \ \}
%
% \mycs{cudefinesinglekey}\marg{unit-key-1}
% \ \ \{
-% \ \ \ \ \marg{unit-key-2} \marg{1 unit-key-2 are \dots\ unit-key-1}
-% \ \ \ \ \marg{unit-key-3} \marg{1 unit-key-3 are \dots\ unit-key-1}
+% \ \ \ \ \marg{unit-key-2} \marg{$1$ unit-key-2 are \dots\ unit-key-1}
+% \ \ \ \ \marg{unit-key-3} \marg{$1$ unit-key-3 are \dots\ unit-key-1}
% \ \ \ \ \dots
% \ \ \}
% \end{syntax}
%
% If you define new units (see \cref{sec:def-units}) and cannot add
% them to already existing keys you can use
-% \lstinline|\cudefinekeys| bzw. \lstinline|\cudefinesinglekey| to
+% \lstinline|\cudefinekeys| or \lstinline|\cudefinesinglekey| respectively to
% define new keys.
%
% \lstinline|\cudefinekeys| takes \marg{unit-key-1} as a
@@ -1365,8 +1425,6 @@ and the derived file cooking-units.sty.
% \myunit{min} and \myunit{s}
% \item \dots
% \end{itemize}
-%
-%
% \begin{align*}
% \SI{1}{\kg}&= \SI{1}{\kg} &
% \SI{1}{\kg}&= \SI{100}{\deka\g} &
@@ -1374,7 +1432,6 @@ and the derived file cooking-units.sty.
% \SI{1}{\kg}&= \SI{35.27399}{\ounce} &
% \SI{1}{\kg}&= \SI{2.204 622 6}{\pound}
% \end{align*}
-%
% \begin{lstlisting}
% \cudefinekeys {kg}
% {
@@ -1425,16 +1482,16 @@ and the derived file cooking-units.sty.
% \begin{syntax}
% \mycs{cuaddkeys}\marg{unit-key-1}
% \ \ \{
-% \ \ \ \ \marg{unit-key-2} \marg{1 unit-key-1 are \dots\ unit-key-2}
-% \ \ \ \ \marg{unit-key-3} \marg{1 unit-key-1 are \dots\ unit-key-3}
-% \ \ \ \ \marg{unit-key-4} \marg{1 unit-key-1 are \dots\ unit-key-4}
+% \ \ \ \ \marg{unit-key-2} \marg{$1$ unit-key-1 are \dots\ unit-key-2}
+% \ \ \ \ \marg{unit-key-3} \marg{$1$ unit-key-1 are \dots\ unit-key-3}
+% \ \ \ \ \marg{unit-key-4} \marg{$1$ unit-key-1 are \dots\ unit-key-4}
% \ \ \ \ \dots
% \ \ \}
%
% \mycs{cuaddsinglekeys}\marg{unit-key-1}
% \ \ \{
-% \ \ \ \ \marg{unit-key-2} \marg{1 unit-key-2 are \dots\ unit-key-1}
-% \ \ \ \ \marg{unit-key-3} \marg{1 unit-key-3 are \dots\ unit-key-1}
+% \ \ \ \ \marg{unit-key-2} \marg{$1$ unit-key-2 are \dots\ unit-key-1}
+% \ \ \ \ \marg{unit-key-3} \marg{$1$ unit-key-3 are \dots\ unit-key-1}
% \ \ \ \ \dots
% \ \ \}
% \end{syntax}
@@ -1447,11 +1504,11 @@ and the derived file cooking-units.sty.
% \meta{unit-key-2}, \meta{unit-key-3}, etc. to its
% values. Furthermore it adds those new values to other keys linked
% to \meta{unit-key-1} and defines the new keys \meta{unit-key-2},
-% etc. with the same values as \meta{unit-key-1}.
+% etc.\ with the same values as \meta{unit-key-1}.
%
%
% If the conversion is more complicated use
-% \lstinline|\cuaddsinglekeys|. It adds \meta{unit-key-2}, etc. as
+% \lstinline|\cuaddsinglekeys|. It adds \meta{unit-key-2}, etc.\ as
% values to \meta{unit-key-1}. The numerical input can be placed
% using \myunit{\#1} (see \lstinline|\cudefinesinglekey|). This
% command neither defines new keys nor does it add values to other
@@ -1504,7 +1561,7 @@ and the derived file cooking-units.sty.
% }
% \cusetup %% round to integer automatically
% {
-% set-option-for-Ro = { round-to-int = true }
+% set-option-for-Ro = { round-precision = 0 }
% }
% \end{lstlisting}
% \begin{cuexamplecode}
@@ -1525,7 +1582,7 @@ and the derived file cooking-units.sty.
%
% \begin{function}{\cuaddtokeys}
% \begin{syntax}
-% \mycs{cuaddtokeys} \marg{unit-key-1} \marg{unit-key-2} \marg{1 unit-key-2 are \dots\ unit-key-1}
+% \mycs{cuaddtokeys} \marg{unit-key-1} \marg{unit-key-2} \marg{$1$ unit-key-2 are \dots\ unit-key-1}
% \end{syntax}
% Works similar to \mycs{cuaddkeys} regarding the definition of keys.
% \end{function}
@@ -1579,15 +1636,16 @@ and the derived file cooking-units.sty.
%
% \section{Language support}
% \label{sec:language}
+% \cookingunitsToDo{Passt.}
%
% Unit names and symbols depend on the language. To change the
-% name depending on the language you can use \lstinline|\cudefinename|
-% and to only change symbols use \lstinline|\cudefinesymbol|.
+% name and symbol for given language you can use \lstinline|\cudefinename|;
+% to only change symbols use \lstinline|\cudefinesymbol|.
%
% \begin{function}{decimal-mark,cutext-range-sign, one(m),one(f),one(n)}
% Those are special keys (as they cannot be used as units). Not only
% are printed units language depending, but as is the decimal mark
-% (\enquote{.} or \enquote{,}) and the text which substitutes the range-sign.
+% (|.| or |,|) and the text which substitutes the range-sign.
% To set the decimal mark use
% \opt{decimal-mark} (see examples below), to set the range-sign for \cCutext\
% use \opt{cutext-range-sign}.
@@ -1596,14 +1654,14 @@ and the derived file cooking-units.sty.
% \opt{cutext-range-sign}. If the \emph{option} is set, then the language symbol
% will be ignored.
%
-% Furthermore if you are using the package-option \opt{use-numerals}
+% Furthermore if you are using numerals
% you may also use the keys \opt{one(m)}, \opt{one(f)} and
-% \opt{one(n)}. If you use this option, integers below a certain
+% \opt{one(n)}. Integers below a certain
% value (see option \opt{use-numerals-below}) are written-out. The
% only problem is the written-out \enquote{1} mostly depends on the
-% gender of the following word (e.g. \enquote{ein Baum} (m),
+% gender of the word following (e.g. \enquote{ein Baum} (m),
% \enquote{eine Pflanze} (f) and \enquote{ein Auto} (n)). To set the
-% written-out 1 to be correct with the gender of the used unit, use
+% written-out \enquote{1} to be correct with the gender of the used unit, use
% these keys (see also examples below)
% \end{function}
%
@@ -1624,10 +1682,10 @@ and the derived file cooking-units.sty.
% \pkg{translations} documentation.
%
% If the plural form of the name differs from the singular form use
-% \oarg{plural} to specify the plural form, if no \oarg{plural} is
-% given the plural will be set equal to its singular. The singular form
+% \oarg{plural} to specify the plural form, else it will be equal to its singular
+% form. The singular form
% is only used if the number in \lstinline|\cutext| and
-% \lstinline|\Cutext| is equal to 1.
+% \lstinline|\Cutext| is equal to $1$.
%
% \meta{gender} can be \texttt{m} (maskulin), \texttt{f} (feminin) or
% \texttt{n} (neutrum). If not given \texttt{m} is used as default.
@@ -1676,9 +1734,9 @@ and the derived file cooking-units.sty.
% \end{syntax}
%
% This command defines the symbols of the units printed in
-% \lstinline|\cunum| for the specific \meta{language}. It works
+% \lstinline|\cunum| for the specific \meta{Language}. It works
% similar as \lstinline|\cudefinename|, but only the symbols (and no
-% names) can be set. For details regarding \meta{language} see
+% names) can be set. For details regarding \meta{Language} see
% the \pkg{translations} documentation.
%
% \end{function}
@@ -1775,12 +1833,10 @@ and the derived file cooking-units.sty.
% the phrase with the highest number is used (if used at all).
%
% Furthermore, it chooses star (|*|) phrases over non-star phrases.
-%
% \begin{cunote}
% Numbers with the optional star |*| are stored as negative numbers.
% \end{cunote}
% \end{function}
-%
% \begin{cuexample}
% The following example creates some phrases for the language
% \enquote{German}:
@@ -1824,40 +1880,82 @@ and the derived file cooking-units.sty.
% \section{Options}
% \label{sec:options}
%
+% \cookingunitsToDo{Done. Passr.}
+%
% Options in \pkg{cooking-units} can mostly be set globally using
% \lstinline|\cusetup| or locally using the optional argument of the
% respective command (but \emph{not} as a package option). The only
% exception is the option given in \cref{sec:load-time-options} which
% needs to be used as a package option.
%
+% \begin{function}{\cusetup}
+% \begin{syntax}
+% \mycs{cusetup}\marg{options}
+% \end{syntax}
+% Options can be set using \mycs{cusetup}\Arg{options}.
+% \end{function}
+%
+%
+% \begin{function}{\cusetoptionfor,\cuaddoptionfor,\cuclearoptionfor}
+%
+% \begin{syntax}
+% \mycs{cusetoptionfor}\marg{unit-list}\marg{options}
+% \mycs{cuaddoptionfor}\marg{unit-list}\marg{options}
+% \mycs{cuclearoptionfor}\marg{unit-list}
+% \end{syntax}
+% \pkg{cooking-units} allows you to attach options to units.
+% Those
+% options are activated if (and only if) the specific unit is used \emph{or}
+% if another unit is converted
+% into it. Those options allow you to e.g.\ round temperatures to
+% integers automatically. Furthermore, those added options are
+% overwritten by local options.
+%
+% \mycs{cusetoptionfor} \emph{sets} \meta{options} to each unit in \meta{unit-list}
+% overwriting the old ones.
+%
+% \mycs{cuaddoptionfor} \emph{add}s \meta{options} to each unit in \meta{unit-list}.
+%
+% \mycs{cuclearoptionfor} clears all options given to each unit in \meta{unit-list}.
+% \end{function}
+% \begin{cuexample}
+% Temperatures \myunit{C}, \myunit{F}, \myunit{K} and \myunit{Re} are
+% by default rounded to integers.
+% \begin{cuexamplecode}
+% \cunum{75.23}{C} \\
+% \cunum{75.23}{F} \\
+% \cunum{75.23}{K} \\
+% \cunum{75.23}{Re} \\
+% \cusetoptionfor{C,F,K,Re}{round-precision=-1} @
+% \cunum{75.23}{C} \\
+% \cunum{75.23}{F} \\
+% \cunum{75.23}{K} \\
+% \cunum{75.23}{Re} \\
+% \cuclearoptionfor{C,F,K,Re} @
+% \cunum{75.23}{C} \\
+% \cunum{75.23}{F} \\
+% \cunum{75.23}{K} \\
+% \cunum{75.23}{Re}
+% \end{cuexamplecode}
+% \end{cuexample}
+%
% \subsection{Load time options}
% \label{sec:load-time-options}
-%
-% \begin{function}{use-numerals}
+% \begin{function}{use-fmtcount-numerals}
% \begin{syntax}
-% \cs{usepackage}[use-numerals=\meta{true/false}]\{cooking-units\}
+% \cs{usepackage}[use-fmtcount-numerals=\meta{true/false}]\{cooking-units\}
% \end{syntax}
% If set to \true\ loads package \pkg{fmtcount} and uses
% \cs{numberstringnum} for \mycs{cutext}
% and \cs{Numberstringnum} for \mycs{Cutext} to write-out numbers below
-% \opt{use-numerals-below} (13 by default), integers above are
+% \opt{use-numerals-below} ($13$ by default), integers above are
% printed as numbers.
% You can decide to not print any numerals by setting \opt{print-numerals}
% to \false.
%
-% \begin{cunote}
-% \opt{use-numerals} is a package option as it needs to load
-% \pkg{fmtcount} which is not loaded by default.
-% \end{cunote}
-%
-% \begin{cunote}
-% Please note the keys \opt{one(m)}, \opt{one(f)}
-% and \opt{one(n)} to change the printed \enquote{one} (as
-% \enquote{one} is in many languages dependent on the gender of the
-% following word. E.g in German: Masculine: ein Baum,
-% Feminin: eine Pflanze, Neutrum: ein Auto).
-% \end{cunote}
-%
+% Note: You don't need to use this function to use numerals. Using
+% \opt{print-numerals} and setting \opt{numeral-function} and \opt{Numeral-function}
+% also works.
% \end{function}
%
% \cusetup{print-numerals=true}
@@ -1867,21 +1965,37 @@ and the derived file cooking-units.sty.
% \cutext{2}{kg} \\
% \Cutext{2}{kg} \\
% \cutext{12}{kg} \\
+% \Cutext{12}{kg} \\
% \cutext{13}{kg} \\
% \cutext{13}{kg} \\
% \Cutext{14}{kg}
% \end{cuexamplecode}
% \cusetup{print-numerals=false}
%
+% \begin{cunote}
+% \opt{use-fmtcount-numerals} is a package option as it needs to load
+% \pkg{fmtcount} which is not loaded by default.
+% \end{cunote}
+%
+% \begin{cunote}
+% Please note the keys \opt{one(m)}, \opt{one(f)}
+% and \opt{one(n)} to change the printed \enquote{one} (as
+% \enquote{one} is in many languages dependent on the gender of the
+% following word. E.g in German: Masculine: ein Baum,
+% Feminin: eine Pflanze, Neutrum: ein Auto).
+% \end{cunote}
+%
+% \begin{cunote}
+% You can always change the functions used to print numerals with
+% \opt{numeral-function} and \opt{Numeral-function}.
+% \end{cunote}
+%
% \subsection{Normal options}
%
% Options in this subsection can only be set as local options or using
% \lstinline|\cusetup|, but \emph{not} as load time options.
%
-% \begin{function}{\cusetup}
-% Options can be set using \mycs{cusetup}\Arg{options}.
-% \end{function}
-%
+%
% \subsubsection{Unit Specific options}
% \label{sec:opt:unit-spec}
%
@@ -1924,7 +2038,47 @@ and the derived file cooking-units.sty.
% \cunum{1}{stick} \\
% \end{cuexamplecode}
%
+% You can define new groups using \mycs{cudeclareunitgroup}:
+% \begin{function} {\cudeclareunitgroup}
+% \begin{syntax}
+% \mycs{cudeclareunitgroup} \marg{group-name} \marg{unit-list}
+% \end{syntax}
+% Defines the group \meta{group-name} containing the list \meta{unit-list}.
+% This allows the usage of |\meta{group-name}=\meta{unit-key}| to
+% change all units in the group \meta{group-name} to \meta{unit-key}
+% (which has to be part of \meta{unit-list}).
+% \end{function}
%
+% \begin{cuexample}
+% Define the group \enquote{weight}:
+% \begin{lstlisting}
+% \cudeclareunitgroup {weight} { kg , dag, g, oz, lb, stick }
+% \end{lstlisting}
+% Now \lstinline|\cusetup{weight=dag}| can be used to change all units
+% contained in |weight| to |dag|.
+% \end{cuexample}
+%
+%
+% \begin{function}{\cuaddtounitgroup}
+% \begin{syntax}
+% \mycs{cuaddtounitgroup}\marg{group}\marg{unit-list}
+% \end{syntax}
+% Adds \meta{unit-list} to an already existing \meta{group} (both need to exist).
+% \end{function}
+% \begin{cuexample}
+% Adding \myunit{st} to the group \mygroup{weight}
+% \begin{cuexamplecode}
+% \cuaddtounitgroup {weight} {st} @
+% \cusetup{weight = g } @
+% \cunum{1}{kg} \\
+% \cunum{1}{dag} \\
+% \cunum{1}{g} \\
+% \cunum{1}{oz} \\
+% \cunum{1}{lb} \\
+% \cunum{1}{stick} \\
+% \cunum{1}{st}
+% \end{cuexamplecode}
+% \end{cuexample}
%
%
% \begin{function}{add-unit-to-group}
@@ -1937,8 +2091,10 @@ and the derived file cooking-units.sty.
% \ \}
% \end{syntax}
% Adds each \meta{unit-key} in \meta{unit-keys-list} to \meta{group}.
+% The key-val equivalent of \mycs{cuaddtounitgroup}.
% \end{function}
% \begin{cuexample}
+% The same as above:
% This example adds the unit \myunit{st} to the group \mygroup{weight}
% and \myunit{Ro} to \mygroup{temperature}.
% \begin{lstlisting}
@@ -1962,6 +2118,7 @@ and the derived file cooking-units.sty.
% \end{cuexamplecode}
% \end{cuexample}
%
+%
%
% \begin{function}{set-option-for-<unit-key>,add-option-for-<unit-key>}
% \begin{syntax}
@@ -1973,16 +2130,20 @@ and the derived file cooking-units.sty.
% \opt{erase-all-options} (see below) is used to erase all options for all
% \meta{unit-key}s.
%
-% You may want to attach some options to a special
-% \meta{unit-key}. Those options are automatically activated if (and
-% only if) the specific \meta{unit-key} is used (or changed into this
-% unit). Setting options overwrites old options. Adding options, well
-% \dots\ adds the options to the old ones.
+% The less flexible key-value version of \mycs{cusetoptionfor} and
+% \mycs{cuaddoptionfor}.
+%
+%
+%^^A You may want to attach some options to a special
+%^^A \meta{unit-key}. Those options are automatically activated if (and
+%^^A only if) the specific \meta{unit-key} is used (or changed into this
+%^^A unit). Setting options overwrites old options. Adding options, well
+%^^A \dots\ adds the options to the old ones.
%
-% You can \enquote{delete} the options by setting
-% an empty value for a specific \meta{unit-key} (or use
-% \opt{erase-all-options} (or \opt{erase-all-options-for} )
-% (see below) to erase all options for all \meta{unit-key}s)
+%^^A You can \enquote{delete} the options by setting
+%^^A an empty value for a specific \meta{unit-key} (or use
+%^^A \opt{erase-all-options} (or \opt{erase-all-options-for} )
+%^^A (see below) to erase all options for all \meta{unit-key}s)
%
% \end{function}
%
@@ -1992,23 +2153,17 @@ and the derived file cooking-units.sty.
% \begin{lstlisting}
% \cusetup
% {
-% set-option-for-F = { round-to-int = true } ,
-% set-option-for-C = { round-to-int = true } ,
-% set-option-for-K = { round-to-int = true } ,
-% set-option-for-Re = { round-to-int = true }
+% set-option-for-F = { round-precision = 0 } ,
+% set-option-for-C = { round-precision = 0 } ,
+% set-option-for-K = { round-precision = 0 } ,
+% set-option-for-Re = { round-precision = 0 }
% }
% \end{lstlisting}
+% although note that it would be easier to simply write
+% \begin{lstlisting}
+% \cusetoptionfor {F,C,K,Re} { round-precision = 0 }
+% \end{lstlisting}
%
-%^^A The following code rounds the units to the tens:
-%^^A \begin{lstlisting}
-%^^A \cusetup
-%^^A {
-%^^A set-option-for-F = { round-precision = -1 } ,
-%^^A set-option-for-C = { round-precision = -1 } ,
-%^^A set-option-for-K = { round-precision = -1 } ,
-%^^A set-option-for-Re = { round-precision = -1 }
-%^^A }
-%^^A \end{lstlisting}
% \end{cuexample}
%
%
@@ -2031,6 +2186,8 @@ and the derived file cooking-units.sty.
% the same way their \opt{set-option-for-\meta{unit-key}} and
% \opt{add-option-for-\meta{unit-key}} counterparts.
%
+% The less flexible versions of the commands \mycs{cusetoptionfor} and
+% \mycs{cuaddoptionfor}.
% \end{function}
%
% \begin{cuexample}
@@ -2040,10 +2197,10 @@ and the derived file cooking-units.sty.
% {
% set-option-for =
% {
-% F = { round-to-int = true } ,
-% C = { round-to-int = true } ,
-% K = { round-to-int = true } ,
-% Re = { round-to-int = true }
+% F = { round-precision = 0 } ,
+% C = { round-precision = 0 } ,
+% K = { round-precision = 0 } ,
+% Re = { round-precision = 0 }
% }
% }
% \end{lstlisting}
@@ -2061,7 +2218,7 @@ and the derived file cooking-units.sty.
%^^A use \opt{erase-all-options-for}.
%
% \opt{erase-all-options-for} is used to remove added options from
-% the specified \meta{unit-key}s.
+% the specified \meta{unit-key}s (key-value version of \mycs{cuclearoptionfor}).
%
% \end{function}
%
@@ -2072,6 +2229,10 @@ and the derived file cooking-units.sty.
% \begin{lstlisting}
% \cusetup{ erase-all-options-for = {C, F, K, Re} }
% \end{lstlisting}
+% It's the same as
+% \begin{lstlisting}
+% \cuclearoptionfor {C, F, K, Re}
+% \end{lstlisting}
% \end{cuexample}
%
%
@@ -2104,7 +2265,7 @@ and the derived file cooking-units.sty.
% \begin{syntax}
% cutext-change-unit = \meta{true/false}
% \end{syntax}
-% Set this option to \opt{true} if you do \emph{not} want the units of \cCutext\
+% Set this option to \opt{false} if you do \emph{not} want the units of \cCutext\
% to be changed. Set to \true\ by default
% \end{function}
% \begin{cuexamplecode}
@@ -2187,11 +2348,11 @@ and the derived file cooking-units.sty.
% \end{syntax}
% By default the commands \mycs{cunum}, \cCutext{} and \mycs{cunum}
% do \emph{not} expand their input. You can change the expansion behavior of
-% the \meta{amount} and/or \meta{unit-key} using the options specified
+% \meta{amount} and/or \meta{unit-key} using the options specified
% above. The meaning of the available values are the same as specified
% in the \LaTeX3\ document \enquote{interface3}.
%
-% It is set to \texttt{n} by default.
+% It is set to \texttt{n} (no expansion) by default.
%
% \end{function}
%
@@ -2244,12 +2405,23 @@ and the derived file cooking-units.sty.
% \begin{syntax}
% print-numerals = \meta{true/false}
% \end{syntax}
-% If the package option \opt{use-numerals} is set to \true\ you can
-% deactivate the printing of numerals by setting \opt{print-numerals} to
-% \false\ and activate them by setting it to \true.
%
-% Note that this option is automatically set to \opt{true} if \opt{use-numerals} is used.
+% Prints numerals for integers smaller then \opt{use-numerals-below} if
+% set to \true. If set to \false\ no numerals are printed.
+%
+% If you use the package option \opt{use-fmtcount-numerals} this option
+% is automatically set to \true.
+%
+% If you want to use another package, just set this option to \true\ and
+% use \opt{numeral-function} and \opt{Numeral-function}.
+%
+%^^A If the package option \opt{use-fmtcount-numerals} is set to \true\ you can
+%^^A deactivate the printing of numerals by setting \opt{print-numerals} to
+%^^A \false\ and activate them by setting it to \true.
+%
% \end{function}
+% \begin{cuexample}
+% (Using the package option \opt{use-fmtcount-numerals}:
% \cusetup{ print-numerals=true }
% \begin{cuexamplecode}
% \cutext{1}{kg} \\
@@ -2263,16 +2435,15 @@ and the derived file cooking-units.sty.
% \cutext{13}{kg} \\
% \end{cuexamplecode}
% \cusetup{ print-numerals=false }
+% \end{cuexample}
%
% \begin{function}{use-numerals-below}
% \begin{syntax}
% use-numerals-below = \meta{integer}
% \end{syntax}
-% Only usable if the package option \opt{use-numerals} is
-% active. Prints the name of the numbers for integers used in
-% \mycs{cutext} and \mycs{Cutext} smaller than
-% \meta{integer}. \meta{integer} is by default 13. Package
-% \pkg{fmtcount} is used for this purpose.
+% If \opt{print-numerals} is \true, prints the numerals in
+% \mycs{cutext} and \mycs{Cutext} for integers smaller than
+% \meta{integer}. \meta{integer} is by default 13.
% You can deactivate the printing of numerals by \opt{print-numerals=false}.
% \end{function}
% \cusetup{ print-numerals=true }
@@ -2299,6 +2470,28 @@ and the derived file cooking-units.sty.
% \end{cuexamplecode}
% \cusetup{ print-numerals=false }
%
+% \begin{function}{numeral-function, Numeral-function }
+% \begin{syntax}
+% numeral-function = \meta{function}
+% Numeral-function = \meta{function}
+% \end{syntax}
+% Sets the functions used for printing numerals.
+% \opt{numeral-function} is used for lowercase, \opt{Numeral-function}
+% for capitalized cases.
+% \end{function}
+% \begin{cuexample}
+% Using the commands from \pkg{fmtcount} you can set the
+% numeral function equal to
+% \begin{lstlisting}
+% \cusetup{
+% numeral-function = \numberstringnum ,
+% Numeral-function = \Numberstringnum
+% }
+% \end{lstlisting}
+% (this happens if you use the package option \opt{use-fmtcount-numerals})
+% \end{cuexample}
+%
+%
%
% \begin{function}{parse-number}
% \begin{syntax}
@@ -2339,10 +2532,10 @@ and the derived file cooking-units.sty.
% cunum-range-sign = \marg{string}
% cutext-range-sign = \marg{string}
% \end{syntax}
-% The second sets the \emph{printed} range sign used in \mycs{cunum}
-% (and \mycs{cuam}) to \meta{string}, the third sets the printed
+% \opt{cunum-range-sign} sets the \emph{printed} range sign used in \mycs{cunum}
+% (and \mycs{cuam}) to \meta{string}, \opt{cutext-range-sign} sets the printed
% range sign used in \cCutext{} to \meta{string}.
-% Using the first option sets the
+% Using \opt{range-sign} sets the
% range signs for both \mycs{cunum} (and \mycs{cuam}) and
% \mycs{cutext}/\mycs{Cutext} to \meta{string}.
%
@@ -2440,9 +2633,7 @@ and the derived file cooking-units.sty.
% \begin{cunote}
% Also negative numbers are allowed.
% \begin{cuexamplecode}
-% \cusetup{erase-all-options} @
-% \cusetup{set-option-for-C={round-precision=-1}} @
-% \cusetup{set-option-for-F={round-precision=-1}} @
+% \cusetoptionfor{C,F}{round-precision=-1} @
% \cunum{-271,2}{C} \\
% \cunum[K=C]{0.0012}{K} \\
% \cunum{185}{C} \\
@@ -2454,17 +2645,18 @@ and the derived file cooking-units.sty.
% \begin{syntax}
% round-to-int = \meta{true/false}
% \end{syntax}
-% Rounds the amount to an integer if set \true.
+% \emph{This option is deprecated.} Rounds the amount to an integer if set \true.
+% Use \opt{round-precision=0} instead.
% \end{function}
%
%
-% \begin{cuexamplecode}
-% \cusetup{round-to-int=true} @
-% \cunum{1.23456789}{kg} \\
-% \cunum{12.58}{kg} \\
-% \cunum[g=kg]{194--294}{g} \\
-% \cunum[kg=g]{1.23456789}{kg}
-% \end{cuexamplecode}
+%^^A \begin{cuexamplecode}
+%^^A \cusetup{round-to-int=true} @
+%^^A \cunum{1.23456789}{kg} \\
+%^^A \cunum{12.58}{kg} \\
+%^^A \cunum[g=kg]{194--294}{g} \\
+%^^A \cunum[kg=g]{1.23456789}{kg}
+%^^A \end{cuexamplecode}
%
% \begin{function}{round-half}
% \begin{syntax}
@@ -2506,7 +2698,7 @@ and the derived file cooking-units.sty.
% eval-fraction = \meta{true/false}
% \end{syntax}
% This option takes \true\ or \false\ as values.
-% If set to \true\ fractions are evaluated. Please note that divisions
+% If set to \true\ all fractions are evaluated. Please note that divisions
% through zero are not allowed.
% \end{function}
%
@@ -2521,12 +2713,36 @@ and the derived file cooking-units.sty.
% \cunum[kg=g]{1_?/2}{kg} \\
% \end{cuexamplecode}
%
+%
+%
+% \begin{function}{convert-fraction}
+% \begin{syntax}
+% convert-fraction = \meta{true/false}
+% \end{syntax}
+% By default units of fractions are not converted into another unit.
+% Setting this option to \true\
+% allows fractions to be evaluated when a change of units is requested
+% (and \emph{only} if a change of unit is requested).
+% \end{function}
+%
+% \begin{cuexamplecode}
+% \cusetup{convert-fraction=true} @
+% \cunum{1/3}{kg} \\
+% \cunum[kg=g]{1/3}{kg} \\
+% \cunum{1_1/2}{kg} \\
+% \cunum[kg=g]{1_1/2}{kg} \\
+% \cunum[kg=g]{1_?/2}{kg} \\
+% \end{cuexamplecode}
+%
+%
+%
+%
% \begin{function}{fraction-command}
% \begin{syntax}
-% fraction-command = \meta{\cs{command}}
+% fraction-command = \cs{command}
% \end{syntax}
-% Sets the command used for printing fractions equal to \meta{\cs{command}}.
-% \meta{\cs{command}} has to take two arguments. By default
+% Sets the command used for printing fractions equal to \cs{command}.
+% \cs{command} has to take two arguments. By default
% it is equal to |\sfrac| from \pkg{xfrac}.
%
% Please note that the amount is \emph{not} printed inside a math
@@ -2651,7 +2867,6 @@ and the derived file cooking-units.sty.
% \end{function}
%
% \begin{cuexamplecode}
-% \selectlanguage{ngerman} @
% \cunum{1}{kg}\\
% \cunum{1/2}{kg}\\
% \cunum{1--2}{kg}\\
@@ -2799,7 +3014,7 @@ and the derived file cooking-units.sty.
%^^A by the label \& ref system. Of course, you can also remove units or clear the whole list.
%
% There are units which do not depend on the number of folks you are cooking for, units measuring
-% the temperature are for example some of them. Changing those units with the label \& ref
+% the temperature are an example. Changing those units with the label \& ref
% system would be accidental and in the best case throw an error. With the following options
% you can add units to the \enquote{forbidden unit list}, remove them and clear the whole list
% entirely.
@@ -3004,7 +3219,7 @@ and the derived file cooking-units.sty.
%
%
%
-% \clearpage
+%\clearpage
%
% \section{Bens Einheitensammelsurium (Bens unit Almanac)}
%
@@ -3152,7 +3367,6 @@ and the derived file cooking-units.sty.
%
%
%
-% \clearpage
% \appendix
%
% \section{Translations}
@@ -3168,7 +3382,7 @@ and the derived file cooking-units.sty.
%
% \small
%
-% \newpage
+%\clearpage
% \subsection{English}
% \begin{tabular}{ l l l l l }
% \toprule
@@ -3176,7 +3390,7 @@ and the derived file cooking-units.sty.
% \end{tabular}
%
%
-% \newpage
+%\clearpage
% \subsection{american}
%
% \begin{tabular}{ l l l l l }
@@ -3184,7 +3398,7 @@ and the derived file cooking-units.sty.
% \CreateTableForLanguages{ american }
% \end{tabular}
%
-% \newpage
+%\clearpage
% \subsection{German}
% \begin{tabular}{ l l l l l }
% \toprule
@@ -3212,7 +3426,7 @@ and the derived file cooking-units.sty.
%
% Note that Gro{\ss}gros has other (probably more common) synonyms.
%
-% \newpage
+%\clearpage
% \subsection{French}
% \begin{tabular}{ l l l l l }
% \toprule
@@ -3225,7 +3439,122 @@ and the derived file cooking-units.sty.
% \item cuill\`{e}re \`{a} caf\'{e} rase
% \end{itemize}
%
-% \clearpage
+%\clearpage
+%
+%
+%
+%
+%
+%
+%
+%
+% \section{US, Imperial and Other units}
+% \label{sec:other-units}
+%
+% As source \cite{WM1985} has been used for imperial units, while \cite{Nist2006}
+% and \cite{Nist2008} were used for U.S.\ units. I hope someone will find this
+% bringing together useful.
+%
+%\begin{center}
+%\begin{tabular}{ l @{ } l }
+%\toprule
+% 1 yard &= \SI{0.9144}{\m} (exact) \\
+% 1 yard &= 3 foot \\
+% 1 yard &= 36 Inch \\ \midrule
+% 1 Inch &= \SI{0.0254}{\m} (also exact) \\
+% \bottomrule
+%\end{tabular}
+%\end{center}
+%
+%\begin{center}
+%\begin{tabular}{r@{ }l r@{ }l}
+%\toprule
+% \multicolumn{4}{c}{ 1 liter = \SI{1}{\cubic\deci\meter} } \\ \midrule
+% 1 gallon &= \SI{4.54609}{liter} (exact) & 1 U.S.\ gallon &= 231\,Inch$^3$ $=$
+% $231\times \num{0,016387064}$ liter \\
+% 1 gallon &= 4 Quart & 1 U.S.\ gallon &= 4 Quart\US\\
+% 1 gallon &= 8 Pint & 1 U.S.\ gallon &= 8 Pint\US\\
+% 1 gallon &= 32 Gill & 1 U.S.\ gallon &= 32 Gill\US\\
+% 1 gallon &= 160\,fl.\,oz & 1 U.S.\ gallon &= 128\,fl.\,oz\US \\\midrule
+% 1 \,fl.\,oz&= \num{0.0284130625} liter & 1\,fl.\,oz\US & = \num{0.0295735295625} liter
+% \\ \bottomrule
+%\end{tabular}\\ \footnotesize\raggedright
+%\begin{cuenumnote}
+% \item I think the American fl.\,oz\US\ is more common. Maybe. Most bottles
+% have something like 10\,fl.\,oz, which they say is equal to \SI{30}{\ml}. This would
+% work really well with fl.\,oz\US.
+% \item Sometimes \enquote{fl.\,oz} is written without the dot. I am also not sure what
+% kind of spacing has to be between \enquote{fl.} and \enquote{oz} (currently
+% using \cs{thinspace}).
+% \item This maybe sounds stupid, but could we introduce something like
+% \enquote{flouz}, \enquote{floiz} and \enquote{floez}? \enquote{flouz} would be
+% \enquote{fl.\,oz\US}, \enquote{floiz} would be \enquote{Imperial fl.\,oz} and
+% \enquote{floez} would simply be equal to \SI{30}{\ml}?
+%\end{cuenumnote}
+%\end{center}
+%
+%
+% For \enquote{stick} see \cite{StickSource}.
+%\begin{center}
+%\begin{tabular} { l @{ } l }
+% \toprule
+% 1\,lb &= \SI{0.453 592 37}{\kg} (exact) \\
+% 1\,lb &= 16\,oz \\
+% 1\,lb &= \sfrac{1}{14}\,st \\
+% 1\,lb &= \sfrac{175}{12}\,ounce~troy \\
+% 1\,lb &= 4 stick \\
+% \bottomrule
+%\end{tabular}
+%\end{center}
+%
+%
+%
+%\begin{center}
+%\begin{tabular} { r @{ } l @{ }l r @{ } l }
+% \toprule
+% 1 cup &$\approx$ \num{0.25} litre &= \SI{250}{\ml} &1 cup\US &= 8\, fl.\,oz\US \\
+% 1 tablespoon &$\approx$ \num{0.015} litre&= \SI{15}{\ml} & 1 tablespoon\US &= \sfrac{1}{2}\, fl.\,oz\US \\
+% 1 teaspoon &$\approx$ \num{0.005} litre &= \SI{5}{\ml} & 1 teaspoon\US&= \sfrac{1}{6}\, fl.\,oz\US \\
+% \bottomrule
+%\end{tabular} \footnotesize \\ \raggedright
+%\begin{cuenumnote}
+% \item I tested the approximation for tablespoon with water
+% ($\SI{1}{\mg} \approx \SI{1}{\mg}$) and the approximation looks good enough.
+% It of course depends on how full you fill your spoon.
+%\end{cuenumnote}
+%\end{center}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
%
% \begin{comment}
%^^A \section{Notes and other stuff}
@@ -3370,8 +3699,8 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\ProvidesExplPackage
{cooking-units}
- {2018/09/24}
- {1.45}
+ {2020/01/13}
+ {1.46}
{Ein Paket fuer Kocheinheiten}
% \end{macrocode}
%
@@ -3410,14 +3739,28 @@ and the derived file cooking-units.sty.
}
% \end{macrocode}
%
-% Define the only load-time option for this package. If it is set,
-% load package \pkg{fmtcount}.
+% \begin{macrocode}
+\msg_new:nnnn { cooking-units } { Option-deprecated }
+ {
+ The \ option \ '#1' \ is \ deprecated \ and \ should \ be \
+ replaced \ by \ '#2'.
+ }{
+ Please \ replace \ the \ option.
+ \msg_see_documentation_text:n { cooking-units }
+ }
+% \end{macrocode}
% \begin{macrocode}
\bool_new:N \g_@@_opt_numeral_bool
\keys_define:nn { cooking-units }
{
- use-numerals .bool_gset:N = \g_@@_opt_numeral_bool ,
+ use-numerals .code:n =
+ {
+ \msg_warning:nnnn { cooking-units } { Option-deprecated } { use-numerals } { use-fmtcount-numerals }
+ \keys_set:nn { cooking-units } { use-fmtcount-numerals = #1 }
+ } ,
use-numerals .default:n = { false },
+ use-fmtcount-numerals .bool_gset:N = \g_@@_opt_numeral_bool ,
+ use-fmtcount-numerals .default:n = { false },
}
% \end{macrocode}
% Now process the package options \dots
@@ -3432,7 +3775,12 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\keys_define:nn { cooking-units }
{
- use-numerals .code:n = { \msg_error:nnn { cooking-units } { load-time-option } { fmtcount } } ,
+ use-numerals .code:n =
+ {
+ \msg_warning:nnnn { cooking-units } { Option-deprecated } { use-numerals } { use-fmtcount-numerals }
+ \msg_error:nnn { cooking-units } { load-time-option } { fmtcount }
+ } ,
+ use-fmtcount-numerals .code:n = { \msg_error:nnn { cooking-units } { load-time-option } { fmtcount } } ,
}
% \end{macrocode}
%
@@ -3443,14 +3791,15 @@ and the derived file cooking-units.sty.
% \begin{macro}
% {
% \tl_replace_all:NVn,
-% \tl_replace_once:NnV , \tl_replace_once:NVn ,
+% \tl_replace_once:NVn ,
% \tl_if_in:nVTF ,
% \tl_if_in:NVTF ,
% \tl_if_in:NVT ,
% \fp_compare:vNnT ,
-% \fp_eval:c ,
% \prop_get:cVc ,
-% \int_abs:c ,
+% \tl_set_rescan:NnV,
+% \msg_error:nnnV, \msg_error:nnV, \msg_warning:nnV,
+% \prop_put:cnx
% }
% Some variations of commands we will need later.
% \begin{macrocode}
@@ -3465,20 +3814,14 @@ and the derived file cooking-units.sty.
\cs_generate_variant:Nn \msg_error:nnnn { nnnV }
\cs_generate_variant:Nn \msg_error:nnn { nnV }
\cs_generate_variant:Nn \msg_warning:nnn { nnV }
+\cs_generate_variant:Nn \prop_put:Nnn { cnx }
% \end{macrocode}
% \end{macro}
%
%
-% \begin{macro}{ \@@_dim_horizontal:N }
-% Using this command (which is essential |\tex_kern:D| until an official
-% command exists.
-% \begin{macrocode}
-\cs_new:Npn \@@_dim_horizontal:N #1 { \tex_kern:D #1 }
-% \end{macrocode}
-% \end{macro}
%
% \begin{macro}{\@@_frac:nn}
-% This command is used to print the fractions and can be changed
+% This command is used to print fractions and can be changed
% accordingly.
% \begin{macrocode}
\cs_new_eq:NN \@@_frac:nn \sfrac
@@ -3486,6 +3829,7 @@ and the derived file cooking-units.sty.
% \end{macro}
%
% \begin{macro}{\@@_set_amount:Nn,\@@_set_unit:Nn}
+% Allows for potential parsing of amount and or unit.
% \begin{macrocode}
\cs_new_eq:NN \@@_set_amount:Nn \tl_set:Nn
\cs_new_eq:NN \@@_set_unit:Nn \tl_set:Nn
@@ -3494,11 +3838,12 @@ and the derived file cooking-units.sty.
%
%
% \begin{macro}{\@@_print_numeral:n , \@@_print_Numeral:n}
-% This command is used to print the fractions and can be changed
-% accordingly.
+% Commands to print numerals. Either use default or set yourself.
% \begin{macrocode}
-\cs_new:Npn \@@_print_numeral:n #1 { }
-\cs_new:Npn \@@_print_Numeral:n #1 { }
+\cs_new:Npn \@@_print_numeral:n #1
+ { \msg_error:nnn {cooking-units} { define-numeral-function } }
+\cs_new:Npn \@@_print_Numeral:n #1
+ { \msg_error:nnn {cooking-units} { define-Numeral-function } }
\bool_if:NT \g_@@_opt_numeral_bool
{
\cs_set_eq:NN \@@_print_numeral:n \numberstringnum
@@ -3520,40 +3865,60 @@ and the derived file cooking-units.sty.
% \end{macro}
%
%
+%
+% \begin{macro} { \g_@@_master_changer_prop }
+% Similar to |\l_@@_change_unit_prop|, but doesn't store the requested
+% unit change, but the values needed for conversion. Either a numerical
+% value is stored or a formula (using |#1| to insert the original value).
+%
+% Put and get values via \cs{\@@_prop_gput_master:nnn}
+% and \cs{@@_prop_get_master:nnNTF}.
+% \begin{macrocode}
+\prop_new:N \g_@@_master_changer_prop
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
% \begin{macro}
% {
-% \l_@@_number_tmpa_tl,
-% \l_@@_number_tmpb_tl,
-% \l_@@_tmpa_tl,
-% \l_@@_tmpb_tl,
-% \l_@@_mixed_fraction_tl,
-% \l_@@_given_unit_tl,
-% \l_@@_option_unit_tl,
-% \l_@@_language_tl,
-% \l_@@_cunum_range_sign_tl,
-% \l_@@_cutext_range_sign_tl,
-% \l_@@_value_unit_space_tl,
-% \l_@@_input_digits_tl ,
-% \l_@@_input_decimal_mark_tl,
-% \l_@@_input_value_signs_tl,
-% \l_@@_input_allowed_special_signs_tl ,
-% \c_@@_input_str_hash_one_tl ,
-% \l_@@_input_range_sign_tl,
-% \l_@@_cutext_space_tl,
-% \l_@@_cuphrase_space_tl,
-% \l_@@_translation_tmpa_tl,
-% \l_@@_cutext_last_value_tl,
-% \l_@@_phrase_phrase_tl ,
+% \l_@@_number_tmpa_tl,
+% \l_@@_number_tmpb_tl,
+% \l_@@_mixed_fraction_tl,
+% \l_@@_original_amount_tl,
+% \l_@@_original_unit_tl,
+% \l_@@_option_unit_tl,
+% \l_@@_language_tl,
+% \l_@@_cunum_range_sign_tl,
+% \l_@@_cutext_range_sign_tl,
+% \l_@@_value_unit_space_tl,
+% \l_@@_input_digits_tl ,
+% \l_@@_input_decimal_mark_tl,
+% \l_@@_input_value_signs_tl,
+% \l_@@_input_allowed_special_signs_tl ,
+% \g_@@_input_str_hash_one_tl ,
+% \l_@@_input_range_sign_tl,
+% \l_@@_cutext_space_tl,
+% \l_@@_cuphrase_space_tl,
+% \l_@@_translation_tmpa_tl,
+% \l_@@_cutext_last_value_tl,
+% \l_@@_phantom_tl,
+% \l_@@_phrase_phrase_tl,
+% \l_@@_unit_letter_not_allowed_tl,
+% \l_@@_input_fraction_sign_tl,
+% \l_@@_input_mixed_fraction_sign_tl,
+% \l_@@_list_of_units_tl,
+% \l_@@_list_of_values_tl,
+% \l_@@_cunum_hook_tl , \l_@@_cutext_hook_tl ,
+% \l_@@_Cutext_hook_tl , \l_@@_cuam_hook_tl
% }
% Quite a lot of tl's.
% \begin{macrocode}
\tl_new:N \l_@@_number_tmpa_tl
\tl_new:N \l_@@_number_tmpb_tl
-\tl_new:N \l_@@_tmpa_tl
-\tl_new:N \l_@@_tmpb_tl
\tl_new:N \l_@@_mixed_fraction_tl
-\tl_new:N \l_@@_given_amount_tl
-\tl_new:N \l_@@_given_unit_tl
+\tl_new:N \l_@@_original_amount_tl
+\tl_new:N \l_@@_original_unit_tl
\tl_new:N \l_@@_option_unit_tl
\tl_new:N \l_@@_language_tl
\tl_new:N \l_@@_cunum_range_sign_tl
@@ -3563,7 +3928,7 @@ and the derived file cooking-units.sty.
\tl_new:N \l_@@_input_decimal_mark_tl
\tl_new:N \l_@@_input_value_signs_tl
\tl_new:N \l_@@_input_allowed_special_signs_tl
-\tl_new:N \c_@@_input_str_hash_one_tl
+\tl_new:N \g_@@_input_str_hash_one_tl
\tl_new:N \l_@@_input_range_sign_tl
\tl_new:N \l_@@_cutext_space_tl
\tl_new:N \l_@@_cuphrase_space_tl
@@ -3574,6 +3939,8 @@ and the derived file cooking-units.sty.
\tl_new:N \l_@@_unit_letter_not_allowed_tl
\tl_new:N \l_@@_input_fraction_sign_tl
\tl_new:N \l_@@_input_mixed_fraction_sign_tl
+\tl_new:N \l_@@_list_of_units_tl
+\tl_new:N \l_@@_list_of_values_tl
% \end{macrocode}
% \begin{macrocode}
\tl_new:N \l_@@_cunum_hook_tl
@@ -3585,8 +3952,8 @@ and the derived file cooking-units.sty.
%
%
% Setting some token lists to their default value.
-% \lstinline|str_hash_one_tl| is used for defining single keys.
-% (You will see, I didn't have a better idea)
+% \cs{c_@@_input_str_hash_one_tl} is used for defining single keys.
+% (As you will see, I didn't have a better idea)
% \begin{macrocode}
\tl_set:Nn \l_@@_input_digits_tl { 0123456789 }
\tl_set:Nn \l_@@_input_range_sign_tl { -- }
@@ -3595,19 +3962,19 @@ and the derived file cooking-units.sty.
\tl_set:Nn \l_@@_input_decimal_mark_tl { . , }
\tl_set:Nn \l_@@_input_value_signs_tl { + - }
\tl_set:Nn \l_@@_input_allowed_special_signs_tl { ? }
-\tl_set_rescan:Nnn \c_@@_input_str_hash_one_tl
+\tl_gset_rescan:Nnn \g_@@_input_str_hash_one_tl
{ \char_set_catcode_letter:N \# } {#1}
% \end{macrocode}
% \begin{macrocode}
\tl_set:Nn \l_@@_cunum_range_sign_tl { -- }
-\tl_set:Nn \l_@@_cutext_range_sign_tl {}
+\tl_set:Nn \l_@@_cutext_range_sign_tl { }
\tl_set:Nn \l_@@_value_unit_space_tl { \thinspace }
\tl_set:Nn \l_@@_cutext_space_tl { \space }
\tl_set:Nn \l_@@_cuphrase_space_tl { \space }
\tl_set:Nn \l_@@_unit_letter_not_allowed_tl { , / }
% \end{macrocode}
%
-% Flat out stolen from \pkg{siunitx}
+% Flat out stolen from \pkg{siunitx}.
% \begin{macrocode}
\AtBeginDocument {
\cs_if_free:cT { T@TS1 }
@@ -3649,7 +4016,7 @@ and the derived file cooking-units.sty.
%
%
% \begin{macro}{ \l_@@_round_precision_int }
-% Stores the round-precision inside.
+% Stores the round-precision inside. Can also take negative values.
% \begin{macrocode}
\int_new:N \l_@@_round_precision_int
\int_set:Nn \l_@@_round_precision_int { 2 }
@@ -3657,7 +4024,7 @@ and the derived file cooking-units.sty.
% \end{macro}
%
% \begin{macro}{ \l_@@_print_numerals_below_int }
-% Used if option 'use-numerals' is active. Uses numerals for
+% Used if option \opt{use-numerals} is active. Uses numerals for
% integers smaller than this number. I learned this number
% at school.
% \begin{macrocode}
@@ -3670,7 +4037,7 @@ and the derived file cooking-units.sty.
% \begin{macro}{ \l_@@_local_number_of_persons_int }
% Each recipe defined by \cs{culabel} defines a counter to
% store the number of persons the recipe is for. For calculation
-% the value is retrived and stored inside this temporal counter.
+% the value is retrieved and stored inside this temporal integer variable.
% \begin{macrocode}
\int_new:N \l_@@_local_number_of_persons_int
% \end{macrocode}
@@ -3679,17 +4046,21 @@ and the derived file cooking-units.sty.
% \begin{macro}{ \l_@@_wanted_number_of_persons_int }
% Not only the number of persons are recipe is for is needed
% for calculation, but also the number of persons you want
-% the recipe to be. This information is stored here.
+% the recipe to be. This information is stored here.
% \begin{macrocode}
\int_new:N \l_@@_wanted_number_of_persons_int
\int_set:Nn \l_@@_wanted_number_of_persons_int { 4 }
% \end{macrocode}
% \end{macro}
%
+%
+% \begin{macro}{ \l_@@_phrase_number_tl }
+% Stores the current \enquote{phrase number}. For \enquote{Dutzend} this would
+% be \enquote{12}, etc.
% \begin{macrocode}
\int_new:N \l_@@_phrase_number_tl
% \end{macrocode}
-%
+% \end{macro}
%
% \begin{macro}{ \l_@@_list_of_defined_keys_clist , \g_@@_list_of_defined_units_clist }
% Sequence of defined units and keys. Units are defined
@@ -3715,12 +4086,35 @@ and the derived file cooking-units.sty.
% \begin{macro} { \l_@@_phrase_numbers_seq }
% Inside this list the numbers for which a phrase is defined
% is stored in. As this is language specific, the list is stored
-% inside a language-sensitive command and retrived when needed.
+% inside a language-sensitive command and retrieved when needed.
% \begin{macrocode}
\seq_new:N \l_@@_phrase_numbers_seq
% \end{macrocode}
% \end{macro}
%
+%
+% \begin{macro}{\l_@@_number_of_iterations_seq, \l_@@_derivative_unit_list_seq ,
+% \l_@@_derivative_symbol_list_seq , \l_@@_derivative_value_list_seq
+% }
+% Variables used in \mycs{declarecookingderivatives}.
+% \begin{macrocode}
+\seq_new:N \l_@@_number_of_iterations_seq
+\seq_new:N \l_@@_derivative_unit_list_seq
+\seq_new:N \l_@@_derivative_symbol_list_seq
+\seq_new:N \l_@@_derivative_value_list_seq
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\l_@@_max_depth_int, \l_@@_curr_depth_int}
+% Also some variables used in \mycs{declarecookingderivatives}.
+% \begin{macrocode}
+\int_new:N \l_@@_max_depth_int
+\int_new:N \l_@@_curr_depth_int
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
% \begin{macro} { \l_@@_temperatures_to_check_seq }
% \changes {1.02h} {New.}
% Stores units which should be tested if \opt{check-temperature} equals true.
@@ -3746,38 +4140,49 @@ and the derived file cooking-units.sty.
% \end{macro}
%
%
+%
% \begin{macro}
% {
% \l_@@_minus_bool,
-% \l_@@_round_number_bool,
-% \l_@@_error_bool,
-% \l_@@_eval_fractions_bool,
-% \l_@@_draft_bool,
-% \l_@@_round_to_int_bool,
-% \l_@@_special_sign_bool,
-% \l_@@_single_key_bool,
-% \l_@@_check_temperature_bool,
-% \l_@@_convert_to_eV_bool,
-% \l_@@_cutext_uppercase_word_bool,
-% \l_@@_error_for_unknown_value_bool,
-% \l_@@_using_cutext_bool,
-% \l_@@_cuam_old_bool,
-% \l_@@_change_number_of_persons_bool,
-% \l_@@_calc_because_ref_was_given_bool,
-% \l_@@_lokal_persons_bool,
-% \l_@@_cutext_to_cunum_bool,
-% \l_@@_cutext_old_bool,
-% \l_@@_cutext_keep_unit_bool,
-% \l_@@_round_commercial_bool,
-% \l_@@_use_phrases_bool,
-% \l_@@_lokal_phrase_bool
+% \l_@@_round_number_bool,
+% \l_@@_error_bool,
+% \l_@@_unit_error_bool,
+% \l_@@_eval_fractions_bool,
+% \l_@@_convert_fractions_bool,
+% \l_@@_draft_bool,
+% \l_@@_round_to_int_bool,
+% \l_@@_special_sign_bool,
+% \l_@@_single_key_bool,
+% \l_@@_check_temperature_bool,
+% \l_@@_convert_to_eV_bool,
+% \l_@@_cutext_uppercase_word_bool,
+% \l_@@_using_cutext_bool,
+% \l_@@_cuam_old_bool,
+% \l_@@_change_number_of_persons_bool,
+% \l_@@_calc_because_ref_was_given_bool,
+% \l_@@_lokal_persons_bool,
+% \l_@@_cutext_to_cunum_bool,
+% \l_@@_cutext_old_bool,
+% \l_@@_cutext_keep_unit_bool,
+% \l_@@_round_commercial_bool,
+% \l_@@_use_phrases_bool,
+% \l_@@_lokal_phrase_bool,
+% \l_@@_print_numeral_bool,
+% \l_@@_lokal_numeral_bool,
+% \l_@@_round_precision_negative_bool,
+% \l_@@_fourty_two_bool,
+% \l_@@_phrase_negative_bool ,
+% \l_@@_range_in_input_bool, \l_@@_lokal_fraction_bool ,
+% \l_@@_print_fraction_bool, \l_@@_check_decimal_bool ,
% }
% Some booleans we need later.
% \begin{macrocode}
\bool_new:N \l_@@_minus_bool
\bool_new:N \l_@@_round_number_bool
\bool_new:N \l_@@_error_bool
+\bool_new:N \l_@@_unit_error_bool
\bool_new:N \l_@@_eval_fractions_bool
+\bool_new:N \l_@@_convert_fractions_bool
\bool_new:N \l_@@_draft_bool
\bool_new:N \l_@@_round_to_int_bool
\bool_new:N \l_@@_special_sign_bool
@@ -3785,7 +4190,6 @@ and the derived file cooking-units.sty.
\bool_new:N \l_@@_check_temperature_bool
\bool_new:N \l_@@_convert_to_eV_bool
\bool_new:N \l_@@_cutext_uppercase_word_bool
-\bool_new:N \l_@@_error_for_unknown_value_bool
\bool_new:N \l_@@_using_cutext_bool
\bool_new:N \l_@@_cuam_old_bool
\bool_new:N \l_@@_change_number_of_persons_bool
@@ -3799,7 +4203,7 @@ and the derived file cooking-units.sty.
\bool_new:N \l_@@_lokal_phrase_bool
\bool_new:N \l_@@_print_numeral_bool
\bool_new:N \l_@@_lokal_numeral_bool
-\bool_new:N \l_@@_round_precision_positive_bool
+\bool_new:N \l_@@_round_precision_negative_bool
\bool_new:N \l_@@_fourty_two_bool
\bool_new:N \l_@@_phrase_negative_bool
% \end{macrocode}
@@ -3810,7 +4214,6 @@ and the derived file cooking-units.sty.
\bool_new:N \l_@@_range_in_input_bool
\bool_new:N \l_@@_lokal_fraction_bool
\bool_new:N \l_@@_print_fraction_bool
-\bool_new:N \l_@@_lokal_mixed_fraction_bool
\bool_new:N \l_@@_check_decimal_bool
% \end{macrocode}
% \end{macro}
@@ -3832,28 +4235,26 @@ and the derived file cooking-units.sty.
%\end{macro}
%
% \begin{macro}{ \q_@@_no_translation }
+% Checking value if a translation is avaiable.
% \begin{macrocode}
\quark_new:N \q_@@_no_translation
% \end{macrocode}
%\end{macro}
%
-% \begin{macro}{ \q_@@_decimal , \q_@@_fraction , \q_@@_mixed_fraction }
-% \begin{macrocode}
-\quark_new:N \q_@@_decimal
-\quark_new:N \q_@@_fraction
-\quark_new:N \q_@@_mixed_fraction
-% \end{macrocode}
-%\end{macro}
%
% \begin{macro}{
+% \l_@@_tmpa_tl , \l_@@_tmpb_tl , \l_@@_tmp_unit_tl ,
% \l_@@_tmpa_fp ,
% \l_@@_tmpa_clist ,
-% \l_@@_tmpa_prop ,
-% \l_@@_tmpb_prop ,
+% \l_@@_tmpa_prop , \l_@@_tmpb_prop ,
% \l_@@_tmpa_seq ,
+% \l_@@_tmpa_int , \l_@@_tmpb_int ,
% }
% Some temporal stores which are used throughout the code.
% \begin{macrocode}
+\tl_new:N \l_@@_tmpa_tl
+\tl_new:N \l_@@_tmpb_tl
+\tl_new:N \l_@@_tmp_unit_tl
\fp_new:N \l_@@_tmpa_fp
\clist_new:N \l_@@_tmpa_clist
\prop_new:N \l_@@_tmpa_prop
@@ -3881,8 +4282,8 @@ and the derived file cooking-units.sty.
add-unit-to-group .code:n =
{
\keyval_parse:NNn
- \@@_unit_group_add_unit_error:n
- \@@_unit_group_add_unit:nn
+ \@@_add_to_unit_group_error:n
+ \@@_add_to_unit_group:nn
{#1}
} ,
add-unit-to-group .default:n = {} ,
@@ -3916,28 +4317,28 @@ and the derived file cooking-units.sty.
% \end{macro}
%
% \begin{macro}{ erase-all-options }
-% Erasing all preset options.
+% Erasing all preset options. Again not the best approach \dots\ maybe I need a lower
+% level \enquote{clear} option.
% \begin{macrocode}
erase-all-options .code:n =
{
- \seq_map_inline:Nn \g_@@_list_of_defined_units_seq
- {
- \clist_clear:c { l_@@_predefined_option_ ##1 _clist }
- }
+ \exp_args:Nx \cuclearoptionfor { \seq_use:Nn \g_@@_list_of_defined_units_seq { , } }
},
erase-all-options .value_forbidden:n = { true } ,
% \end{macrocode}
% \end{macro}
%
%\begin{macro}{ erase-all-options-for }
-% Erasing options.
+% Erasing options. As this simply clears the unit options the argument |#1|
+% is simply a clist, as such no keyval parsing is needed.
% \begin{macrocode}
erase-all-options-for .code:n =
{
- \keyval_parse:NNn
- \@@_erase_options_for:n
- \@@_erase_options_for_error:nn
- {#1}
+ \cuclearoptionfor {#1}
+% \keyval_parse:NNn
+% \@@_erase_options_for:n
+% \@@_erase_options_for_error:nn
+% {#1}
},
erase-all-options-for .value_required:n = { true } ,
% \end{macrocode}
@@ -4027,7 +4428,7 @@ and the derived file cooking-units.sty.
%
%
%\begin{macro}{ set-special-sign }
-% Doing the same as above but also overrides the old signs.
+% Setting allowd special signs. Note that |<| is not allowed.
% \begin{macrocode}
set-special-sign .code:n =
{
@@ -4152,8 +4553,9 @@ and the derived file cooking-units.sty.
{
\int_set:Nn \l_@@_round_precision_int {#1}
\int_compare:nNnTF {#1} < { 0 }
- { \bool_set_false:N \l_@@_round_precision_positive_bool }
- { \bool_set_true:N \l_@@_round_precision_positive_bool }
+ { \bool_set_true:N }
+ { \bool_set_false:N }
+ \l_@@_round_precision_negative_bool
} ,
round-precision .default:n = { 2 } ,
% \end{macrocode}
@@ -4163,6 +4565,18 @@ and the derived file cooking-units.sty.
% Rounding the results to an integer.
% \begin{macrocode}
round-to-int .bool_set:N = \l_@@_round_to_int_bool ,
+ round-to-int .choices:nn =
+ { true , false }
+ {
+ \msg_error:nnnn { cooking-units } { Option-deprecated } { round-to-int } { round-precision = 0 }
+ \int_compare:nNnTF { \l_keys_choice_int } = { 1 }
+ {
+ \int_set:Nn \l_@@_round_precision_int { 0 }
+ }{
+
+ }
+ \use:c { bool_set_ \l_keys_choice_tl :N } \l_@@_round_to_int_bool
+ } ,
round-to-int .default:n = { false } ,
% \end{macrocode}
%\end{macro}
@@ -4192,6 +4606,15 @@ and the derived file cooking-units.sty.
% \end{macrocode}
%\end{macro}
%
+%\begin{macro}{ convert-fraction }
+% If set to true the fractions are evaluated \emph{if} the unit is transformed!
+% \begin{macrocode}
+ convert-fraction .bool_set:N = \l_@@_convert_fractions_bool ,
+ convert-fraction .default:n = { true } ,
+% \end{macrocode}
+%\end{macro}
+%
+%
%\begin{macro}{ fraction-command }
% Setting the fraction command
% \begin{macrocode}
@@ -4270,7 +4693,7 @@ and the derived file cooking-units.sty.
% \end{macro}
%
% \begin{macro}{ label }
-% Defines a label \dots\ is \mycs{culabel} as a key.
+% Defines a label. Is \mycs{culabel} in key form.
% \begin{macrocode}
label .code:n = \@@_label_and_persons:n {#1} ,
label .value_required:n = { true } ,
@@ -4338,10 +4761,15 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
add-natural-unit .code:n =
{
- \@@_error_if_unit_not_defined:n {#1}
\seq_set_from_clist:Nn \l_@@_tmpa_seq {#1}
- \seq_concat:NNN \g_@@_natural_units_seq \g_@@_natural_units_seq \l_@@_tmpa_seq
- \seq_remove_duplicates:N \g_@@_natural_units_seq
+ \seq_map_inline:Nn \l_@@_tmpa_seq
+ {
+ \@@_error_if_unit_not_defined:nF {##1}
+ {
+ \seq_if_in:NnF \g_@@_natural_units_seq {##1}
+ { \seq_gput_right:Nn \g_@@_natural_units_seq {##1} }
+ }
+ }
} ,
add-natural-unit .value_required:n = { true } ,
% \end{macrocode}
@@ -4393,7 +4821,12 @@ and the derived file cooking-units.sty.
%
%
%
-% \begin{macro}{hooks}
+% \begin{macro}{
+% commands-add-hook ,
+% cunum-add-hook ,
+% cutext-add-hook , Cutext-add-hook ,
+% cuam-add-hook ,
+% }
% \begin{macrocode}
commands-add-hook .meta:n =
{
@@ -4425,34 +4858,19 @@ and the derived file cooking-units.sty.
%
%
%
-% \begin{macro}{curef-add-forbidden-unit, curef-remove-forbidden-unit, curef-clear-forbidden-units}
+% \begin{macro}{
+% curef-add-forbidden-unit,
+% curef-remove-forbidden-unit,
+% curef-clear-forbidden-units
+% }
% \begin{macrocode}
- curef-add-forbidden-unit .code:n =
- {
- \seq_set_from_clist:Nn \l_@@_tmpa_seq {#1}
- \seq_map_inline:Nn \l_@@_tmpa_seq
- {
- \seq_if_in:NnF \l_@@_curef_do_not_change_seq {##1}
- { \seq_put_right:Nn \l_@@_curef_do_not_change_seq {##1} }
- }
- } ,
+ curef-add-forbidden-unit .code:n = { \@@_add_forbidden_unit:n {#1} } ,
curef-add-forbidden-unit .default:n = { } ,
- curef-remove-forbidden-unit .code:n =
- {
- \seq_set_from_clist:Nn \l_@@_tmpa_seq {#1}
- \seq_map_inline:Nn \l_@@_tmpa_seq
- {
- \seq_if_in:NnTF \l_@@_curef_do_not_change_seq {##1}
- { \seq_remove_all:Nn \l_@@_curef_do_not_change_seq {##1} }
- {
- \msg_warning:nnn { cooking-units } { curef-not-inside-list } {##1}
- { \seq_use:Nnnn \l_@@_curef_do_not_change_seq { ',~ ' } { ',~ ' } { ' ~ and ~ ' } }
- }
- }
- } ,
+ curef-remove-forbidden-unit .code:n = { \@@_remove_forbidden_unit:n {#1} } ,
curef-remove-forbidden-unit .default:n = { } ,
+%
curef-clear-forbidden-units .choice: ,
- curef-clear-forbidden-units/true .code:n = { \seq_clear:N \l_@@_curef_do_not_change_seq } ,
+ curef-clear-forbidden-units/true .code:n = { \@@_clear_forbidden_unit: } ,
curef-clear-forbidden-units/false .code:n = { } ,
curef-clear-forbidden-units .value_required:n = true,
% \end{macrocode}
@@ -4466,7 +4884,6 @@ and the derived file cooking-units.sty.
%
%
%
-%
% Ending the definition of keys.
% \begin{macrocode}
}
@@ -4520,7 +4937,7 @@ and the derived file cooking-units.sty.
\msg_new:nnnn { cooking-units } { unknown-unit }
{
The \ unit \ '#1' \ is \ not \ defined. \ Use \
- \newcookingunit ~ (or \ one \ of \ the \ others) \ to \
+ \newcookingunit (or \ one \ of \ the \ others) \ to \
define \ new \ units.
}{
Define \ units \ before \ using \ or \ check \ if \ the \
@@ -4606,8 +5023,8 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\msg_new:nnnn { cooking-units } { Key-not-defined }
{
- The \ key \ '#1' \ is \ not \ defined. \ Use \ \cudefinekeys ~ or \
- \cudefinesinglekey ~ to \ define \ keys.
+ The \ key \ '#1' \ is \ not \ defined. \ Use \ \cudefinekeys or \
+ \cudefinesinglekey to \ define \ keys.
}
{
This \ key \ is \ not \ defined, \ perhaps \ you \ misspelled \ it.
@@ -4623,8 +5040,7 @@ and the derived file cooking-units.sty.
The \ temperature \ '#1' \ is \ too \ low.\ It \ cannot \ be \
below \ the \ absolute \ zero - point \ of \ '#2'. \ Note \ that \
the \ temperatures \
- '\seq_use:Nnnn \l_@@_temperatures_to_check_seq
- { ', ~ ' } { ', ~ ' } { ' ~ and ~ ' }' \
+ '\@@_seq_use_msg:N \l_@@_temperatures_to_check_seq' \
are \ rounded \ to \ integers \ by \ default.
\\\\
You \ can \ disable \ the \ option \ 'check-temperature' \ to \
@@ -4640,8 +5056,8 @@ and the derived file cooking-units.sty.
'#3' \ as \ a \ set \ of \ choices \ and \ '#2' \ is \ non \ of \ these.
}{
The \ key \ accepts \ only \ a \ fixed \ set \ of \ choices. \
- You \ can \ add \ new \ choices \ via \ \cuaddkeys, ~ \cuaddsinglekeys ~
- and \ \cuaddtokeys.
+ You \ can \ add \ new \ choices \ via \ \token_to_str:N \cuaddkeys, ~
+ \token_to_str:N \cuaddsinglekeys ~ and \ \token_to_str:N \cuaddtokeys.
\msg_see_documentation_text:n {cooking-units}
}
% \end{macrocode}
@@ -4666,8 +5082,7 @@ and the derived file cooking-units.sty.
{
The \ amount \ '#1' \ is \ not \ known \ at \ line \
\msg_line_number: .
- }
- {
+ }{
You \ used\ a\ special\ sign\ indicating\ that\ the\ true\ amount\ of\ the\
specific\ ingredient\ is\ (was) \ not\ known\ to\ you. This\ message\
reminds\ you\ about\ that\ fact.
@@ -4693,8 +5108,7 @@ and the derived file cooking-units.sty.
{
The \ option \ '#1' \ is \ only \ available \ as \ a \ load-time-option. \
Please \ set \ it \ as \ a \ package \ option.
- }
- {
+ }{
You \ cannot \ set \ this \ option \ using \ \cusetup ~
but \ only \ as \ a \ package \ option.
\msg_see_documentation_text:n { cooking-units }
@@ -4716,8 +5130,7 @@ and the derived file cooking-units.sty.
\msg_new:nnnn { cooking-units } { No-Value-given }
{
Please \ input \ a \ value \ for \ the \ key-value \ list \ in \ '#1'
- }
- {
+ }{
Each \ element \ of \ the \ list \ needs \ a \ value.
\msg_see_documentation_text:n { cooking-units }
}
@@ -4727,8 +5140,7 @@ and the derived file cooking-units.sty.
\msg_new:nnnn { cooking-units } { Value-not-allowed }
{
The \ key-list \ in \ '#1' \ does \ not \ take \ a \ value.
- }
- {
+ }{
This \ key-list \ does \ not \ take \ a \ value. \ The \
given \ value \ will \ be \ ignored.
\msg_see_documentation_text:n { cooking-units }
@@ -4753,8 +5165,7 @@ and the derived file cooking-units.sty.
{
Please \ add \ the \ number \ of \ persons \ this \ recipe \ is \ for \ in \ '#1'. \
Note \ that\ the \ number \ must \ be \ given \ after \ a \ '*'.
- }
- {
+ }{
Write \ 'Schweinsbraten*4' \ to \ create \ the \ label \ 'Schweinsbraten' \
which \ is \ initially \ for \ 4 \ persons.
\msg_see_documentation_text:n { cooking-units }
@@ -4767,8 +5178,7 @@ and the derived file cooking-units.sty.
{
The \ number \ of \ persons \ the \ recipe \ is \ for \ must \ be \ an \
integer. \ '#1' \ is \ not \ allowed.
- }
- {
+ }{
The \ number \ '#1' \ is \ not \ allowed.
\msg_see_documentation_text:n { cooking-units }
}
@@ -4826,11 +5236,10 @@ and the derived file cooking-units.sty.
\msg_new:nnnn { cooking-units } { cutext-no-translation-available }
{
For \ the \ unit \ '#1' \ there \ exists \ no \ translation \ to \ be \ used \
- for \ \cutext ~ and \ \Cutext. \
+ for \ \cutext ~ and \ \token_to_str:N \Cutext. \
You \ can \ define \ new \ translations \ for \ a \ given \ language \ using \
\cudefinename.
- }
- {
+ }{
\cunum ~ is \ used \ instead.
\msg_see_documentation_text:n { cooking-units }
}
@@ -4841,9 +5250,8 @@ and the derived file cooking-units.sty.
\msg_new:nnnn { cooking-units } { Translation-not-available }
{
The \ translation \ for \ #1 \ does \ not \ exist.
- Please \ define \ it \ using \ \cudefinename.
- }
- {
+ Please \ define \ it \ using \ \token_to_str:N\cudefinename.
+ }{
And \ you \ may \ send \ me \ the \ translation \ as \ it \ is \
not \ available \ yet.
\msg_see_documentation_text:n { cooking-units }
@@ -4856,8 +5264,7 @@ and the derived file cooking-units.sty.
{
Currently \ (and \ probably \ forever) \ the \ sign \ '<' \
is \ not \ allowed \ to \ be \ used \ as \ a \ special \ sign.
- }
- {
+ }{
I \ apologize \ for \ the \ inconvenience.
\msg_see_documentation_text:n { cooking-units }
}
@@ -4891,7 +5298,8 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\msg_new:nnnn { cooking-units } { curef-forbidden-unit }
{
- The \ amount \ of \ '#1' \ cannot \ be \ changed \ using \ cooking-units` \ label \ \& \ ref \ feature.
+ The \ amount \ of \ '#1' \ cannot \ be \ changed \ using \ cooking-units`
+ \ label \ and \ ref \ feature.
}{
You \ can \ remove \ the \ unit \ using \ 'curef-remove-forbidden-unit'.
\msg_see_documentation_text:n { cooking-units }
@@ -4899,6 +5307,31 @@ and the derived file cooking-units.sty.
% \end{macrocode}
%
% \begin{macrocode}
+\msg_new:nnnn { cooking-units } { define-numeral-function }
+ {
+ You \ are \ using \ numerals \ (lowercase) \ without \ the \ load-time \ option \
+ 'use-fmtcount-numerals' \ as \ such \ you \ need \ to \ define \
+ which \ function \ is \ to \ be \ used \ for \ numerals. \ You \ can
+ \ do \ that \ via \ 'numeral-function' \ and \ 'Numeral-function'
+ }{
+ Please \ specify\ which \ function \ should \ be \ used \ to \ print \
+ numerals (lowercase \ and \ uppercase).
+ \msg_see_documentation_text:n { cooking-units }
+ }
+\msg_new:nnnn { cooking-units } { define-Numeral-function }
+ {
+ You \ are \ using \ numerals \ (capitalized) \ without \ the \ load-time \ option \
+ 'use-fmtcount-numerals' \ as \ such \ you \ need \ to \ define \
+ which \ function \ is \ to \ be \ used \ for \ numerals. \ You \ can
+ \ do \ that \ via \ 'numeral-function' \ and \ 'Numeral-function'
+ }{
+ Please \ specify\ which \ function \ should \ be \ used \ to \ print \
+ numerals (lowercase \ and \ uppercase).
+ \msg_see_documentation_text:n { cooking-units }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
\msg_new:nnnn { cooking-units } { 42-is-...-wrong? }
{
You \ requested \ to \ set \ 42 \ to \ 'false'. \ This \ doesn't \ make
@@ -4911,14 +5344,34 @@ and the derived file cooking-units.sty.
Phew ... \ this \ might \ have \ ended \ disastrous.
\msg_see_documentation_text:n { cooking-units }
}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\msg_new:nnnn { cooking-units } { empty-amount }
+ {
+ The \ amount \ given \ is \ empty \ ( spaces \ are \ removed ).
+ }{
+ The \ amount \ given \ is \ empty.
+ \msg_see_documentation_text:n { cooking-units }
+ }
+%
+\msg_new:nnnn { cooking-units } { unknown-option }
+ {
+ The \ option \ '#1' \ is \ not \ defined.
+ }{
+ Perhaps \ you \ misspelled \ the \ option.
+ \msg_see_documentation_text:n { cooking-units }
+ }
% \end{macrocode}
%
+%
% \begin{macrocode}
\msg_new:nnnn { cooking-units } { internal-error }
{
This \ error \ shouldn't \ show. \ This \ means \ I
\ (the \ package \ author) \ screwed
- \ up.
+ \ up. \ The \ error \ code \ is \ '#1'.
}{
Please \ send \ me \ a \ bug \ report.
\msg_see_documentation_text:n { cooking-units }
@@ -4933,21 +5386,32 @@ and the derived file cooking-units.sty.
%\begin{macro}
% {
% \@@_error_if_unit_not_defined:n,
-% \@@_error_if_unit_not_defined:V,
+% \@@_error_if_unit_not_defined:nTF,
+% \@@_error_if_unit_not_defined:VTF,
% }
% A little helper macro. Checks if the unit is defined, if not raise an error.
% \begin{macrocode}
-\cs_new:Npn \@@_error_if_unit_not_defined:n #1
+\prg_new_protected_conditional:Npnn \@@_error_if_unit_not_defined:n #1 { TF, T, F }
{
- \seq_if_in:NnF \g_@@_list_of_defined_units_seq {#1}
- { \msg_error:nnn { cooking-units } { unknown-unit } {#1} }
+ \seq_if_in:NnTF \g_@@_list_of_defined_units_seq {#1}
+ { \prg_return_false: }
+ {
+ \msg_error:nnn { cooking-units } { unknown-unit } {#1}
+ \prg_return_true:
+ }
}
-\cs_generate_variant:Nn \@@_error_if_unit_not_defined:n { V }
+\cs_new:Npn \@@_error_if_unit_not_defined:n #1
+ { \@@_error_if_unit_not_defined:nTF {#1} { } { } }
+\cs_generate_variant:Nn \@@_error_if_unit_not_defined:nTF { V }
% \end{macrocode}
%\end{macro}
%
%
-%
+% \begin{macrocode}
+\cs_new:Npn \@@_seq_use_msg:N #1
+ { \seq_use:Nnnn #1 { ' , ~ ' } { ' , ~ ' } { ' ~ and ~ ' } }
+\cs_generate_variant:Nn \@@_seq_use_msg:N { c }
+% \end{macrocode}
%
%
%
@@ -4991,7 +5455,7 @@ and the derived file cooking-units.sty.
%
%
% \begin{macro}[TF]{ \@@_fp_if_equal_one:n}
-% \begin{macro}[TF]{ \@@_int_if_equal_one:n}f
+% \begin{macro}[TF]{ \@@_int_if_equal_one:n}
% \begin{macrocode}
\prg_new_conditional:Npnn \@@_fp_if_equal_one:n #1 { TF }
{
@@ -5024,6 +5488,20 @@ and the derived file cooking-units.sty.
%
% \begin{macro}{ \@@_check_if_correct_gender_input:n }
% \begin{macrocode}
+\prg_new_conditional:Npnn \@@_if_gender_error:n #1 { TF }
+ {
+ \str_case:nnTF {#1}
+ {
+ { m } { }
+ { f } { }
+ { n } { }
+ }
+ { \prg_return_false: }
+ {
+ \msg_error:nnn { cooking-units } { unknown-gender } {#1}
+ \prg_return_true:
+ }
+ }
\cs_new:Npn \@@_check_if_correct_gender_input:n #1
{
\str_case:nnF {#1}
@@ -5036,77 +5514,79 @@ and the derived file cooking-units.sty.
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_define_unit_group:nn}
+% \begin{macro}{\@@_define_clear_unit_group:nn,\@@_add_to_unit_group_error:n,\@@_add_to_unit_group:nn}
% \begin{macrocode}
-\cs_new:Npn \@@_define_unit_group:nn #1#2
+\cs_new:Npn \@@_define_clear_unit_group:nn #1#2
{
- \seq_new:c { l_@@_group_ #1 _seq }
- \seq_set_from_clist:cn { l_@@_group_ #1 _seq } {#2}
+ \seq_clear_new:c { l_@@_group_ #1 _seq }
\keys_define:nn { cooking-units }
{
#1 .code:n = { \@@_unit_group_convert_units:nn {#1} {##1} } ,
#1 .groups:n = { change-unit } ,
}
}
+%
+\cs_new:Npn \@@_add_to_unit_group_error:n #1
+ { \msg_error:nnn { cooking-units } { No-Value-given } { add-unit-to-group } }
+%
+\cs_new:Npn \@@_add_to_unit_group:nn #1#2
+ {
+ \@@_error_if_group_not_defined:nF {#1}
+ {
+ \clist_map_inline:nn {#2}
+ {
+ \@@_error_if_unit_not_defined:nF {##1}
+ {
+ \seq_if_in:cnF { l_@@_group_ #1 _seq } {##1}
+ { \seq_put_right:cn { l_@@_group_ #1 _seq } {##1} }
+ }
+ }
+ }
+ }
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_error_if_group_not_defined:n}
% \begin{macrocode}
-\cs_new:Npn \@@_error_if_group_not_defined:n #1
+\prg_new_conditional:Npnn \@@_error_if_group_not_defined:n #1 { F }
{
- \seq_if_exist:cF { l_@@_group_ #1 _seq }
- { \msg_error:nn { cooking-units} { group-key-unknown } }
+ \seq_if_exist:cTF { l_@@_group_ #1 _seq }
+ { \prg_return_false: }
+ {
+ \msg_error:nn { cooking-units} { group-key-unknown }
+ \prg_return_true:
+ }
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_unit_group_convert_units:nn}
+% Didn't feel like intending the groups, as such use |\use_none:nnnnn(nnn)|.
+% (Always wanted to use those |\use_none:|)
% \begin{macrocode}
\cs_new:Npn \@@_unit_group_convert_units:nn #1#2
{
- \@@_error_if_group_not_defined:n {#1}
- \@@_error_if_unit_not_defined:n {#2}
- \seq_if_in:cnTF { l_@@_group_ #1 _seq } {#2}
+ \@@_error_if_group_not_defined:nF {#1}
{
- \seq_map_inline:cn { l_@@_group_ #1 _seq }
- { \@@_keys_set:nnn { cooking-units } {##1} {#2} }
- }{
- \msg_error:nnxxx
- { cooking-units }
- { group-choice-not-allowed }
- {#1}
- {#2}
- { \seq_use:cnnn { l_@@_group_ #1 _seq } { ',~ ' } { ',~ ' } { ' ~ and ~ ' } }
+ \@@_error_if_unit_not_defined:nF {#2}
+ {
+ \seq_if_in:cnTF { l_@@_group_ #1 _seq } {#2}
+ {
+ \seq_map_inline:cn { l_@@_group_ #1 _seq }
+ { \@@_keys_set:nnn { cooking-units } {##1} {#2} }
+ }{
+ \msg_error:nnxxx
+ { cooking-units }
+ { group-choice-not-allowed }
+ {#1} {#2}
+ { \@@_seq_use_msg:c { l_@@_group_ #1 _seq } }
+ }
+ }
}
}
-\@@_define_unit_group:nn { weight } { kg , dag, g, oz, lb, stick }
-\@@_define_unit_group:nn { length } { m , dm , cm , mm , in }
-\@@_define_unit_group:nn { volume } { l , dl , cl , ml }
-\@@_define_unit_group:nn { temperature } { C , F , K , Re }
-\@@_define_unit_group:nn { energy } { cal, kcal , J , kJ , eV }
-\@@_define_unit_group:nn { time } { d , h , min , s }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_unit_group_add_unit_error:n , \@@_unit_group_add_unit:nn }
-% \begin{macrocode}
-\cs_new:Npn \@@_unit_group_add_unit_error:n #1
- {
- \msg_error:nnn { cooking-units } { No-Value-given } { add-unit-to-group }
- }
-\cs_new:Npn \@@_unit_group_add_unit:nn #1#2
- {
- \@@_error_if_group_not_defined:n {#1}
- \clist_map_inline:nn {#2}
- {
- \@@_error_if_unit_not_defined:n {##1}
- \seq_if_in:cnF { l_@@_group_ #1 _seq } {##1}
- { \seq_put_right:cn { l_@@_group_ #1 _seq } {##1} }
- }
- }
-% \end{macrocode}
-% \end{macro}
%
% \begin{macro}{\@@_convert_to_eV:}
% Still work in progress. Will probably forever be. Changes all
@@ -5116,7 +5596,7 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\seq_new:N \g_@@_natural_units_seq
\prop_new:N \g_@@_convert_to_eV_remember_prop
-\seq_set_from_clist:Nn \g_@@_natural_units_seq
+\seq_gset_from_clist:Nn \g_@@_natural_units_seq
{
eV ,
eVc-2 ,
@@ -5125,32 +5605,31 @@ and the derived file cooking-units.sty.
(chbareV-1)3 ,
}
\cs_new:Npn \@@_keys_set:nnn #1#2#3
- {
- \keys_set:nn {#1} { #2 = #3 }
- }
+ { \keys_set:nn {#1} { #2 = #3 } }
\cs_generate_variant:Nn \@@_keys_set:nnn { nVV , nVn }
\cs_new:Npn \@@_convert_to_eV:
{
- \prop_if_exist:cT { l_@@_cukeys_ \l_@@_given_unit_tl _prop }
+ \tl_set_eq:Nc \l_@@_tmp_unit_tl { l_@@_base_key_unit_ \l_@@_original_unit_tl _tl }
+ \tl_if_empty:NF \l_@@_tmp_unit_tl
{
\prop_get:NVNTF \g_@@_convert_to_eV_remember_prop
- \l_@@_given_unit_tl \l_@@_tmpa_tl
+ \l_@@_original_unit_tl \l_@@_tmpa_tl
+ { \@@_keys_set:nVV { cooking-units } \l_@@_original_unit_tl \l_@@_tmpa_tl }
{
- \@@_keys_set:nVV { cooking-units } \l_@@_given_unit_tl \l_@@_tmpa_tl
- }{
- \prop_get:cnNT { l_@@_cukeys_ \l_@@_given_unit_tl _prop } { Liste } \l_@@_tmpa_seq
+ \prop_get:cnNTF { l_@@_cukeys_ \l_@@_tmp_unit_tl _prop } { Liste } \l_@@_tmpa_seq
{
\seq_map_inline:Nn \g_@@_natural_units_seq
{
\seq_if_in:NnT \l_@@_tmpa_seq {##1}
{
\prop_gput:NVn \g_@@_convert_to_eV_remember_prop
- \l_@@_given_unit_tl {##1}
- \@@_keys_set:nVn { cooking-units } \l_@@_given_unit_tl {##1}
+ \l_@@_original_unit_tl {##1}
+ \@@_keys_set:nVn { cooking-units } \l_@@_original_unit_tl {##1}
\seq_map_break:
}
}
- }
+ }
+ { \msg_error:nnn { cooking-units } { internal-error } { convert-to-eV } }
}
}
}
@@ -5172,8 +5651,9 @@ and the derived file cooking-units.sty.
%
% \begin{macro}{ }
% I am using this construction often enough, so \dots\ yeah.
+% Note that if the evaluation is |true|, the path taken is the |false| one.
% \begin{macrocode}
-\prg_new_conditional:Npnn \@@_change_unit: { TF }
+\prg_new_conditional:Npnn \@@_change_unit: { TF , T }
{
\bool_lazy_any:nTF
{
@@ -5201,32 +5681,22 @@ and the derived file cooking-units.sty.
}
\cs_new:Npn \@@_temperatures_to_check_define:nn #1#2
{
- \@@_error_if_unit_not_defined:n {#1}
- \fp_if_exist:cTF { c_@@_ #1 _min_fp }
- { \msg_warning:nnn { cooking-units } { Minimum-already-defined } {#1} }
+ \@@_error_if_unit_not_defined:nF {#1}
{
- \seq_put_right:Nn \l_@@_temperatures_to_check_seq {#1}
- \fp_const:cn { c_@@_ #1 _min_fp } {#2}
+ \fp_if_exist:cTF { l_@@_ #1 _min_fp }
+ {
+% \msg_warning:nnn { cooking-units } { Minimum-already-defined } {#1}
+ \fp_set:cn { l_@@_ #1 _min_fp } {#2}
+ }{
+ \seq_put_right:Nn \l_@@_temperatures_to_check_seq {#1}
+ \fp_new:c { l_@@_ #1 _min_fp }
+ \fp_set:cn { l_@@_ #1 _min_fp } {#2}
+ }
}
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{ \@@_erase_options_for:n , \@@_erase_options_for_error:nn }
-% \begin{macrocode}
-\cs_new:Npn \@@_erase_options_for:n #1
- {
- \@@_error_if_unit_not_defined:n {#1}
- \clist_clear:c { l_@@_predefined_option_ ##1 _clist }
- }
-\cs_new:Npn \@@_erase_options_for_error:nn #1#2
- {
- \@@_error_if_unit_not_defined:n {#1}
- \msg_error:nnn { cooking-units } { Value-not-allowed } { erase-all-options-for }
- }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}{ \@@_set_options_for_error:n , \@@_set_options_for:nn }
% \begin{macrocode}
\cs_new:Npn \@@_set_options_for_error:n #1
@@ -5235,10 +5705,7 @@ and the derived file cooking-units.sty.
\msg_error:nnn { cooking-units } { No-Value-given } { set-option-for }
}
\cs_new:Npn \@@_set_options_for:nn #1#2
- {
- \@@_error_if_unit_not_defined:n {#1}
- \clist_set:cn { l_@@_predefined_option_#1_clist } {#2}
- }
+ { \cusetoptionfor {#1} {#2} }
% \end{macrocode}
% \end{macro}
%
@@ -5250,10 +5717,7 @@ and the derived file cooking-units.sty.
\msg_error:nnn { cooking-units } { No-Value-given } { add-option-for }
}
\cs_new:Npn \@@_add_options_for:nn #1#2
- {
- \@@_error_if_unit_not_defined:n {#1}
- \clist_put_right:cn { l_@@_predefined_option_ #1 _clist } {#2}
- }
+ { \cuaddoptionfor {#1} {#2} }
% \end{macrocode}
% \end{macro}
%
@@ -5263,9 +5727,7 @@ and the derived file cooking-units.sty.
\cs_new:Npn \@@_rounding_function:n #1
{
#1
- \bool_if:NTF \l_@@_round_to_int_bool
- { , 0 }
- { , \l_@@_round_precision_int }
+ , \l_@@_round_precision_int
\bool_if:NT \l_@@_round_commercial_bool
{ , #1 }
}
@@ -5351,32 +5813,27 @@ and the derived file cooking-units.sty.
%
%
%
-% \begin{macro}{ \@@_tl_if_in_remove_and_set_bool:NnN }
+% \begin{macro}{ \@@_bool_reverse:N, \@@_check_minus_remove_and_reverse:NN }
% Can probably optimize this as the sign is always at the first place
-% (this is done after cheking the input, so the asumption is safe), but yeah \dots
+% (this is done after cheking the input, so the assumption is safe), but yeah \dots
% \begin{macrocode}
-\cs_new:Npn \@@_tl_if_in_remove_and_set_bool:NnN #1#2#3
+\cs_new:Npn \@@_bool_reverse:N #1
{
- \tl_if_in:NnTF #1 {#2}
- {
- \bool_set_true:N #3
- \tl_remove_once:Nn #1 {#2}
- }
- { \bool_set_false:N #3 }
+ \bool_if:NTF #1
+ { \bool_set_false:N }
+ { \bool_set_true:N }
+ #1
}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{ \@@_tl_if_in_remove_and_reverse_bool:NnN }
-% \begin{macrocode}
-\cs_new:Npn \@@_tl_if_in_remove_and_reverse_bool:NnN #1#2#3
+\cs_new:Npn \@@_check_minus_remove_and_reverse:NN #1#2
{
- \tl_if_in:NnT #1 {#2}
+ \quark_if_nil:NF #2
{
- \bool_if:NTF #3
- { \bool_set_false:N #3 }
- { \bool_set_true:N #3 }
- \tl_remove_once:Nn #1 {#2}
+ \tl_if_in:NnT #2 { - }
+ {
+ \tl_remove_once:Nn #2 { - }
+ \@@_bool_reverse:N #1
+ }
+ \@@_check_minus_remove_and_reverse:NN #1
}
}
% \end{macrocode}
@@ -5395,8 +5852,8 @@ and the derived file cooking-units.sty.
\tl_const:Nn \c_@@_postfix_phrase_tl { ( cu-unitphrase ) }
% \end{macrocode}
%
-% \begin{macro}{ \@@_deftranslation:nn }
-% \begin{macro}{ \@@_deftranslation:xxn , \@@_deftranslation:Vnv}
+% \begin{macro}{\@@_deftranslation_base:nnn, \@@_deftranslation_base:xVn }
+% \begin{macro}{\@@_deftranslation_to:nnnn , \@@_deftranslation_to:VxVv,\@@_deftranslation_to:VxVV,\@@_deftranslation_to:VxVn}
% \begin{macrocode}
\cs_new:Npn \@@_deftranslation_base:nnn #1#2#3
{
@@ -5406,8 +5863,8 @@ and the derived file cooking-units.sty.
{
\declaretranslation {#1} { #2 #3 } {#4}
}
-\cs_generate_variant:Nn \@@_deftranslation_base:nnn { xx , xxV }
-\cs_generate_variant:Nn \@@_deftranslation_to:nnnn { Vxxv, VxxV , Vxxn, Vxxx,Vxxo,Vxxf }
+\cs_generate_variant:Nn \@@_deftranslation_base:nnn { xV }
+\cs_generate_variant:Nn \@@_deftranslation_to:nnnn { VxVv, VxVV , VxVn }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -5547,13 +6004,18 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new_protected:Npn \@@_initialise_default:n #1
{
- \@@_set_unit:Nn \l_@@_given_unit_tl {#1}
- \@@_error_if_unit_not_defined:V \l_@@_given_unit_tl
- \bool_set_false:N \l_@@_special_sign_bool
+ \@@_set_unit:Nn \l_@@_original_unit_tl {#1}
\bool_set_false:N \l_@@_error_bool
+ \@@_error_if_unit_not_defined:VTF \l_@@_original_unit_tl
+ {
+ \bool_set_true:N \l_@@_unit_error_bool
+ \cs_set_eq:NN \@@_print_correct_unit: \@@_print_default_unit:
+ }
+ { \bool_set_false:N \l_@@_unit_error_bool }
+ \bool_set_false:N \l_@@_special_sign_bool
\bool_set_false:N \l_@@_range_in_input_bool
\bool_set_false:N \l_@@_lokal_fraction_bool
- \bool_set_false:N \l_@@_lokal_mixed_fraction_bool
+ \bool_set_false:N \l_@@_minus_bool
}
% \end{macrocode}
% Some units have options added to them. To get those options it is first
@@ -5569,8 +6031,8 @@ and the derived file cooking-units.sty.
{ \keys_set_groups:nnn { cooking-units } { change-unit } {#1} }
\bool_if:NT \l_@@_convert_to_eV_bool
{ \@@_convert_to_eV: }
- \prop_get:NVNF \l_@@_change_unit_prop \l_@@_given_unit_tl \l_@@_option_unit_tl
- { \tl_set_eq:NN \l_@@_option_unit_tl \l_@@_given_unit_tl }
+ \prop_get:NVNF \l_@@_change_unit_prop \l_@@_original_unit_tl \l_@@_option_unit_tl
+ { \tl_set_eq:NN \l_@@_option_unit_tl \l_@@_original_unit_tl }
}
% \end{macrocode}
% \begin{macrocode}
@@ -5578,12 +6040,12 @@ and the derived file cooking-units.sty.
{
\IfNoValueF {#1}
{ \@@_reference_label_and_persons:n {#1} }
- \clist_if_empty:cF { l_@@_predefined_option_ \l_@@_option_unit_tl _clist }
+ \clist_if_empty:cF { l_@@_unit_option_ \l_@@_option_unit_tl _clist }
{
\keys_set_filter:nnv
{ cooking-units }
{ change-unit }
- { l_@@_predefined_option_ \l_@@_option_unit_tl _clist }
+ { l_@@_unit_option_ \l_@@_option_unit_tl _clist }
}
\tl_if_empty:nF {#2}
{ \keys_set_filter:nnn { cooking-units } { change-unit } {#2} }
@@ -5591,10 +6053,7 @@ and the derived file cooking-units.sty.
{ \l_@@_calc_because_ref_was_given_bool } { \l_@@_change_number_of_persons_bool }
{ \bool_set_true:N \l_@@_lokal_persons_bool }
{ \bool_set_false:N \l_@@_lokal_persons_bool }
- \bool_lazy_and:nnTF
- { \g_@@_opt_numeral_bool } { \l_@@_print_numeral_bool }
- { \bool_set_true:N \l_@@_lokal_numeral_bool }
- { \bool_set_false:N \l_@@_lokal_numeral_bool }
+ \bool_set_eq:NN \l_@@_lokal_numeral_bool \l_@@_print_numeral_bool
}
% \end{macrocode}
% \end{macro}
@@ -5604,7 +6063,7 @@ and the derived file cooking-units.sty.
% \@@_post_process_input:NN , \@@_pre_process_input:NN}
% Wrapper macro for printing the (not)calculated output. Note that if no
% calculation happens in \mycs{cutext} (and \mycs{Cutext}) \cs{l_@@_option_unit_tl}
-% is set to \cs{l_@@_given_unit_tl} (the unit given in the second argument of
+% is set to \cs{l_@@_original_unit_tl} (the unit given in the second argument of
% \mycs{cutext} or \mycs{Cutext}) by default.
% \begin{macrocode}
\cs_new_protected:Npn \@@_print_input:N #1 { }
@@ -5670,20 +6129,28 @@ and the derived file cooking-units.sty.
% \end{macro}
%
%
-% \begin{macro}{ \@@_print_fractions:nnn }
+% \begin{macro}{ \@@_print_fractions:Nnn }
% The name of this function is the name of the game: It prints fractions.
-% Furthermore it sets the boolean \lstinline|fraction_in_input_bool| to true
-% so that the correct unit is printed.
+% The minus sign is always put in front of the fraction.
+%
+% The first argument regards the mixed fraction part. It is either empty
+% or not empty. If empty, do nothing. Else insert and add space.
+%
+% The 2nd and 3rd argument are the nominator and denominator, they are
+% used in the fraction command directly.
+%
+% All three arguments are currently tl varables, but only the first is a dedicated
+% \enquote{can only take one token}.
%
% Since v.1.10(alpha) it also prints the minus sign (hopefully correct).
% \begin{macrocode}
-\cs_new:Npn \@@_print_fractions:nnn #1#2#3
+\cs_new:Npn \@@_print_fractions:Nnn #1#2#3
{
\bool_if:NT \l_@@_minus_bool { \c_@@_minus_tl }
- \tl_if_empty:nF {#1}
+ \tl_if_empty:NF #1
{
#1
- \@@_dim_horizontal:N \l_@@_mixed_frac_dim
+ \skip_horizontal:N \l_@@_mixed_frac_dim
}
\@@_frac:nn {#2} {#3}
}
@@ -5723,22 +6190,47 @@ and the derived file cooking-units.sty.
\cs_new:Npn \@@_create_error:n #1
{
\bool_set_true:N \l_@@_error_bool
- \msg_error:nnV { cooking-units } {#1} \l_@@_given_amount_tl
+ \msg_error:nnV { cooking-units } {#1} \l_@@_original_amount_tl
}
\cs_new:Npn \@@_create_error_and_stop:n #1
{
\bool_set_true:N \l_@@_error_bool
- \msg_error:nnV { cooking-units } {#1} \l_@@_given_amount_tl
+ \msg_error:nnV { cooking-units } {#1} \l_@@_original_amount_tl
\use_none_delimit_by_q_nil:w
}
\cs_new:Npn \@@_create_error:nn #1#2
{
\bool_set_true:N \l_@@_error_bool
- \msg_error:nnnV { cooking-units } {#1} {#2} \l_@@_given_amount_tl
+ \msg_error:nnnV { cooking-units } {#1} {#2} \l_@@_original_amount_tl
}
% \end{macrocode}
% \end{macro}
%
+% The following command is needed after the parsing. It further processes
+% the parsed input and prints. The actual parsing and printing process (|\@@_process_tmp|)
+% depends on the command (|\cunum|, etc.) used.
+% \begin{macrocode}
+\cs_new:Npn \@@_process_tmp: { }
+\cs_new:Npn \@@_process_and_print_input:
+ {
+ \bool_lazy_or:nnTF
+ { \l_@@_error_bool }
+ { \l_@@_unit_error_bool }
+ { \l_@@_original_amount_tl }
+ { \@@_process_tmp: }
+ }
+% \end{macrocode}
+% If there is an error or there is a special case (like \opt{42=true}) these commands
+% are used.
+% \begin{macrocode}
+\cs_new:Npn \@@_process_default: { \l_@@_original_amount_tl }
+\cs_new:Npn \@@_print_default_unit:
+ {
+ \tl_if_empty:NF \l_@@_phantom_tl { \phantom { \l_@@_phantom_tl } }
+ \,\l_@@_original_unit_tl
+ }
+% \end{macrocode}
+%
% \begin{macro}{ \@@_parse_input:n }
% Rescans the input to get rid of spaces and to make \_ and ? inactive
% (french with babel makes |?| active and changes the definition of it).
@@ -5747,26 +6239,27 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new:Npn \@@_parse_input:n #1
{
- \bool_if:NTF \l_@@_fourty_two_bool
- { \tl_clear:N \l_@@_given_amount_tl }
- { \@@_set_amount:Nn \l_@@_given_amount_tl {#1} }
- \tl_set_rescan:NnV \l_@@_given_amount_tl
+ \@@_set_amount:Nn \l_@@_original_amount_tl {#1}
+ \tl_set_rescan:NnV \l_@@_original_amount_tl
{
\char_set_catcode_letter:N \_ %
\char_set_catcode_ignore:N \ %
\char_set_catcode_other:N ? %
- } \l_@@_given_amount_tl
- \bool_lazy_or:nnTF
- { \l_@@_draft_bool }
- { \tl_if_empty_p:N \l_@@_given_amount_tl }
+ } \l_@@_original_amount_tl
+ \bool_lazy_any:nTF
{
- \bool_if:NTF \l_@@_fourty_two_bool
- { 42 }
- { \l_@@_given_amount_tl }
+ { \l_@@_fourty_two_bool }
+ { \l_@@_draft_bool }
+ { \tl_if_empty_p:N \l_@@_original_amount_tl }
}{
- \tl_set_eq:NN \l_@@_tmpa_tl \l_@@_given_amount_tl
+ \cs_set_eq:NN \@@_process_tmp: \@@_process_default:
+ \tl_if_empty:NT \l_@@_original_amount_tl
+ { \msg_error:nnV { cooking-units } { empty-amount } \l_@@_original_amount_tl }
+ \bool_if:NT \l_@@_fourty_two_bool
+ { \tl_set:Nn \l_@@_original_amount_tl { 42 } }
+ }{
+ \tl_set_eq:NN \l_@@_tmpa_tl \l_@@_original_amount_tl
\@@_split_input:N \l_@@_tmpa_tl
- \@@_process_and_print_input:
}
}
% \end{macrocode}
@@ -5789,27 +6282,10 @@ and the derived file cooking-units.sty.
\bool_if:NT \l_@@_range_in_input_bool
{ \@@_create_error_and_stop:n { fraction-not-allowed-with-range } }
}
- \tl_if_in:NnT #1 { _ }
- {
- \bool_set_true:N \l_@@_lokal_mixed_fraction_bool
- \bool_if:NF \l_@@_lokal_fraction_bool
- { \@@_create_error_and_stop:n { missing-slash } }
- }
\@@_split:N #1
\use_none_delimit_by_q_nil:w \q_nil
}
% \end{macrocode}
-% If an error was raised during parsing, just print the input. Else, go to the next set
-% of commands.
-% \begin{macrocode}
-\cs_new:Npn \@@_process_tmp: { }
-\cs_new:Npn \@@_process_and_print_input:
- {
- \bool_if:NTF \l_@@_error_bool
- { \l_@@_given_amount_tl }
- { \@@_process_tmp: }
- }
-% \end{macrocode}
% \end{macro}
%
% \begin{macro}{ \@@_split_input:}
@@ -5850,19 +6326,34 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new:Npn \@@_split_fraction:n #1
{
- \bool_if:NTF \l_@@_lokal_mixed_fraction_bool
- {
- \cs_set_eq:NN \@@_process_tmp: \@@_process_mixed_fraction_in_input:
- \@@_split_fraction_mixed:ww
- }{
- \cs_set_eq:NN \@@_process_tmp: \@@_process_fraction_in_input:
- \@@_split_fraction_frac:ww
- }
- #1 \q_stop / \q_recursion_tail \q_stop
- \q_recursion_stop
+ \cs_set_eq:NN \@@_process_tmp: \@@_process_generel_fraction_in_input:
+ \@@_split_fraction_mixed:ww
+ #1 \q_stop / \q_recursion_tail _ \q_nil \q_stop
+ \q_recursion_stop
+% \end{macrocode}
+% At this point we have all information we need to determine whatever or not
+% the fractions should be evaluated or if the units should be changed.
+% \begin{macrocode}
\bool_lazy_or:nnT
{ \l_@@_lokal_persons_bool }{ \l_@@_eval_fractions_bool }
{ \bool_set_false:N \l_@@_lokal_fraction_bool }
+ \bool_if:NT \l_@@_convert_fractions_bool
+ {
+ \tl_if_eq:NNF \l_@@_original_unit_tl \l_@@_option_unit_tl
+ { \bool_set_false:N \l_@@_lokal_fraction_bool }
+ }
+ }
+%
+\cs_new:Npn \@@_split_fraction_mixed:ww #1 _ #2 \q_stop
+ {
+ \quark_if_nil:nTF {#2}
+ {
+ \tl_clear:N \l_@@_mixed_fraction_tl
+ \@@_split_fraction_frac:ww #1 \q_stop
+ }{
+ \@@_parse_input_and_safe_in:nN {#1} \l_@@_mixed_fraction_tl
+ \@@_split_fraction_frac:ww #2 \q_stop
+ }
}
\cs_new:Npn \@@_split_fraction_frac:ww #1 / #2 \q_stop
{
@@ -5872,11 +6363,6 @@ and the derived file cooking-units.sty.
\@@_parse_input_and_safe_in:nN {#2} \l_@@_number_tmpb_tl
\use_none_delimit_by_q_recursion_stop:w
}
-\cs_new:Npn \@@_split_fraction_mixed:ww #1 _ #2 \q_stop
- {
- \@@_parse_input_and_safe_in:nN {#1} \l_@@_mixed_fraction_tl
- \@@_split_fraction_frac:ww #2 \q_stop
- }
% \end{macrocode}
% \begin{macrocode}
\cs_generate_variant:Nn \@@_split_number:n { V }
@@ -5897,7 +6383,7 @@ and the derived file cooking-units.sty.
\cs_set_eq:NN \@@_parse:N \@@_start_loop:N
\tl_map_function:nN {#1} \@@_parse:N
\bool_if:NTF \l_@@_error_bool
- { \use_none_delimit_by_q_nil:w }
+ { }
{ \tl_set_eq:NN #2 \l_@@_tmpa_tl }
}
% \end{macrocode}
@@ -5967,7 +6453,11 @@ and the derived file cooking-units.sty.
{ \@@_create_error:n { Second-fraction-sign-not-allowed } }
{
\tl_if_in:NnTF \l_@@_input_mixed_fraction_sign_tl {#1}
- { \@@_create_error:n { Second-mixed-fraction-sign-not-allowed } }
+ {
+ \bool_if:NTF \l_@@_lokal_fraction_bool
+ { \@@_create_error:n { Second-mixed-fraction-sign-not-allowed } }
+ { \@@_create_error:n { missing-slash } }
+ }
{ \@@_create_error:nn { Token-not-allowed } {#1} }
}
}
@@ -6023,82 +6513,68 @@ and the derived file cooking-units.sty.
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{ \@@_process_fraction_in_input: }
-% If a \lstinline|/| (but no \lstinline|_|) is found inside the input.
-% Well \dots\ does the same as the functions before.
-% If fractions should be evaluated the input is \dots\ well,
-% evaluated and printed. Otherwise the input is given to
-% another function which prints the fractions. Note that the empty
-% argument in \lstinline|\@@_print_fractions:nnn| indicates a
-% \enquote{normal} fraction.
-% \begin{macrocode}
-\cs_new:Npn \@@_process_fraction_in_input:
- {
- \bool_lazy_or:nnTF
- { \l_@@_lokal_fraction_bool }
- { \l_@@_special_sign_bool }
- {
- \@@_tl_if_in_remove_and_set_bool:NnN \l_@@_number_tmpa_tl { - } \l_@@_minus_bool
- \@@_tl_if_in_remove_and_reverse_bool:NnN \l_@@_number_tmpb_tl { - } \l_@@_minus_bool
- \@@_print_fractions:nnn
- { }
- { \l_@@_number_tmpa_tl }
- { \l_@@_number_tmpb_tl }
- }{
- \fp_compare:nNnT { \l_@@_number_tmpb_tl } = { 0 }
- { \msg_error:nnV { cooking-units } { Division-by-zero } \l_@@_given_amount_tl }
- \@@_tl_eval:Nn \l_@@_number_tmpa_tl
- { \l_@@_number_tmpa_tl / \l_@@_number_tmpb_tl }
- \@@_process_and_print_number_in_input:N \l_@@_number_tmpa_tl
- }
- }
-% \end{macrocode}
-% \end{macro}
+% \begin{macro}{ \@@_process_generel_fraction_in_input: }
+% This function prints both mixed and normal fractions. Those was done
+% by two functions beforehand, but they shared mostly the same code, so I
+% managed to fuse them.
%
-% \begin{macro}{ \@@_process_mixed_fraction_in_input: }
-% The same procedure as last function? The same procedure as every
-% function!
-%
-% If it should be evaluated it is important to check if the mixed-fraction
-% part is positive or negative. That's why the minuses are removed \emph{before}
-% checking if there is a fraction (in opposite to the command before).
+% The first part removes the minus sign. It cycles through the variables
+% (|\l_@@_mixed_fraction_tl| can be emtpy) and removes the minus signs.
+% It furthermore saves how many minuses are used by reversing a bool.
+% If a minus sign is found, the bool is reversed to true (from false). Another
+% minus: minus and minus is plus, reverse bool again (to false this time), etc.
+%
+% Afterwards: Is a fraciton printed, or is the input evaluated. Printing is
+% straight forward.
%
+% Due to how mixed fractions are evaluated, one can just evaluate the
+% absolute values of the inputs and add a minus sign on the left side afterwards
+% (if necessary).
% \begin{align}
% \cuam{1_2/3} &= 1 + 2/3 \\
-% \cuam{-1_2/3} &= -1 - 2/3
+% \cuam{-1_2/3} &= -1 - 2/3 = - ( 1 + 2/3 )
% \end{align}
-%
+%
+% If |\l_@@_mixed_fraction_tl| is empty the calculation just evaluates to
+% |+\l_@@_number_tmpa_tl / \l_@@_number_tmpb_tl|, which is also valid.
+%
% \begin{macrocode}
-\cs_new:Npn \@@_process_mixed_fraction_in_input:
+\cs_new:Npn \@@_process_generel_fraction_in_input:
{
- \@@_tl_if_in_remove_and_set_bool:NnN \l_@@_mixed_fraction_tl { - } \l_@@_minus_bool
- \@@_tl_if_in_remove_and_reverse_bool:NnN \l_@@_number_tmpa_tl { - } \l_@@_minus_bool
- \@@_tl_if_in_remove_and_reverse_bool:NnN \l_@@_number_tmpb_tl { - } \l_@@_minus_bool
+ \@@_check_minus_remove_and_reverse:NN
+ \l_@@_mixed_fraction_tl
+ \l_@@_number_tmpa_tl
+ \l_@@_number_tmpb_tl
+ \q_nil
\bool_lazy_or:nnTF
{ \l_@@_lokal_fraction_bool }
{ \l_@@_special_sign_bool }
{
- \@@_print_fractions:nnn
- { \l_@@_mixed_fraction_tl }
+ \bool_if:NT \l_@@_special_sign_bool
+ {
+ \msg_warning:nnV { cooking-units } { amount-not-known } \l_@@_original_amount_tl
+ }
+ \@@_print_fractions:Nnn
+ \l_@@_mixed_fraction_tl
{ \l_@@_number_tmpa_tl }
- { \l_@@_number_tmpb_tl }
+ { \l_@@_number_tmpb_tl }
}{
\fp_compare:nNnT { \l_@@_number_tmpb_tl } = { 0 }
- { \msg_error:nnV { cooking-units } { Division-by-zero } \l_@@_given_amount_tl }
+ { \msg_error:nnV { cooking-units } { Division-by-zero } \l_@@_original_amount_tl }
\@@_tl_eval:Nn \l_@@_number_tmpa_tl
{
- \bool_if:NTF \l_@@_minus_bool
- { - \l_@@_mixed_fraction_tl - }
- { \l_@@_mixed_fraction_tl + }
+ \l_@@_mixed_fraction_tl +
\l_@@_number_tmpa_tl / \l_@@_number_tmpb_tl
}
+ \bool_if:NT \l_@@_minus_bool
+ { \tl_put_left:Nn \l_@@_number_tmpa_tl { - } }
\@@_process_and_print_number_in_input:N \l_@@_number_tmpa_tl
}
}
% \end{macrocode}
% \end{macro}
%
-%
+%
%
%
%
@@ -6145,12 +6621,12 @@ and the derived file cooking-units.sty.
\cs_new:Npn \@@_calculate_input_and_store_in:nN #1#2
{
\fp_set:Nn \l_@@_tmpa_fp {#1}
- \tl_if_in:cnTF { l_@@_unit_change_ \l_@@_given_unit_tl _tl } { \l_@@_tmpa_fp }
+ \tl_if_in:cnTF { l_@@_unit_change_ \l_@@_original_unit_tl _tl } { \l_@@_tmpa_fp }
{
- \@@_tl_eval:Nv #2 { l_@@_unit_change_ \l_@@_given_unit_tl _tl }
+ \@@_tl_eval:Nv #2 { l_@@_unit_change_ \l_@@_original_unit_tl _tl }
}{
\@@_tl_eval:Nn #2
- { \l_@@_tmpa_fp * \tl_use:c { l_@@_unit_change_ \l_@@_given_unit_tl _tl } }
+ { \l_@@_tmpa_fp * \tl_use:c { l_@@_unit_change_ \l_@@_original_unit_tl _tl } }
}
}
% \end{macrocode}
@@ -6170,10 +6646,7 @@ and the derived file cooking-units.sty.
=
{ \l_@@_local_number_of_persons_int }
{
-% \@@_change_unit:TF
-% { \tl_set_eq:NN \l_@@_tmpb_tl \l_@@_option_unit_tl }
-% { \tl_set_eq:NN \l_@@_tmpb_tl \l_@@_given_unit_tl }
- \tl_set_eq:NN \l_@@_tmpb_tl \l_@@_given_unit_tl
+ \tl_set_eq:NN \l_@@_tmpb_tl \l_@@_original_unit_tl
\seq_if_in:NVTF \l_@@_curef_do_not_change_seq \l_@@_tmpb_tl
{ \msg_error:nnV { cooking-units } { curef-forbidden-unit } \l_@@_tmpb_tl }
{ \@@_calc_references_aux:NN #1 #2 }
@@ -6215,18 +6688,12 @@ and the derived file cooking-units.sty.
{
\quark_if_recursion_tail_stop_do:nn {#2}
{
- \bool_lazy_or:nnF
- { \l_@@_round_precision_positive_bool }
- { \l_@@_round_to_int_bool }
+ \bool_if:NT \l_@@_round_precision_negative_bool
{ \bool_set_true:N \l_@@_round_number_bool }
}
\int_compare:nNnT
{ \tl_count:n {#2} } >
- {
- \bool_if:NTF \l_@@_round_to_int_bool
- { 0 }
- { \l_@@_round_precision_int }
- }
+ { \l_@@_round_precision_int }
{ \bool_set_true:N \l_@@_round_number_bool }
\use_none_delimit_by_q_recursion_stop:w
}
@@ -6246,12 +6713,6 @@ and the derived file cooking-units.sty.
\bool_if:NTF \l_@@_round_number_bool
{ \@@_tl_eval:Nn #1 { round ( \@@_rounding_function:n {#2} ) } }
{ \tl_set:Nn #1 {#2} }
-% \tl_set:Nf #1
-% {
-% \bool_if:NTF \l_@@_round_number_bool
-% { \fp_eval:n { round ( \@@_rounding_function:n {#2} ) } }
-% {#2}
-% }
}
\cs_generate_variant:Nn \@@_round_calculated_input:Nn { NV }
% \end{macrocode}
@@ -6277,13 +6738,13 @@ and the derived file cooking-units.sty.
\seq_if_in:NVT \l_@@_temperatures_to_check_seq \l_@@_option_unit_tl
{
\fp_compare:vNnT
- { c_@@_ \l_@@_option_unit_tl _min_fp } > {#1}
+ { l_@@_ \l_@@_option_unit_tl _min_fp } > {#1}
{
\msg_error:nnxx { cooking-units }
{ Temperature-too-low }
{ #1 \space \l_@@_option_unit_tl }
{
- \fp_use:c { c_@@_ \l_@@_option_unit_tl _min_fp }
+ \fp_use:c { l_@@_ \l_@@_option_unit_tl _min_fp }
\space \l_@@_option_unit_tl
}
}
@@ -6360,6 +6821,7 @@ and the derived file cooking-units.sty.
\@@_cunum_initialise:nnnnn {#1} {#2} {#3} {#4} {#5}
\l_@@_cunum_hook_tl
\@@_parse_input:n {#3}
+ \@@_process_and_print_input:
\@@_print_correct_unit:
}
% \end{macrocode}
@@ -6404,7 +6866,7 @@ and the derived file cooking-units.sty.
\tl_use:N \l_@@_value_unit_space_tl
\@@_change_unit:TF
{ \@@_translate:VV \l_@@_option_unit_tl \c_@@_postfix_unit_tl }
- { \@@_translate:VV \l_@@_given_unit_tl \c_@@_postfix_unit_tl }
+ { \@@_translate:VV \l_@@_original_unit_tl \c_@@_postfix_unit_tl }
}
% \end{macrocode}
% \end{macro}
@@ -6459,14 +6921,14 @@ and the derived file cooking-units.sty.
\@@_initialise_default:n {#3}
\@@_initialise_unit_change:n {#2}
\bool_if:NT \l_@@_cutext_keep_unit_bool
- { \tl_set_eq:NN \l_@@_option_unit_tl \l_@@_given_unit_tl }
+ { \tl_set_eq:NN \l_@@_option_unit_tl \l_@@_original_unit_tl }
\@@_initialise_after_unit_change:nn {#1} {#2}
\bool_if:NT \l_@@_fourty_two_bool
{ \tl_set:Nn \l_@@_cutext_last_value_tl { 42 } }
}
% \end{macrocode}
%
-% #1: label, #2: Options, #3: Values, #4: unit
+%^^A #1: label, #2: Options, #3: Values, #4: unit
% \begin{macrocode}
\cs_new:Npn \@@_cutext:nnnn #1#2#3#4
{
@@ -6476,7 +6938,10 @@ and the derived file cooking-units.sty.
{ \l_@@_cutext_hook_tl }
\bool_if:NTF \l_@@_cutext_old_bool
{ \@@_old_cutext:nnn {#2} {#3} {#4} }
- { \@@_parse_input:n {#3} }
+ {
+ \@@_parse_input:n {#3}
+ \@@_process_and_print_input:
+ }
\@@_print_correct_unit:
}
% \end{macrocode}
@@ -6514,7 +6979,7 @@ and the derived file cooking-units.sty.
{
\@@_change_unit:TF
{ \@@_cutext_print_input:NV #1 \l_@@_option_unit_tl }
- { \@@_cutext_print_input:NV #1 \l_@@_given_unit_tl }
+ { \@@_cutext_print_input:NV #1 \l_@@_original_unit_tl }
}
% \end{macrocode}
% \end{macro}
@@ -6529,7 +6994,7 @@ and the derived file cooking-units.sty.
{ \@@_translate:VV \l_@@_option_unit_tl \c_@@_postfix_unitname_tl }
{ \@@_translate:VV \l_@@_option_unit_tl \c_@@_postfix_unitname_pl_tl }
}
- { \@@_translate:VV \l_@@_given_unit_tl \c_@@_postfix_unitname_pl_tl }
+ { \@@_translate:VV \l_@@_original_unit_tl \c_@@_postfix_unitname_pl_tl }
}
% \end{macrocode}
%
@@ -6538,7 +7003,7 @@ and the derived file cooking-units.sty.
{
\@@_change_unit:TF
{ \tl_set_eq:NN \l_@@_tmpb_tl \l_@@_option_unit_tl }
- { \tl_set_eq:NN \l_@@_tmpb_tl \l_@@_given_unit_tl }
+ { \tl_set_eq:NN \l_@@_tmpb_tl \l_@@_original_unit_tl }
\@@_unitname_get:NxF \l_@@_tmpa_tl \l_@@_tmpb_tl
{
\msg_warning:nnx
@@ -6584,7 +7049,7 @@ and the derived file cooking-units.sty.
{ \bool_set_false:N \l_@@_lokal_numeral_bool }
}{
\int_compare:nNnF {#1} < { \l_@@_print_numerals_below_int }
- { \bool_set_false:N \l_@@_lokal_numeral_bool }
+ { \bool_set_false:N \l_@@_lokal_numeral_bool }
}
}
{ \bool_set_false:N \l_@@_lokal_numeral_bool }
@@ -6605,7 +7070,7 @@ and the derived file cooking-units.sty.
\tl_const:Nn \c_@@_cuam_marker_tl { @@_cunum }
\tl_new:c { l_@@_unit_change_ \c_@@_cuam_marker_tl _tl }
\tl_set:cn { l_@@_unit_change_ \c_@@_cuam_marker_tl _tl } { 1.0 }
-\clist_new:c { l_@@_predefined_option_ \c_@@_cuam_marker_tl _clist }
+\clist_new:c { l_@@_unit_option_ \c_@@_cuam_marker_tl _clist }
% \end{macrocode}
%
% Replaces and extends \mycs{cufrac}.
@@ -6633,6 +7098,7 @@ and the derived file cooking-units.sty.
{ \@@_cuam_old:n {#3} }
{
\@@_parse_input:n {#3}
+ \@@_process_and_print_input:
\@@_print_correct_unit:
}
}
@@ -6642,7 +7108,7 @@ and the derived file cooking-units.sty.
\cs_new_protected:Npn \@@_cuam_initialise:nn #1#2
{
\@@_set_process_and_print_for_cuam:
- \tl_set_eq:NN \l_@@_given_unit_tl \c_@@_cuam_marker_tl
+ \tl_set_eq:NN \l_@@_original_unit_tl \c_@@_cuam_marker_tl
\tl_set_eq:NN \l_@@_option_unit_tl \c_@@_cuam_marker_tl
\bool_set_false:N \l_@@_lokal_phrase_bool
\@@_initialise_after_unit_change:nn {#1} {#2}
@@ -6860,17 +7326,22 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new:Npn \@@_cukeys_define_keys_and_single_keys:nn #1#2
{
- \@@_error_if_unit_not_defined:n {#1}
+ \@@_error_if_unit_not_defined:nTF {#1}
+ { \bool_set_true:N } { \bool_set_false:N }
+ \l_@@_unit_error_bool
\tl_if_blank:nF {#2}
{
+ \prop_gclear:N \g_@@_master_changer_prop
+ \prop_gclear:N \g_@@_convert_to_eV_remember_prop
\seq_clear:N \l_@@_tmpa_seq
\prop_clear:N \l_@@_tmpa_prop
+ \prop_clear_new:c { l_@@_cukeys_ #1 _prop }
\bool_if:NTF \l_@@_single_key_bool
{
\@@_cukeys_parse_and_create_single_key:nn {#1} {#2}
}{
\fp_set:Nn \l_@@_tmpa_fp { 1.0 }
- \tl_set:Nn \l_@@_given_unit_tl {#1}
+ \tl_set:Nn \l_@@_original_unit_tl {#1}
\@@_cukeys_parse_and_create_keys:nn {#1}
{
{#1} { 1.0 } #2
@@ -6890,10 +7361,14 @@ and the derived file cooking-units.sty.
{
\@@_cukeys_parse_input:nn #2
\q_recursion_tail \q_recursion_tail \q_recursion_stop
- \@@_cukeys_create_key_prop:n {#1}
- \clist_set_from_seq:NN \l_@@_tmpa_clist \l_@@_tmpa_seq
- \@@_cukeys_define_keys:V \l_@@_tmpa_clist
+ \bool_if:NF \l_@@_unit_error_bool
+ {
+ \@@_cukeys_create_key_prop:n {#1}
+ \clist_set_from_seq:NN \l_@@_tmpa_clist \l_@@_tmpa_seq
+ \@@_cukeys_define_keys:V \l_@@_tmpa_clist
+ }
}
+\cs_generate_variant:Nn \@@_cukeys_parse_and_create_keys:nn { Vn }
% \end{macrocode}
% \end{macro}
%
@@ -6908,11 +7383,15 @@ and the derived file cooking-units.sty.
\quark_if_recursion_tail_stop:n {#1}
\quark_if_recursion_tail_stop_do:nn {#2}
{ \msg_error:nn { cooking-units } { missing-argument } }
- \@@_error_if_unit_not_defined:n {#1}
- \seq_put_right:Nn \l_@@_tmpa_seq {#1}
- \prop_put:Nnx \l_@@_tmpa_prop {#1} { \fp_eval:n { (#2) / \l_@@_tmpa_fp } }
+ \@@_error_if_unit_not_defined:nF {#1}
+ {
+ \seq_if_in:NnF \l_@@_tmpa_seq {#1}
+ { \seq_put_right:Nn \l_@@_tmpa_seq {#1} }
+ \prop_put:Nnx \l_@@_tmpa_prop {#1} { \fp_eval:n { (#2) * \l_@@_tmpa_fp } }
+ }
\@@_cukeys_parse_input:nn
}
+
% \end{macrocode}
% \end{macro}
%
@@ -6973,27 +7452,13 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new:Npn \@@_cukeys_create_key_prop:n #1
{
- \prop_clear:N \l_@@_tmpb_prop
- \prop_put:NnV \l_@@_tmpb_prop { Liste } \l_@@_tmpa_seq
- \prop_put:NnV \l_@@_tmpb_prop { prop } \l_@@_tmpa_prop
- \prop_put:NnV \l_@@_tmpb_prop { Erstes Ding } \l_@@_given_unit_tl
+ \prop_set_eq:cN { l_@@_cukeys_ #1 _prop } \l_@@_tmpa_prop
+ \prop_put:cnV { l_@@_cukeys_ #1 _prop } { Liste } \l_@@_tmpa_seq
\seq_map_inline:Nn \l_@@_tmpa_seq
{
- \prop_set_eq:cN { l_@@_cukeys_ ##1 _prop } \l_@@_tmpb_prop
+ \tl_set_eq:cN { l_@@_base_key_unit_ ##1 _tl } \l_@@_original_unit_tl
\tl_set:cn { l_@@_unit_change_ ##1 _tl } { 1.0 }
- \seq_map_inline:Nn \l_@@_tmpa_seq
- {
- \prop_put:cnx { l_@@_cukeys_ ##1 _prop }
- {####1}
- {
- \fp_eval:n
- {
- ( \prop_item:Nn \l_@@_tmpa_prop {####1} ) /
- ( \prop_item:Nn \l_@@_tmpa_prop {##1} )
- }
- }
- }
- }
+ }
}
% \end{macrocode}
% \end{macro}
@@ -7006,43 +7471,78 @@ and the derived file cooking-units.sty.
{
\seq_map_inline:Nn \l_@@_tmpa_seq
{
- \seq_if_in:NnF \l_@@_list_of_defined_keys_seq {##1}
- { \seq_put_right:Nn \l_@@_list_of_defined_keys_seq {##1} }
- \keys_define:nn { cooking-units }
- {
- ##1 .choices:Vn =
- \l_@@_tmpa_clist
- {
- \@@_cukeys_define_keys_and_single_key_aux:n {##1}
- } ,
- ##1 / unknown .code:n=
- {
- \seq_set_split:Nnn \l_tmpa_seq { , } {#1}
- \msg_error:nnxxx
- { cooking-units }
- { key-choice-unknown }
- {##1}
- {####1}
- { \seq_use:Nnnn \l_tmpa_seq { ',~ ' } { ',~ ' } { ' ~ and ~ ' } }
- } ,
- ##1 .default:n = {##1} ,
- ##1 .groups:n = { change-unit }
- }
+ \@@_cukeys_keys_define:nn {##1} {#1}
}
}
+\cs_new:Npn \@@_cukeys_keys_define:nn #1#2
+ {
+ \seq_if_in:NnF \l_@@_list_of_defined_keys_seq {#1}
+ { \seq_put_right:Nn \l_@@_list_of_defined_keys_seq {#1} }
+ \keys_define:nn { cooking-units }
+ {
+ #1 .choices:nn =
+ {#2}
+ {
+ \@@_cukeys_define_keys_and_single_key_aux:n {#1}
+ } ,
+ #1 / unknown .code:n=
+ {
+ \seq_set_split:Nnn \l_tmpa_seq { , } {#2}
+ \msg_error:nnxxx
+ { cooking-units }
+ { key-choice-unknown }
+ {#1}
+ {##1}
+ { \@@_seq_use_msg:N \l_tmpa_seq }
+ } ,
+ #1 .default:n = {#1} ,
+ #1 .groups:n = { change-unit }
+ }
+ }
\cs_generate_variant:Nn \@@_cukeys_define_keys:n { V }
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@@_cukeys_define_keys_and_single_key_aux:n}
-%
+%^^A <<
% \begin{macrocode}
+\prg_new_conditional:Npnn \@@_prop_get_master:nnN #1#2#3 { F }
+ {
+ \prop_get:NnNTF \g_@@_master_changer_prop { #1 ~->~ #2 } #3
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
+\cs_generate_variant:Nn \@@_prop_get_master:nnNF { nVc }
+%
+\cs_new:Npn \@@_prop_gput_master:nnn #1#2#3
+ {
+ \prop_gput:Nnn \g_@@_master_changer_prop { #1 ~->~ #2 } {#3}
+ }
+\cs_generate_variant:Nn \@@_prop_gput_master:nnn { nVV, nVv }
+%
\cs_new:Npn \@@_cukeys_define_keys_and_single_key_aux:n #1
{
- \prop_get:cVc
- { l_@@_cukeys_#1_prop }
- \l_keys_choice_tl
- { l_@@_unit_change_ #1_tl }
+ \@@_prop_get_master:nVcF {#1} \l_keys_choice_tl { l_@@_unit_change_ #1_tl }
+ {
+ \prop_if_exist:cTF { l_@@_cukeys_ #1 _prop }
+ {
+ \prop_get:cVc
+ { l_@@_cukeys_ #1 _prop }
+ \l_keys_choice_tl
+ { l_@@_unit_change_ #1_tl }
+ \@@_prop_gput_master:nVv {#1} \l_keys_choice_tl { l_@@_unit_change_ #1_tl }
+ }{
+ \tl_set_eq:Nc \l_@@_tmpa_tl { l_@@_base_key_unit_ #1 _tl }
+ \prop_set_eq:Nc \l_@@_tmpa_prop { l_@@_cukeys_ \l_@@_tmpa_tl _prop }
+ \@@_tl_eval:Nn \l_@@_tmpb_tl
+ {
+ (\exp_args:NNV\prop_item:Nn \l_@@_tmpa_prop \l_keys_choice_tl) /
+ (\prop_item:Nn \l_@@_tmpa_prop {#1})
+ }
+ \@@_prop_gput_master:nVV {#1} \l_keys_choice_tl \l_@@_tmpb_tl
+ \tl_set:cV { l_@@_unit_change_ #1 _tl } \l_@@_tmpb_tl
+ }
+ }
\prop_put:NnV \l_@@_change_unit_prop {#1} \l_keys_choice_tl
}
% \end{macrocode}
@@ -7058,9 +7558,12 @@ and the derived file cooking-units.sty.
\char_set_catcode_ignore:N\ %
} { {#1} { 1.0 } #2 }
\@@_cusinglekeys_parse_input:V \l_@@_tmpa_tl
- \@@_cusinglekeys_create_key_prop:n {#1}
- \clist_set_from_seq:NN \l_@@_tmpa_clist \l_@@_tmpa_seq
- \@@_cukeys_define_singlekey:nV {#1} \l_@@_tmpa_clist
+ \bool_if:NF \l_@@_unit_error_bool
+ {
+ \@@_cusinglekeys_create_key_prop:n {#1}
+ \clist_set_from_seq:NN \l_@@_tmpa_clist \l_@@_tmpa_seq
+ \@@_cukeys_define_singlekey:nV {#1} \l_@@_tmpa_clist
+ }
}
% \end{macrocode}
%
@@ -7077,11 +7580,14 @@ and the derived file cooking-units.sty.
\quark_if_recursion_tail_stop:n {#1}
\quark_if_recursion_tail_stop_do:nn {#2}
{ \msg_error:nn { cooking-units } { missing-argument } }
- \@@_error_if_unit_not_defined:n {#1}
- \seq_put_right:Nn \l_@@_tmpa_seq {#1}
- \tl_set:Nn \l_@@_tmpa_tl {#2}
- \tl_replace_all:NVn \l_@@_tmpa_tl \c_@@_input_str_hash_one_tl { \l_@@_tmpa_fp }
- \prop_put:NnV \l_@@_tmpa_prop {#1} \l_@@_tmpa_tl
+ \@@_error_if_unit_not_defined:nF {#1}
+ {
+ \seq_if_in:NnF \l_@@_tmpa_seq {#1}
+ { \seq_put_right:Nn \l_@@_tmpa_seq {#1} }
+ \tl_set:Nn \l_@@_tmpa_tl {#2}
+ \tl_replace_all:NVn \l_@@_tmpa_tl \g_@@_input_str_hash_one_tl { \l_@@_tmpa_fp }
+ \prop_put:NnV \l_@@_tmpa_prop {#1} \l_@@_tmpa_tl
+ }
\@@_cusinglekeys_parse_input_aux:nn
}
% \end{macrocode}
@@ -7090,38 +7596,16 @@ and the derived file cooking-units.sty.
\cs_new:Npn \@@_cusinglekeys_create_key_prop:n #1
{
\tl_set:cn { l_@@_unit_change_ #1 _tl } { 1.0 }
+ \tl_set:cn { l_@@_base_key_unit_ #1 _tl } {#1}
\prop_set_eq:cN { l_@@_cukeys_ #1 _prop } \l_@@_tmpa_prop
- \prop_put:cnn { l_@@_cukeys_ #1 _prop } { Erstes Ding } {#1}
\prop_put:cnV { l_@@_cukeys_ #1 _prop } { Liste } \l_@@_tmpa_seq
- \prop_put:cnV { l_@@_cukeys_ #1 _prop } { prop } \l_@@_tmpa_prop
}
% \end{macrocode}
%
% \begin{macrocode}
\cs_new:Npn \@@_cukeys_define_singlekey:nn #1#2
{
- \seq_if_in:NnF \l_@@_list_of_defined_keys_seq {#1}
- { \seq_put_right:Nn \l_@@_list_of_defined_keys_seq {#1} }
- \keys_define:nn { cooking-units }
- {
- #1 .choices:Vn =
- \l_@@_tmpa_clist
- {
- \@@_cukeys_define_keys_and_single_key_aux:n {#1}
- } ,
- #1 / unknown .code:n=
- {
- \seq_set_split:Nnn \l_tmpa_seq { , } {#2}
- \msg_error:nnxxx
- { cooking-units }
- { key-choice-unknown }
- {#1}
- {##1}
- { \seq_use:Nnnn \l_tmpa_seq { ',' } { ',' } { ' ~ and ~ ' } }
- } ,
- #1 .default:n = {#1} ,
- #1 .groups:n = { change-unit } ,
- }
+ \@@_cukeys_keys_define:nn {#1} {#2}
}
\cs_generate_variant:Nn \@@_cukeys_define_singlekey:nn { nV }
% \end{macrocode}
@@ -7129,8 +7613,6 @@ and the derived file cooking-units.sty.
%
% \section {Adding Keys}
%
-% Question to me: Why do we need \cs{l_tmpa(b)_tl}?
-% Maybe due to \cs{cuaddtokeys}?
% \begin{macrocode}
\NewDocumentCommand \cuaddkeys { m m }
{
@@ -7161,28 +7643,39 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new:Npn \@@_cukeys_add_keys_or_single_keys:nn #1#2
{
- \@@_error_if_unit_not_defined:n {#1}
- \seq_if_in:NnF \l_@@_list_of_defined_keys_seq {#1}
- { \msg_error:nnn { cooking-units } { Key-not-defined } {#1} }
- \tl_if_blank:nF {#2}
+ \@@_error_if_unit_not_defined:nF {#1}
{
- \@@_cukeys_add_keys_and_single_key_aux:n {#1}
- \bool_if:NTF \l_@@_single_key_bool
- { \@@_cukeys_parse_and_create_single_key:nn {#1} {#2} }
- { \@@_cukeys_parse_and_create_keys:nn {#1} {#2} }
+ \seq_if_in:NnF \l_@@_list_of_defined_keys_seq {#1}
+ { \msg_error:nnn { cooking-units } { Key-not-defined } {#1} }
+ \tl_if_blank:nF {#2}
+ {
+ \prop_gclear:N \g_@@_master_changer_prop
+ \@@_cukeys_add_keys_and_single_key_aux:n {#1}
+ \bool_if:NTF \l_@@_single_key_bool
+ { \@@_cukeys_parse_and_create_single_key:nn {#1} {#2} }
+ { \@@_cukeys_parse_and_create_keys:Vn \l_@@_original_unit_tl {#2} }
+ }
}
}
\cs_generate_variant:Nn \@@_cukeys_add_keys_or_single_keys:nn { nV }
% \end{macrocode}
%
-%
+%^^A ((((
+% Now this does the following: 1) get the \enquote{original unit} (the unit used
+% in the first argument of |\cudefinekeys|) 2) Get the list of units already in the
+% list (It is important that the units are alway in the same order and one cannot
+% rely on the order of the property-lists 3) Get the property list of the
+% \enquote{original unit}. In the old code I simply stored the whole property list inside
+% another property list, but this shouldn't be done this way. So \dots\ simply
+% copy the original one. 4) As there is a unit added the unit it is added to
+% might not be the \enquote{original unit}. As such we need the conversion factor.
% \begin{macrocode}
\cs_new:Npn \@@_cukeys_add_keys_and_single_key_aux:n #1
{
- \prop_get:cnN { l_@@_cukeys_ #1 _prop } { Liste } \l_@@_tmpa_seq
- \prop_get:cnN { l_@@_cukeys_ #1 _prop } { prop } \l_@@_tmpa_prop
- \prop_get:cnN { l_@@_cukeys_ #1 _prop } { Erstes Ding } \l_@@_given_unit_tl
- \prop_get:cVN { l_@@_cukeys_ #1 _prop } \l_@@_given_unit_tl \l_@@_tmpa_fp
+ \tl_set_eq:Nc \l_@@_original_unit_tl { l_@@_base_key_unit_ #1 _tl }
+ \prop_set_eq:Nc \l_@@_tmpa_prop { l_@@_cukeys_ \l_@@_original_unit_tl _prop }
+ \prop_get:NnN\l_@@_tmpa_prop { Liste } \l_@@_tmpa_seq
+ \prop_get:NnN \l_@@_tmpa_prop {#1} \l_@@_tmpa_fp
}
% \end{macrocode}
%
@@ -7226,17 +7719,16 @@ and the derived file cooking-units.sty.
\tl_if_in:NnT \l_@@_unit_letter_not_allowed_tl {##1}
{ \msg_error:nnn { cooking-units } { character-not-allowed } {#2} }
}
- \seq_put_right:Nn \g_@@_list_of_defined_units_seq {#2}
+ \seq_gput_right:Nn \g_@@_list_of_defined_units_seq {#2}
\tl_new:c { l_@@_unit_change_ #2 _tl }
\tl_set:cn { l_@@_unit_change_ #2 _tl } { 1.0 }
- \clist_new:c { l_@@_predefined_option_#2_clist }
+ \clist_new:c { l_@@_unit_option_ #2 _clist }
\keys_define:nn { cooking-units }
{
- set-option-for-#2 .clist_set:c = { l_@@_predefined_option_#2_clist } ,
- add-option-for-#2 .code:n =
- { \clist_put_right:cn { l_@@_predefined_option_#2_clist } {##1} },
+ set-option-for-#2 .code:n = { \cusetoptionfor {#2} {##1} } ,
+ add-option-for-#2 .code:n = { \cuaddoptionfor {#2} {##1} },
}
- \prop_new:c { l_@@_cukeys_ #2 _prop }
+ \tl_new:c { l_@@_base_key_unit_ #2 _tl }
\tl_new:c { l_@@_default_unit_ #2 _tl }
}
}
@@ -7245,19 +7737,186 @@ and the derived file cooking-units.sty.
\IfNoValueTF {#1}
{
\tl_set:cn { l_@@_default_unit_ #2 _tl } {#2}
- \@@_deftranslation_base:xxn {#2} \c_@@_postfix_unit_tl {#2}
+ \@@_deftranslation_base:xVn {#2} \c_@@_postfix_unit_tl {#2}
}{
\tl_set:cn { l_@@_default_unit_ #2 _tl } {#1}
- \@@_deftranslation_base:xxn {#2} \c_@@_postfix_unit_tl {#1}
+ \@@_deftranslation_base:xVn {#2} \c_@@_postfix_unit_tl {#1}
}
- \@@_deftranslation_base:xxn {#2} \c_@@_postfix_unitname_tl { \q_@@_no_translation }
- \@@_deftranslation_base:xxn {#2} \c_@@_postfix_unitname_pl_tl { \q_@@_no_translation }
- \@@_deftranslation_base:xxn {#2} \c_@@_postfix_gender_tl { m }
+ \@@_deftranslation_base:xVn {#2} \c_@@_postfix_unitname_tl { \q_@@_no_translation }
+ \@@_deftranslation_base:xVn {#2} \c_@@_postfix_unitname_pl_tl { \q_@@_no_translation }
+ \@@_deftranslation_base:xVn {#2} \c_@@_postfix_gender_tl { m }
}
% \end{macrocode}
%
%
%
+% \begin{macro}{\declarecookingderivatives}
+% Now this is an experimental command. The idea is simple: Combine units
+% (like meter and second giving meter per second or in any way possible).
+% The first argument contains a list of the units that should be connected, one of every type is enough.
+% Second is the unit-key, containing |#1|, \dots\ |#(number of units in first argument)|.
+% Third is the calculation. The formula for the new unit should be written in here.
+% And last, but not least: The last argument contains the unit-symbol.
+%
+% Now this command simply defines a bunch of units, declaring them makes things easier.
+% \begin{macrocode}
+\NewDocumentCommand \declarecookingderivatives { m m m m }
+ {
+ \@@_declare_cooking_derivative:nnnn {#1} {#2} {#3} {#4}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% The idea is the following. The relation between the units are given as
+% |(#1)/(#2)| (e.g.). The idea is the following:
+% \begin{enumerate}
+% \item The derivative contains two units.
+% \item The mathematical relationship is given by |(#1)/(#2)|
+% \item Define |\@@_tmp:w| to be |(#1)/(#2)|.
+% \item Parse through all values and store them in a list (e.g. |\l_tmpa_t|) as | {value-1}{value-2} |
+% \item Use |\exp_after:wN \@@_tmp:w \l_tmpa_t | to expand to |\@@_tmp:w {value-1} {value-2} |
+% \item Let |\@@_tmp:w| do its job.
+% \end{enumerate}
+%
+% \begin{macro}{\@@_tl_set_list:Nnn, \@@_tl_set_list:NnV, \@@_tl_set_list:NVV, \@@_tl_set_list_aux:Nnnnnnnnn }
+% The following argument creates the list. I am a bit lazy here and don't quite know how
+% to do it \enquote{correctly}. And I know, there are too many |\q_nil|.
+% \begin{macrocode}
+\cs_new:Npn \@@_tl_set_list:Nnn #1#2#3
+ {
+ \@@_tl_set_list_aux:Nnnnnnnnn #1 {#2} #3
+ \q_nil \q_nil \q_nil \q_nil \q_nil \q_nil \q_nil \q_nil \q_nil
+ \q_recursion_stop
+ }
+\cs_generate_variant:Nn \@@_tl_set_list:Nnn { NnV, NVV }
+\cs_new:Npn \@@_tl_set_list_aux:Nnnnnnnnn #1#2#3#4#5#6#7#8#9
+ {
+ \tl_set:Nf #1
+ {
+ \int_case:nn { \l_@@_curr_depth_int }
+ {
+ { 1 } { }
+ { 2 } { {#3} }
+ { 3 } { {#3}{#4} }
+ { 4 } { {#3}{#4}{#5} }
+ { 5 } { {#3}{#4}{#5}{#6} }
+ { 6 } { {#3}{#4}{#5}{#6}{#7} }
+ { 7 } { {#3}{#4}{#5}{#6}{#7}{#8} }
+ { 8 } { {#3}{#4}{#5}{#6}{#7}{#8}{#9} }
+ }
+ {#2}
+ }
+ \use_none_delimit_by_q_recursion_stop:w
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro} { \@@_declare_cooking_derivative:nnnn }
+% This command has the following parts:
+% \begin{enumerate}
+% \item Get list of units in |#1|, count their number and store in |\l_@@_max_depth_int|
+% \item Use |\cs_generate_from_arg_count:NNnn| to create the commands
+% \item Define lists |l_@@_tmp_ 1 ... \l_@@_max_depth_int |, same for prop. I know
+% that there is a better way to do it, but this \emph{is} experimental. In the end, it
+% safes a bit of brain-power for me.
+% \item The main part: Map trough all units in the |l_@@_cukeys_ <unit> _prop| lists.
+% \item Create key-porperty and define keys.
+% \end{enumerate}
+% \begin{macrocode}
+\cs_new:Npn \@@_declare_cooking_derivative:nnnn #1#2#3#4
+ {
+ \prop_gclear:N \g_@@_master_changer_prop
+ \seq_set_from_clist:Nn \l_@@_tmpa_seq {#1}
+ \seq_clear:N \l_@@_number_of_iterations_seq
+ \seq_clear:N \l_@@_derivative_unit_list_seq
+ \seq_clear:N \l_@@_derivative_symbol_list_seq
+ \seq_clear:N \l_@@_derivative_value_list_seq
+ \int_set:Nn \l_@@_max_depth_int { \seq_count:N \l_@@_tmpa_seq }
+ \int_set:Nn \l_@@_curr_depth_int { 1 }
+% \end{macrocode}
+% \begin{macrocode}
+ \cs_generate_from_arg_count:NNnn \@@_tmp_unit_and_symbol_list:w \cs_set:Npn
+ { \l_@@_max_depth_int }
+ {
+ \seq_put_right:Nn \l_@@_derivative_unit_list_seq {#2}
+ \seq_put_right:Nn \l_@@_derivative_symbol_list_seq {#4}
+ }
+ \cs_generate_from_arg_count:NNnn \@@_tmp_value_list:w \cs_set:Npn
+ { \l_@@_max_depth_int }
+ { \seq_put_right:Nx \l_@@_derivative_value_list_seq { \fp_eval:n {#3} } }
+% \end{macrocode}
+% \begin{macrocode}
+ \int_step_inline:nn { \l_@@_max_depth_int }
+ {
+ \tl_set_eq:Nc \l_@@_original_unit_tl
+ { l_@@_base_key_unit_ \seq_item:Nn \l_@@_tmpa_seq {##1} _tl }
+ \prop_set_eq:Nc \l_@@_tmpa_prop { l_@@_cukeys_ \l_@@_original_unit_tl _prop }
+ \prop_get:NnN \l_@@_tmpa_prop { Liste } \l_@@_tmpb_seq
+ \int_set:Nn \l_@@_tmpa_int { \seq_count:N \l_@@_tmpb_seq }
+% \end{macrocode}
+% \begin{macrocode}
+ \seq_put_right:NV \l_@@_number_of_iterations_seq \l_@@_tmpa_int
+ \seq_clear_new:c { l_@@_tmp_ ##1 _seq }
+ \prop_clear_new:c { l_@@_tmp_ ##1 _prop }
+ \seq_set_eq:cN { l_@@_tmp_ ##1 _seq } \l_@@_tmpb_seq
+ \prop_set_eq:cN { l_@@_tmp_ ##1 _prop } \l_@@_tmpa_prop
+ }
+% \end{macrocode}
+% \begin{macrocode}
+ \seq_map_function:cN
+ { l_@@_tmp_ \int_use:N \l_@@_curr_depth_int _seq }
+ \@@_seq_step_function:n
+% \end{macrocode}
+% \begin{macrocode}
+ \seq_get_left:NN \l_@@_derivative_unit_list_seq \l_@@_original_unit_tl
+ \prop_clear_new:c { l_@@_cukeys_ \l_@@_original_unit_tl _prop }
+% \end{macrocode}
+% \begin{macrocode}
+ \int_zero:N \l_@@_tmpa_int
+ \clist_set_from_seq:NN \l_@@_tmpa_clist \l_@@_derivative_unit_list_seq
+ \seq_map_inline:Nn \l_@@_derivative_unit_list_seq
+ {
+ \int_incr:N \l_@@_tmpa_int
+ \tl_set:Nx \l_@@_tmpa_tl { \seq_item:Nn \l_@@_derivative_symbol_list_seq { \l_@@_tmpa_int } }
+ \exp_after:wN \declarecookingunit \exp_after:wN [ \l_@@_tmpa_tl ] {##1}
+ \prop_put:cnx
+ { l_@@_cukeys_ \l_@@_original_unit_tl _prop }
+ {##1}
+ { \seq_item:Nn \l_@@_derivative_value_list_seq { \l_@@_tmpa_int } }
+ \tl_clear_new:c { l_@@_base_key_unit_ ##1 _tl }
+ \tl_set_eq:cN { l_@@_base_key_unit_ ##1 _tl } \l_@@_original_unit_tl
+ \exp_args:NnV \@@_cukeys_keys_define:nn {##1} \l_@@_tmpa_clist
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\cs_new:Npn \@@_seq_step_function:n #1
+ {
+ \@@_tl_set_list:NnV \l_@@_list_of_units_tl {#1} \l_@@_list_of_units_tl
+ \prop_get:cnN { l_@@_tmp_ \int_use:N \l_@@_curr_depth_int _prop } {#1} \l_@@_tmpa_tl
+ \@@_tl_set_list:NVV \l_@@_list_of_values_tl \l_@@_tmpa_tl \l_@@_list_of_values_tl
+ \int_compare:nNnTF { \l_@@_curr_depth_int } = { \l_@@_max_depth_int }
+ {
+ \exp_after:wN \@@_tmp_unit_and_symbol_list:w \l_@@_list_of_units_tl
+ \exp_after:wN \@@_tmp_value_list:w \l_@@_list_of_values_tl
+ }{
+ \int_incr:N \l_@@_curr_depth_int
+ \seq_map_function:cN
+ { l_@@_tmp_ \int_use:N \l_@@_curr_depth_int _seq }
+ \@@_seq_step_function:n
+ \int_decr:N \l_@@_curr_depth_int
+ }
+ }
+% \end{macrocode}
+%
+%
+%
+%
+%
+%
+%
+%
% \section {Names}
%
% Stolen from \pkg{l3keys.dtx}
@@ -7358,15 +8017,16 @@ and the derived file cooking-units.sty.
\quark_if_recursion_tail_stop:n {#1}
\quark_if_recursion_tail_stop_do:nn {#2}
{ \msg_error:nn { cooking-units } { missing-argument } }
- \@@_error_if_unit_not_defined:n {#1}
+ \@@_error_if_unit_not_defined:nT {#1}
+ { \use_none_delimit_by_q_recursion_stop:w }
\quark_if_no_value:nTF {#2}
{
- \@@_deftranslation_to:Vxxv
+ \@@_deftranslation_to:VxVv
\l_@@_language_tl {#1}
\c_@@_postfix_unit_tl
{ l_@@_default_unit_ #1 _tl }
}{
- \@@_deftranslation_to:Vxxn
+ \@@_deftranslation_to:VxVn
\l_@@_language_tl {#1}
\c_@@_postfix_unit_tl {#2}
}
@@ -7382,8 +8042,11 @@ and the derived file cooking-units.sty.
\quark_if_recursion_tail_stop_do:nn {#2}
{ \msg_error:nn { cooking-units } { missing-argument } }
\seq_if_in:NnF \g_@@_allowed_special_keys_seq {#1}
- { \@@_error_if_unit_not_defined:n {#1} }
- \@@_deftranslation_to:Vxxn
+ {
+ \@@_error_if_unit_not_defined:nT {#1}
+ { \use_none_delimit_by_q_recursion_stop:w }
+ }
+ \@@_deftranslation_to:VxVn
\l_@@_language_tl {#1}
\c_@@_postfix_unitname_tl {#2}
\peek_meaning_ignore_spaces:NTF [
@@ -7397,7 +8060,7 @@ and the derived file cooking-units.sty.
{
\seq_if_in:NnF \g_@@_allowed_special_keys_seq {#1}
{
- \@@_deftranslation_to:Vxxn \l_@@_language_tl {#1}
+ \@@_deftranslation_to:VxVn \l_@@_language_tl {#1}
\c_@@_postfix_unitname_pl_tl {#2}
}
\peek_meaning_ignore_spaces:NTF <
@@ -7409,10 +8072,20 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new:Npn \@@_cuname_parse_gender:nw #1 <#2>
{
- \@@_check_if_correct_gender_input:n {#2}
- \@@_deftranslation_to:Vxxn
- \l_@@_language_tl {#1}
- \c_@@_postfix_gender_tl {#2}
+% \@@_check_if_correct_gender_input:n {#2}
+% \@@_deftranslation_to:VxVn
+% \l_@@_language_tl {#1}
+% \c_@@_postfix_gender_tl {#2}
+ \@@_if_gender_error:nTF {#2}
+ {
+ \@@_deftranslation_to:VxVn
+ \l_@@_language_tl {#1}
+ \c_@@_postfix_gender_tl { m }
+ }{
+ \@@_deftranslation_to:VxVn
+ \l_@@_language_tl {#1}
+ \c_@@_postfix_gender_tl {#2}
+ }
\@@_cuname_parse_input:n
}
% \end{macrocode}
@@ -7439,13 +8112,15 @@ and the derived file cooking-units.sty.
{ \msg_error:nn { cooking-units } { missing-argument } }
\seq_if_in:NnTF \g_@@_allowed_special_keys_seq {#1}
{
- \@@_deftranslation_to:Vxxn \l_@@_language_tl {#1}
+ \@@_deftranslation_to:VxVn \l_@@_language_tl {#1}
\c_@@_postfix_unitname_tl {#2}
}{
- \@@_error_if_unit_not_defined:n {#1}
- \@@_deftranslation_to:Vxxn
- \l_@@_language_tl {#1}
- \c_@@_postfix_unit_tl {#2}
+ \@@_error_if_unit_not_defined:nF {#1}
+ {
+ \@@_deftranslation_to:VxVn
+ \l_@@_language_tl {#1}
+ \c_@@_postfix_unit_tl {#2}
+ }
}
\@@_cuprint_define_printed_unit:nn
}
@@ -7520,11 +8195,11 @@ and the derived file cooking-units.sty.
}
% \end{macrocode}
% \begin{macrocode}
- \@@_deftranslation_to:VxxV
+ \@@_deftranslation_to:VxVV
\l_@@_language_tl { phrase-prop }
\c_@@_postfix_phrase_tl
\l_@@_phrase_prop
- \@@_deftranslation_to:VxxV
+ \@@_deftranslation_to:VxVV
\l_@@_language_tl { phrase-clist }
\c_@@_postfix_phrase_tl \l_@@_phrase_numbers_seq
}
@@ -7582,10 +8257,16 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new:Npn \@@_chuphrase_parse_gender:nw #1 <#2>
{
- \@@_check_if_correct_gender_input:n {#2}
- \@@_deftranslation_to:Vxxn
- \l_@@_language_tl { #1-phrase-gender }
- \c_@@_postfix_gender_tl {#2}
+ \@@_if_gender_error:nTF {#2}
+ {
+ \@@_deftranslation_to:VxVn
+ \l_@@_language_tl { #1-phrase-gender }
+ \c_@@_postfix_gender_tl { m }
+ }{
+ \@@_deftranslation_to:VxVn
+ \l_@@_language_tl { #1-phrase-gender }
+ \c_@@_postfix_gender_tl {#2}
+ }
\@@_cuphrase_parse:n
}
% \end{macrocode}
@@ -7599,7 +8280,7 @@ and the derived file cooking-units.sty.
% \begin{macrocode}
\cs_new:Npn \@@_old_cutext:nnn #1#2#3
{
- \tl_set_eq:NN \l_@@_option_unit_tl \l_@@_given_unit_tl
+ \tl_set_eq:NN \l_@@_option_unit_tl \l_@@_original_unit_tl
\@@_old_cutext_default:nnn {#1} {#2} {#3}
}
% \end{macrocode}
@@ -7752,7 +8433,7 @@ and the derived file cooking-units.sty.
\cs_new:Npn \@@_cuam_old_parse_mixed_frac:www #1_#2/#3 \q_stop
{
#1
- \@@_dim_horizontal:N \l_@@_mixed_frac_dim
+ \skip_horizontal:N \l_@@_mixed_frac_dim
\@@_frac:nn {#2} {#3}
}
% \end{macrocode}
@@ -7800,12 +8481,146 @@ and the derived file cooking-units.sty.
\cs_new:Npn \@@_cufrac_parse_mixed_frac:www #1_#2/#3 \q_stop
{
#1
- \@@_dim_horizontal:N \l_@@_mixed_frac_dim
+ \skip_horizontal:N \l_@@_mixed_frac_dim
\@@_frac:nn {#2} {#3}
}
% \end{macrocode}
%
%
+%
+%
+% \begin{macrocode}
+\cs_new:Npn \@@_add_forbidden_unit:n #1
+ {
+ \seq_set_from_clist:Nn \l_@@_tmpa_seq {#1}
+ \seq_map_inline:Nn \l_@@_tmpa_seq
+ {
+ \@@_error_if_unit_not_defined:nF {##1}
+ {
+ \seq_if_in:NnF \l_@@_curef_do_not_change_seq {##1}
+ { \seq_put_right:Nn \l_@@_curef_do_not_change_seq {##1} }
+ }
+ }
+ }
+\cs_new:Npn \@@_remove_forbidden_unit:n #1
+ {
+ \seq_set_from_clist:Nn \l_@@_tmpa_seq {#1}
+ \seq_map_inline:Nn \l_@@_tmpa_seq
+ {
+ \@@_error_if_unit_not_defined:nF {##1}
+ {
+ \seq_if_in:NnTF \l_@@_curef_do_not_change_seq {##1}
+ { \seq_remove_all:Nn \l_@@_curef_do_not_change_seq {##1} }
+ {
+ \msg_warning:nnnn { cooking-units } { curef-not-inside-list } {##1}
+ { \@@_seq_use_msg:N \l_@@_curef_do_not_change_seq }
+ }
+ }
+ }
+ }
+\cs_new:Npn \@@_clear_forbidden_unit:
+ { \seq_clear:N \l_@@_curef_do_not_change_seq }
+% \end{macrocode}
+%
+%
+%
+%
+%
+%
+% \begin{macrocode}
+\NewDocumentCommand \cudeclareunitgroup { m m }
+ {
+ \@@_define_clear_unit_group:nn {#1} {#2}
+ \@@_add_to_unit_group:nn {#1} {#2}
+ }
+\NewDocumentCommand \cuaddtounitgroup { m m }
+ {
+ \@@_add_to_unit_group:nn {#1} {#2}
+ }
+\NewDocumentCommand \cuclearunitgroup { m }
+ {
+ \@@_error_if_group_not_defined:nF {#1}
+ { \@@_define_clear_unit_group:nn {#1} { } }
+ }
+% \end{macrocode}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% Works better now.
+% \begin{macrocode}
+\NewDocumentCommand \cusetoptionfor { m m }
+ {
+ \@@_map_trough_valid_unit_options:nnn {#1} {#2}
+ { \clist_set:cn { l_@@_unit_option_ ##1 _clist } {##2} }
+ }
+\NewDocumentCommand \cuaddoptionfor { m m }
+ {
+ \@@_map_trough_valid_unit_options:nnn {#1} {#2}
+ { \clist_put_right:cn { l_@@_unit_option_ ##1 _clist } {##2} }
+ }
+\NewDocumentCommand \cuclearoptionfor { m }
+ {
+ \@@_map_trough_valid_unit_options:nnn {#1} { }
+ { \clist_clear:c { l_@@_unit_option_ ##1 _clist } }
+ }
+% \end{macrocode}
+% The reason I map trough the units twice is simply: I think it makes more
+% sense if an \enquote{unknown unit} error is shown before an
+% \enquote{unknown option} error (at least for me).
+% It is kinda stupid, but this is not really a heavily used function, so \dots\ yeah.
+%
+% Note: I cannot check if |\l_@@_tmpa_clist| is empty because one could
+% use |\cusetoptionfor{F,C,Re,K}{}| to clear the options of the given units.
+% \begin{macrocode}
+\cs_new:Npn \@@_tmp:w { }
+\cs_new:Npn \@@_map_trough_valid_unit_options:nnn #1#2 #3
+ {
+ \seq_clear:N \l_@@_tmpa_seq
+ \clist_clear:N \l_@@_tmpa_clist
+ \cs_set:Npn \@@_tmp:w ##1##2 {#3}
+ \clist_map_inline:nn {#1}
+ {
+ \@@_error_if_unit_not_defined:nF {##1}
+ { \seq_put_right:Nn \l_@@_tmpa_seq {##1} }
+ }
+ \tl_if_empty:nF {#2}
+ { \@@_unit_options_check_validity:n {#2} }
+ \seq_map_inline:Nn \l_@@_tmpa_seq
+ { \exp_args:NnV \@@_tmp:w {##1} \l_@@_tmpa_clist }
+ }
+\cs_new:Npn \@@_unit_options_check_validity:n #1
+ {
+ \keyval_parse:NNn
+ \@@_unit_options_check_validity_aux_i:n
+ \@@_unit_options_check_validity_aux_ii:nn
+ {#1}
+ }
+\cs_new:Npn \@@_unit_options_check_validity_aux_i:n #1
+ {
+ \keys_if_exist:nnTF { cooking-units } {#1}
+ { \clist_put_right:Nn \l_@@_tmpa_clist {#1} }
+ { \msg_error:nnn { cooking-units } { unknown-option } {#1} }
+ }
+\cs_new:Npn \@@_unit_options_check_validity_aux_ii:nn #1#2
+ {
+ \keys_if_exist:nnTF { cooking-units } {#1}
+ { \clist_put_right:Nn \l_@@_tmpa_clist { #1={#2} } }
+ { \msg_error:nnn { cooking-units } { unknown-option } {#1} }
+ }
+% \end{macrocode}
+%
+%
+%
+%
+%
%
%
% \subsection {cusetup}
@@ -7821,6 +8636,9 @@ and the derived file cooking-units.sty.
%
% \subsection{Definitions et all}
%
+% Plase note that at his point we are still inside the Expl3 \enquote{Environment}
+% and that spaces are ignored!
+%
% \begin{macrocode}
\newcookingunit { kg }
\newcookingunit { dag }
@@ -8091,9 +8909,9 @@ and the derived file cooking-units.sty.
{
{ dag }{ 100 }
{ g } { 1000 }
- { oz } { 35.27399 }
- { lb } { 2.2046226 } %% 2.204 622 6
- { stick } { 8.81849 }
+ { lb } { 1/0.45359237 }
+ { oz } { 16/0.45359237 }
+ { stick } { 4/0.45359237 }
{ eVc-2 } { 560958865.0e+27 } %% 560958865.0 +- 3.5 e+27
}
% \end{macrocode}
@@ -8113,7 +8931,7 @@ and the derived file cooking-units.sty.
{ dm } { 10 }
{ cm } { 100 }
{ mm } { 1000 }
- { in } { 39.370079 }
+ { in } { 36/0.9144 }
{ chbareV-1 } { 5067730.759 } %% 5067730.759 +- 0.070
}
%\cuaddtokeys { m } { chbareV-1 } { 1.97326972e-7 }
@@ -8186,12 +9004,15 @@ and the derived file cooking-units.sty.
% \subsection{Finish}
%
% \begin{macrocode}
+\cudeclareunitgroup { weight } { kg , dag, g, oz, lb, stick }
+\cudeclareunitgroup { length } { m , dm , cm , mm , in }
+\cudeclareunitgroup { volume } { l , dl , cl , ml }
+\cudeclareunitgroup { temperature } { C , F , K , Re }
+\cudeclareunitgroup { energy } { cal, kcal , J , kJ , eV }
+\cudeclareunitgroup { time } { d , h , min , s }
+\cusetoptionfor { F , C , K , Re } { round-precision = 0 }
\cusetup
{
- set-option-for-F = { round-to-int = true } ,
- set-option-for-C = { round-to-int = true } ,
- set-option-for-K = { round-to-int = true } ,
- set-option-for-Re = { round-to-int = true } ,
curef-add-forbidden-unit = { F , C , K , Re } ,
add-temperature-to-check =
{
@@ -8223,13 +9044,24 @@ and the derived file cooking-units.sty.
%
% \begin{thebibliography}{}
% \bibitem{Gattopardo}
-% Guiseppe Tomasi di Lampedusa, \enquote{Der Gattopardo},
+% Guiseppe Tomasi di Lampedusa, \emph{Der Gattopardo},
% Piper, Volume~8 (2018), ISBN~978-3-492-24586-9
%
% \bibitem{Sh:3}
-% Sir Arthur Conan Doyle, \enquote{Sherlock Holmes The Complete Novels and Stories Volume~II},
+% Sir Arthur Conan Doyle, \emph{Sherlock Holmes The Complete Novels and Stories Volume~II},
% Bantam Books
-%
+%
+% \bibitem{Nist2008} \emph{Guide for the Use of the International System of Units (SI)},
+% NIST Special Publication 811, 2008 Edition, Ambler Thompson and Barry N. Taylor
+%
+% \bibitem{Nist2006} \emph{The International System of Units (SI) – Conversion Factors
+% for General Use}, NIST Special Publication 1038, May 2006,
+% Kenneth Butcher, Linda Crown and Elizabeth J. Gentry
+%
+% \bibitem{WM1985} \emph{Weights and Measures Act 1985},
+% \url{https://www.legislation.gov.uk/ukpga/1985/72}
+%
+% \bibitem{StickSource} \url{https://cooking.stackexchange.com/questions/784/translating-cooking-terms-between-us-uk-au-ca-nz}
%
% \end{thebibliography}
%
diff --git a/macros/latex/contrib/cooking-units/cooking-units.ins b/macros/latex/contrib/cooking-units/cooking-units.ins
index d023c107e9..e20b719ad6 100644
--- a/macros/latex/contrib/cooking-units/cooking-units.ins
+++ b/macros/latex/contrib/cooking-units/cooking-units.ins
@@ -5,14 +5,14 @@
%% The original source files were:
%%
%% cooking-units.dtx (with options: `install')
-%% Copyright (C) 2016--2018 by Ben Vitecek (current Maintainer)
+%% Copyright (C) 2016--2020 by Ben Vitecek (current Maintainer)
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3c of this license or (at your option) any later
%% version. The latest version of this license is in:
%%
-%% https://ctan.org/license/lppl1.3c
+%% https://www.latex-project.org/lppl/
%%
%% and version 1.3c or later is part of all distributions of
%% LaTeX version 2008-05-04 or later.
@@ -25,14 +25,14 @@
\input l3docstrip.tex
\askforoverwritefalse
\preamble
-Copyright (C) 2016--2018 by Ben Vitecek (current Maintainer)
+Copyright (C) 2016--2020 by Ben Vitecek (current Maintainer)
This file may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
version 1.3c of this license or (at your option) any later
version. The latest version of this license is in:
-https://ctan.org/license/lppl1.3c
+ https://www.latex-project.org/lppl/
and version 1.3c or later is part of all distributions of
LaTeX version 2008-05-04 or later.
diff --git a/macros/latex/contrib/cooking-units/cooking-units.pdf b/macros/latex/contrib/cooking-units/cooking-units.pdf
index 948ebcfe7f..ef512cc946 100644
--- a/macros/latex/contrib/cooking-units/cooking-units.pdf
+++ b/macros/latex/contrib/cooking-units/cooking-units.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3build/CHANGELOG.md b/macros/latex/contrib/l3build/CHANGELOG.md
index e353de0bed..ad3566738c 100644
--- a/macros/latex/contrib/l3build/CHANGELOG.md
+++ b/macros/latex/contrib/l3build/CHANGELOG.md
@@ -7,6 +7,12 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-01-14]
+
+### Fixed
+
+- Allow for more extracted files from DocStrip
+
## [2019-11-27]
### Changed
@@ -398,7 +404,8 @@ this project uses date-based 'snapshot' version identifiers.
- Rationalise short option names: removed `-d`, `-E`, `-r`
- Target `cmdcheck`: specific to LaTeX3 kernel work
-[Unreleased]: https://github.com/latex3/l3build/compare/2019-11-27...HEAD
+[Unreleased]: https://github.com/latex3/l3build/compare/2020-01-14...HEAD
+[2020-01-14]: https://github.com/latex3/l3build/compare/2019-11-27...2020-01-14
[2019-11-27]: https://github.com/latex3/l3build/compare/2019-11-01...2019-11-27
[2019-11-01]: https://github.com/latex3/l3build/compare/2019-10-02...2019-11-01
[2019-10-02]: https://github.com/latex3/l3build/compare/2019-09-30...2019-10-02
diff --git a/macros/latex/contrib/l3build/README.md b/macros/latex/contrib/l3build/README.md
index c2331b6ebe..8d85b8aad2 100644
--- a/macros/latex/contrib/l3build/README.md
+++ b/macros/latex/contrib/l3build/README.md
@@ -1,7 +1,7 @@
l3build: a testing and building system for LaTeX3
=================================================
-Release 2019-11-27
+Release 2020-01-14
Overview
--------
@@ -31,6 +31,6 @@ The LaTeX kernel is developed by [The LaTeX3 Project](https://latex-project.org)
-----
-<p>Copyright (C) 2014-2019 The LaTeX3 Project <br />
+<p>Copyright (C) 2014-2020 The LaTeX3 Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
diff --git a/macros/latex/contrib/l3build/l3build-file-functions.lua b/macros/latex/contrib/l3build/l3build-file-functions.lua
index 9c7ac1fb6d..e3000b45ef 100644
--- a/macros/latex/contrib/l3build/l3build-file-functions.lua
+++ b/macros/latex/contrib/l3build/l3build-file-functions.lua
@@ -1,6 +1,6 @@
--[[
-File l3build-file-functions.lua Copyright (C) 2018,2019 The LaTeX3 Project
+File l3build-file-functions.lua Copyright (C) 2018-2020 The LaTeX3 Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -128,7 +128,7 @@ os_concat = ";"
os_null = "/dev/null"
os_pathsep = ":"
os_setenv = "export"
-os_yes = "printf 'y\\n%.0s' {1..200}"
+os_yes = "printf 'y\\n%.0s' {1..300}"
os_ascii = "echo \"\""
os_cmpexe = getenv("cmpexe") or "cmp"
@@ -155,7 +155,7 @@ if os_type == "windows" then
os_null = "nul"
os_pathsep = ";"
os_setenv = "set"
- os_yes = "for /l %I in (1,1,200) do @echo y"
+ os_yes = "for /l %I in (1,1,300) do @echo y"
end
-- Deal with the fact that Windows and Unix use different path separators
diff --git a/macros/latex/contrib/l3build/l3build.1 b/macros/latex/contrib/l3build/l3build.1
index 4b669b2927..5383db8cf3 100644
--- a/macros/latex/contrib/l3build/l3build.1
+++ b/macros/latex/contrib/l3build/l3build.1
@@ -1,4 +1,4 @@
-.TH l3build 1 "2019-11-27"
+.TH l3build 1 "2020-01-14"
.SH NAME
l3build \- Checking and building packages
.SH SYNOPSIS
diff --git a/macros/latex/contrib/l3build/l3build.dtx b/macros/latex/contrib/l3build/l3build.dtx
index 2c98aa4799..c63a4bffa1 100644
--- a/macros/latex/contrib/l3build/l3build.dtx
+++ b/macros/latex/contrib/l3build/l3build.dtx
@@ -1,6 +1,6 @@
% \iffalse
%
-% File l3build.dtx (C) Copyright 2014-2019 The LaTeX3 Project
+% File l3build.dtx (C) Copyright 2014-2020 The LaTeX3 Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -231,7 +231,7 @@
% }^^A
% }
%
-% \date{Released 2019-11-27}
+% \date{Released 2020-01-14}
%
% \maketitle
% \tableofcontents
diff --git a/macros/latex/contrib/l3build/l3build.lua b/macros/latex/contrib/l3build/l3build.lua
index ebfe0cef55..95436dd2e9 100755
--- a/macros/latex/contrib/l3build/l3build.lua
+++ b/macros/latex/contrib/l3build/l3build.lua
@@ -2,7 +2,7 @@
--[[
-File l3build.lua Copyright (C) 2014-2019 The LaTeX3 Project
+File l3build.lua Copyright (C) 2014-2020 The LaTeX3 Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -25,7 +25,7 @@ for those people who are interested.
--]]
-- Version information
-release_date = "2019-11-27"
+release_date = "2020-01-14"
-- File operations are aided by the LuaFileSystem module
local lfs = require("lfs")
diff --git a/macros/latex/contrib/l3build/l3build.pdf b/macros/latex/contrib/l3build/l3build.pdf
index 25e5fb6a4f..c05f53b3c2 100644
--- a/macros/latex/contrib/l3build/l3build.pdf
+++ b/macros/latex/contrib/l3build/l3build.pdf
Binary files differ
diff --git a/macros/latex/contrib/tudscr/README.md b/macros/latex/contrib/tudscr/README.md
index 6079525067..c0c90ecafa 100644
--- a/macros/latex/contrib/tudscr/README.md
+++ b/macros/latex/contrib/tudscr/README.md
@@ -2,9 +2,9 @@
TUD-Script &ndash; Corporate Design of Technische Universität Dresden
----------------------------------------------------------------------------
- Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+ Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
- tudscr 2019/10/23 v2.06e
+ tudscr 2020/01/14 v2.06f
----------------------------------------------------------------------------
@@ -53,6 +53,9 @@ Das Bundle beinhaltet:
Versionen
---------
+**v2.06f** (2020/01/14)
++ Anpassungen fĂ¼r Paket `scrbase v3.28`
+
**v2.06e** (2019/10/23)
+ Bugfix fĂ¼r Paket `scrlfile v3.27`
@@ -248,6 +251,9 @@ The bundle offers:
Versions
--------
+**v2.06f** (2020/01/14)
++ adaptions for package `scrbase v3.28`
+
**v2.06e** (2019/10/23)
+ bug fix for package `scrlfile v3.27`
diff --git a/macros/latex/contrib/tudscr/doc/LICENSE.md b/macros/latex/contrib/tudscr/doc/LICENSE.md
index 52ebe38692..ae0225297b 100644
--- a/macros/latex/contrib/tudscr/doc/LICENSE.md
+++ b/macros/latex/contrib/tudscr/doc/LICENSE.md
@@ -2,7 +2,7 @@
TUD-Script &ndash; Corporate Design of Technische Universität Dresden
----------------------------------------------------------------------------
- Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+ Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tudscr/doc/tudscr.pdf b/macros/latex/contrib/tudscr/doc/tudscr.pdf
index ad14527739..c185ea1696 100644
--- a/macros/latex/contrib/tudscr/doc/tudscr.pdf
+++ b/macros/latex/contrib/tudscr/doc/tudscr.pdf
Binary files differ
diff --git a/macros/latex/contrib/tudscr/doc/tudscr_print.pdf b/macros/latex/contrib/tudscr/doc/tudscr_print.pdf
index f19d5c7e5c..25869aaf2b 100644
--- a/macros/latex/contrib/tudscr/doc/tudscr_print.pdf
+++ b/macros/latex/contrib/tudscr/doc/tudscr_print.pdf
Binary files differ
diff --git a/macros/latex/contrib/tudscr/doc/tudscrsource.pdf b/macros/latex/contrib/tudscr/doc/tudscrsource.pdf
index b8f5161304..82ac3b089d 100644
--- a/macros/latex/contrib/tudscr/doc/tudscrsource.pdf
+++ b/macros/latex/contrib/tudscr/doc/tudscrsource.pdf
Binary files differ
diff --git a/macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf b/macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf
index 3d2697d4da..09fe12442b 100644
--- a/macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf
+++ b/macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf
Binary files differ
diff --git a/macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdf b/macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdf
index 7d7587a50d..364aea0e73 100644
--- a/macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdf
+++ b/macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdf
Binary files differ
diff --git a/macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf b/macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf
index 460f57d175..f9f8d8dc7a 100644
--- a/macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf
+++ b/macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex b/macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex
index d5ba74a3bb..8f5a379426 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/dissertation.tex
@@ -2,12 +2,12 @@
english,ngerman,%
BCOR=6mm,cdgeometry=no,DIV=13%
]{tudscrreprt}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{isodate}
\usepackage{blindtext}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/document.tex b/macros/latex/contrib/tudscr/source/doc/examples/document.tex
index 9751d1c3d6..368b0134ee 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/document.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/document.tex
@@ -1,10 +1,10 @@
\documentclass[ngerman]{tudscrreprt}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage[math]{blindtext}
\begin{document}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex b/macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex
index c93670d7e6..23f9b8c4ed 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex
@@ -1,10 +1,10 @@
\documentclass[ngerman]{tudscrartcl}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{isodate}
\usepackage{tudscrsupervisor}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex b/macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex
index fd3e58d804..7df7fccfa4 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex
@@ -1,6 +1,11 @@
\documentclass[english,ngerman]{tudscrartcl}% andere Klassen möglich
-\usepackage[T1]{fontenc}
-\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{}
+\usepackage{iftex}
+\iftutex
+ \usepackage{fontspec}
+\else
+ \usepackage[T1]{fontenc}
+ \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+\fi
\usepackage{babel}
\usepackage{microtype}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex b/macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex
index 532bf94bbd..d88cd8a6da 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex
@@ -1,6 +1,11 @@
\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich
-\usepackage[T1]{fontenc}
-\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{}
+\usepackage{iftex}
+\iftutex
+ \usepackage{fontspec}
+\else
+ \usepackage[T1]{fontenc}
+ \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+\fi
\usepackage{babel}
\usepackage{microtype}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/notice.tex b/macros/latex/contrib/tudscr/source/doc/examples/notice.tex
index 51ceaf2836..b62df43571 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/notice.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/notice.tex
@@ -1,10 +1,10 @@
\documentclass[ngerman]{tudscrreprt}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{isodate}
\usepackage{tudscrsupervisor}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/poster.tex b/macros/latex/contrib/tudscr/source/doc/examples/poster.tex
index 61cb19989d..fb5c2f6276 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/poster.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/poster.tex
@@ -4,12 +4,12 @@
paper=A1,fontsize=22pt,%
cdfoot=5ex,ddcfoot%
]{tudscrposter}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{blindtext}
\usepackage{multicol}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/task.tex b/macros/latex/contrib/tudscr/source/doc/examples/task.tex
index 114a6cbfd9..4fe0b71e8c 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/task.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/task.tex
@@ -1,10 +1,10 @@
\documentclass[ngerman]{tudscrreprt}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{isodate}
\usepackage{tudscrsupervisor}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/thesis.tex b/macros/latex/contrib/tudscr/source/doc/examples/thesis.tex
index 5d88a8c2bd..e935bfcd8e 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/thesis.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/thesis.tex
@@ -1,10 +1,10 @@
\documentclass[ngerman,BCOR=4mm]{tudscrreprt}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{isodate}
\begin{document}
diff --git a/macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex b/macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex
index 83d092306e..4d274ddd20 100644
--- a/macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex
+++ b/macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex
@@ -1,11 +1,12 @@
\documentclass[english,ngerman]{tudscrreprt}
\usepackage{babel}
-\ifpdftex{
+\usepackage{iftex}
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{scrhack}
\usepackage{tudscrsupervisor}
diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex b/macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex
index 87ea1b6056..5a8a13a5d3 100644
--- a/macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex
+++ b/macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex
@@ -102,8 +102,12 @@ könnte folgendermaĂŸen aussehen:
\begin{quoting}[rightmargin=0pt]
\begin{Code}[escapechar=§]
\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§
-\usepackage[T1]{fontenc}
-\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{}
+\iftutex
+ \usepackage{fontspec}
+\else
+ \usepackage[T1]{fontenc}
+ \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+\fi
\usepackage{babel}
§\dots§
\end{Code}
diff --git a/macros/latex/contrib/tudscr/source/doc/tudscr.tex b/macros/latex/contrib/tudscr/source/doc/tudscr.tex
index eae520f34a..0dc90c5597 100644
--- a/macros/latex/contrib/tudscr/source/doc/tudscr.tex
+++ b/macros/latex/contrib/tudscr/source/doc/tudscr.tex
@@ -1,10 +1,10 @@
\documentclass[english,ngerman,ttfont=roboto]{tudscrmanual}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\lstset{%
inputencoding=utf8,extendedchars=true,
literate=%
@@ -29,7 +29,7 @@
\endgroup%
}
\faculty{\cdurl}
-\date{23.10.2019}
+\date{14.01.2020}
\author{%
Falk Hanisch%
\expandafter\emailaddress\expandafter{\tudscrmail}%
diff --git a/macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex b/macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex
index 92e081b5b6..2078d7da2f 100644
--- a/macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex
+++ b/macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex
@@ -1,10 +1,10 @@
\documentclass[english,ngerman]{tudscrartcl}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{tudscrtutorial}
\lstset{%
@@ -64,8 +64,13 @@ Pakete geladen.
%
\begin{Preamble}
\documentclass[english,ngerman]{tudscrartcl}% andere Klassen möglich
-\usepackage[T1]{fontenc}
-\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{}
+\usepackage{iftex}
+\iftutex
+ \usepackage{fontspec}
+\else
+ \usepackage[T1]{fontenc}
+ \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+\fi
\usepackage{babel}
\usepackage{microtype}
diff --git a/macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex b/macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex
index 9f9625ab7b..7f11fb3168 100644
--- a/macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex
+++ b/macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex
@@ -1,10 +1,10 @@
\documentclass[english,ngerman]{tudscrartcl}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{tudscrtutorial}
\lstset{%
@@ -53,8 +53,13 @@ Pakete geladen.
%
\begin{Preamble}
\documentclass[ngerman]{tudscrartcl}% andere Klassen sind möglich
-\usepackage[T1]{fontenc}
-\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{}
+\usepackage{iftex}
+\iftutex
+ \usepackage{fontspec}
+\else
+ \usepackage[T1]{fontenc}
+ \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+\fi
\usepackage{babel}
\usepackage{microtype}
diff --git a/macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex b/macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex
index 8e69888920..1cb217b7d1 100644
--- a/macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex
+++ b/macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex
@@ -3,12 +3,12 @@
english,ngerman,%
cdgeometry=no,DIV=12,automark%
]{tudscrartcl}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{tudscrtutorial}
\lstset{%
@@ -285,12 +285,13 @@ Informationen zur Verwendung von \Package{hyphsubst} sowie zum Thema
\emph{Worttrennung} finden.
%
\begin{Preamble}
-\ifpdftex{
+\usepackage{iftex}
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\end{Preamble}
%
FĂ¼r die \KOMAScript-Klassen wird auĂŸerdem das Paket \Package{scrhack}
@@ -2657,12 +2658,13 @@ Beginn einer Dokumentpräambel könnte folgendermaĂŸen aussehen:
%
\begin{Hint}
\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§
-\ifpdftex{
+\usepackage{iftex}
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\end{Hint}
%
diff --git a/macros/latex/contrib/tudscr/source/tudscr-area.dtx b/macros/latex/contrib/tudscr/source/tudscr-area.dtx
index 818f3e0097..0c1c3f1f6b 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-area.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-area.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-base.dtx b/macros/latex/contrib/tudscr/source/tudscr-base.dtx
index 8bbe69e572..7d65f4e5cb 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-base.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-base.dtx
@@ -1,10 +1,10 @@
-% \CheckSum{903}
+% \CheckSum{843}
% \iffalse meta-comment
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -52,7 +52,7 @@
% \fi
%
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
-\ProvidesFile{tudscr-base.dtx}[2019/10/23 v2.06e TUD-Script\space%
+\ProvidesFile{tudscr-base.dtx}[2020/01/14 v2.06f TUD-Script\space%
%
% \iffalse
%</dtx>
@@ -69,12 +69,12 @@
%</dtx|package&base>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
@@ -140,91 +140,17 @@
%
% Das Paket \pkg{scrbase} wird zur Optionsdefinition benötigt, \pkg{scrlfile}
% fĂ¼r verschiedene Hooks vor sowie nach Klassen und Paketen.
-% \begin{macrocode}
-\RequirePackage{scrbase}[2018/03/30]
-% \end{macrocode}
-% \changes{v2.06e}{2019/10/23}{Bugfix fĂ¼r \pkg{scrlfile} \val{v3.27}}^^A
-% Das Paket \pkg{scrlfile} in der \KOMAScript-Version \val{v3.27} enthält einen
-% Bug, der erst mit \val{v3.27a} gefixt wird.
-% \ToDo{Bugfix fĂ¼r \pkg{scrlfile} raus, v3.27a notwendig}[v3.27a]
-% \begin{macrocode}
-\@ifpackageloaded{scrlfile}{%
- \@ifpackagelater{scrlfile}{2019/10/13}{}{%
- \renewcommand*{\scr@load@hook}[2]{%
- \edef\scr@hookname{#1}%
- \def\scr@cmd@hook{before}%
- \ifx\scr@hookname\scr@cmd@hook
- \expandafter\def\csname #2-l@ading\endcsname{#2}%
- \fi
- \let\scr@cmd@hook\@undefined
- \@ifundefined{#2-@#1}{}{%
- \@nameuse{#2-@#1}%
- \expandafter\let\csname #2-@#1\endcsname\relax
- }%
- \edef\scr@hookname{#1}%
- \def\scr@cmp@hook{after}%
- \ifx\scr@hookname\scr@cmp@hook
- \expandafter\let\csname #2-l@ading\endcsname\@undefined
- \fi
- \let\scr@hookname\@undefined
- }%
- \renewcommand*{\@@AfterClass}[2]{%
- \@ifundefined{#2.\@clsextension-l@ading}{%
- \@sAfterClass
- }{%
- \@AfterClass
- }%
- {#2}%
- }%
- \renewcommand*{\@@@AfterClass}[2]{%
- \@ifundefined{#2.\@clsextension-l@ading}{%
- \@ifclassloaded{#2}{%
- \@sAfterClass
- }{%
- \AfterAtEndOfClass
- }%
- }{%
- \AfterAtEndOfClass
- }%
- {#2}%
- }%
- \renewcommand*{\@@AfterPackage}[2]{%
- \@ifundefined{#2.\@pkgextension-l@ading}{%
- \@sAfterPackage
- }{%
- \@AfterPackage
- }%
- {#2}%
- }%
- \renewcommand*{\@@@AfterPackage}[2]{%
- \@ifundefined{#2.\@pkgextension-l@ading}{%
- \@ifpackageloaded{#2}{%
- \@sAfterPackage
- }{%
- \@AfterAtEndOfPackage
- }%
- }{%
- \@AfterAtEndOfPackage
- }%
- {#2}%
- }%
- \renewcommand*{\AfterAtEndOfPackage}[1]{%
- \@ifpackageloaded{#1}{%
- \@ifundefined{#1.\@pkgextension-l@ading}{%
- \@gobbletwo
- }{%
- \@AfterAtEndOfPackage
- }%
- }{%
- \@AfterAtEndOfPackage
- }%
- {#1}%
- }%
- \newcommand*{\@AfterAtEndOfPackage}[1]{%
- \scr@set@load@hook{lateafter}{#1.\@pkgextension}%
- }%
- }%
-}{}
+% \ToDo{Provisorium entfernen}[v2.07]
+% \begin{macrocode}
+\providecommand*{\ifstr}{\Ifstr}
+\providecommand*{\ifstrstart}{\Ifstrstart}
+\providecommand*{\ifisskip}{\Ifisskip}
+\providecommand*{\ifdimen}{\Ifdimen}
+\providecommand*{\ifisdimen}{\Ifisdimen}
+\providecommand*{\ifisdimension}{\Ifisdimension}
+\providecommand*{\ifnumber}{\Ifnumber}
+\RequirePackage{scrbase}[2019/12/23]
+\RequirePackage{iftex}[2019/11/07]
% \end{macrocode}
% Die folgenden Pakete werden fĂ¼r die Manipulation bereits definierter
% Makros sowie zur erweiterten Auswertung boolescher AusdrĂ¼cke benötigt.
diff --git a/macros/latex/contrib/tudscr/source/tudscr-color.dtx b/macros/latex/contrib/tudscr/source/tudscr-color.dtx
index c581f28f6b..4bc961987d 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-color.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-color.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -69,12 +69,12 @@
%</dtx|package>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-comp.dtx b/macros/latex/contrib/tudscr/source/tudscr-comp.dtx
index ece623438d..4158956194 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-comp.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-comp.dtx
@@ -1,10 +1,10 @@
-% \CheckSum{1452}
+% \CheckSum{1453}
% \iffalse meta-comment
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -52,7 +52,7 @@
% \fi
%
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
-\ProvidesFile{tudscr-comp.dtx}[2019/10/23 v2.06e TUD-Script\space%
+\ProvidesFile{tudscr-comp.dtx}[2020/01/14 v2.06f TUD-Script\space%
%
% \iffalse
%</dtx>
@@ -73,12 +73,12 @@
%</dtx|package&identify>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
@@ -381,6 +381,8 @@
% \changes{v2.06d}{2019/08/27}{neu}^^A
% \begin{macro}{\tud@v@2.06e}
% \changes{v2.06e}{2019/10/23}{neu}^^A
+% \begin{macro}{\tud@v@2.06f}
+% \changes{v2.06f}{2020/01/14}{neu}^^A
% \begin{macro}{\tud@v@last}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \changes{v2.03}{2015/01/13}{angepasst}^^A
@@ -422,9 +424,11 @@
\csdef{tud@v@2.06c}{4}
\csdef{tud@v@2.06d}{4}
\csdef{tud@v@2.06e}{4}
+\csdef{tud@v@2.06f}{4}
\csdef{tud@v@last}{4}
% \end{macrocode}
% \end{macro}^^A \tud@v@last
+% \end{macro}^^A \tud@v@2.06f
% \end{macro}^^A \tud@v@2.06e
% \end{macro}^^A \tud@v@2.06d
% \end{macro}^^A \tud@v@2.06c
diff --git a/macros/latex/contrib/tudscr/source/tudscr-doc.dtx b/macros/latex/contrib/tudscr/source/tudscr-doc.dtx
index ef3754d43a..eb2401bde0 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-doc.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-doc.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-fields.dtx b/macros/latex/contrib/tudscr/source/tudscr-fields.dtx
index dbf9cb46b8..f56f953e97 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-fields.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-fields.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-fonts.dtx b/macros/latex/contrib/tudscr/source/tudscr-fonts.dtx
index 228304d9ee..c0fb49b803 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-fonts.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-fonts.dtx
@@ -1,10 +1,10 @@
-% \CheckSum{3123}
+% \CheckSum{3124}
% \iffalse meta-comment
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -52,7 +52,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
% \fi
%
-\ProvidesFile{tudscr-fonts.dtx}[2019/08/27 v2.06d TUD-Script\space%
+\ProvidesFile{tudscr-fonts.dtx}[2020/01/14 v2.06f TUD-Script\space%
%
% \iffalse
%</dtx>
@@ -69,12 +69,12 @@
%</dtx|package&identify>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
@@ -3889,7 +3889,7 @@
% der Fall, weshalb hier etwas nachgeholfen werden muss, indem nach der Glyphe
% schlichtweg ein Klammernpaar in der richtigen Kodierung eingefĂ¼gt wird.
% \begin{macrocode}
- \scr@ifluatex{%
+ \ifluatex%
\begingroup%
\def\tud@res@a{\if@tud@cdmath@active\fontencoding{LGR}\selectfont{}\fi}%
\def\tud@res@b##1{%
@@ -3903,7 +3903,7 @@
\tud@res@b{it#1}%
\tud@res@b{up#1}%
\endgroup%
- }{}%
+ \fi%
}
% \end{macrocode}
% \end{macro}^^A \tud@cdmath@declare@greek@@lgr
diff --git a/macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx b/macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx
index 57017e1136..3ae42e3e83 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-layout.dtx b/macros/latex/contrib/tudscr/source/tudscr-layout.dtx
index 4e6fe56ae7..3bf9ec030c 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-layout.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-layout.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-localization.dtx b/macros/latex/contrib/tudscr/source/tudscr-localization.dtx
index 954773033b..d137660867 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-localization.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-localization.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-manual.dtx b/macros/latex/contrib/tudscr/source/tudscr-manual.dtx
index 3249409e97..8346c60f7c 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-manual.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-manual.dtx
@@ -1,10 +1,10 @@
-% \CheckSum{4450}
+% \CheckSum{4457}
% \iffalse meta-comment
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -69,12 +69,12 @@
%</dtx|package&identify>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
@@ -4941,10 +4941,14 @@
% \changes{v2.06}{2019/06/21}{neu}^^A
% FĂ¼r das verschachtelte Aufrufen von \app{pdflatex} bzw. \app{lualatex}.
% \begin{macrocode}
-\newcommand*\tud@latex@ext{}
-\ifpdftex%
- {\def\tud@latex@ext{pdflatex\space}}%
- {\def\tud@latex@ext{lualatex\space}}%
+\newcommand*\tud@latex@ext{pdflatex\space}
+\iftutex
+ \ifxetex
+ \renewcommand*\tud@latex@ext{xelatex\space}
+ \else
+ \renewcommand*\tud@latex@ext{lualatex\space}
+ \fi
+\fi
% \end{macrocode}
% \end{macro}^^A \tud@latex@ext
% \begin{macro}{\Tutorial}
@@ -5575,12 +5579,12 @@
\if@tempswa%
\begin{filecontents*}{\tud@tut@temp-standalone.tex}
\documentclass[english,ngerman]{tudscrreprt}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrsupervisor}
\usepackage{isodate}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx b/macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx
index 158befa025..0c9418e669 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -72,12 +72,12 @@
%</dtx|package>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-misc.dtx b/macros/latex/contrib/tudscr/source/tudscr-misc.dtx
index 72beb47c8a..4cc2abc463 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-misc.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-misc.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
@@ -226,7 +226,7 @@
\BeforeTOCHead[toc]{%
\tud@x@bookmark@startatroot%
\let\@tempc\relax%
- \iftocfeature{toc}{totoc}{}{%
+ \Iftocfeature{toc}{totoc}{}{%
\if@tud@bookmarks%
\setuptoc{toc}{totoc}%
\tud@cs@store{addtocontents}%
diff --git a/macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx b/macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx
index e6cb0a94e4..1faf440673 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx b/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
index 7e73840d5c..7645826e38 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -69,12 +69,12 @@
%</dtx|package>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-texindy.dtx b/macros/latex/contrib/tudscr/source/tudscr-texindy.dtx
index a666c74ef5..747cd157ff 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-texindy.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-texindy.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-title.dtx b/macros/latex/contrib/tudscr/source/tudscr-title.dtx
index b6ec69ff30..1f46c490ca 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-title.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-title.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -58,12 +58,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx b/macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx
index ff86b18493..26e9c62026 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -70,12 +70,12 @@
%</dtx|package>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr-version.dtx b/macros/latex/contrib/tudscr/source/tudscr-version.dtx
index 8b58d0b69b..f7bef28b00 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-version.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-version.dtx
@@ -4,7 +4,7 @@
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -110,7 +110,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.25}%
+ \gdef\TUD@Version@KOMA{3.28}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -128,7 +128,7 @@
%<*!(package|class)>
\fi
%</!(package|class)>
- \TUD@Version@Check{2019/10/23 v2.06e TUD-Script}
+ \TUD@Version@Check{2020/01/14 v2.06f TUD-Script}
\endgroup
% \end{macrocode}
% \end{macro}^^A \TUDScriptVersionNumber
@@ -145,12 +145,12 @@
%
% \iffalse
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/tudscr/source/tudscr.ins b/macros/latex/contrib/tudscr/source/tudscr.ins
index 3503f12938..e29f63d076 100644
--- a/macros/latex/contrib/tudscr/source/tudscr.ins
+++ b/macros/latex/contrib/tudscr/source/tudscr.ins
@@ -2,7 +2,7 @@
% TUD-Script -- Corporate Design of Technische Universitaet Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
@@ -53,7 +53,7 @@ TUD-Script -- Corporate Design of Technische Universitaet Dresden
\TUD@Version
-Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
This file was generated from file(s) of the TUD-Script bundle.
----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tudscr/source/tudscrsource.tex b/macros/latex/contrib/tudscr/source/tudscrsource.tex
index f1bbcf9d9c..aa11b0f111 100644
--- a/macros/latex/contrib/tudscr/source/tudscrsource.tex
+++ b/macros/latex/contrib/tudscr/source/tudscrsource.tex
@@ -5,12 +5,12 @@
\endgroup
\ProvidesFile{tudscrsource.tex}[\TUDScriptVersion (sourcedoc)]
\documentclass[english,ngerman,xindy]{tudscrdoc}
-\ifpdftex{
+\iftutex
+ \usepackage{fontspec}
+\else
\usepackage[T1]{fontenc}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
-}{
- \usepackage{fontspec}
-}
+\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
diff --git a/macros/latex/contrib/xurl/Changes b/macros/latex/contrib/xurl/Changes
index 2c92b953aa..d597e39621 100644
--- a/macros/latex/contrib/xurl/Changes
+++ b/macros/latex/contrib/xurl/Changes
@@ -1,3 +1,4 @@
+0.08 2020-01-14 - define macro \useOriginalUrlSetting
0.07 2018-12-23 - move numbers into \UrlBreaks
0.06 2018-12-16 - define \UrlSpecials
0.05 2018-12-08 - added support for biblatex
diff --git a/macros/latex/contrib/xurl/doc/xurl.pdf b/macros/latex/contrib/xurl/doc/xurl.pdf
index d16fa080d1..81d81ddfbf 100644
--- a/macros/latex/contrib/xurl/doc/xurl.pdf
+++ b/macros/latex/contrib/xurl/doc/xurl.pdf
Binary files differ
diff --git a/macros/latex/contrib/xurl/doc/xurl.tex b/macros/latex/contrib/xurl/doc/xurl.tex
index 856b1f4f14..79d48dc2e7 100644
--- a/macros/latex/contrib/xurl/doc/xurl.tex
+++ b/macros/latex/contrib/xurl/doc/xurl.tex
@@ -1,4 +1,4 @@
-%% $Id: xurl.tex 876 2018-12-23 10:26:11Z herbert $
+%% $Id: xurl.tex 1133 2020-01-14 12:10:03Z herbert $
%
\listfiles\setcounter{errorcontextlines}{100}
\RequirePackage{filecontents}
@@ -63,7 +63,14 @@ It will be passed to package url. xurl itself has no
special optional argument. For more information read
the documentation of package url.
+\section{With the original setting from package url}
+The original behaviour of package \texttt{url} can be optained
+by using the macro \texttt{\textbackslash useOriginalUrlSetting}
+which should be used inside a group:
+
+\begingroup
+\useOriginalUrlSetting
\noindent
\frame{\begin{minipage}{0.5\linewidth}
\noindent
@@ -78,7 +85,31 @@ some text \url{very-long-url-very-long-url-very-long-url-very-long-url-very-long
and another url: \url{https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url/10419?noredirect=1#comment1021887_10419}
\end{minipage}}
+\noindent
+\frame{\begin{minipage}{\dimexpr\linewidth-2\fboxrule}
+\noindent
+some text \url{iszv://dsf.tqsdatmdtdls.ctm/cudfsdvqfqll-ocd/bdcbcfqlf-lcclldh/cbsntwgqke-esbptb-vvylhy/zkhqnqidf-obedbacpf-lzlal-pxaccqa-gwki.lfof/}
+and another url: \url{koff://osb.ccdngagkkg.raa/qrkxzvi/dxfsiaa/xidf-lata-dgdqmhp-uoxdl-vst-vcsbhl-aisdsasih-skl-aezb-fhixvyy-qqlachd-achhfc-koe-xgfqp-iyplcu-1.696884}
+\end{minipage}}
+\endgroup
+
+
+\section{With the setting from package xurl}
+
+
+\noindent
+\frame{\begin{minipage}{0.5\linewidth}
+\noindent
+some text \url{very-long-url-very-long-url-very-long-url-very-long-url-very-long-url-}
+and another url: \url{https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url/10419?noredirect=1#comment1021887_10419}
+\end{minipage}}
+\noindent
+\frame{\begin{minipage}{0.75\linewidth}
+\noindent
+some text \url{very-long-url-very-long-url-very-long-url-very-long-url-very-long-url-}
+and another url: \url{https://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url/10419?noredirect=1#comment1021887_10419}
+\end{minipage}}
\noindent
\frame{\begin{minipage}{\dimexpr\linewidth-2\fboxrule}
@@ -109,6 +140,7 @@ use the optional argument \texttt{nobiblatex}:
\nocite{*}
+
\printbibliography[title={With urlbreaks}]
\setcounter{biburllcpenalty}{0}
@@ -117,6 +149,10 @@ use the optional argument \texttt{nobiblatex}:
\printbibliography[title={xurl with option nobiblatex}]
+
+
+
+
\end{document}
diff --git a/macros/latex/contrib/xurl/latex/xurl.sty b/macros/latex/contrib/xurl/latex/xurl.sty
index 0a5e92ea85..154cfd1b90 100644
--- a/macros/latex/contrib/xurl/latex/xurl.sty
+++ b/macros/latex/contrib/xurl/latex/xurl.sty
@@ -1,4 +1,4 @@
-%% $Id: xurl.sty 876 2018-12-23 10:26:11Z herbert $
+%% $Id: xurl.sty 1133 2020-01-14 12:10:03Z herbert $
%%
%% This is file `xurl.sty',
%%
@@ -16,7 +16,7 @@
%% `xurl' is a package for extended URL breaks
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{xurl}[2018/12/23 v 0.07 modify URL breaks]
+\ProvidesPackage{xurl}[2020/01/14 v 0.08 modify URL breaks]
\newif\if@no@biblatex \@no@biblatexfalse
\DeclareOption{nobiblatex}{\@no@biblatextrue}
@@ -57,7 +57,12 @@
\Urlmuskip=0mu plus 1mu
%
-%
+\def\useOriginalUrlSetting{%
+\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\;\do\>\do\]%
+ \do\)\do\,\do\?\do\&\do\'\do+\do\=\do\#}%
+\def\UrlSpecials{\do\ {\Url@space}\do\%{\Url@percent}\do\^^M{\Url@space}%
+ \Url@force@Tilde}% package option may force faked text-ascii-tilde
+}
\endinput
diff --git a/support/texplate/README.md b/support/texplate/README.md
new file mode 100644
index 0000000000..19d0583ae6
--- /dev/null
+++ b/support/texplate/README.md
@@ -0,0 +1,169 @@
+# TeXplate
+
+![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.0-blue.svg?style=flat-square) ![Current version: 1.0.0](https://img.shields.io/badge/Current_version-1.0.0-blue.svg?style=flat-square)
+
+TeXplate is a tool for creating document structures based on templates. The application name is a word play on _TeX_ and _template_, so the purpose seems quite obvious: we want to provide an easy and straightforward framework for reducing the typical code boilerplate when writing TeX documents. Also note that one can easily extrapolate the use beyond articles and theses: the application is powerful enough to generate _any_ text-based structure, given that a corresponding template exists.
+
+## Basic use
+
+Our tool is a typical command line application, so we need to invoke it by simply typing `texplate` in the terminal:
+
+```bash
+$ texplate
+ ______ __ __ ___ __
+/\__ _\ /\ \ /\ \ /\_ \ /\ \__
+\/_/\ \/ __ \ `\`\/'/' _____\//\ \ __ \ \ ,_\ __
+ \ \ \ /'__`\`\/ > < /\ '__`\\ \ \ /'__`\ \ \ \/ /'__`\
+ \ \ \/\ __/ \/'/\`\\ \ \L\ \\_\ \_/\ \L\.\_\ \ \_/\ __/
+ \ \_\ \____\ /\_\\ \_\ \ ,__//\____\ \__/.\_\\ \__\ \____\
+ \/_/\/____/ \/_/ \/_/\ \ \/ \/____/\/__/\/_/ \/__/\/____/
+ \ \_\
+ \/_/
+
+TeXplate 1.0.0, a document structure creation tool
+Copyright (c) 2020, Island of TeX
+All rights reserved.
+
+Missing required option '--output=<output>'
+Usage: texplate [-c=<configuration>] -o=<output> [-t=<template>]
+ [-m=<String=String>...]...
+ -c, --config=<configuration>
+ The configuration file in which the tool
+ can read template data, for automation
+ purposes. Make sure to follow the correct
+ specification when writing a
+ configuration file.
+ -m, --map=<String=String>...
+ The contextual map that provides the data
+ to be merged in the template. This
+ parameter can be used multiple times. You
+ can specify a map entry with the
+ key=value syntax (mind the entry
+ separator).
+ -o, --output=<output> The output file in which the chosen
+ template will be effectively written.
+ Make sure the directory has the correct
+ permissions for writing the output file.
+ -t, --template=<template>
+ The template and. The tool will search both
+ user and system locations and set the
+ template model accordingly, based on your
+ specs.
+```
+
+
+
+Provided that TeXplate is properly available in the underlying operating system, we will get a lovely, colorful output in our terminal, along with a couple of scary messages telling that some required options are missing. Our tool provides four options, described as follows. Strictly speaking, there is only one mandatory option. The remainder might be optional, depending on certain scenarios.
+
+### Output
+
+Referred as either`-o` (short representation) or `--output` (long representation), this option holds the output file in which the chosen template will be effectively written. The name is arbitrary, so you can use anything to your heart's desires. Keep in mind, however, that an existing file will be mercilessly overwritten. Also, make sure the path has the proper permissions for writing the output file.
+
+### Template
+
+Referred as either `-t` (short representation) or `--template` (long representation), this option holds the reference to the template to be potentially merged with data and properly generated. The provided string should match the template identifier, otherwise TeXplate will raise an error complaining about the missing reference.
+
+### Map
+
+Referred as either `-m` (short representation) or `--map` (long representation), this option holds a map entry, defined as a `key=value` ordered pair (mind the `=` symbol used as entry separator). This option can be used multiple times. The map entry denotes a variable in the template context, where the key is the variable name and the value is set to be the initial state of such variable.
+
+## Examples
+
+For instance, let us generate a document named `doc1.tex`, based on the standard `article` class:
+
+```bash
+$ texplate -t article -o doc1.tex
+ ______ __ __ ___ __
+/\__ _\ /\ \ /\ \ /\_ \ /\ \__
+\/_/\ \/ __ \ `\`\/'/' _____\//\ \ __ \ \ ,_\ __
+ \ \ \ /'__`\`\/ > < /\ '__`\\ \ \ /'__`\ \ \ \/ /'__`\
+ \ \ \/\ __/ \/'/\`\\ \ \L\ \\_\ \_/\ \L\.\_\ \ \_/\ __/
+ \ \_\ \____\ /\_\\ \_\ \ ,__//\____\ \__/.\_\\ \__\ \____\
+ \/_/\/____/ \/_/ \/_/\ \ \/ \/____/\/__/\/_/ \/__/\/____/
+ \ \_\
+ \/_/
+
+TeXplate 1.0.0, a document structure creation tool
+Copyright (c) 2020, Island of TeX
+All rights reserved.
+
+Configuration file mode disabled .................. [ DONE ]
+Entering full command line mode ................... [ DONE ]
+
+Please, wait...
+
+Obtaining reference ............................... [ DONE ]
+Composing template ................................ [ DONE ]
+Validating data ................................... [ DONE ]
+Merging template and data ......................... [ DONE ]
+
+Done! Enjoy your template!
+Written: 112 B
+```
+
+And that is it! We provided the template name (`-t article`) and the output (`-o doc1.tex`). Checking the contents of `doc1.tex`:
+
+```tex
+\documentclass{article}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\end{document}
+```
+
+We could enhance the template generation by providing further options to it. Let us say we want to include A4 as the paper size for our document and use XeTeX as engine. The command line is as follows (we omitted the full output for reducing verbosity):
+
+```bash
+$ texplate -t article -o doc2.tex -m options=a4paper -m xetex=true
+```
+
+For this example, we added two map entries referring to the class option and the support for newer engines (please refer to the user manual for more details on template options). The newly generated `doc2.tex` document is as follows:
+
+```tex
+\documentclass[a4paper]{article}
+
+\usepackage{fontspec}
+
+\begin{document}
+
+\end{document}
+```
+
+Now, let us provide some packages to our document, as well as language support:
+
+```bash
+$ texplate -t article -o doc3.tex -m options=a4paper -m xetex=true \
+-m babel=spanish,english -m packages=longtable,siunitx,array
+```
+
+Checking the contents of `doc3.tex`:
+
+```tex
+\documentclass[a4paper]{article}
+
+\usepackage{fontspec}
+
+\usepackage[spanish,english]{babel}
+
+\usepackage{longtable}
+\usepackage{siunitx}
+\usepackage{array}
+
+\begin{document}
+
+\end{document}
+```
+
+And that is it! Make sure to take a look at the user manual to learn more about TeXplate!
+
+## License
+
+This application is licensed under the [New BSD License](https://opensource.org/licenses/BSD-3-Clause). Please note that the New BSD License has been verified as a GPL-compatible free software license by the [Free Software Foundation](http://www.fsf.org/), and has been vetted as an open source license by the [Open Source Initiative](http://www.opensource.org/).
+
+## The team
+
+TeXplate is brought to you by Ben Frank and Paulo Cereda. If you want to support TeX development by a donation, the best way to do this is donating to the [TeX Users Group](https://www.tug.org/donate.html).
+
diff --git a/support/texplate/doc/texplate-manual.pdf b/support/texplate/doc/texplate-manual.pdf
new file mode 100644
index 0000000000..f74b875749
--- /dev/null
+++ b/support/texplate/doc/texplate-manual.pdf
Binary files differ
diff --git a/support/texplate/doc/texplate-manual.tex b/support/texplate/doc/texplate-manual.tex
new file mode 100644
index 0000000000..215802ecd9
--- /dev/null
+++ b/support/texplate/doc/texplate-manual.tex
@@ -0,0 +1,604 @@
+% arara: pdflatex
+% arara: pdflatex
+% arara: clean: { extensions: [ aux, listing, log, gz ] }
+\documentclass[11pt,article,twocolumn,a4paper]{memoir}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+\usepackage[english]{babel}
+
+\usepackage{bookman}
+\usepackage[scaled=.9]{beramono}
+\usepackage{microtype}
+
+\newcommand{\texplate}{\TeX plate}
+\newcommand{\var}[1]{{\ttfamily\$#1}}
+\newcommand{\inline}[1]{{\ttfamily#1}}
+\newcommand{\shortopt}[1]{{\ttfamily-#1}}
+\newcommand{\longopt}[1]{{\ttfamily{-}{-}#1}}
+\newcommand{\macro}[1]{{\ttfamily\textbackslash#1}}
+\newcommand{\texplateversion}{1.0.0}
+
+\title{A gentle introduction to \texplate:\\ a document structure creation tool}
+\author{Island of \TeX}
+\date{Version \texplateversion\ -- \today}
+
+\usepackage{tcolorbox}
+\tcbuselibrary{listings}
+\tcbuselibrary{breakable}
+\tcbuselibrary{skins}
+
+\newtcblisting{code}{
+ colback=white,
+ colupper=black,
+ colframe=cyan!75!black,
+ listing only,
+ breakable,
+ enhanced,
+ before skip=10pt,
+ top=2pt,
+ left=4pt,
+ right=4pt,
+ bottom=2pt
+}
+\newtcolorbox{disclaimer}{
+ colback=white,
+ colupper=black,
+ colframe=cyan!75!black,
+ breakable,
+ enhanced,
+ before skip=10pt,
+ top=4pt,
+ left=4pt,
+ right=4pt,
+ bottom=4pt,
+ adjusted title=Disclaimer,
+ fonttitle=\bfseries,
+ fontupper=\em
+}
+
+\begin{document}
+
+\maketitle
+
+\begin{abstract}
+As the title implies, this document dares to be a gentle introduction to a rather unusual application, at least from our ordinary \TeX\ workflow: a tool for creating document structures based on templates. The application name is a word play on \emph{\TeX} and \emph{template}, so the purpose seems quite obvious: we want to provide an easy and straightforward framework for reducing the typical code boilerplate when writing \TeX\ documents. Also note that one can easily extrapolate the use beyond articles and theses: the application is powerful enough to generate \emph{any} text-based structure, given that a corresponding template exists.
+\end{abstract}
+
+\chapter{Introduction}
+\label{chap:introduction}
+
+A typical \TeX\ document usually contains a common preamble, the same code boilerplate we hold dear to keep our writing workflow efficient and, to an extent, satisfy our darkest typographic additions. A coherent preamble might significantly reduce the odds of having issues when compiling your document, but at the end of the day, it is always your fault when something terribly wrong happens in your code\footnote{This statement is suspiciously Carlislean. Also, since we are on the subject, make sure to never read documentation, as bad things happen.}. Anyway, consider the following \TeX\ document\footnote{Apologies in advance to every pizza connoisseur out there (specially Italians) for the provocative statement in the document. That said, one must accept the truth that Nutella pizza \emph{is} good.}:
+
+\begin{code}
+\documentclass{article}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+This is the law of the jungle:
+Nutella pizza is good.
+\end{document}
+\end{code}
+
+Modulo actual content, this structure is probably recurring on the majority of documents using the classical engines. Ultimately, we aim at providing a collection of text-based structures through a comprehensive command line interface\footnote{Granted, command line usage is not exactly as friendly, intuitive and comprehensive as one could have ever hoped. We have plans for a graphical interface in the near future, so stay tuned.}, so as a means to reduce the code boilerplate for typical documents.
+
+\chapter{Concepts}
+\label{chap:concepts}
+
+Before introducing the command line application itself, we need to establish a common foundation and formally present a couple of concepts in which our tool is built. Consider this section as a primer to such elements.
+
+\section{Template}
+\label{sec:template}
+
+A template is basically a textual structure with certain entry points, in a sort of \emph{fill in the blanks} fashion. For \texplate, we rely on a template language provided by the Apache Foundation named VTL (or Velocity, for short), in its latest 2.0 specification, as of the writing of this manual.
+
+\begin{disclaimer}
+We do not intend to cover the language specification on its full glory in this manual. However, we might pinpoint and highlight some characteristics whenever relevant to the context.
+\end{disclaimer}
+
+For our purposes, the basic structure of any text-based document constitutes a template. For instance, the \TeX\ document originally presented in Section~\ref{chap:introduction}, modulo actual content, can certainly act as a verbatim template:
+
+\begin{code}
+\documentclass{article}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+
+\begin{document}
+
+\end{document}
+\end{code}
+
+Note, however, that this template, as it is, does not hold any variables, conditional flows or sophisticated language constructs. The next concepts will build upon variables in the text, as a means to enhance the template expressiveness.
+
+\section{Map}
+\label{sec:map}
+
+A map is a collection of variables and values instantiated at run time and available within the template context. Since these values are specified in the command line, \texplate\ initially casts them as strings. It is worth noting, however, that these string values can be converted to arbitrary types later on through special functions named handlers in the template specification (see Section~\ref{sec:handlers} for further details). Regarding syntax, a variable \inline{bar} in the command line is referenced as a variable \var{bar} inside the template context. Note that all methods from the corresponding type class are available in the variable scope, since a variable acts like a proper Java object. However, note that it is highly advisable to verify whether a variable is defined before invoking any method. For instance, consider the following excerpt:
+
+\begin{code}
+#if($name)
+Hello, my name is $name.
+#else
+Hello, my name is John.
+#end
+\end{code}
+
+In this excerpt, observe that \var{name} is a variable. If such variable is properly specified in the command line, it will be set accordingly in the template context and the corresponding conditional branch is handled. Please refer to the VTL specification for further details.
+
+\begin{disclaimer}
+Ultimately, Java objects will rely on the \inline{toString()} method when the template is actually rendered, so there is no need to worry about converting arbitrary values back to strings.
+\end{disclaimer}
+
+The map is specified at run time, in the command line. It is important to observe that a variable might be marked as mandatory by the template (more on that later, when discussing the template specification in Chapter~\ref{chap:templatespecification}), so the absence of such variable in the map will trigger an exception and the tool will prematurely end.
+
+\chapter{Command line}
+\label{chap:commandline}
+
+Our tool is a typical command line application, so we need to invoke it by simply typing \inline{texplate} in the terminal:
+
+\begin{code}
+$ texplate
+\end{code}
+
+Provided that \texplate\ is properly available in the underlying operating system, we will get a lovely, colourful output in our terminal, along with a couple of scary messages telling that some required options are missing. Our tool provides four options, described as follows. Strictly speaking, there is only one mandatory option. The remainder might be optional, depending on certain scenarios.
+
+\section{Output}
+\label{sec:outputcli}
+
+Referred as either \shortopt{o} (short representation) or \longopt{output} (long representation), this option holds the output file in which the chosen template will be effectively written. The following examples are valid entries to this option:
+
+\begin{code}
+-o mydoc.tex
+-o=mydoc.tex
+--output mydoc.tex
+--output=mydoc.tex
+\end{code}
+
+The name is arbitrary, so you can use anything to your heart's desires. Keep in mind, however, that an existing file will be mercilessly overwritten. Also, make sure the path has the proper permissions for writing the output file.
+
+\section{Template}
+\label{sec:templatecli}
+
+Referred as either \shortopt{t} (short representation) or \longopt{template} (long representation), this option holds the reference to the template to be potentially merged with data and properly generated. The basic syntax is detailed as follows (note that \var{article} refers to the template identifier):
+
+\begin{code}
+-t article
+-t=article
+--template article
+--template=article
+\end{code}
+
+The provided string should match the template identifier, otherwise \texplate\ will raise an error complaining about the missing reference. The template identifier will be discussed later on, in Section~\ref{sec:namingscheme}.
+
+\section{Map}
+\label{sec:mapcli}
+
+Referred as either \shortopt{m} (short representation) or \longopt{map} (long representation), this option holds a map entry, defined as a \inline{key=value} ordered pair (mind the \inline{=} symbol used as entry separator). This option can be used multiple times. The following examples are valid entries to this option (note that \inline{foo} and \inline{bar} refer to an arbitrary map entry key and value, respectively):
+
+\begin{code}
+-m foo=bar
+-m=foo=bar
+--map foo=bar
+--map=foo=bar
+\end{code}
+
+The map entry denotes a variable in the template context, where the key is the variable name and the value is set to be the initial state of such variable. As the \longopt{map} option can be used multiple times, consider the following scenario, where the map entry key is repeated:
+
+\begin{code}
+--map foo=1 --map foo=2 --map foo=3
+\end{code}
+
+The final value associated to \inline{foo} is set to be the rightmost occurrence of the corresponding pair in the command line.
+
+\section{Configuration}
+\label{sec:configurationcli}
+
+\texplate\ also offers a configuration file in which the tool can read template data, for automation purposes. The configuration file is written in a text-based format named TOML\footnote{According to Wikipedia, TOML is a configuration file format intended to be easy to read and write due to obvious semantics and designed to map unambiguously to a dictionary. The syntax consists of entry pairs, sections and comments.} and can hold at most two sections: the template name as a string (with the same behaviour of \longopt{template} in the command line) and the contextual data map, with keys and associated values. A configuration file can have at least one of such sections, but never be empty. Consider the following configuration file:
+
+\begin{code}
+template = "article"
+
+[map]
+country = "Germany"
+year = 2020
+articles = [ "Die", "Der", "Das" ]
+\end{code}
+
+Observe that, contrary to the \longopt{map} option in the command line, the \inline{[map]} section in the configuration file accepts values other than strings (e.g., integers and lists of strings).
+
+\begin{disclaimer}
+Please keep in mind that map entries in the configuration file are not subjected to handlers (when available), as their command line counterparts are.
+\end{disclaimer}
+
+Command line options have priority over values originated from the configuration file. Given the previous configuration file,
+consider the following scenario:
+
+\begin{code}
+$ texplate -c config.toml -t book
+\end{code}
+
+Even though \inline{article} was the template set in the configuration, the \longopt{template} option has higher priority and thus the template is set to \inline{book}, as it is defined in the command line. The same logic is applied to map entries.
+
+\begin{disclaimer}
+Observe that, if a configuration file is being used and has no template key, the \longopt{template} option automatically becomes mandatory.
+\end{disclaimer}
+
+Note that \texplate\ has support for just one configuration file at run time. Support for multiple configurations might be added in the near future.
+
+\chapter{Template specification}
+\label{chap:templatespecification}
+
+\texplate\ uses predefined templates to generate text-based structures. Similar to the configuration structure presented in Section~\ref{sec:configurationcli}, the tool relies on text-based files written in TOML for holding the template specifications.
+
+\section{Naming scheme}
+\label{sec:namingscheme}
+
+For starters, a template has an identifier, a name that logically represents the text-based structure to be generated. Observe that the name corresponds to the reference used later on in the \longopt{template} option in the command line. A template file name has to match this identifier, so e.g., the \inline{article} reference is automatically linked to the \inline{article.toml} file which contains the template specification.
+
+\begin{disclaimer}
+Observe that \texplate's lookup system is case-sensitive, so make sure to always reference the correct name.
+\end{disclaimer}
+
+Although there are no hard limitations on a template name, it is advisable to keep it short and concise, with no spaces whatsoever\footnote{Another Carlislean statement would remind us that people that put spaces in their file names deserve no sympathy. At all.}. As a consequence, potential issues with extended characters in the Unicode range and command line escaping are avoided, and thus our beloved tool might just work as expected.
+
+\section{Directory lookup}
+\label{sec:directorylookup}
+
+\texplate\ employs a lookup system that basically searches two locations for template files (specifications written in the TOML format), in order of priority:
+
+\begin{enumerate}
+\item\inline{\textasciitilde/.texplate/templates} which refers to a path structure from the user home directory.
+
+\item\inline{<APP>/templates} which refers to a path structure from the application directory (with \inline{<APP>} denoting the location where \texplate\ is installed).
+\end{enumerate}
+
+For instance, as a means to illustrate the concept of directory lookup, consider the following command line command:
+
+\begin{code}
+$ texplate -t article -o mydoc.tex
+\end{code}
+
+\texplate\ will look for a template file named \inline{article.toml} in the path structure from the user home directory, as seen in \#1. If the file is found, the search ends and the tool proceeds to the template generation. Otherwise, \texplate\ will attempt to look in its own template folder for a match. If found, the tool will use this file reference. If the template file is not found in any of the two locations, the tool reports the issue and prematurely ends.
+
+\section{Handlers}
+\label{sec:handlers}
+
+A map entry, when obtained from the command line through the \longopt{map} option, holds a string value. \texplate\ provides a straightforward way to convert string values to arbitrary types through special functions named handlers in the template specification. The following handlers are available for type conversion:
+
+\begin{itemize}
+\item\inline{to-csv-list}: this handler, as the name implies, converts a string to a list of comma-separated values. The implementation attempts to respect quoted elements, when available.
+\item\inline{to-boolean}: this handler converts a string to a boolean value, based on the following patterns: \inline{true} and \inline{false}, \inline{1} and \inline{0}, and \inline{yes} or \inline{no}.
+\end{itemize}
+
+When type conversion is needed in the template logic, handlers are assigned to map keys in the corresponding specification, detailed later on, in Section~\ref{sec:templatestructure}.
+
+\begin{disclaimer}
+Handlers are internal functions provided by \texplate\ that map String values to arbitrary types.
+\end{disclaimer}
+
+When referencing handlers, make sure to write the correct name in the template specification, so the lookup and subsequent call work as expected.
+
+\section{Template structure}
+\label{sec:templatestructure}
+
+The template structure holds at most two sections: the template itself and an optional \inline{[handlers]} section holding the handlers to be applied to certain map entries. The following keys are required for the first section (i.e., the template definition):
+
+\begin{itemize}
+\item\inline{name}: this key holds a string value that denotes the template name. Observe that \texplate\ requires this key to hold the exact value of the template identifier, as described in Section~\ref{sec:namingscheme}.
+
+\begin{code}
+name = "mytemplate"
+\end{code}
+
+\item\inline{description}: this key holds a string value that provides a short yet meaningful description for the template being written. It is usually suitable to use the \inline{"""} (triple double quotes) notation for this key, as it allows long strings to span multiple lines (and ignore line breaks).
+
+\begin{code}
+description = """
+A simple template used to
+illustrate the template
+structure.
+"""
+\end{code}
+
+\item\inline{authors}: this key, as the name implies, holds a list of strings denoting the template authors, for obvious blaming purposes, in case anything goes terribly wrong\footnote{Of course, it is important to observe that an error, exception or issue is definitely \emph{not our fault}.}.
+
+\begin{code}
+authors = [ "Alice", "Bob" ]
+\end{code}
+
+\item\inline{requirements}: this key holds a list of strings denoting potential requirements for the template. For instance, the template might require some variables to be specified at run time, either through the command line or configuration file:
+
+\begin{code}
+requirements = [ "names" ]
+\end{code}
+
+If the requirements are not complied, \texplate\ will report the issue and prematurely end. When the template imposes no requirements at all, make sure to provide an empty list:
+
+\begin{code}
+requirements = [ ]
+\end{code}
+
+\item\inline{document}: this key, as the name suggests, holds the actual text-based document, written using the VTL specification (or any subset of it). It is usually suitable to use the \inline{{'}{'}{'}} (triple single quotes) notation for this key, as it allows raw strings (i.e., literal reproduction with no need of escaping characters) and multiple lines while respecting breaks.
+
+\begin{code}
+document = '''
+These are the names:
+
+\begin{itemize}
+#foreach ($name in $names)
+ \item $name
+#end
+\end{itemize}
+'''
+\end{code}
+
+\end{itemize}
+
+The \inline{[handlers]} section, as the name indicates, holds potential handler references to be applied to certain map entries. These references are set as strings. For instance, \var{names} is actually a list of strings, so a type conversion has to be employed:
+
+\begin{code}
+[handlers]
+names = "to-csv-list"
+\end{code}
+
+Observe that, if there is no need for handlers in the template structure, this section might safely be omitted.
+
+\chapter{A complete example}
+\label{chap:completeexample}
+
+Now that all concepts are formally introduced in the previous chapters, it is time to glue everything together. The following steps cover the basics from creating a template to merging data into it:
+
+\begin{enumerate}
+\item First and foremost, let us create a template named \inline{mytemplate}, inspired on the previous content presented in this user manual. The naming scheme, as well as the directory structure, must be respected, so open your favourite editor\footnote{Your favourite editor should be \inline{vim}, of course. Anything else is simply wrong and unacceptable.} and create the following file:
+
+\begin{code}
+$ mkdir -p ~/.texplate/templates/
+$ cd ~/.texplate/templates/
+$ vim myarticle.toml
+\end{code}
+
+\item Now, add the following content to the newly created \inline{mytemplate.toml} file:
+
+\begin{code}
+name = "mytemplate"
+description = """
+A simple template used to
+illustrate the template
+structure.
+"""
+authors = [ "Alice", "Bob" ]
+requirements = [ "names" ]
+document = '''
+These are the names:
+
+\begin{itemize}
+#foreach ($name in $names)
+ \item $name
+#end
+\end{itemize}
+'''
+
+[handlers]
+names = "to-csv-list"
+\end{code}
+
+\item Done, the template is ready to be used! Now, simply call \texplate\ in the command line and provide the required map entry, as seen as follows:
+
+\begin{code}
+$ texplate -t mytemplate -m names=John,Jane -o list.tex
+\end{code}
+
+The output (i.e., the template merged with the provided data) will be written to a text-based file named \inline{list.tex}.
+
+\item When running \texplate, this is the expected output to be displayed in the command line (note that the layout is slightly modified due to space constraints in this user manual):
+
+\begin{code}
+TeXplate 1.0.0, a document structure creation tool
+Copyright (c) 2020, Island of TeX
+All rights reserved.
+
+Configuration file
+mode disabled ......... [ DONE ]
+Entering full
+command line mode ..... [ DONE ]
+
+Please, wait...
+
+Obtaining reference ... [ DONE ]
+Composing template .... [ DONE ]
+Validating data ....... [ DONE ]
+Merging template
+and data .............. [ DONE ]
+
+Done! Enjoy your template!
+Written: 78 B
+\end{code}
+
+\item Great, everything worked as expected! Now, let us check the contents of the newly generated \inline{list.tex} file:
+
+\begin{code}
+$ cat list.tex
+These are the names:
+
+\begin{itemize}
+ \item John
+ \item Jane
+\end{itemize}
+\end{code}
+
+As seen in the previous output, the template and provided data were successfully merged.
+
+\item Let us reproduce the same output with a configuration file. Observe, however, that handlers are not applied to map entries in the configuration file, so we have to explicitly set \inline{names} as a list of strings. Let us create a configuration file named \inline{config.toml} in the current directory:
+
+\begin{code}
+$ vim config.toml
+\end{code}
+
+Now, add the following content to the newly created \inline{config.toml} file:
+
+\begin{code}
+template = "mytemplate"
+
+[map]
+names = [ "John", "Jane" ]
+\end{code}
+
+\item The new call to \texplate, given the aforementioned configuration file, is slightly different than the previous one (step 3), so write the following entry in the command line:
+
+\begin{code}
+$ texplate -c config.toml -o list.tex
+\end{code}
+
+\item The output is pretty much the same obtained in the previous call (step 4), except for the following lines acknowledging the configuration file mode:
+
+\begin{code}
+Checking
+configuration .......... [ DONE ]
+Adjusting variables
+from file .............. [ DONE ]
+\end{code}
+
+The final lines from \texplate\ indicate everything worked as expected:
+
+\begin{code}
+Done! Enjoy your template!
+Written: 78 B
+\end{code}
+
+\item The generated \inline{list.tex} file has exactly the same contents as illustrated in step 5. It is important to remember that an existing output file will be mercilessly overwritten.
+\end{enumerate}
+
+The previous steps described how \texplate\ works, from creating a template to merging data into it, as a means to generating a text-based document. Chapter~\ref{chap:includedtemplates} presents text-based templates shipped with our tool, as well as the available variables in the document context.
+
+\chapter{Included templates}
+\label{chap:includedtemplates}
+
+\texplate\ ships with the following text-based templates, automatically available from the application directory:
+
+\section*{\inline{article}}
+
+This reference holds a simple template for the default \inline{article} class, with support for new engines (with \inline{fontspec} fallback), \inline{babel} languages, geometry options, generic packages, and Ti\textit{k}Z and corresponding libraries. There are no requirements for this template. Available variables are described as follows:
+
+\begin{itemize}
+\item\inline{xetex}: boolean value, changes the default behaviour to accommodate the Xe\TeX\ engine. Typical \inline{fontenc} and \inline{inputenc} packages are replaced by \inline{fontspec} when this variable holds true (semantically equivalent).
+
+\begin{code}
+-m xetex=true
+\end{code}
+
+\item\inline{luatex}: boolean value, changes the default behaviour to accommodate the Lua\TeX\ engine. Typical \inline{fontenc} and \inline{inputenc} packages are replaced by \inline{fontspec} when this variable holds true (semantically equivalent).
+
+\begin{code}
+-m luatex=true
+\end{code}
+
+\item\inline{options}: string value, holds the document class options, when applied.
+
+\begin{code}
+-m options=12pt,a4paper
+\end{code}
+
+\item\inline{babel}: string value, holds a sequence of languages supported by the \inline{babel} package. Keep in mind that the last entry in the sequence is set to be the default language.
+
+\begin{code}
+-m babel=english,italian
+\end{code}
+
+\item\inline{geometry}: string value, holds the options for the \inline{geometry} package. It is important to note that order matters.
+
+\begin{code}
+-m geometry=margins=2cm
+\end{code}
+
+\item\inline{packages}: list of strings, holds a list of packages to be included in the document preamble, in the specified order.
+
+\begin{code}
+-m packages=longtable,array
+\end{code}
+
+\item\inline{tikz}: boolean value, checks whether the document should include support for Ti\textit{k}Z in the preamble.
+
+\begin{code}
+-m tikz=true
+\end{code}
+
+\item\inline{libraries}: list of strings, holds a list of Ti\textit{k}Z libraries to be included in the document preamble, in the specified order. It is important to observe that this variable has no effect whatsoever if the \inline{tikz} variable is either not set or does not hold true.
+
+\begin{code}
+-m libraries=automata,positioning
+\end{code}
+\end{itemize}
+
+\section*{\inline{standalone}}
+
+This reference holds a simple template for the \inline{standalone} class, with support for new engines (with \inline{fontspec} fallback), \inline{babel} languages, geometry options, generic packages, and Ti\textit{k}Z and corresponding libraries. There are no requirements for this template. Available variables are described as follows:
+
+\begin{itemize}
+\item\inline{xetex}: boolean value, changes the default behaviour to accommodate the Xe\TeX\ engine. Typical \inline{fontenc} and \inline{inputenc} packages are replaced by \inline{fontspec} when this variable holds true (semantically equivalent).
+
+\begin{code}
+-m xetex=true
+\end{code}
+
+\item\inline{luatex}: boolean value, changes the default behaviour to accommodate the Lua\TeX\ engine. Typical \inline{fontenc} and \inline{inputenc} packages are replaced by \inline{fontspec} when this variable holds true (semantically equivalent).
+
+\begin{code}
+-m luatex=true
+\end{code}
+
+\item\inline{options}: string value, holds the document class options, when applied.
+
+\begin{code}
+-m options=12pt,a4paper
+\end{code}
+
+\item\inline{babel}: string value, holds a sequence of languages supported by the \inline{babel} package. Keep in mind that the last entry in the sequence is set to be the default language.
+
+\begin{code}
+-m babel=english,italian
+\end{code}
+
+\item\inline{geometry}: string value, holds the options for the \inline{geometry} package. It is important to note that order matters.
+
+\begin{code}
+-m geometry=margins=2cm
+\end{code}
+
+\item\inline{packages}: list of strings, holds a list of packages to be included in the document preamble, in the specified order.
+
+\begin{code}
+-m packages=longtable,array
+\end{code}
+
+\item\inline{tikz}: boolean value, checks whether the document should include support for Ti\textit{k}Z in the preamble.
+
+\begin{code}
+-m tikz=true
+\end{code}
+
+\item\inline{libraries}: list of strings, holds a list of Ti\textit{k}Z libraries to be included in the document preamble, in the specified order. It is important to observe that this variable has no effect whatsoever if the \inline{tikz} variable is either not set or does not hold true.
+
+\begin{code}
+-m libraries=automata,positioning
+\end{code}
+\end{itemize}
+
+\chapter{Final remarks}
+\label{chap:finalremarks}
+
+This document aimed at being a gentle introduction to \texplate, a tool for creating document structures based on templates. We invite you to contribute to this project by submitting feature requests, issues and new templates:
+
+\begin{code}
+gitlab.com/islandoftex/texplate
+\end{code}
+
+Happy \TeX ing with \texplate!
+
+\section*{License}
+
+\texplate\ is licensed under the New BSD License. Please note that the New BSD License has been verified as a GPL-compatible free software license by the Free Software Foundation, and has been vetted as an open source license by the Open Source Initiative.
+
+\end{document}
diff --git a/support/texplate/scripts/templates/article.toml b/support/texplate/scripts/templates/article.toml
new file mode 100644
index 0000000000..53f7796762
--- /dev/null
+++ b/support/texplate/scripts/templates/article.toml
@@ -0,0 +1,54 @@
+name = "article"
+description = """
+A simple template for the default article class, with support for new
+engines (with fontspec fallback), babel languages, geometry options,
+generic packages, and TikZ and corresponding libraries.
+"""
+authors = [ "Island of TeX" ]
+requirements = []
+document = '''
+\documentclass#if($options)[$options]#{end}{article}
+
+#if ($xetex || $luatex)
+\usepackage{fontspec}
+#else
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+#end
+#if ($geometry)
+
+\usepackage[$geometry]{geometry}
+#end
+#if ($babel)
+#if (!$geometry)
+
+#end
+\usepackage[$babel]{babel}
+#end
+#if ($packages)
+
+#foreach ($package in $packages)
+\usepackage{$package}
+#end
+#end
+#if ($tikz)
+
+\usepackage{tikz}
+#if ($libraries)
+#foreach ($library in $libraries)
+\usetikzlibrary{$library}
+#end
+#end
+#end
+
+\begin{document}
+
+\end{document}
+'''
+
+[handlers]
+xetex = "to-boolean"
+luatex = "to-boolean"
+tikz = "to-boolean"
+libraries = "to-csv-list"
+packages = "to-csv-list"
diff --git a/support/texplate/scripts/templates/standalone.toml b/support/texplate/scripts/templates/standalone.toml
new file mode 100644
index 0000000000..dd8daea65f
--- /dev/null
+++ b/support/texplate/scripts/templates/standalone.toml
@@ -0,0 +1,45 @@
+name = "standalone"
+description = """
+A simple template for the standalone class, with support for
+class options, new engines (with fontspec fallback), list of
+packages, and TikZ and corresponding libraries.
+"""
+authors = [ "Island of TeX" ]
+requirements = []
+document = '''
+\documentclass#if($options)[$options]#{end}{standalone}
+
+#if ($xetex || $luatex)
+\usepackage{fontspec}
+#else
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
+#end
+#if ($packages)
+
+#foreach ($package in $packages)
+\usepackage{$package}
+#end
+#end
+#if ($tikz)
+
+\usepackage{tikz}
+#if ($libraries)
+#foreach ($library in $libraries)
+\usetikzlibrary{$library}
+#end
+#end
+#end
+
+\begin{document}
+
+\end{document}
+'''
+
+[handlers]
+xetex = "to-boolean"
+luatex = "to-boolean"
+tikz = "to-boolean"
+libraries = "to-csv-list"
+packages = "to-csv-list"
+
diff --git a/support/texplate/scripts/texplate.sh b/support/texplate/scripts/texplate.sh
new file mode 100644
index 0000000000..da64978037
--- /dev/null
+++ b/support/texplate/scripts/texplate.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# Public domain. Originally written by Norbert Preining and Karl Berry, 2018.
+# Note from Paulo: this script provides better Cygwin support than our original
+# approach, so the team decided to use it as a proper wrapper for texplate as well.
+
+scriptname=`basename "$0"`
+jar="$scriptname.jar"
+jarpath=`kpsewhich --progname="$scriptname" --format=texmfscripts "$jar"`
+
+kernel=`uname -s 2>/dev/null`
+if echo "$kernel" | grep CYGWIN >/dev/null; then
+ CYGWIN_ROOT=`cygpath -w /`
+ export CYGWIN_ROOT
+ jarpath=`cygpath -w "$jarpath"`
+fi
+
+exec java -jar "$jarpath" "$@" \ No newline at end of file
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/Main.java b/support/texplate/source/main/java/org/islandoftex/texplate/Main.java
new file mode 100644
index 0000000000..5c27aab23c
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/Main.java
@@ -0,0 +1,36 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate;
+
+import org.islandoftex.texplate.model.TemplateProcessing;
+import org.islandoftex.texplate.util.MessageUtils;
+import picocli.CommandLine;
+
+/**
+ * The main class. The application logic is enclosed in the template processing
+ * class.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class Main {
+
+ /**
+ * Main method. Note that it simply passes the control to the template
+ * processing class.
+ *
+ * @param args The command line arguments.
+ */
+ public static void main(String[] args) {
+
+ // draw the application logo in the
+ // terminal (please have fixed fonts
+ // in your terminal for a nice display)
+ MessageUtils.drawLogo();
+
+ // calls the command line processing method
+ // and performs the actual application logic
+ int exitCode = new CommandLine(new TemplateProcessing()).execute(args);
+ System.exit(exitCode);
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidKeySetException.java b/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidKeySetException.java
new file mode 100644
index 0000000000..3d113a2599
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidKeySetException.java
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.exceptions;
+
+/**
+ * Handles exceptions when the context map contains invalid keys.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class InvalidKeySetException extends Exception {
+
+ /**
+ * Constructor.
+ */
+ public InvalidKeySetException() {
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param message Message to be attached to the exception.
+ */
+ public InvalidKeySetException(String message) {
+ super(message);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param message Message to be attached to the exception.
+ * @param cause The throwable cause to be forwarded.
+ */
+ public InvalidKeySetException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidTemplateException.java b/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidTemplateException.java
new file mode 100644
index 0000000000..73c8276998
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/InvalidTemplateException.java
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.exceptions;
+
+/**
+ * Handles exceptions when the template is somehow invalid.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class InvalidTemplateException extends Exception {
+
+ public InvalidTemplateException() {
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param message Message to be attached to the exception.
+ */
+ public InvalidTemplateException(String message) {
+ super(message);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param message Message to be attached to the exception.
+ * @param cause The throwable cause to be forwarded.
+ */
+ public InvalidTemplateException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/TemplateMergingException.java b/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/TemplateMergingException.java
new file mode 100644
index 0000000000..86dd99af00
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/exceptions/TemplateMergingException.java
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.exceptions;
+
+/**
+ * Handles exceptions when the template merging failed.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class TemplateMergingException extends Exception {
+
+ /**
+ * Constructor.
+ */
+ public TemplateMergingException() {
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param message Message to be attached to the exception.
+ */
+ public TemplateMergingException(String message) {
+ super(message);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param message Message to be attached to the exception.
+ * @param cause The throwable cause to be forwarded.
+ */
+ public TemplateMergingException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/model/Configuration.java b/support/texplate/source/main/java/org/islandoftex/texplate/model/Configuration.java
new file mode 100644
index 0000000000..a0f8e83702
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/model/Configuration.java
@@ -0,0 +1,150 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.model;
+
+import com.moandjiezana.toml.Toml;
+import io.vavr.control.Try;
+import org.islandoftex.texplate.exceptions.InvalidTemplateException;
+
+import java.nio.file.Path;
+import java.util.Map;
+
+/**
+ * The configuration model.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class Configuration {
+
+ // template of the template
+ private String template;
+
+ // map of variables for the configuration
+ private Map<String, Object> map;
+
+ /**
+ * Constructor.
+ */
+ public Configuration() {
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param template The template.
+ * @param map The map.
+ */
+ public Configuration(String template, Map<String, Object> map) {
+ this.template = template;
+ this.map = map;
+ }
+
+ /**
+ * Gets the template.
+ *
+ * @return The template.
+ */
+ public String getTemplate() {
+ return template;
+ }
+
+ /**
+ * Sets the template.
+ *
+ * @param template The template.
+ */
+ public void setTemplate(String template) {
+ this.template = template;
+ }
+
+ /**
+ * Gets the map.
+ *
+ * @return The map.
+ */
+ public Map<String, Object> getMap() {
+ return map;
+ }
+
+ /**
+ * Sets the map.
+ *
+ * @param map The map.
+ */
+ public void setMap(Map<String, Object> map) {
+ this.map = map;
+ }
+
+ /**
+ * Checks whether the configuration is valid.
+ *
+ * @return A boolean value indicating whether the configuration is valid.
+ */
+ private boolean isValid() {
+ return !(template == null || map == null);
+ }
+
+ /**
+ * Reads the configuration from path.
+ *
+ * @param path The path.
+ * @return Configuration.
+ * @throws InvalidTemplateException The configuration is invalid.
+ */
+ private static Configuration readFromPath(Path path)
+ throws InvalidTemplateException {
+
+ // the actual configuration
+ Configuration configuration;
+
+ // the default message
+ String message = "The provided configuration file looks invalid. "
+ + "Please make sure the configuration has a valid syntax and "
+ + "try again. ";
+
+ try {
+
+ // gets the configuration
+ configuration = new Toml().read(path.toFile()).
+ to(Configuration.class);
+
+ } catch (Exception exception) {
+
+ // the configuration
+ // seems invalid
+ throw new InvalidTemplateException(message + "In this particular "
+ + "scenario, there is a possibility that the configuration "
+ + "file does not follow the TOML specification. Please "
+ + "refer to the user manual for further details and a "
+ + "possible fix. Also, the raised exception message can "
+ + "give us some hints on what happened.", exception);
+ }
+
+ // checks whether the
+ // configuration is valid
+ if (configuration.isValid()) {
+
+ // returns the configuration
+ return configuration;
+ } else {
+
+ // the configuration
+ // is invalid
+ throw new InvalidTemplateException(message + "Specifically, some "
+ + "mandatory fields are either absent or empty in the "
+ + "configuration file. It is quite important to strictly "
+ + "follow the configuration specification, as detailed in "
+ + "the user manual, or the tool will not work at all.");
+ }
+ }
+
+ /**
+ * Gets the configuration from a path.
+ *
+ * @param path The path.
+ * @return The configuration.
+ */
+ public static Try<Configuration> of(Path path) {
+ return Try.of(() -> readFromPath(path));
+ }
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/model/Template.java b/support/texplate/source/main/java/org/islandoftex/texplate/model/Template.java
new file mode 100644
index 0000000000..ca92e04658
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/model/Template.java
@@ -0,0 +1,252 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.model;
+
+import com.moandjiezana.toml.Toml;
+import io.vavr.control.Try;
+import org.islandoftex.texplate.exceptions.InvalidTemplateException;
+
+import java.nio.file.Path;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The template model.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class Template {
+
+ // name of the template
+ private String name;
+
+ // description of the template
+ private String description;
+
+ // list of authors who wrote the template
+ private List<String> authors;
+
+ // list of requirements for the template
+ private List<String> requirements;
+
+ // the document to be configured
+ private String document;
+
+ // the map handlers
+ private Map<String, String> handlers;
+
+ /**
+ * Constructor.
+ */
+ public Template() {
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param name Name of the template.
+ * @param description Description of the template.
+ * @param authors List of authors of the template.
+ * @param requirements List of requirements for the template.
+ * @param document The document to be configured.
+ * @param handlers The optional map handlers.
+ */
+ public Template(String name, String description, List<String> authors,
+ List<String> requirements, String document,
+ Map<String, String> handlers) {
+ this.name = name;
+ this.description = description;
+ this.authors = authors;
+ this.requirements = requirements;
+ this.document = document;
+ this.handlers = handlers;
+ }
+
+ /**
+ * Gets the template name.
+ *
+ * @return The template name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Sets the template name.
+ *
+ * @param name The template name.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * Gets the template description.
+ *
+ * @return The template description.
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets the template description.
+ *
+ * @param description The template description.
+ */
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /**
+ * Gets the template authors.
+ *
+ * @return The template authors.
+ */
+ public List<String> getAuthors() {
+ return authors;
+ }
+
+ /**
+ * Sets the template authors.
+ *
+ * @param authors The template authors.
+ */
+ public void setAuthors(List<String> authors) {
+ this.authors = authors;
+ }
+
+ /**
+ * Gets the template requirements.
+ *
+ * @return The template requirements.
+ */
+ public List<String> getRequirements() {
+ return requirements;
+ }
+
+ /**
+ * Sets the template requirements.
+ *
+ * @param requirements The template requirements.
+ */
+ public void setRequirements(List<String> requirements) {
+ this.requirements = requirements;
+ }
+
+ /**
+ * Gets the template document.
+ *
+ * @return The template document.
+ */
+ public String getDocument() {
+ return document;
+ }
+
+ /**
+ * Sets the template document.
+ *
+ * @param document The template document.
+ */
+ public void setDocument(String document) {
+ this.document = document;
+ }
+
+ /**
+ * Gets the map handlers.
+ *
+ * @return The map handlers.
+ */
+ public Map<String, String> getHandlers() {
+ return handlers;
+ }
+
+ /**
+ * Sets the map handlers.
+ *
+ * @param handlers The map handlers.
+ */
+ public void setHandlers(Map<String, String> handlers) {
+ this.handlers = handlers;
+ }
+
+ /**
+ * Checks whether the template is valid.
+ *
+ * @return A boolean value indicating whether the template is valid.
+ */
+ private boolean isValid() {
+ return !((name == null) || (description == null)
+ || (authors == null) || (requirements == null)
+ || (document == null) || name.trim().isEmpty()
+ || description.trim().isEmpty() || authors.isEmpty()
+ || document.trim().isEmpty());
+ }
+
+ /**
+ * Reads the template from the provided path.
+ *
+ * @param path The path to the template file.
+ * @return The template object from the provided path.
+ * @throws InvalidTemplateException The template is invalid.
+ */
+ private static Template readFromPath(Path path)
+ throws InvalidTemplateException {
+
+ // the actual template
+ Template template;
+
+ // the exception message, in case the
+ // conversion fails or if there are
+ // missing elements from the template
+ String message = "The provided template file looks invalid. Please "
+ + "make sure the template has a valid syntax and try again. ";
+
+ try {
+
+ // reads the file and converts
+ // the TOML format into the object
+ template = new Toml().read(path.toFile()).to(Template.class);
+
+ } catch (Exception exception) {
+
+ // throws the new exception and
+ // attaches the original cause
+ throw new InvalidTemplateException(message + "In this particular "
+ + "scenario, there is a possibility that the template "
+ + "file does not follow the TOML specification. Please "
+ + "refer to the user manual for further details and a "
+ + "possible fix. Also, the raised exception message can "
+ + "give us some hints on what happened.", exception);
+ }
+
+ // the conversion hasn't failed, but we need
+ // to check whether the template is valid
+ if (template.isValid()) {
+
+ // everything went fine, so
+ // simply return the template
+ return template;
+ } else {
+
+ // the template is invalid, so we
+ // need to throw an exception
+ throw new InvalidTemplateException(message + "Specifically, some "
+ + "mandatory fields are either absent or empty in the "
+ + "template file. It is quite important to strictly "
+ + "follow the template specification, as detailed in the "
+ + "user manual, or the tool will not work at all.");
+ }
+ }
+
+ /**
+ * Returns the template from the provided path.
+ *
+ * @param path The path in which the template is retrieved.
+ * @return The corresponding template, enclosed in a Try object.
+ */
+ public static Try<Template> of(Path path) {
+ return Try.of(() -> readFromPath(path));
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/model/TemplateProcessing.java b/support/texplate/source/main/java/org/islandoftex/texplate/model/TemplateProcessing.java
new file mode 100644
index 0000000000..eccaf6c732
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/model/TemplateProcessing.java
@@ -0,0 +1,391 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.model;
+
+import io.vavr.control.Either;
+import org.islandoftex.texplate.util.MergingUtils;
+import org.islandoftex.texplate.util.MessageUtils;
+import org.islandoftex.texplate.util.PathUtils;
+import org.islandoftex.texplate.util.ValidatorUtils;
+import picocli.CommandLine;
+import picocli.CommandLine.Option;
+
+import java.nio.file.Path;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.Callable;
+
+/**
+ * The template processing class.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+@CommandLine.Command(
+ usageHelpWidth = 70,
+ name = "texplate"
+)
+public class TemplateProcessing implements Callable<Integer> {
+
+ // the file output, which will hold the
+ // result of the merging of both template
+ // and context data map from command line
+ @Option(
+ names = {"-o", "--output"},
+ description = "The output file in which the chosen "
+ + "template will be effectively written. Make sure "
+ + "the directory has the correct permissions for "
+ + "writing the output file.",
+ required = true,
+ type = Path.class
+ )
+ private Path output;
+
+ // the template name
+ @Option(
+ names = {"-t", "--template"},
+ description = "The template and. The tool will "
+ + "search both user and system locations and set the "
+ + "template model accordingly, based on your specs."
+ )
+ private String template;
+
+ // the context data map that holds
+ // a set of key/value pairs to be
+ // merged with the template
+ @Option(
+ names = {"-m", "--map"},
+ description = "The contextual map that provides the "
+ + "data to be merged in the template. This parameter "
+ + "can be used multiple times. You can specify a map "
+ + "entry with the key=value syntax (mind the entry "
+ + "separator).",
+ arity = "1..*"
+ )
+ private Map<String, String> map;
+
+ @Option(
+ names = {"-c", "--config"},
+ description = "The configuration file in which the tool "
+ + "can read template data, for automation purposes. Make "
+ + "sure to follow the correct specification when writing "
+ + "a configuration file.",
+ type = Path.class
+ )
+ private Path configuration;
+
+ /**
+ * The application logic, enclosed as a call method.
+ *
+ * @return An integer value denoting the exit status.
+ * @throws Exception An exception was raised in the application logic.
+ */
+ @Override
+ public Integer call() throws Exception {
+
+ // the exit status, originally
+ // set as a valid value
+ int exit = 0;
+
+ // configuration halt flag, indicating
+ // whether the tool has to end earlier
+ boolean halt = false;
+
+ Map<String, Object> cmap = new HashMap<>();
+
+ // ensure the context data map
+ // is at least instantiated
+ ensureMap();
+
+ // there is a configuration file
+ // found in the command line
+ if (has(configuration)) {
+
+ // print the configuration
+ // check line for status
+ MessageUtils.line("Checking configuration");
+
+ // try to read the configuration
+ // file into a proper object
+ Either<Throwable, Configuration> configChecking = Configuration.
+ of(configuration).toEither();
+
+ // the configuration file
+ // seems to be valid, proceed
+ if (configChecking.isRight()) {
+
+ // print status line
+ MessageUtils.status(true);
+
+ // get the configuration file
+ Configuration config = configChecking.get();
+
+ // check if the configuration
+ // has a proper template
+ if (has(config.getTemplate())) {
+
+ // if so, build the template if, and
+ // only if, there's no one already
+ // set through command line
+ template = ensure(template, config.getTemplate());
+ }
+
+ // check if the configuration
+ // has a proper string/string map
+ if (has(config.getMap())) {
+
+ // set the main configuration
+ // map to be dealt later on
+ cmap = config.getMap();
+ }
+
+ // print header about tidying
+ // up configuration variables
+ MessageUtils.line("Adjusting variables from file");
+ MessageUtils.status(true);
+ System.out.println();
+
+ } else {
+
+ // an error occurred, print it
+ // set exit code and halt
+ MessageUtils.status(false);
+ MessageUtils.error(configChecking.getLeft());
+ exit = -1;
+ halt = true;
+ }
+ } else {
+
+ // print header regarding
+ // no config file found
+ MessageUtils.line("Configuration file mode disabled");
+ MessageUtils.status(true);
+
+ // print a header regarding
+ // full command line mode
+ MessageUtils.line("Entering full command line mode");
+
+ // there's no configuration file, so we
+ // need to check whether there is not a
+ // pattern set in the command line
+ if (!has(template)) {
+
+ // print status
+ MessageUtils.status(false);
+
+ // print message
+ MessageUtils.error(new Exception("The template was not set "
+ + "in the command line through the -t/--template "
+ + "option. If not explicitly specified in a "
+ + "configuration file, this option becomes mandatory, "
+ + "so make sure to define it either in the command "
+ + "line or in a proper configuration file."));
+
+ exit = -1;
+ halt = true;
+
+ } else {
+
+ // print status
+ MessageUtils.status(true);
+ System.out.println();
+ }
+
+ }
+
+ // check whether we should
+ // halt prematurely
+ if (!halt) {
+
+ // initial message, preparing our
+ // hearts to the actual merging :)
+ System.out.println("Please, wait...");
+ System.out.println();
+
+ // now we need to obtain the actual
+ // template from a file stored either
+ // in the user home or in the system
+ MessageUtils.line("Obtaining reference");
+
+ // let us try to get the corresponding
+ // file from the template pattern
+ Either<Throwable, Path> fileChecking = PathUtils.
+ getTemplatePath(template).toEither();
+
+ // the actual template file was
+ // found, so we can proceed to
+ // the next phase
+ if (fileChecking.isRight()) {
+
+ // updates the current
+ // status accordingly
+ MessageUtils.status(true);
+
+ // now it's time to compose the template
+ // object from its corresponding file
+ MessageUtils.line("Composing template");
+
+ // attempts to retrieve the template
+ // attributes from the referenced file
+ // to the actual template object
+ Either<Throwable, Template> templateComposition
+ = Template.of(fileChecking.get()).toEither();
+
+ // the template composition was successful,
+ // so we can move on to the next phase
+ if (templateComposition.isRight()) {
+
+ // updates the current
+ // status accordingly
+ MessageUtils.status(true);
+
+ // once the template object is populated,
+ // we need to verify if both template and
+ // data map are not somehow conflicting
+ MessageUtils.line("Validating data");
+ Either<Throwable, Map<String, String>> dataValidation
+ = ValidatorUtils.validate(templateComposition.get(),
+ map).toEither();
+
+ // the data validation was consistent,
+ // so now the merging can be applied
+ if (dataValidation.isRight()) {
+
+ // updates the current
+ // status accordingly
+ MessageUtils.status(true);
+
+ // now it's the final phase, in which
+ // both template and data are merged
+ MessageUtils.line("Merging template and data");
+
+ // merge both template and context data
+ // map
+ Either<Throwable, Long> merging = MergingUtils.
+ merge(templateComposition.get(),
+ dataValidation.get(),
+ output, cmap).toEither();
+
+ // the merging was successful,
+ // so now there's nothing else
+ // to do, yay!
+ if (merging.isRight()) {
+
+ // updates the current
+ // status accordingly
+ MessageUtils.status(true);
+
+ // print the final messge and
+ // tell the user everything
+ // went smooth!
+ System.out.println();
+ System.out.println("Done! Enjoy your template!");
+ System.out.println("Written: "
+ + getSize(merging.get()));
+ } else {
+
+ // updates the current
+ // status accordingly
+ MessageUtils.status(false);
+
+ // the merging failed, so the
+ // exception is displayed and
+ // the exit status is updated
+ MessageUtils.error(merging.getLeft());
+ exit = -1;
+ }
+ } else {
+
+ // updates the current
+ // status accordingly
+ MessageUtils.status(false);
+
+ // the data validation failed, so
+ // the exception is displayed and
+ // the exit status is updated
+ MessageUtils.error(dataValidation.getLeft());
+ exit = -1;
+ }
+ } else {
+
+ // updates the current
+ // status accordingly
+ MessageUtils.status(false);
+
+ // the template composition failed,
+ // so the exception is displayed and
+ // the exit status is updated
+ MessageUtils.error(templateComposition.getLeft());
+ exit = -1;
+ }
+ } else {
+
+ // updates the current
+ // status accordingly
+ MessageUtils.status(false);
+
+ // the file checking failed, so
+ // the exception is displayed and
+ // the exit status is updated
+ MessageUtils.error(fileChecking.getLeft());
+ exit = -1;
+ }
+ }
+
+ // the exit status is returned,
+ // denoting whether the application
+ // was able to merge both template
+ // and data accordingly
+ return exit;
+ }
+
+ /**
+ * Ensures the data map is never pointed to a null reference.
+ */
+ private void ensureMap() {
+
+ // if the map is null, simply
+ // create a new instance
+ if (!has(map)) {
+ map = new HashMap<>();
+ }
+ }
+
+ /**
+ * Gets the file size in a human readable format.
+ *
+ * @param bytes The file size, in bytes.
+ * @return The file size in a human readable format.
+ */
+ private String getSize(long bytes) {
+ if (bytes < 1024) {
+ return bytes + " B";
+ } else {
+ int exponent = (int) (Math.log(bytes) / Math.log(1024));
+ return String.format("%.1f %cB", bytes / Math.pow(1024, exponent),
+ "KMGTPE".charAt(exponent - 1));
+ }
+ }
+
+ /**
+ * Ensures the first parameter is not null, or sets it to the second one.
+ *
+ * @param <T> The type.
+ * @param first First parameter.
+ * @param second Second parameter.
+ * @return Either the first or the second one.
+ */
+ private <T> T ensure(T first, T second) {
+ return !has(first) ? second : first;
+ }
+
+ /**
+ * Checks whether the object exists.
+ *
+ * @param object The objects.
+ * @return Boolean value indicating whether the object exists.
+ */
+ private boolean has(Object object) {
+ return object != null;
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/BooleanHandler.java b/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/BooleanHandler.java
new file mode 100644
index 0000000000..461b9fd170
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/BooleanHandler.java
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.model.handlers;
+
+import java.util.Arrays;
+
+/**
+ * Implements a boolean handler.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class BooleanHandler implements Handler {
+
+ /**
+ * Applies the conversion to the string.
+ *
+ * @param string The string.
+ * @return A list.
+ */
+ @Override
+ public Object apply(String string) {
+ return Arrays.asList("true", "1", "yes")
+ .contains(string.toLowerCase());
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/CSVListHandler.java b/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/CSVListHandler.java
new file mode 100644
index 0000000000..4b3d0c2e69
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/CSVListHandler.java
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.model.handlers;
+
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+/**
+ * Implements a CSV list handler.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class CSVListHandler implements Handler {
+
+ /**
+ * Applies the conversion to the string.
+ *
+ * @param string The string.
+ * @return A list.
+ */
+ @Override
+ public Object apply(String string) {
+ return Arrays.stream(string.split(",(?=(?:[^\"]*\""
+ + "[^\"]*\")*[^\"]*$)"))
+ .map(String::trim)
+ .filter(s -> !s.isEmpty())
+ .collect(Collectors.toList());
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/Handler.java b/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/Handler.java
new file mode 100644
index 0000000000..721224a978
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/model/handlers/Handler.java
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.model.handlers;
+
+/**
+ * Interface for handlers.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public interface Handler {
+
+ /**
+ * Apply the handler in the string.
+ *
+ * @param string The string.
+ * @return The resulting object.
+ */
+ Object apply(String string);
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/util/HandlerUtils.java b/support/texplate/source/main/java/org/islandoftex/texplate/util/HandlerUtils.java
new file mode 100644
index 0000000000..7ab01f7328
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/util/HandlerUtils.java
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.islandoftex.texplate.model.handlers.BooleanHandler;
+import org.islandoftex.texplate.model.handlers.CSVListHandler;
+import org.islandoftex.texplate.model.handlers.Handler;
+
+/**
+ * Provides the map of handlers.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class HandlerUtils {
+
+ /**
+ * Gets the map of handlers.
+ *
+ * @return Map of handlers.
+ */
+ public static Map<String, Handler> getHandlers() {
+ Map<String, Handler> handlers = new HashMap<>();
+ handlers.put("to-csv-list", new CSVListHandler());
+ handlers.put("to-boolean", new BooleanHandler());
+ return handlers;
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/util/MergingUtils.java b/support/texplate/source/main/java/org/islandoftex/texplate/util/MergingUtils.java
new file mode 100644
index 0000000000..d7ffbddc4d
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/util/MergingUtils.java
@@ -0,0 +1,186 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.util;
+
+import io.vavr.control.Try;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.exception.MethodInvocationException;
+import org.apache.velocity.exception.ParseErrorException;
+import org.apache.velocity.exception.ResourceNotFoundException;
+import org.apache.velocity.exception.TemplateInitException;
+import org.apache.velocity.runtime.RuntimeConstants;
+import org.apache.velocity.runtime.RuntimeServices;
+import org.apache.velocity.runtime.RuntimeSingleton;
+import org.apache.velocity.runtime.parser.ParseException;
+import org.islandoftex.texplate.exceptions.TemplateMergingException;
+import org.islandoftex.texplate.model.Template;
+import org.islandoftex.texplate.model.handlers.Handler;
+import org.slf4j.helpers.NOPLoggerFactory;
+
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.Writer;
+import java.nio.file.Path;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Merging utilities.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class MergingUtils {
+
+ /**
+ * Merges both template and data.
+ *
+ * @param template The template object.
+ * @param map The data map.
+ * @param output The output path.
+ * @param cmap The configuration map.
+ * @return The length of the generated output.
+ * @throws TemplateMergingException The merging failed.
+ */
+ private static long mergeTemplate(Template template,
+ Map<String, String> map, Path output,
+ Map<String, Object> cmap)
+ throws TemplateMergingException {
+
+ // create the context map
+ Map<String, Object> context = handle(template, map, cmap);
+
+ // create a file writer for
+ // the output reference
+ try (Writer writer = new FileWriter(output.toFile())) {
+
+ // the document is actually read
+ // into a string reader
+ StringReader reader = new StringReader(template.getDocument());
+
+ // load both runtime services and
+ // the template model from Velocity
+ RuntimeServices services = RuntimeSingleton.getRuntimeServices();
+ services.addProperty(RuntimeConstants.RUNTIME_LOG_INSTANCE,
+ new NOPLoggerFactory().getLogger(""));
+ org.apache.velocity.Template reference
+ = new org.apache.velocity.Template();
+
+ // set both runtime services
+ // and document data into the
+ // template document
+ reference.setRuntimeServices(services);
+ reference.setData(services.parse(reader, reference));
+ reference.initDocument();
+
+ // create the context based on
+ // the data map previously set
+ VelocityContext entries = new VelocityContext(context);
+
+ // merge both template and data
+ // into the file writer
+ reference.merge(entries, writer);
+
+ } catch (IOException | MethodInvocationException
+ | ParseErrorException | ParseException
+ | ResourceNotFoundException
+ | TemplateInitException exception) {
+
+ // an exception has happened, so a
+ // new exception is thrown, attaching
+ // the original throwable cause
+ throw new TemplateMergingException("An error occurred while "
+ + "trying to merge the template reference with the "
+ + "provided data. Make sure the template is correct "
+ + "and try again. The raised exception might give us "
+ + "some hints on what exactly happened. Typically, "
+ + "make sure the template strictly follows the "
+ + "Velocity 2.0 language syntax.", exception);
+ }
+
+ // simply return the length of
+ // the generated output file
+ return output.toFile().length();
+ }
+
+ /**
+ * Merges template and data.
+ *
+ * @param template The template model.
+ * @param map The data map.
+ * @param output The path reference.
+ * @param cmap The configuration map.
+ * @return The length of the generated output, enclosed as a Try object.
+ */
+ public static Try<Long> merge(Template template, Map<String, String> map,
+ Path output, Map<String, Object> cmap) {
+ return Try.of(() -> mergeTemplate(template, map, output, cmap));
+ }
+
+ /**
+ * Handles the context map.
+ *
+ * @param template The template model.
+ * @param map The context map.
+ * @return The new context map.
+ */
+ private static Map<String, Object> handle(Template template,
+ Map<String, String> map,
+ Map<String, Object> cmap) {
+
+ // no handlers found
+ if (template.getHandlers() == null) {
+
+ // create a new map from the
+ // command line map and put the
+ // values from the configuration
+ // file, if absent
+ Map<String, Object> result = new HashMap<>(map);
+ cmap.forEach(result::putIfAbsent);
+ return result;
+
+ } else {
+
+ // get default handlers and
+ // set the resulting map
+ Map<String, Handler> handlers = HandlerUtils.getHandlers();
+ Map<String, Object> result = new HashMap<>();
+
+ // check each key from the map
+ map.forEach((String key, String value) -> {
+
+ // there is a handler for
+ // the current key
+ if (template.getHandlers().containsKey(key)) {
+
+ // the handler seems valid
+ if (handlers.containsKey(template.getHandlers().get(key))) {
+
+ // apply the handler and
+ // store the value in the map
+ result.put(key, handlers.get(template.
+ getHandlers().get(key)).apply(value));
+ } else {
+
+ // simply store the value
+ result.put(key, value);
+ // TODO: should we warn about an invalid handler?
+ }
+ } else {
+
+ // simply store the value
+ result.put(key, value);
+ }
+ });
+
+ // put remaining values from
+ // the configuration file, if
+ // absent
+ cmap.forEach(result::putIfAbsent);
+
+ // return the map
+ return result;
+ }
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/util/MessageUtils.java b/support/texplate/source/main/java/org/islandoftex/texplate/util/MessageUtils.java
new file mode 100644
index 0000000000..948d18d953
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/util/MessageUtils.java
@@ -0,0 +1,84 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.util;
+
+import org.apache.commons.text.TextStringBuilder;
+import org.apache.commons.text.WordUtils;
+
+import java.time.LocalDate;
+
+/**
+ * Message helper methods.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class MessageUtils {
+
+ // the message width
+ private static final int WIDTH = 60;
+
+ // the application version
+ private static final String VERSION = "1.0.0";
+
+ /**
+ * Prints a line in the terminal, without a line break.
+ *
+ * @param message The message to be printed.
+ */
+ public static void line(String message) {
+ System.out.print(new TextStringBuilder()
+ .appendFixedWidthPadRight(message.concat(" "), WIDTH - 9, '.')
+ .append(" ")
+ .toString()
+ );
+ }
+
+ /**
+ * Prints the status in the terminal.
+ *
+ * @param result The boolean value.
+ */
+ public static void status(boolean result) {
+ System.out.println(result ? "[ DONE ]" : "[FAILED]");
+ }
+
+ /**
+ * Prints the error in the terminal.
+ *
+ * @param throwable The throwable reference.
+ */
+ public static void error(Throwable throwable) {
+ System.out.println(
+ new TextStringBuilder("\n")
+ .appendFixedWidthPadRight("HOUSTON, WE'VE GOT"
+ + " A PROBLEM ", WIDTH, '-')
+ .append("\n")
+ .appendln(WordUtils.wrap(throwable.getMessage(), WIDTH))
+ .appendFixedWidthPadLeft("", WIDTH, '-')
+ .append("\n")
+ .toString());
+ }
+
+ /**
+ * Prints the application logo in the terminal.
+ */
+ public static void drawLogo() {
+ System.out.println(
+ " ______ __ __ ___ __ \n" +
+ "/\\__ _\\ /\\ \\ /\\ \\ /\\_ \\ /\\ \\__ \n" +
+ "\\/_/\\ \\/ __ \\ `\\`\\/'/' _____\\//\\ \\ __ \\ \\ ,_\\ __ \n" +
+ " \\ \\ \\ /'__`\\`\\/ > < /\\ '__`\\\\ \\ \\ /'__`\\ \\ \\ \\/ /'__`\\ \n" +
+ " \\ \\ \\/\\ __/ \\/'/\\`\\\\ \\ \\L\\ \\\\_\\ \\_/\\ \\L\\.\\_\\ \\ \\_/\\ __/ \n" +
+ " \\ \\_\\ \\____\\ /\\_\\\\ \\_\\ \\ ,__//\\____\\ \\__/.\\_\\\\ \\__\\ \\____\\\n" +
+ " \\/_/\\/____/ \\/_/ \\/_/\\ \\ \\/ \\/____/\\/__/\\/_/ \\/__/\\/____/\n" +
+ " \\ \\_\\ \n" +
+ " \\/_/ \n"
+ );
+ System.out.println(
+ "TeXplate " + VERSION + ", a document structure creation tool\n" +
+ "Copyright (c) " + LocalDate.now().getYear() + ", Island of TeX\n" +
+ "All rights reserved.\n"
+ );
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/util/PathUtils.java b/support/texplate/source/main/java/org/islandoftex/texplate/util/PathUtils.java
new file mode 100644
index 0000000000..26e101b9ad
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/util/PathUtils.java
@@ -0,0 +1,123 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.util;
+
+import io.vavr.control.Try;
+import java.io.FileNotFoundException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import org.islandoftex.texplate.Main;
+
+/**
+ * Helper methods for path handling.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class PathUtils {
+
+ // the templates folder
+ private static final String TEMPLATES_FOLDER = "templates";
+
+ // the user application folder
+ private static final String USER_APPLICATION_FOLDER = ".texplate";
+
+ /**
+ * Gets the application path.
+ *
+ * @return The application path.
+ */
+ private static Path getApplicationPath() {
+ return Try.of(() -> Paths.get(Main.class.getProtectionDomain().
+ getCodeSource().getLocation().toURI().getPath()).resolve("..").
+ normalize()).getOrElse(Paths.get("."));
+ }
+
+ /**
+ * Gets the default template path.
+ *
+ * @return The default template path.
+ */
+ private static Path getDefaultTemplatePath() {
+ return getApplicationPath().resolve(TEMPLATES_FOLDER);
+ }
+
+ /**
+ * Gets the user template path.
+ *
+ * @return The user template path.
+ */
+ private static Path getUserTemplatePath() {
+ return Try.of(() -> Paths.get(System.getProperty("user.home"),
+ USER_APPLICATION_FOLDER, TEMPLATES_FOLDER)).
+ getOrElse(Paths.get("."));
+ }
+
+ /**
+ * Searchs all paths looking for the provided template.
+ *
+ * @param name The name to be associated to a template file.
+ * @return The corresponding template file.
+ * @throws FileNotFoundException The template file could not be found.
+ */
+ private static Path searchTemplatePath(String name)
+ throws FileNotFoundException {
+
+ // the file has to be a TOML format,
+ // so we add the extension
+ name = name.concat(".toml");
+
+ // the first reference is based on the
+ // user template path resolved with the
+ // file name
+ Path reference = getUserTemplatePath().resolve(name);
+
+ // if the file actually exists,
+ // the search is done!
+ if (Files.exists(reference)) {
+
+ // return the template
+ // file reference
+ return reference;
+
+ } else {
+
+ // the reference was not found in the
+ // user location, so let us try the
+ // system counterpart
+ reference = getDefaultTemplatePath().resolve(name);
+
+ // if the file actually exists,
+ // the search is done!
+ if (Files.exists(reference)) {
+
+ // return the template
+ // file reference
+ return reference;
+
+ } else {
+
+ // the file reference could not be
+ // found, so an exception is thrown
+ throw new FileNotFoundException("I am sorry, but the template "
+ + "file '" + name + "' could not be found in the "
+ + "default template locations (system and user). Make "
+ + "sure the reference is correct and try again. For "
+ + "reference, these are the paths I searched: '"
+ + getUserTemplatePath() + "' and '"
+ + getDefaultTemplatePath() + "' (in this order).");
+ }
+ }
+ }
+
+ /**
+ * Gets the template path based on the provided template name.
+ *
+ * @param name The template name.
+ * @return The template path, enclosed in a Try object.
+ */
+ public static Try<Path> getTemplatePath(String name) {
+ return Try.of(() -> searchTemplatePath(name));
+ }
+
+}
diff --git a/support/texplate/source/main/java/org/islandoftex/texplate/util/ValidatorUtils.java b/support/texplate/source/main/java/org/islandoftex/texplate/util/ValidatorUtils.java
new file mode 100644
index 0000000000..b400731242
--- /dev/null
+++ b/support/texplate/source/main/java/org/islandoftex/texplate/util/ValidatorUtils.java
@@ -0,0 +1,75 @@
+// SPDX-License-Identifier: BSD-3-Clause
+package org.islandoftex.texplate.util;
+
+import io.vavr.control.Try;
+import org.islandoftex.texplate.exceptions.InvalidKeySetException;
+import org.islandoftex.texplate.model.Template;
+
+import java.util.Map;
+
+/**
+ * Helper methods for validation.
+ *
+ * @version 1.0
+ * @since 1.0
+ */
+public class ValidatorUtils {
+
+ /**
+ * Validates the data map based on the template requirements.
+ *
+ * @param template The template.
+ * @param map The data map.
+ * @return A boolean value indicating whether the data map is valid.
+ */
+ private static boolean validateRequirements(Template template,
+ Map<String, String> map) {
+ return template.getRequirements().isEmpty() ||
+ template.getRequirements().containsAll(map.keySet());
+ }
+
+ /**
+ * Validates the template pattern and the data map and throws an exception
+ * in case of failure.
+ *
+ * @param template The template.
+ * @param map The data map.
+ * @return The data map.
+ * @throws InvalidKeySetException There are invalid keys in the map.
+ */
+ private static Map<String, String> checkValidation(Template template,
+ Map<String, String> map)
+ throws InvalidKeySetException {
+
+ // for starters, we try to validate
+ // the template requirements
+ if (validateRequirements(template, map)) {
+
+ // everything is validated, so
+ // we simply return the map
+ return map;
+
+ } else {
+
+ // the requirements were missing,
+ // so an exception is thrown
+ throw new InvalidKeySetException("The provided map does not "
+ + "contain all the keys required by the chosen "
+ + "template. Make sure to define such keys and try "
+ + "again. Check the user manual for further details.");
+ }
+ }
+
+ /**
+ * Validates the template pattern and the data map.
+ *
+ * @param template The template.
+ * @param map The data map.
+ * @return The data map, enclosed in a Try object.
+ */
+ public static Try<Map<String, String>> validate(Template template,
+ Map<String, String> map) {
+ return Try.of(() -> checkValidation(template, map));
+ }
+
+}
diff --git a/systems/mac/mactex/ExtrasFolder.pdf b/systems/mac/mactex/ExtrasFolder.pdf
index e441eabb98..45059d845c 100644
--- a/systems/mac/mactex/ExtrasFolder.pdf
+++ b/systems/mac/mactex/ExtrasFolder.pdf
Binary files differ
diff --git a/systems/mac/mactex/Licenses.txt b/systems/mac/mactex/Licenses.txt
index 7d757a693a..79a4a1e7c9 100644
--- a/systems/mac/mactex/Licenses.txt
+++ b/systems/mac/mactex/Licenses.txt
@@ -1,6 +1,6 @@
$Id: Licenses.txt,v 1.14 2007/02/28 14:23:19 herbs Exp $
-Brief summary of the licensing of the various applications included as of 2019/12/23
+Brief summary of the licensing of the various applications included as of 2020/01/13
Aquamacs Emacs (Intel) - 3.5 - gpl - http://aquamacs.org/
Aquatkbibtex - 1.3 - gpl - http://aquatkbibtex.sourceforge.net/
@@ -14,7 +14,7 @@ LaTeXiT (10.9+) - 2.14.4 - free? - http://ktd.club.fr/programma
Lyx (10.6+) - 2.3.2 - gpl - http://wiki.lyx.org/Mac/Mac
Présentation - 1.9 - gpl - http://iihm.imag.fr/blanch/software/osx-presentation/
SimpleTeX4ht - 3.3 - gpl - http://www.simpletex4ht.free.fr/
-Skim (10.7+) - 1.5.5 - bsd - http://skim-app.sourceforge.net/
+Skim (10.7+) - 1.5.6 - bsd - http://skim-app.sourceforge.net/
Symbols Widget - 1.4.3 - gpl - http://vocaro.com/trevor/software/widgets/
TeX FoG (10.4+) - 1.3.2 - gpl - http://homepage.mac.com/marco_coisson/TeXFoG/
TeX Live Utility (10.6+) - 1.35 - bsd - https://github.com/amaxwell/tlutility/releases
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index e587a0f577..e9d6ea60d0 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -50,9 +50,6 @@ $mirrors = {
'Philippines' => {
'http://mirror.pregi.net/tex-archive/' => 1
},
- 'Singapore' => {
- 'https://download.nus.edu.sg/mirror/ctan/' => 1
- },
'Taiwan' => {
'http://ftp.yzu.edu.tw/CTAN/' => 1
}
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index da9079ad40..6ebe9292dc 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2019
-depend revision/53385
+depend revision/53397
name 00texlive.image
category TLCore
-revision 53383
+revision 53393
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -1916,6 +1916,7 @@ runfiles size=4988
tlpkg/tlpsrc/he-she.tlpsrc
tlpkg/tlpsrc/hecthese.tlpsrc
tlpkg/tlpsrc/helvetic.tlpsrc
+ tlpkg/tlpsrc/hep-paper.tlpsrc
tlpkg/tlpsrc/hep.tlpsrc
tlpkg/tlpsrc/hepnames.tlpsrc
tlpkg/tlpsrc/hepparticles.tlpsrc
@@ -4138,7 +4139,7 @@ depend opt_w32_multi_user:1
name 00texlive.installer
category TLCore
-revision 53367
+revision 53387
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
@@ -17820,7 +17821,7 @@ catalogue-version 1.3.4
name apa6
category Package
-revision 48546
+revision 53390
shortdesc Format documents in APA style (6th edition)
relocated 1
longdesc The class formats documents in APA style (6th Edition). It
@@ -17831,10 +17832,10 @@ longdesc only formats double-spaced manuscripts in APA style. The class
longdesc can mask author identity for copies for use in masked peer
longdesc review. The class is a development of the apa class (which is
longdesc no longer maintained).
-containersize 13780
-containerchecksum 338e7bc7d97fc2b9c322d00fdc084d76e025584fc4584bc253f44ecedd6774cce38913e8ad0c08bb6bc64b63b83702d0a13e896f2e87b0760129e1b734b15fd1
-doccontainersize 565384
-doccontainerchecksum 2e34f5094708aad343a716d96be89aaca2c86dc08da5280ad2146013e3df635ab9e49b814efb1166a9e43a3b98245f92f2e5144637bd96c13ee4e1a59b2ad04d
+containersize 13760
+containerchecksum f9b0f40d6363d1b0b1e3af058634c265edb79c23953d1e54f58f9a831241b9be4152ebbdc5a76908ad9881b38387909dc0d3aa602a970f1eafb64d4d5be5a78d
+doccontainersize 565088
+doccontainerchecksum a95f0753777192551b714986808fdfa5d8fbe5d55a292c4aa6e85b3b8d07663c29bd1a093be7e4ded972d6229e08aa55b1f1f390550a8448f92fcbb571a201c6
docfiles size=163
RELOC/doc/latex/apa6/README details="Readme"
RELOC/doc/latex/apa6/apa6.pdf details="Package documentation"
@@ -17844,8 +17845,8 @@ docfiles size=163
RELOC/doc/latex/apa6/samples/bibliography.bib
RELOC/doc/latex/apa6/samples/longsample.tex
RELOC/doc/latex/apa6/samples/shortsample.tex
-srccontainersize 37104
-srccontainerchecksum f73170f6eeadfe27dcaf0ffa7b66232eb7da5246b1630ce5794aebd6a6faec0233a3f148225a2df4e7c95af38d5005fe84e1e3cac1011bc7b0398113fd49d9d2
+srccontainersize 37332
+srccontainerchecksum edada315afc406f95e61851842a70910349bfb5589c3d83a7ba509b1af5f8188284c12fa57148216a5b41b1776894e2d3360a5553df1e806ed96894dcf686b48
srcfiles size=44
RELOC/source/latex/apa6/apa6.dtx
RELOC/source/latex/apa6/apa6.ins
@@ -17864,7 +17865,7 @@ runfiles size=27
catalogue-ctan /macros/latex/contrib/apa6
catalogue-license lppl1.3c
catalogue-topics class apa psychology journalpub
-catalogue-version 2.33
+catalogue-version 2.34
name apa6e
category Package
@@ -21926,7 +21927,7 @@ catalogue-version 2.2b
name ascmac
category Package
-revision 46904
+revision 53391
shortdesc Boxes and picture macros with Japanese vertical writing support
relocated 1
longdesc The bundle provides boxes and picture macros with Japanese
@@ -21934,16 +21935,16 @@ longdesc vertical writing support. It uses only native picture macros
longdesc and fonts for drawing boxes and is thus driver-independent.
longdesc Formerly part of the Japanese pLaTeX bundle, it now supports
longdesc all LaTeX engines.
-containersize 16664
-containerchecksum e2ce69f4352eb45549488c4fdd26f9acb1b0dea0db86864de95fd72fc0f7f7b5105748bd54449578e6d13a33fc28503e3bba73a4bdd88466b7de3925c4e47a45
-doccontainersize 153588
-doccontainerchecksum 64597bc037ac6760a14164ea55a32513f0e3b3026bf2e371247e528bc6acf071e81fe8b5dc724ed17ebe75cbacc3ff005c19539804a8f1984bdd825a1ad39513
-docfiles size=40
+containersize 16680
+containerchecksum 2b81aa24a734e2b7865d3f9e3054b821324c436c50cfcc2b13e55623d05a6c255690c3fc25f0abf690f74e5a9af0f4ebaaad34bb46357f5eda9a7d131beff5e1
+doccontainersize 157668
+doccontainerchecksum 78f9851cbf508ad1189f47b13a4165c16478380235eec02fc7a26a6109ac1926ac6cf52bc51d2206de2263f83ebd7503eb52700f4aba95ab619be66d45dd0e6c
+docfiles size=41
RELOC/doc/latex/ascmac/LICENSE
RELOC/doc/latex/ascmac/README.md details="Readme"
RELOC/doc/latex/ascmac/ascmac.pdf details="Package documentation (Japanese)" language="ja"
-srccontainersize 8596
-srccontainerchecksum 026990d150f593a23381862b25adc6b93784edf02951089f3417492250fa9bf4873162b7869ad9f182b4ff62504dd4a24dc8a259f83e07e43499e01e40068108
+srccontainersize 8664
+srccontainerchecksum 9aca9a02796ff99b56aad2e95e2bc15dc0a521df5311520e45ec1f55edc33389bd38c793c967efa69eb2a061300d0671afc651d581a3f5df5238bf074ec15eca
srcfiles size=9
RELOC/source/latex/ascmac/Makefile
RELOC/source/latex/ascmac/ascmac.dtx
@@ -21965,7 +21966,7 @@ catalogue-contact-repository https://github.com/texjporg/ascmac
catalogue-ctan /macros/latex/contrib/ascmac
catalogue-license bsd3
catalogue-topics boxing japanese
-catalogue-version 2.0h
+catalogue-version 2.0i
name askinclude
category Package
@@ -65389,7 +65390,7 @@ containerchecksum 336ecc5633674197d366aa52ad2ce650378868110ccc8203c64b9a2ebb69cf
name collection-publishers
category Collection
-revision 53250
+revision 53393
shortdesc Publisher styles, theses, etc.
relocated 1
depend collection-latex
@@ -65472,6 +65473,7 @@ depend h2020proposal
depend hagenberg-thesis
depend har2nat
depend hecthese
+depend hep-paper
depend hithesis
depend hobete
depend hu-berlin-bundle
@@ -65617,8 +65619,8 @@ depend wsemclassic
depend yathesis
depend yazd-thesis
depend york-thesis
-containersize 1464
-containerchecksum 8bba0f1afa11cbdcb0e91e8ea80398063f904138fd8a30b927f01de5a8ba2dd5ae3c5f81c05a5e44c7f7b864c6ce8e2ff9c3b7b818eb5168da9c1b33f93ab49f
+containersize 1468
+containerchecksum e45fc9212332f8f83c4bb294c2d4f27b800471e9ec4ff1b770fdafa857aa09a345d6130d8d33bbe777a0df9f6b0fdc4520128f60e8721f3d23b72a35e763ade7
name collection-texworks
category Collection
@@ -106875,7 +106877,7 @@ catalogue-version 1.8
name fancyvrb
category Package
-revision 52710
+revision 53392
shortdesc Sophisticated verbatim text
relocated 1
longdesc Flexible handling of verbatim text including: verbatim commands
@@ -106884,11 +106886,11 @@ longdesc parameters; ability to define new customized verbatim
longdesc environments; save and restore verbatim text and environments;
longdesc write and read files in verbatim mode; build "example"
longdesc environments (showing both result and verbatim source).
-containersize 11612
-containerchecksum c7f8e5af98403361f5bc5e708b4d29fafa13b76af896f8751f7cca4d8a61015f2b65587245f6c2aa7cb4722d507cb75a61db2a5649f2788433f59636a45a8de0
-doccontainersize 150300
-doccontainerchecksum d9420818e5b03471cabd4e725681dd7e72621e8bfdb9d085de9f1883439a915321874f06087bc7dce9fb2597fcc05bc0f175c5adb0ad650615d00fe8e61b8525
-docfiles size=47
+containersize 11676
+containerchecksum 18e96a9e2f0d397e83af318f2bdec75b9ccc819c1961ed3d1898ec5cdcdeee8d9f6cd3659e11184495045110ff9637088dd61382c039504722e0119da8c67af2
+doccontainersize 141392
+doccontainerchecksum cbae429b29f1bf6d6fd78f449e7b81cf81069db3cbfcc3aaabbc686f3c390db2bacfd13c483ed9bdfe8424276839a17d2ace710612cf014bdc27820cb16bb4fd
+docfiles size=45
RELOC/doc/latex/fancyvrb/Changes
RELOC/doc/latex/fancyvrb/README details="Readme"
RELOC/doc/latex/fancyvrb/fancyvrb-doc.pdf details="Package documentation"
@@ -106901,7 +106903,7 @@ runfiles size=17
catalogue-ctan /macros/latex/contrib/fancyvrb
catalogue-license lppl1.3
catalogue-topics verbatim
-catalogue-version 3.4
+catalogue-version 3.5
name fandol
category Package
@@ -113249,7 +113251,7 @@ catalogue-version 4.3
name firamath
category Package
-revision 51333
+revision 53388
shortdesc Fira sans serif font with Unicode math support
relocated 1
longdesc Fira Math is a sans-serif font with Unicode math support. The
@@ -113257,10 +113259,10 @@ longdesc design of this font is based on Fira Sans and FiraGO. Fira Math
longdesc is distributed in OpenType format and can be used with the
longdesc unicode-math package under XeLaTeX or LuaLaTeX. More support is
longdesc offered by the firamath-otf package.
-containersize 98336
-containerchecksum 0a2e603e05302bc9dff0ac983b9f05e62cf085a89056eceb8c82aa8fe1d94b40fd8be48ab30a59cbd5a48cfea4f9da0e0060adc73d4cf76af5c03e0f3162560a
-doccontainersize 546744
-doccontainerchecksum f00a37d702ed8e38a841d308e51efee4c6b474a56dd4ccb9c1b395386da6e0de16be9cfce9acc7486bf5a000e0553bc1a47aeb189b4e7829db4bdd6c0739dfc1
+containersize 84996
+containerchecksum 282d1d6dc2f414c4fbeb0267ecbc52446c125e3195d82f5ecc60f1c659b0e92607fe2621f8627835732a8428d5028df47e3b75a8da051fc3da8ecfe9eb5eab1d
+doccontainersize 535448
+doccontainerchecksum d8d3ebd6c529a7e518597b9de2372ea8aa6e07f39c281e904c2654ee575caf200bf3e18d8a9d98861aa1102be13d64d12e18860ec046374418e8226360e3aeef
docfiles size=155
RELOC/doc/fonts/firamath/README.md details="Readme"
RELOC/doc/fonts/firamath/firamath-demo.pdf details="Example of use"
@@ -113268,7 +113270,7 @@ docfiles size=155
RELOC/doc/fonts/firamath/firamath-glyph-list.tex
RELOC/doc/fonts/firamath/firamath-specimen.pdf details="Package documentation"
RELOC/doc/fonts/firamath/firamath-specimen.tex
-runfiles size=44
+runfiles size=38
RELOC/fonts/opentype/public/firamath/FiraMath-Regular.otf
catalogue-also fira firamath-otf gfsneohellenicmath
catalogue-contact-bugs https://github.com/firamath/firamath/issues
@@ -113277,7 +113279,7 @@ catalogue-contact-repository https://github.com/firamath/firamath
catalogue-ctan /fonts/firamath
catalogue-license ofl
catalogue-topics font font-otf font-sans font-maths
-catalogue-version 0.3.2
+catalogue-version 0.3.3
name firamath-otf
category Package
@@ -127670,6 +127672,41 @@ catalogue-license lppl
catalogue-topics physics
catalogue-version 1.0
+name hep-paper
+category Package
+revision 53393
+shortdesc Publications in High Energy Physics
+relocated 1
+longdesc This package aims to provide a single style file containing
+longdesc most configurations and macros necessary to write appealing
+longdesc publications in High Energy Physics. Instead of reinventing the
+longdesc wheel by introducing newly created macros, hep-paper preferably
+longdesc loads third party packages as long as they are light-weight
+longdesc enough. For usual publications it suffices to load the
+longdesc hep-paper package, without optional arguments, in addition to
+longdesc the article class.
+containersize 3436
+containerchecksum 3b0378e1ee99a8fbda42713c61969c967357b645745959a3e7e3a8a182789b2f2b1855cf13eff2fa9f0c4830b1814bcff52e2503f4c7c289e7d554775448909d
+doccontainersize 427356
+doccontainerchecksum 5d9b52511d2fdcae8f16c0c9eb0cb4306f18c06e3a97c7a1b3b9246d736f823642bd0e7e178ae4f379445fe0dc55f6172c5c4ea4c7740d94b79b4fdf6b32bd60
+docfiles size=107
+ RELOC/doc/latex/hep-paper/README.md details="Readme"
+ RELOC/doc/latex/hep-paper/bibliography.bib
+ RELOC/doc/latex/hep-paper/hep-paper.pdf details="Package documentation"
+srccontainersize 9496
+srccontainerchecksum fa35abf6157e74ccdb7d86e1d55d688a2fc7bab06f4ccfd84253141cefd265e872a494204425ee643c35490f695af4566331f456d752444acf7269c75f87758e
+srcfiles size=9
+ RELOC/source/latex/hep-paper/hep-paper.dtx
+ RELOC/source/latex/hep-paper/hep-paper.ins
+runfiles size=2
+ RELOC/tex/latex/hep-paper/hep-paper.sty
+catalogue-contact-bugs https://github.com/janhajer/hep-paper/issues
+catalogue-contact-repository https://github.com/janhajer/hep-paper
+catalogue-ctan /macros/latex/contrib/hep-paper
+catalogue-license lppl1.3c
+catalogue-topics physics
+catalogue-version 1.1
+
name hepnames
category Package
revision 35722
@@ -149950,7 +149987,7 @@ binfiles arch=x86_64-solaris size=1
name l3experimental
category Package
-revision 52357
+revision 53394
shortdesc Experimental LaTeX3 concepts
relocated 1
longdesc The l3experimental packages are a collection of experimental
@@ -149973,11 +150010,11 @@ longdesc 'handle' positions, supplementing the simple TeX reference
longdesc point; xgalley, which controls boxes receiving text for
longdesc typesetting.
depend l3kernel
-containersize 25104
-containerchecksum e69ab380e3039e4b449c811f201e6ad8bcabbd74cfb887e18a2760d391ce7d0d253ef152e2a27857cb182ad867629b5a4a1982ae4253d618bd1f2ab147a42c06
-doccontainersize 3869360
-doccontainerchecksum 40da1995d9b5932dbe4278f0c24ba512f6880c048e04b1e38ea7fdfe47a60ae6b0ff07c2133f7faa3d901b5c5a29716ad8e373256ad65f9684b027e36d734724
-docfiles size=1186
+containersize 25084
+containerchecksum 30b8d6b71c62cff716887c08830ed6a28c39056a833722e7cb93163e174eddae21ecf597f9090b12887fdec7da447ff7f4a00fa0cd352974e5de838a4858d264
+doccontainersize 3870792
+doccontainerchecksum 2d050b481cfef489a6373b4ca8c7bb765148d11dc90f49c86d2484fdee58be940e7e294168c0ce0fe62fe9c4ea70bc76d915a0ae3e55148a66a4a2355c74ca1e
+docfiles size=1185
RELOC/doc/latex/l3experimental/CHANGELOG.md
RELOC/doc/latex/l3experimental/README.md details="Readme"
RELOC/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf details="l3benchmark documentation"
@@ -149995,8 +150032,8 @@ docfiles size=1186
RELOC/doc/latex/l3experimental/xcoffins/xcoffins.pdf details="xcoffins documentation"
RELOC/doc/latex/l3experimental/xgalley/l3galley.pdf
RELOC/doc/latex/l3experimental/xgalley/xgalley.pdf details="xgalley documentation"
-srccontainersize 84956
-srccontainerchecksum 2483730b0b0ab47b55c09f0d51c87f427b0f4c1c5967057a907807f04f3c9fbf977068156ee8ac2ac1b8203feaac826da602e4cb894cca5eec7d6f1ca90b17e3
+srccontainersize 84892
+srccontainerchecksum 4fb4229da07eed9d0b79fc08082255a04a3b9d78fd0c9190afb25708eb44c07f11544a55eee7afc4faff53dbaa7454ac3573b8beccfb5b8dcd7e79bf49521f44
srcfiles size=139
RELOC/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
RELOC/source/latex/l3experimental/l3benchmark/l3benchmark.ins
@@ -150047,7 +150084,7 @@ catalogue-topics macro-supp layout latex3 pre-release
name l3kernel
category Package
-revision 52681
+revision 53394
shortdesc LaTeX3 programming conventions
relocated 1
longdesc The l3kernel bundle provides an implementation of the LaTeX3
@@ -150057,17 +150094,43 @@ longdesc LaTeX3 kernel and other future code are built: it is an API for
longdesc TeX programmers. The packages are set up so that the LaTeX3
longdesc conventions can be used with regular LaTeX2e packages.
depend l3backend
-containersize 145800
-containerchecksum eb9842d160198ce76f904c07352458d505898c719b9279b640e28061b699b49ab2f054a4ee6898ede3a6e1ee7d4e9f6283dea78fced53b83f475e4e5ac0ff7ac
-doccontainersize 7963972
-doccontainerchecksum b260617bf7b414141e02a56abab65bd3448407dda7d1540be5f30b1a59d687e08ab2148c7e25a3f209dd4ab0b83ead0991469cadb97beeb542b754a00b1acb4f
-docfiles size=2198
+containersize 148048
+containerchecksum cd2b4f52dcc1f8f871a62806cc3831deb31c8dac6f8e40424734b114bb9b62efdaaa6bebabe1204b905d535c2d0ad99f8ad1721c7ed74ae8cf66dce2402a689b
+doccontainersize 9993752
+doccontainerchecksum 9ff32f16d20b5742ff61519bd62e5ff6a48c1bac0ed3c3232e4b969a42486eae3326f3e08aeafefdd08ad42e6461a9061d33bd5763248b22c3de781f6c2318fd
+docfiles size=2823
RELOC/doc/latex/l3kernel/CHANGELOG.md
RELOC/doc/latex/l3kernel/README.md details="Readme"
RELOC/doc/latex/l3kernel/expl3.pdf details="The LaTeX3 Programming Language"
RELOC/doc/latex/l3kernel/interface3.pdf details="The LaTeX3 interfaces"
RELOC/doc/latex/l3kernel/interface3.tex
RELOC/doc/latex/l3kernel/l3docstrip.pdf
+ RELOC/doc/latex/l3kernel/l3news.pdf
+ RELOC/doc/latex/l3kernel/l3news.tex
+ RELOC/doc/latex/l3kernel/l3news01.pdf
+ RELOC/doc/latex/l3kernel/l3news01.tex
+ RELOC/doc/latex/l3kernel/l3news02.pdf
+ RELOC/doc/latex/l3kernel/l3news02.tex
+ RELOC/doc/latex/l3kernel/l3news03.pdf
+ RELOC/doc/latex/l3kernel/l3news03.tex
+ RELOC/doc/latex/l3kernel/l3news04.pdf
+ RELOC/doc/latex/l3kernel/l3news04.tex
+ RELOC/doc/latex/l3kernel/l3news05.pdf
+ RELOC/doc/latex/l3kernel/l3news05.tex
+ RELOC/doc/latex/l3kernel/l3news06.pdf
+ RELOC/doc/latex/l3kernel/l3news06.tex
+ RELOC/doc/latex/l3kernel/l3news07.pdf
+ RELOC/doc/latex/l3kernel/l3news07.tex
+ RELOC/doc/latex/l3kernel/l3news08.pdf
+ RELOC/doc/latex/l3kernel/l3news08.tex
+ RELOC/doc/latex/l3kernel/l3news09.pdf
+ RELOC/doc/latex/l3kernel/l3news09.tex
+ RELOC/doc/latex/l3kernel/l3news10.pdf
+ RELOC/doc/latex/l3kernel/l3news10.tex
+ RELOC/doc/latex/l3kernel/l3news11.pdf
+ RELOC/doc/latex/l3kernel/l3news11.tex
+ RELOC/doc/latex/l3kernel/l3news12.pdf
+ RELOC/doc/latex/l3kernel/l3news12.tex
RELOC/doc/latex/l3kernel/l3obsolete.txt
RELOC/doc/latex/l3kernel/l3prefixes.csv
RELOC/doc/latex/l3kernel/l3prefixes.pdf
@@ -150081,9 +150144,9 @@ docfiles size=2198
RELOC/doc/latex/l3kernel/source3.pdf
RELOC/doc/latex/l3kernel/source3.tex
RELOC/doc/latex/l3kernel/source3body.tex
-srccontainersize 525276
-srccontainerchecksum e035c0b74477266b62a6bf5d3afdef867d065b638668d375feb26581c5098b80cb4bf6e5f42ad160a754dcd0bf68fca23594cc9784a54942e9104dfe0f7a5143
-srcfiles size=808
+srccontainersize 528792
+srccontainerchecksum 29fba5081c5662c68f496f9bbef340d5c4471d6237c766b2605110bd550afd6d11a7586a352f7136026112b0f8090b854bf58e0a3f0034d3e776301a3c6159d3
+srcfiles size=815
RELOC/source/latex/l3kernel/expl3.dtx
RELOC/source/latex/l3kernel/l3.ins
RELOC/source/latex/l3kernel/l3alloc.dtx
@@ -150135,11 +150198,13 @@ srcfiles size=808
RELOC/source/latex/l3kernel/l3str-convert.dtx
RELOC/source/latex/l3kernel/l3str.dtx
RELOC/source/latex/l3kernel/l3sys.dtx
+ RELOC/source/latex/l3kernel/l3text-case.dtx
+ RELOC/source/latex/l3kernel/l3text.dtx
RELOC/source/latex/l3kernel/l3tl-analysis.dtx
RELOC/source/latex/l3kernel/l3tl.dtx
RELOC/source/latex/l3kernel/l3token.dtx
RELOC/source/latex/l3kernel/l3unicode.dtx
-runfiles size=301
+runfiles size=308
RELOC/tex/latex/l3kernel/expl3-code.tex
RELOC/tex/latex/l3kernel/expl3-generic.tex
RELOC/tex/latex/l3kernel/expl3.ltx
@@ -150174,7 +150239,7 @@ catalogue-topics format latex3 pre-release
name l3packages
category Package
-revision 52357
+revision 53394
shortdesc High-level LaTeX3 concepts
relocated 1
longdesc This collection contains implementations for aspects of the
@@ -150192,10 +150257,10 @@ longdesc provides a means of defining generic functions using a
longdesc key-value syntax xfrac, which provides flexible split-level
longdesc fractions
depend l3kernel
-containersize 19860
-containerchecksum eabaa7d60a77ab4dd9b4ae96e5b5cd1a93bcc4e5c4ee0259c3f3dd7856f1844b1b1b7eb4dd9cbab5b9b8803483ff1d9b1b84618d627a2bbf157472aa3db46289
-doccontainersize 1728212
-doccontainerchecksum 6f296faeabe88c7a1d6b47b2ae491c138be85b1fe93611f51eba8d756225d569d3c415969ac1907b08c6cb8885ee2f98f0063e43eb7907bbd8cc805588e51be8
+containersize 19836
+containerchecksum f212cb9b0c7010b71b952a39bfb49497601ac9131441aa782fb9c044ea7bf82e80767ce8e7e12ff1b5337f4a2625c28a8c44c160fef9beac9a5871e43bfdc6ef
+doccontainersize 1727964
+doccontainerchecksum 13e94303724ec246e99ce81f346171c9fafe5e6701fd8fe40fc5dba6d2200a6ac854f30baea3f06f9c91b0c379a3c18350a113ce68b11308c1de85c2c9af468e
docfiles size=495
RELOC/doc/latex/l3packages/CHANGELOG.md
RELOC/doc/latex/l3packages/README.md details="Readme"
@@ -150205,8 +150270,8 @@ docfiles size=495
RELOC/doc/latex/l3packages/xfrac/xfrac.pdf details="xfrac documentation"
RELOC/doc/latex/l3packages/xparse/xparse.pdf details="xparse documentation"
RELOC/doc/latex/l3packages/xtemplate/xtemplate.pdf details="xtemplate documentation"
-srccontainersize 64820
-srccontainerchecksum 59a319d8832072e9cf57cd5a3d4a9b0173bf8357f8714e587b2b1b50d84ae2a59e9ab9f8284f79f110d27e6e513c389ce5c95957811f2ff7039dd12eb1ae3ec4
+srccontainersize 64824
+srccontainerchecksum 0d7c2c4e6db0678e9598c2df1b9a9d8be37fbba8666d9d10b0dd3c86659d46cd9b9de13496cabee843ebd65244e297232ce0e18f78b070c0513eb89dd2542bcb
srcfiles size=89
RELOC/source/latex/l3packages/l3keys2e/l3keys2e.dtx
RELOC/source/latex/l3packages/l3keys2e/l3keys2e.ins
@@ -151431,7 +151496,7 @@ catalogue-version 2020-02-01 pre-release 1
name latex-base-dev
category Package
-revision 52871
+revision 53395
shortdesc Development pre-release of the LaTeX kernel
relocated 1
longdesc This package provides a testing release for upcoming LaTeX2e
@@ -151441,11 +151506,11 @@ longdesc users is required by adding these changes to the release LaTeX
longdesc kernel. Typically, the code here will be used by a TeX system
longdesc to create dedicated formats, for example pdflatex-dev, which
longdesc can then be used explicitly for testing.
-containersize 160176
-containerchecksum 2d3539031652e6854298626462e44b45a0f8fe01edad643709523cc702ed9cfe3ae053ee40b3d12919be72984318f3622897b676fa937fd613e8c9e1f70e5715
-doccontainersize 17910724
-doccontainerchecksum e2de366536083b108a3546baefe91cd1e37f8610e0e5df08046f1912b26603399af913794b336085079ddbd87cbf46006b3111a2601eeeb7208f7246f8876d42
-docfiles size=5541
+containersize 167640
+containerchecksum 74b7cb7973f1a8ee1d829f2baca36e21c6de2de80676519727d3401923546adc3a39ae5701fd9f3eaf07dbc2be22dac974ebf5d230d1e179347420f716ec1af3
+doccontainersize 17410204
+doccontainerchecksum 05a6e38a592a14a11913592a8541b654464039d15dca03d2bd0f5d0f64d7f0abc951d066a32cd3a933a9f2e1d33945bc3836f218212efae55eea53f6e0131b33
+docfiles size=5563
RELOC/doc/latex-dev/base/README.md details="Readme"
RELOC/doc/latex-dev/base/alltt.pdf
RELOC/doc/latex-dev/base/bugs.txt
@@ -151575,9 +151640,9 @@ docfiles size=5541
RELOC/doc/latex-dev/base/utf8ienc.pdf
RELOC/doc/latex-dev/base/webcomp.err
RELOC/doc/latex-dev/base/webcomp.pdf
-srccontainersize 499632
-srccontainerchecksum 8ad47cc1451f5c90e28aa49dcd11068e404de9a9e2eb5e6012bd52d5f4b10f9e2fc56ca496b2fb7b166410ab400d61726063e609b0cb604fcd7b49f235536c4d
-srcfiles size=736
+srccontainersize 522644
+srccontainerchecksum 078ce54f2f21a2d4a49d06ac0e27116799b7d4b5735a580ca06315d1c574fd72774efe175b6b9ae6d9ab053cd9aa847fb255cf5bb37342a1943fd642a33c62db
+srcfiles size=774
RELOC/source/latex-dev/base/alltt.dtx
RELOC/source/latex-dev/base/alltt.ins
RELOC/source/latex-dev/base/classes.dtx
@@ -151623,6 +151688,7 @@ srcfiles size=736
RELOC/source/latex-dev/base/ltfinal.dtx
RELOC/source/latex-dev/base/ltfloat.dtx
RELOC/source/latex-dev/base/ltfntcmd.dtx
+ RELOC/source/latex-dev/base/ltfssaxes.dtx
RELOC/source/latex-dev/base/ltfssbas.dtx
RELOC/source/latex-dev/base/ltfsscmp.dtx
RELOC/source/latex-dev/base/ltfssdcl.dtx
@@ -151647,6 +151713,7 @@ srcfiles size=736
RELOC/source/latex-dev/base/ltsect.dtx
RELOC/source/latex-dev/base/ltspace.dtx
RELOC/source/latex-dev/base/lttab.dtx
+ RELOC/source/latex-dev/base/lttextcomp.dtx
RELOC/source/latex-dev/base/ltthm.dtx
RELOC/source/latex-dev/base/ltvers.dtx
RELOC/source/latex-dev/base/ltxdoc.dtx
@@ -151671,7 +151738,7 @@ srcfiles size=736
RELOC/source/latex-dev/base/tulm.ins
RELOC/source/latex-dev/base/unpack.ins
RELOC/source/latex-dev/base/utf8ienc.dtx
-runfiles size=428
+runfiles size=461
RELOC/tex/latex-dev/base/alltt.sty
RELOC/tex/latex-dev/base/ansinew.def
RELOC/tex/latex-dev/base/applemac.def
@@ -151805,6 +151872,7 @@ runfiles size=428
RELOC/tex/latex-dev/base/t2cenc.dfu
RELOC/tex/latex-dev/base/testpage.tex
RELOC/tex/latex-dev/base/texsys.cfg
+ RELOC/tex/latex-dev/base/textcomp-2018-08-11.sty
RELOC/tex/latex-dev/base/textcomp.sty
RELOC/tex/latex-dev/base/tracefnt.sty
RELOC/tex/latex-dev/base/ts1cmr.fd
@@ -151833,7 +151901,7 @@ catalogue-also latex-base
catalogue-ctan /macros/latex-dev/base
catalogue-license lppl1.3c
catalogue-topics format class
-catalogue-version 2020-02-01 pre-release 2
+catalogue-version 2020-02-02 pre-release 3
name latex-bib-ex
category Package
@@ -154676,18 +154744,18 @@ catalogue-topics distribution
name latex-tools-dev
category Package
-revision 52866
+revision 53395
shortdesc Development pre-release of the LaTeX tools bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX tools
longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 41088
-containerchecksum 257f43169792ccab945cf5df0e6f0f40348c5cefbd0dcf0424bf46ed3e7ad41f467d59e4b87aaa038df3d15510328422f55a0bdc6f49a91f3193d51dbf4f5e29
-doccontainersize 5220664
-doccontainerchecksum a2e6d117427bd9c8f4474cd3325e841204435c59d648c535bea610e2b3dd49ab1e2c1df3d34dcb0978257c765203c701eda9e8d83705b5b5ed7e3425699ca6da
-docfiles size=1645
+containersize 34968
+containerchecksum a08d03a73233c68b91b9e6cf9f403045d9d4e5019a94071cd6a247806b644d7dec64a2d38f95b1f546995388940d0a951636a1d2fca2e97a5fcb0efd6cdba3df
+doccontainersize 5207816
+doccontainerchecksum 67594a7290750fe0a5d2ab13f8becc239ed6b34cd0e439895bc3d257898b64e98ae1420b6bafc32d7b1051c9e38c72347e8b577285c276ef2c76ed1e1d24bcd7
+docfiles size=1640
RELOC/doc/latex-dev/tools/README.md details="Readme"
RELOC/doc/latex-dev/tools/afterpage.pdf
RELOC/doc/latex-dev/tools/array.pdf
@@ -154719,8 +154787,8 @@ docfiles size=1645
RELOC/doc/latex-dev/tools/verbatim.pdf
RELOC/doc/latex-dev/tools/xr.pdf
RELOC/doc/latex-dev/tools/xspace.pdf
-srccontainersize 223892
-srccontainerchecksum cbec041355200e11593f816299ad77a0fc3986fe3c3afb1a7ad03c23c1258b87e8df0e2acd9a543851adc293ce57e9b66c6ebaf2b5bd241b2ece6dbeb3030c6b
+srccontainersize 224236
+srccontainerchecksum ba28a7b892e630b5648d3461d8a6286df0e712b69e9b5a21a911f76fb1d2e9cf99fdf350d7ce2fdf11c2c650738432eb9e1aa17b04e1929d63450fd3517f03d5
srcfiles size=264
RELOC/source/latex-dev/tools/afterpage.dtx
RELOC/source/latex-dev/tools/afterpage.ins
@@ -154755,32 +154823,22 @@ srcfiles size=264
RELOC/source/latex-dev/tools/verbatim.dtx
RELOC/source/latex-dev/tools/xr.dtx
RELOC/source/latex-dev/tools/xspace.dtx
-runfiles size=99
- RELOC/tex/latex-dev/tools/.tex
+runfiles size=81
RELOC/tex/latex-dev/tools/afterpage.sty
RELOC/tex/latex-dev/tools/array-2016-10-06.sty
RELOC/tex/latex-dev/tools/array.sty
RELOC/tex/latex-dev/tools/bm.sty
- RELOC/tex/latex-dev/tools/calc.sty
RELOC/tex/latex-dev/tools/dcolumn.sty
RELOC/tex/latex-dev/tools/delarray.sty
- RELOC/tex/latex-dev/tools/e.tex
RELOC/tex/latex-dev/tools/enumerate.sty
RELOC/tex/latex-dev/tools/fontsmpl.sty
RELOC/tex/latex-dev/tools/fontsmpl.tex
RELOC/tex/latex-dev/tools/ftnright.sty
- RELOC/tex/latex-dev/tools/h.tex
RELOC/tex/latex-dev/tools/hhline.sty
- RELOC/tex/latex-dev/tools/indentfirst.sty
- RELOC/tex/latex-dev/tools/layout.sty
RELOC/tex/latex-dev/tools/longtable.sty
RELOC/tex/latex-dev/tools/multicol-2017-04-11.sty
RELOC/tex/latex-dev/tools/multicol.sty
- RELOC/tex/latex-dev/tools/q.tex
- RELOC/tex/latex-dev/tools/r.tex
RELOC/tex/latex-dev/tools/rawfonts.sty
- RELOC/tex/latex-dev/tools/s.tex
- RELOC/tex/latex-dev/tools/shellesc.sty
RELOC/tex/latex-dev/tools/showkeys.sty
RELOC/tex/latex-dev/tools/somedefs.sty
RELOC/tex/latex-dev/tools/tabularx.sty
@@ -154791,18 +154849,16 @@ runfiles size=99
RELOC/tex/latex-dev/tools/thm.sty
RELOC/tex/latex-dev/tools/thmb.sty
RELOC/tex/latex-dev/tools/thp.sty
- RELOC/tex/latex-dev/tools/trace.sty
RELOC/tex/latex-dev/tools/varioref-2016-02-16.sty
RELOC/tex/latex-dev/tools/varioref.sty
RELOC/tex/latex-dev/tools/verbatim.sty
RELOC/tex/latex-dev/tools/verbtest.tex
- RELOC/tex/latex-dev/tools/x.tex
RELOC/tex/latex-dev/tools/xr.sty
RELOC/tex/latex-dev/tools/xspace.sty
catalogue-ctan /macros/latex-dev/required/tools
catalogue-license lppl1.3c
catalogue-topics collection
-catalogue-version 2020-02-01 pre-release 1
+catalogue-version 2020-02-01 pre-release 3
name latex-uni8
category Package
@@ -268175,7 +268231,7 @@ catalogue-topics shortcut physics
name svg
category Package
-revision 52500
+revision 53389
shortdesc Include and extract SVG pictures in LaTeX documents
relocated 1
longdesc This bundle contains the two packages svg and svg-extract. The
@@ -268190,10 +268246,10 @@ longdesc of the graphicx package. In addition, the package svg-extract
longdesc allows the extraction of these graphics into independent files
longdesc in different graphic formats, exactly as it is rendered within
longdesc the LaTeX document, using either ImageMagick or Ghostscript.
-containersize 13172
-containerchecksum 19f33e2f22fa6b021843402e9925fc7770e8b2755bd587cbed20c7400ecdb9d2e56b1d2a0665459d2fc11e586f55c1f194041da1b23fc0e27ef17339cccf0e12
-doccontainersize 1065596
-doccontainerchecksum 3f55399218eb4a8108e6d2abf4e993f9d2cd5727f8ed521aa66984ecd8099de552ea9025e68e08435f162c2165c782b918437b002ec280794f73c37d89792d9e
+containersize 13148
+containerchecksum 9996c9d7bb018bf4526f91aef707192f748a04e3dda7cb61b27c9d69e44cb1492f08fb658d599ab2800224c9dc475305c747d433b14284144b73dbecf4f4a2cc
+doccontainersize 1065576
+doccontainerchecksum 31b6ce351b84f164683ea4bd33cc8dac41898022a966cf986f5d16ca31932422caa36f67785346ed33fbd7e1ec55b1480b898b8f928d153d4f1fe97da0b1359c
docfiles size=435
RELOC/doc/latex/svg/LICENSE.md
RELOC/doc/latex/svg/README.md details="Readme"
@@ -268202,8 +268258,8 @@ docfiles size=435
RELOC/doc/latex/svg/svg-example.svg
RELOC/doc/latex/svg/svg-preamble.tex
RELOC/doc/latex/svg/svg.pdf details="Package documentation"
-srccontainersize 42276
-srccontainerchecksum d5670ac933b681d54406968134152db90d6d2268dc5496688262c82060daef5b5eefe4eb96301ee8d8f6af53d1d54a2530df5b8b52b0db9114e41ed9306d0e8f
+srccontainersize 42224
+srccontainerchecksum 0ccdf4390ccdedde68eb4eed9ad297812c355c980ebcce87e1e1264749cd71254632231cc3e58221f51aca80fca88628d7a112a57eea6cda9bf41ee986af6a69
srcfiles size=54
RELOC/source/latex/svg/svg.dtx
runfiles size=20
@@ -268214,8 +268270,8 @@ catalogue-contact-bugs https://github.com/mrpiggi/svg/issues
catalogue-contact-repository https://github.com/mrpiggi/svg
catalogue-ctan /graphics/svg
catalogue-license lppl1.3c
-catalogue-topics graphics-incl graphics-import
-catalogue-version 2.02d
+catalogue-topics graphics graphics-incl graphics-import
+catalogue-version 2.02e
name svg-inkscape
category Package
@@ -283066,17 +283122,17 @@ docfiles size=503
name texlive-scripts
category TLCore
-revision 53367
+revision 53387
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.
depend texlive.infra
depend texlive-scripts.ARCH
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 83344
-containerchecksum 9e081e605e2a5fce777891693aad102f3a98a563d9785b879d463cf4b004a8eb95332008bec25c7e115d4efff37670b6dcbe960e865c803a1367ceaf70132fce
+containersize 83320
+containerchecksum 4a75efffe1bebdf2855a4fb86b664f9a0ee285c9324b65dd15a343bcf4de9443cd1d26c90d8707a4b437808c436172d9949f20172b812d920afe08a8ee78b4cf
doccontainersize 130232
-doccontainerchecksum b04c336f2904e1b3d1441b5346213c32bed0a88171624379384f50bbc43d0da862be524c6991255bf236a48ebb189fefe8b65d908b1d1dfded939fbcf755865e
+doccontainerchecksum c83d501a2b8ec30ac4c3104a93d53441a6a16ed10abb73da3ee45d6b7f09ae665ebfdb513cd3c4507bc2668491086baa884387ccc05cb6d86308341267e708f2
docfiles size=53
texmf-dist/doc/man/man1/install-tl.1
texmf-dist/doc/man/man1/install-tl.man1.pdf
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index e34072feff..c663409320 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-3350d7cfc9424e490132a73e54a5dbd1 texlive.tlpdb
+e9739fe3f8a0f2ad4ba7b038fa30b980 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index da2de88499..3fa3955268 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-fa6f70782c43181c0d076bf0615702db47048a745c4dddde92a8ece94355839e463c2d0ccd1034d4d87b51ecc5d835ae5b64f4e4d57ec4c32e3b9e680f628ccf texlive.tlpdb
+29435d9580091f989d5575bc0fe62cf54f6a4d98c01919f22c41415e5bdfbf965385166f34b9584a9a84dc66e64639db71de8d2f77a28f11b51345a46ff9addf texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 9c0810e2f6..7885805910 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-----
-iQEcBAEBCgAGBQJeG8ACAAoJEEzhh34ZQ4xwAywH/0OeZWqNcOEeoS4xNQLgJDVl
-N5gQIEhsh18wr9/IVlTzuez4sH4on742ZgjMqeHymWMjH/gwo1h0VwyvnvfT/M2b
-tNCW4Do0lGvl6/3L3Wmwvq0FIk5NQpg3mWF/D/3P6z8TbwAaaDA+brP5RdyTwn9u
-3JiYvl2BjmSJjxUpiQMWfyynuRtbIavDRkHH2kGpHS8sHhyGN5A4sW50LXFFoPQ8
-pOCGQ46+rTO+rYp3S28NZ5AIKLpWz8/JT/TH4FS8pfsrs0DaDDRtXUp8m1uGF7Qq
-XOCLlEx8jZ0W6I16f7sJ0mbLvqzO/PV/2F2Lu82BMTkZ1rgdSD0bxd/JBemMsLA=
-=d6ki
+iQEcBAEBCgAGBQJeHRF1AAoJEEzhh34ZQ4xwkkIH/2/VpfhdELoE4/WeC1cJqM2h
+pFDesgciO1ZwqPqzdXKU6+SADNiYmq1sZ0n7EWlj9KEgIFVlGwJLKippRqqonGi0
+U1S4qJ54V2lNZw6xE/Liz7ocrb0ibJd5dr+Gd6wq/WCXR9KivFWzN3A5KnC/5XEI
+W8HTfPF2uVPrCL+20hVGI+8RYzh1mdNxCjrtTbd+5ARa4yl8ryWlKbn3IqIVnhmu
+ZHX48H8d1LhDVIgKyB9Avut0eV3K5SjXwCfjdscBmklH3snw76NYRb2L+dqFgcg1
+WHl9o4w3Fvkz9EdN1cdZLirdL+fGZMjlRmB+ip6XFN+x8VB/bVgxCowmkV/ZI/A=
+=pll9
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 2bd4ad3fd0..b4212ce0d9 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/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index 76eb09c380..4436410fab 100644
--- a/systems/win32/miktex/tm/packages/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma
index 974f120312..74bfe88ee3 100644
--- a/systems/win32/miktex/tm/packages/next/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/next/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 8137e913e6..2783d4a7e1 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -2,9 +2,9 @@
[repository]
-date=1578950207
+date=1579036591
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=211876a29e5501de3ce5a30f6ece27bb
-numpkg=3835
+lstdigest=e92d32f55e5bb9faa536b6698aff71f3
+numpkg=3836
relstate=next
-version=7317
+version=7318
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 7c14b795d0..8fe0cca0a8 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -2,9 +2,9 @@
[repository]
-date=1578949899
-lastupd=acmart acro circledsteps exframe hithesis newtx nicematrix simplebnf tasks tocloft ulem zxjafont aeb-mlink fontspec newpx pst-eucl cochineal eqexam pgf shadethm
-lstdigest=9f6580a41d039c11d6d771e065c79858
-numpkg=3835
+date=1579036291
+lastupd=apa6 ascmac fancyvrb firamath hep-paper l3experimental l3kernel l3packages latex-base-dev latex-tools-dev svg acmart acro circledsteps exframe hithesis newtx nicematrix simplebnf tasks
+lstdigest=22581a59a03d42420ba0355449a8921b
+numpkg=3836
relstate=stable
-version=7317
+version=7318
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index 79cb4b87bf..0d10d66be4 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,11 @@
W32TeX (x86 & x64) ChangeLog
+[2020/01/13]
+(01) cjkzr.tar.xz
+ Update zxjafont.
+(02) pdftex-w32.tar.xz
+ Update epspdf.
+
[2020/01/12]
(01) dvipsk-w32.tar.xz
Support encoding for bitmap fonts (by Tomas Rokicki).
diff --git a/timestamp b/timestamp
index 05628f275e..8a1d72ecdf 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:
-2020-01-14-02-02
+2020-01-15-02-02