summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-10-31 03:00:46 +0000
committerNorbert Preining <norbert@preining.info>2021-10-31 03:00:46 +0000
commit7d4662184ed36e01faf1fbe7b6e19567a331da2f (patch)
tree2f67bb58141f7edd2c6ab200f39ddf079fa609fb
parentf6b069c5441e2ba598b97c269ac8d00977606ef6 (diff)
CTAN sync 202110310300
-rw-r--r--FILES.byname675
-rw-r--r--FILES.byname.gzbin2392822 -> 2393058 bytes
-rw-r--r--FILES.last07days571
-rw-r--r--fonts/dsserif/README5
-rw-r--r--fonts/dsserif/tex/dsserif.sty10
-rw-r--r--graphics/pgf/contrib/bodeplot/README.md43
-rw-r--r--graphics/pgf/contrib/bodeplot/bodeplot.dtx1358
-rw-r--r--graphics/pgf/contrib/bodeplot/bodeplot.ins41
-rw-r--r--graphics/pgf/contrib/bodeplot/bodeplot.pdfbin0 -> 403982 bytes
-rw-r--r--macros/latex/contrib/ccref/README.md23
-rw-r--r--macros/latex/contrib/ccref/ccref-doc.pdfbin95346 -> 99921 bytes
-rw-r--r--macros/latex/contrib/ccref/ccref-doc.tex70
-rw-r--r--macros/latex/contrib/ccref/ccref.sty212
-rw-r--r--macros/latex/contrib/cutwin/README60
-rw-r--r--macros/latex/contrib/cutwin/README.md71
-rw-r--r--macros/latex/contrib/cutwin/cutwin.dtx221
-rw-r--r--macros/latex/contrib/cutwin/cutwin.ins12
-rw-r--r--macros/latex/contrib/cutwin/cutwin.pdfbin325445 -> 341874 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx101
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin581908 -> 581906 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex52
-rw-r--r--macros/latex/contrib/mathalpha/README10
-rw-r--r--macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdfbin985321 -> 1899045 bytes
-rw-r--r--macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex309
-rw-r--r--macros/latex/contrib/mathalpha/tex/mathalpha.sty1138
-rw-r--r--macros/latex/contrib/spbmark/spbmark.pdfbin67357 -> 67381 bytes
-rw-r--r--macros/latex/contrib/spbmark/spbmark.sty8
-rw-r--r--macros/latex/contrib/spbmark/spbmark.tex6
-rw-r--r--support/latexindent/LatexIndent/AlignmentAtAmpersand.pm29
-rw-r--r--support/latexindent/LatexIndent/FileContents.pm22
-rw-r--r--support/latexindent/LatexIndent/Verbatim.pm358
-rw-r--r--support/latexindent/LatexIndent/Version.pm4
-rw-r--r--support/latexindent/README2
-rw-r--r--support/latexindent/defaultSettings.yaml4
-rw-r--r--support/latexindent/documentation/latexindent.pdfbin1001116 -> 1012198 bytes
-rw-r--r--support/latexindent/documentation/latexindent.tex2
-rw-r--r--support/latexindent/documentation/sec-default-user-local.tex73
-rw-r--r--support/latexindent/documentation/sec-fine-tuning.tex81
-rw-r--r--support/latexindent/documentation/sec-how-to-use.tex10
-rw-r--r--support/latexindent/documentation/sec-the-line-switch.tex20
-rw-r--r--support/latexindent/documentation/subsec-remove-para-line-breaks.tex2
-rw-r--r--support/latexindent/documentation/subsec-text-wrap.tex4
-rw-r--r--support/latexindent/documentation/title.tex4
-rwxr-xr-xsupport/latexindent/latexindent.pl2
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--timestamp2
47 files changed, 4154 insertions, 1477 deletions
diff --git a/FILES.byname b/FILES.byname
index 15f0cb5945..4c28c0ba45 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5105,7 +5105,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2021/10/29 | 47144 | FILES.last07days
+2021/10/30 | 48385 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -33293,13 +33293,13 @@
2014/04/17 | 43780 | fonts/dsserif/doc/OFL-FAQ.txt
2018/05/01 | 4391 | fonts/dsserif/doc/OFL.txt
2020/01/05 | 164 | fonts/dsserif/map/DSSerif.map
-2021/10/28 | 1963 | fonts/dsserif/README
+2021/10/30 | 2034 | fonts/dsserif/README
2018/05/01 | 530 | fonts/dsserif/source/adjustments.mtx
2018/05/01 | 401 | fonts/dsserif/source/DSSerif-drv.tex
2018/05/01 | 2202 | fonts/dsserif/source/mathalfijB.etx
2021/10/18 | 2491 | fonts/dsserif/source/mathalfij.etx
2018/05/01 | 1156 | fonts/dsserif/source/notes.txt
-2021/10/28 | 3498 | fonts/dsserif/tex/dsserif.sty
+2021/10/30 | 3513 | fonts/dsserif/tex/dsserif.sty
2018/05/01 | 628 | fonts/dsserif/tex/udsserif.fd
2021/10/18 | 968 | fonts/dsserif/tfm/DSSerif-Bold.tfm
2021/10/19 | 1216 | fonts/dsserif/tfm/DSSerif.tfm
@@ -33309,7 +33309,7 @@
2021/10/19 | 33283 | fonts/dsserif/type1/DSSerif.pfb
2018/05/01 | 19061 | fonts/dsserif/type1/DSSerifUni-Bold.pfb
2018/05/01 | 23905 | fonts/dsserif/type1/DSSerifUni.pfb
-2021/10/29 | 383608 | fonts/dsserif.zip
+2021/10/30 | 383640 | fonts/dsserif.zip
2010/12/13 | 3025 | fonts/duerer/cdb10.mf
2010/12/13 | 3008 | fonts/duerer/cdi10.mf
2010/12/13 | 3131 | fonts/duerer/cdr10.mf
@@ -152644,6 +152644,11 @@
2010/10/10 | 82 | graphics/pgf/contrib/bodegraph/gnuplot/bodegraph/9.table
2010/10/10 | 473 | graphics/pgf/contrib/bodegraph/README
2010/10/10 | 421558 | graphics/pgf/contrib/bodegraph.zip
+2021/10/29 | 66679 | graphics/pgf/contrib/bodeplot/bodeplot.dtx
+2021/10/29 | 1416 | graphics/pgf/contrib/bodeplot/bodeplot.ins
+2021/10/29 | 403982 | graphics/pgf/contrib/bodeplot/bodeplot.pdf
+2021/10/28 | 3102 | graphics/pgf/contrib/bodeplot/README.md
+2021/10/30 | 381571 | graphics/pgf/contrib/bodeplot.zip
2019/05/07 | 70256 | graphics/pgf/contrib/braids/braids_code.dtx
2019/05/07 | 410835 | graphics/pgf/contrib/braids/braids_code.pdf
2019/04/04 | 314455 | graphics/pgf/contrib/braids/braids.pdf
@@ -204570,12 +204575,12 @@
2021/09/23 | 829119 | macros/latex/contrib/ccool/ccool.pdf
2021/09/23 | 342 | macros/latex/contrib/ccool/README.md
2021/09/24 | 813297 | macros/latex/contrib/ccool.zip
-2021/10/29 | 95346 | macros/latex/contrib/ccref/ccref-doc.pdf
-2021/10/29 | 6852 | macros/latex/contrib/ccref/ccref-doc.tex
-2021/10/28 | 3948 | macros/latex/contrib/ccref/ccref.sty
-2021/03/10 | 19106 | macros/latex/contrib/ccref/LICENSE
-2021/10/29 | 2309 | macros/latex/contrib/ccref/README.md
-2021/10/29 | 105316 | macros/latex/contrib/ccref.zip
+2021/10/30 | 99921 | macros/latex/contrib/ccref/ccref-doc.pdf
+2021/10/30 | 7813 | macros/latex/contrib/ccref/ccref-doc.tex
+2021/10/30 | 4909 | macros/latex/contrib/ccref/ccref.sty
+2021/10/30 | 19106 | macros/latex/contrib/ccref/LICENSE
+2021/10/30 | 2715 | macros/latex/contrib/ccref/README.md
+2021/10/30 | 110459 | macros/latex/contrib/ccref.zip
2014/06/13 | 36247 | macros/latex/contrib/cd/cd.dtx
2014/06/13 | 1139 | macros/latex/contrib/cd/cd.ins
2014/06/13 | 185 | macros/latex/contrib/cd/CDlist.tex
@@ -206201,11 +206206,11 @@
2008/08/25 | 8826 | macros/latex/contrib/custom-bib/suppjour.mbs
2008/08/25 | 7460 | macros/latex/contrib/custom-bib/svenska.mbs
2011/11/18 | 900708 | macros/latex/contrib/custom-bib.zip
-2010/10/03 | 34233 | macros/latex/contrib/cutwin/cutwin.dtx
-2010/10/03 | 2723 | macros/latex/contrib/cutwin/cutwin.ins
-2010/10/03 | 325445 | macros/latex/contrib/cutwin/cutwin.pdf
-2010/10/03 | 1884 | macros/latex/contrib/cutwin/README
-2012/09/27 | 315165 | macros/latex/contrib/cutwin.zip
+2021/10/30 | 33647 | macros/latex/contrib/cutwin/cutwin.dtx
+2021/10/30 | 2844 | macros/latex/contrib/cutwin/cutwin.ins
+2021/10/30 | 341874 | macros/latex/contrib/cutwin/cutwin.pdf
+2021/10/30 | 1908 | macros/latex/contrib/cutwin/README.md
+2021/10/30 | 342189 | macros/latex/contrib/cutwin.zip
2014/05/27 | 4332 | macros/latex/contrib/cv4tw/CUSTOMIZE.md
2014/05/27 | 4349 | macros/latex/contrib/cv4tw/cv4tw.cls
2014/05/27 | 6166 | macros/latex/contrib/cv4tw/cv4tw-scheme.sty
@@ -207634,12 +207639,12 @@
2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt
2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README
2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip
-2021/10/29 | 81271 | macros/latex/contrib/easybook/easybook.dtx
+2021/10/30 | 81465 | macros/latex/contrib/easybook/easybook.dtx
2021/10/26 | 2075 | macros/latex/contrib/easybook/easybook.ins
-2021/10/29 | 581908 | macros/latex/contrib/easybook/easybook.pdf
-2021/10/29 | 81025 | macros/latex/contrib/easybook/easybook.tex
+2021/10/30 | 581906 | macros/latex/contrib/easybook/easybook.pdf
+2021/10/30 | 80975 | macros/latex/contrib/easybook/easybook.tex
2021/10/26 | 795 | macros/latex/contrib/easybook/README.md
-2021/10/29 | 623151 | macros/latex/contrib/easybook.zip
+2021/10/30 | 623217 | macros/latex/contrib/easybook.zip
2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf
2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf
2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf
@@ -215465,12 +215470,12 @@
2014/12/09 | 396641 | macros/latex/contrib/matc3mem.zip
2013/04/06 | 712 | macros/latex/contrib/matc3/README
2013/04/06 | 443225 | macros/latex/contrib/matc3.zip
-2019/05/20 | 985321 | macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf
-2019/05/20 | 22604 | macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex
-2019/10/05 | 2366 | macros/latex/contrib/mathalpha/README
+2021/10/29 | 1899045 | macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf
+2021/10/29 | 32466 | macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex
+2021/10/30 | 3776 | macros/latex/contrib/mathalpha/README
2019/05/20 | 84 | macros/latex/contrib/mathalpha/tex/mathalfa.sty
-2019/10/05 | 27663 | macros/latex/contrib/mathalpha/tex/mathalpha.sty
-2019/10/05 | 992018 | macros/latex/contrib/mathalpha.zip
+2021/10/30 | 57240 | macros/latex/contrib/mathalpha/tex/mathalpha.sty
+2021/10/30 | 1891827 | macros/latex/contrib/mathalpha.zip
2019/11/16 | 1343 | macros/latex/contrib/mathastext/INSTALL.txt
2019/11/16 | 385703 | macros/latex/contrib/mathastext/mathastext.dtx
2019/11/16 | 480591 | macros/latex/contrib/mathastext/mathastext.pdf
@@ -222528,10 +222533,10 @@
2016/10/06 | 136549 | macros/latex/contrib/spalign/spalign.pdf
2016/10/06 | 132943 | macros/latex/contrib/spalign.zip
2021/06/27 | 571 | macros/latex/contrib/spbmark/README.md
-2021/10/29 | 67357 | macros/latex/contrib/spbmark/spbmark.pdf
-2021/10/29 | 9023 | macros/latex/contrib/spbmark/spbmark.sty
-2021/10/29 | 8950 | macros/latex/contrib/spbmark/spbmark.tex
-2021/10/29 | 71342 | macros/latex/contrib/spbmark.zip
+2021/10/30 | 67381 | macros/latex/contrib/spbmark/spbmark.pdf
+2021/10/30 | 9113 | macros/latex/contrib/spbmark/spbmark.sty
+2021/10/30 | 8948 | macros/latex/contrib/spbmark/spbmark.tex
+2021/10/30 | 71395 | macros/latex/contrib/spbmark.zip
2010/10/31 | 241052 | macros/latex/contrib/sphack/sphack-doc.pdf
2010/10/31 | 4122 | macros/latex/contrib/sphack/sphack-doc.tex
2010/12/23 | 4230 | macros/latex/contrib/sphack/sphack.sty
@@ -269971,86 +269976,86 @@
2018/04/15 | 1313 | support/latex-git-log/po/de.po
2020/02/26 | 3353 | support/latex-git-log/README.md
2020/02/27 | 87742 | support/latex-git-log.zip
-2021/09/16 | 18756 | support/latexindent/defaultSettings.yaml
-2021/09/16 | 13605 | support/latexindent/documentation/appendices.tex
-2021/09/16 | 633 | support/latexindent/documentation/cmhlistings.tex
-2021/09/16 | 7161 | support/latexindent/documentation/figure-schematic.png
-2021/09/16 | 1879 | support/latexindent/documentation/figure-schematic.tex
-2021/09/16 | 1001116 | support/latexindent/documentation/latexindent.pdf
-2021/09/16 | 24467 | support/latexindent/documentation/latexindent.tex
-2021/09/16 | 44096 | support/latexindent/documentation/logo.png
-2021/09/16 | 1664 | support/latexindent/documentation/logo.tex
-2021/09/16 | 246 | support/latexindent/documentation/references.tex
-2021/09/16 | 1688 | support/latexindent/documentation/sec-conclusions-know-limitations.tex
-2021/09/16 | 68771 | support/latexindent/documentation/sec-default-user-local.tex
-2021/09/16 | 2120 | support/latexindent/documentation/sec-demonstration.tex
-2021/09/16 | 12024 | support/latexindent/documentation/sec-fine-tuning.tex
-2021/09/16 | 22507 | support/latexindent/documentation/sec-how-to-use.tex
-2021/09/16 | 10859 | support/latexindent/documentation/sec-indent-config-and-settings.tex
-2021/09/16 | 7969 | support/latexindent/documentation/sec-introduction.tex
-2021/09/16 | 21650 | support/latexindent/documentation/sec-replacements.tex
-2021/09/16 | 8035 | support/latexindent/documentation/sec-the-line-switch.tex
-2021/09/16 | 3021 | support/latexindent/documentation/sec-the-m-switch.tex
-2021/09/16 | 5728 | support/latexindent/documentation/subsec-combine-text-wrap-para-line-breaks.tex
-2021/09/16 | 14050 | support/latexindent/documentation/subsec-commands-and-their-options.tex
-2021/09/16 | 1909 | support/latexindent/documentation/subsec-noAdditionalIndent-indentRules.tex
-2021/09/16 | 22107 | support/latexindent/documentation/subsec-one-sentence-per-line.tex
-2021/09/16 | 66280 | support/latexindent/documentation/subsec-poly-switches.tex
-2021/09/16 | 11976 | support/latexindent/documentation/subsec-remove-para-line-breaks.tex
-2021/09/16 | 1441 | support/latexindent/documentation/subsec-text-wrap-summary.tex
-2021/09/16 | 18435 | support/latexindent/documentation/subsec-text-wrap.tex
-2021/09/16 | 5979 | support/latexindent/documentation/subsubsec-commands-with-arguments.tex
-2021/09/16 | 16597 | support/latexindent/documentation/subsubsec-environments-and-their-arguments.tex
-2021/09/16 | 3450 | support/latexindent/documentation/subsubsec-environments-with-items.tex
-2021/09/16 | 5286 | support/latexindent/documentation/subsubsec-headings.tex
-2021/09/16 | 4873 | support/latexindent/documentation/subsubsec-ifelsefi.tex
-2021/09/16 | 7234 | support/latexindent/documentation/subsubsec-no-add-remaining-code-blocks.tex
-2021/09/16 | 3850 | support/latexindent/documentation/subsubsec-special.tex
-2021/09/16 | 1477 | support/latexindent/documentation/title.tex
-2021/09/16 | 61604 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
-2021/09/16 | 23584 | support/latexindent/LatexIndent/Arguments.pm
-2021/09/16 | 6645 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
-2021/09/16 | 4503 | support/latexindent/LatexIndent/BlankLines.pm
-2021/09/16 | 12661 | support/latexindent/LatexIndent/Braces.pm
-2021/09/16 | 5011 | support/latexindent/LatexIndent/Check.pm
-2021/09/16 | 10347 | support/latexindent/LatexIndent/Command.pm
-2021/09/16 | 21779 | support/latexindent/LatexIndent/Document.pm
-2021/09/16 | 1483 | support/latexindent/LatexIndent/DoubleBackSlash.pm
-2021/09/16 | 5969 | support/latexindent/LatexIndent/Else.pm
-2021/09/16 | 6329 | support/latexindent/LatexIndent/Environment.pm
-2021/09/16 | 9809944 | support/latexindent/latexindent.exe
-2021/09/16 | 12881 | support/latexindent/LatexIndent/FileContents.pm
-2021/09/16 | 6984 | support/latexindent/LatexIndent/FileExtension.pm
-2021/09/16 | 55980 | support/latexindent/LatexIndent/GetYamlSettings.pm
-2021/09/16 | 10802 | support/latexindent/LatexIndent/Heading.pm
-2021/09/16 | 12302 | support/latexindent/LatexIndent/HiddenChildren.pm
-2021/09/16 | 3378 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
-2021/09/16 | 9537 | support/latexindent/LatexIndent/IfElseFi.pm
-2021/09/16 | 20565 | support/latexindent/LatexIndent/Indent.pm
-2021/09/16 | 6402 | support/latexindent/LatexIndent/Item.pm
-2021/09/16 | 5306 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
-2021/09/16 | 9243 | support/latexindent/LatexIndent/Lines.pm
-2021/09/16 | 8776 | support/latexindent/LatexIndent/LogFile.pm
-2021/09/16 | 2188 | support/latexindent/LatexIndent/Logger.pm
-2021/09/16 | 6793 | support/latexindent/LatexIndent/MandatoryArgument.pm
-2021/09/16 | 22888 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
-2021/09/16 | 1558 | support/latexindent/latexindent-module-installer.pl
-2021/09/16 | 4270 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
-2021/09/16 | 6062 | support/latexindent/LatexIndent/OptionalArgument.pm
-2021/09/16 | 2754 | support/latexindent/latexindent.pl
-2021/09/16 | 4446 | support/latexindent/LatexIndent/Preamble.pm
-2021/09/16 | 3614 | support/latexindent/LatexIndent/Replacement.pm
-2021/09/16 | 4355 | support/latexindent/LatexIndent/RoundBrackets.pm
-2021/09/16 | 19822 | support/latexindent/LatexIndent/Sentence.pm
-2021/09/16 | 13548 | support/latexindent/LatexIndent/Special.pm
-2021/09/16 | 2412 | support/latexindent/LatexIndent/Switches.pm
-2021/09/16 | 3273 | support/latexindent/LatexIndent/Tokens.pm
-2021/09/16 | 6373 | support/latexindent/LatexIndent/TrailingComments.pm
-2021/09/16 | 5771 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
-2021/09/16 | 23589 | support/latexindent/LatexIndent/Verbatim.pm
-2021/09/16 | 833 | support/latexindent/LatexIndent/Version.pm
-2021/09/16 | 1874 | support/latexindent/README
-2021/09/16 | 6053672 | support/latexindent.zip
+2021/10/30 | 18756 | support/latexindent/defaultSettings.yaml
+2021/10/30 | 13605 | support/latexindent/documentation/appendices.tex
+2021/10/30 | 633 | support/latexindent/documentation/cmhlistings.tex
+2021/10/30 | 7161 | support/latexindent/documentation/figure-schematic.png
+2021/10/30 | 1879 | support/latexindent/documentation/figure-schematic.tex
+2021/10/30 | 1012198 | support/latexindent/documentation/latexindent.pdf
+2021/10/30 | 24478 | support/latexindent/documentation/latexindent.tex
+2021/10/30 | 44096 | support/latexindent/documentation/logo.png
+2021/10/30 | 1664 | support/latexindent/documentation/logo.tex
+2021/10/30 | 246 | support/latexindent/documentation/references.tex
+2021/10/30 | 1688 | support/latexindent/documentation/sec-conclusions-know-limitations.tex
+2021/10/30 | 72537 | support/latexindent/documentation/sec-default-user-local.tex
+2021/10/30 | 2120 | support/latexindent/documentation/sec-demonstration.tex
+2021/10/30 | 15837 | support/latexindent/documentation/sec-fine-tuning.tex
+2021/10/30 | 22504 | support/latexindent/documentation/sec-how-to-use.tex
+2021/10/30 | 10859 | support/latexindent/documentation/sec-indent-config-and-settings.tex
+2021/10/30 | 7969 | support/latexindent/documentation/sec-introduction.tex
+2021/10/30 | 21650 | support/latexindent/documentation/sec-replacements.tex
+2021/10/30 | 8025 | support/latexindent/documentation/sec-the-line-switch.tex
+2021/10/30 | 3021 | support/latexindent/documentation/sec-the-m-switch.tex
+2021/10/30 | 5728 | support/latexindent/documentation/subsec-combine-text-wrap-para-line-breaks.tex
+2021/10/30 | 14050 | support/latexindent/documentation/subsec-commands-and-their-options.tex
+2021/10/30 | 1909 | support/latexindent/documentation/subsec-noAdditionalIndent-indentRules.tex
+2021/10/30 | 22107 | support/latexindent/documentation/subsec-one-sentence-per-line.tex
+2021/10/30 | 66280 | support/latexindent/documentation/subsec-poly-switches.tex
+2021/10/30 | 11975 | support/latexindent/documentation/subsec-remove-para-line-breaks.tex
+2021/10/30 | 1441 | support/latexindent/documentation/subsec-text-wrap-summary.tex
+2021/10/30 | 18433 | support/latexindent/documentation/subsec-text-wrap.tex
+2021/10/30 | 5979 | support/latexindent/documentation/subsubsec-commands-with-arguments.tex
+2021/10/30 | 16597 | support/latexindent/documentation/subsubsec-environments-and-their-arguments.tex
+2021/10/30 | 3450 | support/latexindent/documentation/subsubsec-environments-with-items.tex
+2021/10/30 | 5286 | support/latexindent/documentation/subsubsec-headings.tex
+2021/10/30 | 4873 | support/latexindent/documentation/subsubsec-ifelsefi.tex
+2021/10/30 | 7234 | support/latexindent/documentation/subsubsec-no-add-remaining-code-blocks.tex
+2021/10/30 | 3850 | support/latexindent/documentation/subsubsec-special.tex
+2021/10/30 | 1477 | support/latexindent/documentation/title.tex
+2021/10/30 | 61713 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
+2021/10/30 | 23584 | support/latexindent/LatexIndent/Arguments.pm
+2021/10/30 | 6645 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
+2021/10/30 | 4503 | support/latexindent/LatexIndent/BlankLines.pm
+2021/10/30 | 12661 | support/latexindent/LatexIndent/Braces.pm
+2021/10/30 | 5011 | support/latexindent/LatexIndent/Check.pm
+2021/10/30 | 10347 | support/latexindent/LatexIndent/Command.pm
+2021/10/30 | 21779 | support/latexindent/LatexIndent/Document.pm
+2021/10/30 | 1483 | support/latexindent/LatexIndent/DoubleBackSlash.pm
+2021/10/30 | 5969 | support/latexindent/LatexIndent/Else.pm
+2021/10/30 | 6329 | support/latexindent/LatexIndent/Environment.pm
+2021/10/30 | 9809944 | support/latexindent/latexindent.exe
+2021/10/30 | 13122 | support/latexindent/LatexIndent/FileContents.pm
+2021/10/30 | 6984 | support/latexindent/LatexIndent/FileExtension.pm
+2021/10/30 | 55980 | support/latexindent/LatexIndent/GetYamlSettings.pm
+2021/10/30 | 10802 | support/latexindent/LatexIndent/Heading.pm
+2021/10/30 | 12302 | support/latexindent/LatexIndent/HiddenChildren.pm
+2021/10/30 | 3378 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
+2021/10/30 | 9537 | support/latexindent/LatexIndent/IfElseFi.pm
+2021/10/30 | 20565 | support/latexindent/LatexIndent/Indent.pm
+2021/10/30 | 6402 | support/latexindent/LatexIndent/Item.pm
+2021/10/30 | 5306 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
+2021/10/30 | 9243 | support/latexindent/LatexIndent/Lines.pm
+2021/10/30 | 8776 | support/latexindent/LatexIndent/LogFile.pm
+2021/10/30 | 2188 | support/latexindent/LatexIndent/Logger.pm
+2021/10/30 | 6793 | support/latexindent/LatexIndent/MandatoryArgument.pm
+2021/10/30 | 22888 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
+2021/10/30 | 1558 | support/latexindent/latexindent-module-installer.pl
+2021/10/30 | 4270 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
+2021/10/30 | 6062 | support/latexindent/LatexIndent/OptionalArgument.pm
+2021/10/30 | 2754 | support/latexindent/latexindent.pl
+2021/10/30 | 4446 | support/latexindent/LatexIndent/Preamble.pm
+2021/10/30 | 3614 | support/latexindent/LatexIndent/Replacement.pm
+2021/10/30 | 4355 | support/latexindent/LatexIndent/RoundBrackets.pm
+2021/10/30 | 19822 | support/latexindent/LatexIndent/Sentence.pm
+2021/10/30 | 13548 | support/latexindent/LatexIndent/Special.pm
+2021/10/30 | 2412 | support/latexindent/LatexIndent/Switches.pm
+2021/10/30 | 3273 | support/latexindent/LatexIndent/Tokens.pm
+2021/10/30 | 6373 | support/latexindent/LatexIndent/TrailingComments.pm
+2021/10/30 | 5771 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
+2021/10/30 | 26711 | support/latexindent/LatexIndent/Verbatim.pm
+2021/10/30 | 833 | support/latexindent/LatexIndent/Version.pm
+2021/10/30 | 1874 | support/latexindent/README
+2021/10/30 | 6064095 | support/latexindent.zip
2021/10/26 | 16439 | support/latex-make/figlatex.dtx
2021/10/26 | 238535 | support/latex-make/figlatex.pdf
2001/06/07 | 302 | support/latexmake/latexmake.diz
@@ -277822,8 +277827,8 @@
2019/02/28 | 13440 | systems/texlive/tlnet/archive/bib-fr.r15878.tar.xz
2019/02/28 | 23716 | systems/texlive/tlnet/archive/bibhtml.doc.r31607.tar.xz
2019/02/28 | 11448 | systems/texlive/tlnet/archive/bibhtml.r31607.tar.xz
-2020/03/04 | 129140 | systems/texlive/tlnet/archive/biblatex2bibitem.doc.r54030.tar.xz
-2020/03/04 | 1380 | systems/texlive/tlnet/archive/biblatex2bibitem.r54030.tar.xz
+2021/10/30 | 224856 | systems/texlive/tlnet/archive/biblatex2bibitem.doc.r60890.tar.xz
+2021/10/30 | 1664 | systems/texlive/tlnet/archive/biblatex2bibitem.r60890.tar.xz
2019/02/28 | 861432 | systems/texlive/tlnet/archive/biblatex-abnt.doc.r49179.tar.xz
2019/02/28 | 18036 | systems/texlive/tlnet/archive/biblatex-abnt.r49179.tar.xz
2020/03/20 | 1176 | systems/texlive/tlnet/archive/biblatex-ajc2020unofficial.doc.r54401.tar.xz
@@ -278439,6 +278444,8 @@
2021/09/25 | 13112 | systems/texlive/tlnet/archive/ccool.source.r60600.tar.xz
2021/03/22 | 1588 | systems/texlive/tlnet/archive/cc-pl.doc.r58602.tar.xz
2021/03/22 | 426652 | systems/texlive/tlnet/archive/cc-pl.r58602.tar.xz
+2021/10/30 | 103724 | systems/texlive/tlnet/archive/ccref.doc.r60891.tar.xz
+2021/10/30 | 1496 | systems/texlive/tlnet/archive/ccref.r60891.tar.xz
2021/10/13 | 608048 | systems/texlive/tlnet/archive/cdcmd.doc.r60742.tar.xz
2021/10/13 | 3588 | systems/texlive/tlnet/archive/cdcmd.r60742.tar.xz
2021/10/13 | 6964 | systems/texlive/tlnet/archive/cdcmd.source.r60742.tar.xz
@@ -278922,7 +278929,7 @@
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2020/03/04 | 392 | systems/texlive/tlnet/archive/collection-langportuguese.r54074.tar.xz
2020/03/07 | 380 | systems/texlive/tlnet/archive/collection-langspanish.r54141.tar.xz
-2021/10/24 | 6488 | systems/texlive/tlnet/archive/collection-latexextra.r60841.tar.xz
+2021/10/30 | 6488 | systems/texlive/tlnet/archive/collection-latexextra.r60891.tar.xz
2020/12/03 | 696 | systems/texlive/tlnet/archive/collection-latex.r57048.tar.xz
2021/02/24 | 772 | systems/texlive/tlnet/archive/collection-latexrecommended.r57862.tar.xz
2021/10/15 | 780 | systems/texlive/tlnet/archive/collection-luatex.r60764.tar.xz
@@ -279955,9 +279962,9 @@
2019/02/28 | 16468 | systems/texlive/tlnet/archive/drv.r29349.tar.xz
2019/02/28 | 170156 | systems/texlive/tlnet/archive/dsptricks.doc.r34724.tar.xz
2019/02/28 | 11588 | systems/texlive/tlnet/archive/dsptricks.r34724.tar.xz
-2021/10/25 | 275888 | systems/texlive/tlnet/archive/dsserif.doc.r60859.tar.xz
-2021/10/25 | 89860 | systems/texlive/tlnet/archive/dsserif.r60859.tar.xz
-2021/10/25 | 1000 | systems/texlive/tlnet/archive/dsserif.source.r60859.tar.xz
+2021/10/30 | 281136 | systems/texlive/tlnet/archive/dsserif.doc.r60888.tar.xz
+2021/10/30 | 90204 | systems/texlive/tlnet/archive/dsserif.r60888.tar.xz
+2021/10/30 | 1000 | systems/texlive/tlnet/archive/dsserif.source.r60888.tar.xz
2021/09/21 | 425052 | systems/texlive/tlnet/archive/dtk-bibliography.doc.r60564.tar.xz
2021/09/21 | 516 | systems/texlive/tlnet/archive/dtk-bibliography.r60564.tar.xz
2021/08/05 | 79584 | systems/texlive/tlnet/archive/dtk.doc.r60166.tar.xz
@@ -280164,7 +280171,7 @@
2021/03/19 | 413492 | systems/texlive/tlnet/archive/dvipdfmx.i386-solaris.r58500.tar.xz
2021/06/01 | 27128 | systems/texlive/tlnet/archive/dvipdfmx.r59415.tar.xz
2021/03/19 | 791336 | systems/texlive/tlnet/archive/dvipdfmx.universal-darwin.r58528.tar.xz
-2021/10/25 | 332336 | systems/texlive/tlnet/archive/dvipdfmx.win32.r60855.tar.xz
+2021/10/30 | 332096 | systems/texlive/tlnet/archive/dvipdfmx.win32.r60887.tar.xz
2021/03/19 | 403400 | systems/texlive/tlnet/archive/dvipdfmx.x86_64-cygwin.r58498.tar.xz
2021/03/19 | 405060 | systems/texlive/tlnet/archive/dvipdfmx.x86_64-darwinlegacy.r58501.tar.xz
2021/03/20 | 451244 | systems/texlive/tlnet/archive/dvipdfmx.x86_64-linuxmusl.r58535.tar.xz
@@ -280260,9 +280267,9 @@
2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz
2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz
2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz
-2021/10/29 | 605460 | systems/texlive/tlnet/archive/easybook.doc.r60882.tar.xz
-2021/10/29 | 17608 | systems/texlive/tlnet/archive/easybook.r60882.tar.xz
-2021/10/29 | 17664 | systems/texlive/tlnet/archive/easybook.source.r60882.tar.xz
+2021/10/30 | 602488 | systems/texlive/tlnet/archive/easybook.doc.r60892.tar.xz
+2021/10/30 | 17616 | systems/texlive/tlnet/archive/easybook.r60892.tar.xz
+2021/10/30 | 17664 | systems/texlive/tlnet/archive/easybook.source.r60892.tar.xz
2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz
2020/09/08 | 175976 | systems/texlive/tlnet/archive/easyfig.doc.r56291.tar.xz
2020/09/08 | 1936 | systems/texlive/tlnet/archive/easyfig.r56291.tar.xz
@@ -286113,8 +286120,8 @@
2019/02/28 | 7608 | systems/texlive/tlnet/archive/pst-fr3d.source.r15878.tar.xz
2020/03/18 | 21911456 | systems/texlive/tlnet/archive/pst-fractal.doc.r54376.tar.xz
2020/03/18 | 10416 | systems/texlive/tlnet/archive/pst-fractal.r54376.tar.xz
-2021/04/08 | 3516060 | systems/texlive/tlnet/archive/pst-func.doc.r58786.tar.xz
-2021/04/08 | 20116 | systems/texlive/tlnet/archive/pst-func.r58786.tar.xz
+2021/10/30 | 3524512 | systems/texlive/tlnet/archive/pst-func.doc.r60889.tar.xz
+2021/10/30 | 19984 | systems/texlive/tlnet/archive/pst-func.r60889.tar.xz
2019/02/28 | 380444 | systems/texlive/tlnet/archive/pst-fun.doc.r17909.tar.xz
2019/02/28 | 24440 | systems/texlive/tlnet/archive/pst-fun.r17909.tar.xz
2019/02/28 | 932 | systems/texlive/tlnet/archive/pst-fun.source.r17909.tar.xz
@@ -287208,8 +287215,8 @@
2021/02/23 | 1371428 | systems/texlive/tlnet/archive/spath3.doc.r57842.tar.xz
2021/02/23 | 21472 | systems/texlive/tlnet/archive/spath3.r57842.tar.xz
2021/02/23 | 31740 | systems/texlive/tlnet/archive/spath3.source.r57842.tar.xz
-2021/10/17 | 68020 | systems/texlive/tlnet/archive/spbmark.doc.r60780.tar.xz
-2021/10/17 | 2488 | systems/texlive/tlnet/archive/spbmark.r60780.tar.xz
+2021/10/30 | 69496 | systems/texlive/tlnet/archive/spbmark.doc.r60893.tar.xz
+2021/10/30 | 2528 | systems/texlive/tlnet/archive/spbmark.r60893.tar.xz
2021/01/03 | 80960 | systems/texlive/tlnet/archive/spectral.doc.r57296.tar.xz
2021/01/03 | 3545232 | systems/texlive/tlnet/archive/spectral.r57296.tar.xz
2021/07/20 | 1839584 | systems/texlive/tlnet/archive/spectralsequences.doc.r59992.tar.xz
@@ -287988,7 +287995,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2021/10/28 | 400816 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60876.tar.xz
+2021/10/30 | 400816 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60885.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -288012,7 +288019,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2021/10/28 | 108284 | systems/texlive/tlnet/archive/texlive-scripts.r60876.tar.xz
+2021/10/30 | 108276 | systems/texlive/tlnet/archive/texlive-scripts.r60885.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -288879,9 +288886,9 @@
2019/02/28 | 1120 | systems/texlive/tlnet/archive/unicode-bidi.r42482.tar.xz
2021/09/16 | 3832 | systems/texlive/tlnet/archive/unicode-data.doc.r60516.tar.xz
2021/09/16 | 305540 | systems/texlive/tlnet/archive/unicode-data.r60516.tar.xz
-2021/10/22 | 1604292 | systems/texlive/tlnet/archive/unicodefonttable.doc.r60826.tar.xz
-2021/10/22 | 7496 | systems/texlive/tlnet/archive/unicodefonttable.r60826.tar.xz
-2021/10/22 | 21328 | systems/texlive/tlnet/archive/unicodefonttable.source.r60826.tar.xz
+2021/10/30 | 1716712 | systems/texlive/tlnet/archive/unicodefonttable.doc.r60894.tar.xz
+2021/10/30 | 7500 | systems/texlive/tlnet/archive/unicodefonttable.r60894.tar.xz
+2021/10/30 | 21672 | systems/texlive/tlnet/archive/unicodefonttable.source.r60894.tar.xz
2020/10/08 | 1725064 | systems/texlive/tlnet/archive/unicode-math.doc.r56594.tar.xz
2020/10/08 | 42816 | systems/texlive/tlnet/archive/unicode-math.r56594.tar.xz
2020/10/08 | 37860 | systems/texlive/tlnet/archive/unicode-math.source.r56594.tar.xz
@@ -289760,16 +289767,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2021/05/02 | 105152 | systems/texlive/tlnet/install-tl
-2021/10/29 | 6810755 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/10/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/10/29 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/10/30 | 6811311 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/10/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/10/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2021/10/29 | 20874334 | systems/texlive/tlnet/install-tl-windows.exe
-2021/10/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/10/29 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/10/29 | 25631165 | systems/texlive/tlnet/install-tl.zip
-2021/10/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/10/29 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/10/30 | 20872549 | systems/texlive/tlnet/install-tl-windows.exe
+2021/10/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/10/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/10/30 | 25631159 | systems/texlive/tlnet/install-tl.zip
+2021/10/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/10/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2021/04/01 | 1229 | systems/texlive/tlnet/README.md
2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021
2021/07/03 | 7181 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -289779,7 +289786,7 @@
2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2021/07/02 | 49348 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2021/10/27 | 6913 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2021/10/29 | 6864 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/04/15 | 223687 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -289821,12 +289828,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/05/16 | 5402 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/05/16 | 27555 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2021/10/29 | 16958103 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/10/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/10/30 | 16960387 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/10/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2021/05/16 | 86511 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2021/10/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/10/29 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/10/29 | 2318608 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/10/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/10/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/10/30 | 2319188 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/05/16 | 58801 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2021/05/16 | 42084 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/05/16 | 16103 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -294783,7 +294790,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2021/10/29 | 624187 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/10/30 | 624187 | 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
@@ -296204,9 +296211,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2021/10/05 | 39429 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2021/10/05 | 43382 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/10/29 | 248603 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2021/10/29 | 1377600 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/10/29 | 1278072 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/10/30 | 248600 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/10/30 | 1378087 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/10/30 | 1278788 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/10/05 | 13448 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2021/10/05 | 14320 | 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
@@ -296421,192 +296428,192 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2021/10/29 | 624296 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/10/29 | 51088 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/10/29 | 56493 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/10/29 | 973655 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/10/29 | 1076641 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2021/10/29 | 28992 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/10/29 | 31324 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/10/29 | 29848 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/10/29 | 34653 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/10/29 | 50241 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/10/29 | 57615 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/10/29 | 83805 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2021/10/29 | 95486 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/10/29 | 68238 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/10/29 | 75930 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/10/29 | 27184 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/10/29 | 30800 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/10/29 | 330672 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/10/29 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/10/29 | 32620 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/10/29 | 36590 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2021/10/29 | 51355 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/10/29 | 56876 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/10/29 | 4961 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
-2021/10/29 | 255237 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/10/29 | 278794 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/10/29 | 179766 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/10/29 | 195759 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/10/29 | 54769 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2021/10/29 | 61840 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/10/29 | 21202 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/10/29 | 23355 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/10/29 | 461939 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/10/29 | 45955 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/10/29 | 51233 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/10/29 | 284334 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/10/29 | 324612 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/10/29 | 41285 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2021/10/29 | 45383 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/10/29 | 119829 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2021/10/29 | 133825 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2021/10/29 | 1289427 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/10/29 | 1418399 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/10/29 | 100378 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2021/10/29 | 112957 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/10/29 | 43025 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/10/29 | 48254 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/10/29 | 25035 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/10/29 | 28166 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/10/29 | 56310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2021/10/29 | 62721 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/10/29 | 136329 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/10/29 | 153930 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2021/10/29 | 73319 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/10/29 | 78092 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2021/10/29 | 71635 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/10/29 | 80699 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2021/10/29 | 258843 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/10/29 | 295299 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/10/29 | 22022 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/10/29 | 24980 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/10/29 | 97322 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/10/29 | 112286 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2021/10/29 | 64409 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/10/29 | 73128 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/10/29 | 96415 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/10/29 | 115252 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/10/29 | 38143 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/10/29 | 42981 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/10/29 | 483779 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/10/29 | 566014 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/10/29 | 151090 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2021/10/29 | 159559 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/10/29 | 94783 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/10/29 | 109056 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2021/10/29 | 16341 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/10/29 | 17969 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/10/29 | 28362 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/10/29 | 30055 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/10/29 | 629888 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/10/29 | 681528 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/10/29 | 532122 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/10/29 | 597314 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/10/29 | 476754 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/10/29 | 510986 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/10/29 | 94399 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2021/10/29 | 103403 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2021/10/29 | 1692339 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/10/29 | 2004435 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/10/29 | 67602 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/10/29 | 74200 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2021/10/29 | 27348 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/10/29 | 31661 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2021/10/29 | 7719 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/10/29 | 8762 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2021/10/29 | 196867 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/10/29 | 215265 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/10/29 | 250447 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/10/29 | 283937 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/10/29 | 98712 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/10/29 | 103918 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/10/29 | 60568 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/10/29 | 68011 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2021/10/29 | 124623 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2021/10/29 | 136899 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2021/10/29 | 179266 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/10/29 | 197409 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/10/29 | 199650 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/10/29 | 180094 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/10/29 | 67536 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/10/29 | 76829 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2021/10/29 | 31213 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/10/29 | 35077 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/10/29 | 37775 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/10/29 | 42690 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/10/29 | 42894 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/10/29 | 46992 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/10/29 | 45843 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/10/29 | 52418 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/10/29 | 195362 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2021/10/29 | 207070 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/10/29 | 36072 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/10/29 | 40429 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2021/10/29 | 744988 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/10/29 | 817084 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/10/29 | 198217 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/10/29 | 202727 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/10/29 | 208017 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/10/29 | 243395 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2021/10/29 | 78729 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2021/10/29 | 87738 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/10/29 | 1170152 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/10/29 | 1300812 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/10/29 | 20120 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/10/29 | 23871 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/10/29 | 31555 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/10/29 | 37254 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/10/29 | 63970 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/10/29 | 72157 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/10/29 | 50342 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/10/29 | 57726 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/10/29 | 681639 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
-2021/10/29 | 742943 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
-2021/10/29 | 1345710 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/10/29 | 1470177 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/10/29 | 42439 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/10/29 | 51780 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2021/10/29 | 56516 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/10/29 | 59988 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/10/29 | 25166 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/10/29 | 27297 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/10/29 | 16449 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/10/29 | 18155 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/10/29 | 63712 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/10/29 | 69927 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/10/29 | 154138 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/10/29 | 168975 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/10/29 | 57378 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/10/29 | 66144 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2021/10/29 | 98848 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/10/29 | 105768 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/10/29 | 2671614 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2021/10/29 | 2795810 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/10/29 | 56318 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/10/29 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/10/29 | 33399 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/10/29 | 37362 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/10/29 | 27715 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2021/10/29 | 33633 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/10/29 | 66267 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/10/29 | 71038 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/10/29 | 311140 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2021/10/29 | 345281 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/10/29 | 55528 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/10/29 | 57146 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/10/29 | 590865 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/10/29 | 624414 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/10/29 | 39546 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/10/29 | 43396 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/10/29 | 248705 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/10/29 | 1378640 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/10/29 | 1280416 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/10/29 | 13462 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/10/29 | 14344 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/10/30 | 624296 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/10/30 | 51088 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/10/30 | 56493 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/10/30 | 973655 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/10/30 | 1076641 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/10/30 | 28990 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/10/30 | 31325 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/10/30 | 29848 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/10/30 | 34654 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/10/30 | 50241 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/10/30 | 57615 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/10/30 | 83805 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/10/30 | 95486 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/10/30 | 68237 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/10/30 | 75930 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/10/30 | 27184 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/10/30 | 30802 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/10/30 | 330670 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/10/30 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/10/30 | 32620 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/10/30 | 36589 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/10/30 | 51355 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/10/30 | 56877 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/10/30 | 4961 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2021/10/30 | 255237 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/10/30 | 278793 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/10/30 | 179766 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/10/30 | 195759 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/10/30 | 54769 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/10/30 | 61840 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/10/30 | 21201 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/10/30 | 23354 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/10/30 | 461939 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/10/30 | 45953 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/10/30 | 51232 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/10/30 | 284333 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/10/30 | 324610 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/10/30 | 41285 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/10/30 | 45382 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/10/30 | 119828 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/10/30 | 133825 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/10/30 | 1289427 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/10/30 | 1418401 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/10/30 | 100377 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/10/30 | 112958 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/10/30 | 43024 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/10/30 | 48253 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/10/30 | 25034 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/10/30 | 28166 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/10/30 | 56309 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/10/30 | 62720 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/10/30 | 136330 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/10/30 | 153931 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/10/30 | 73320 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/10/30 | 78093 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/10/30 | 71636 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/10/30 | 80699 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/10/30 | 258842 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/10/30 | 295296 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/10/30 | 22021 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/10/30 | 24980 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/10/30 | 97322 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/10/30 | 112286 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/10/30 | 64409 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/10/30 | 73128 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/10/30 | 96414 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/10/30 | 115252 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/10/30 | 38142 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/10/30 | 42981 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/10/30 | 483781 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/10/30 | 566013 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/10/30 | 151090 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/10/30 | 159559 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/10/30 | 94782 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/10/30 | 109055 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/10/30 | 16340 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/10/30 | 17969 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/10/30 | 28362 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/10/30 | 30055 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/10/30 | 629886 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/10/30 | 681527 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/10/30 | 532123 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/10/30 | 597313 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/10/30 | 476755 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/10/30 | 510985 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/10/30 | 94398 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/10/30 | 103400 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/10/30 | 1692338 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/10/30 | 2004434 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/10/30 | 67602 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/10/30 | 74200 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/10/30 | 27348 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/10/30 | 31661 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/10/30 | 7719 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/10/30 | 8761 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/10/30 | 196864 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/10/30 | 215266 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/10/30 | 250447 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/10/30 | 283937 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/10/30 | 98711 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/10/30 | 103918 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/10/30 | 60569 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/10/30 | 68012 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/10/30 | 124625 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/10/30 | 136898 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/10/30 | 179264 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/10/30 | 197409 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/10/30 | 199649 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/10/30 | 180096 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/10/30 | 67535 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/10/30 | 76828 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/10/30 | 31212 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/10/30 | 35077 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/10/30 | 37773 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/10/30 | 42691 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/10/30 | 42893 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/10/30 | 46992 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/10/30 | 45842 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/10/30 | 52418 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/10/30 | 195364 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/10/30 | 207069 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/10/30 | 36071 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/10/30 | 40429 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/10/30 | 744988 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/10/30 | 817086 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/10/30 | 198216 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/10/30 | 202726 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/10/30 | 208016 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/10/30 | 243393 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/10/30 | 78727 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/10/30 | 87739 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/10/30 | 1170153 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/10/30 | 1300812 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/10/30 | 20119 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/10/30 | 23872 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/10/30 | 31553 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/10/30 | 37254 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/10/30 | 63970 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/10/30 | 72158 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/10/30 | 50343 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/10/30 | 57725 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/10/30 | 681639 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
+2021/10/30 | 742944 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
+2021/10/30 | 1345712 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/10/30 | 1470179 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/10/30 | 42437 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/10/30 | 51781 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/10/30 | 56515 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/10/30 | 59988 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/10/30 | 25164 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/10/30 | 27295 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/10/30 | 16449 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/10/30 | 18156 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/10/30 | 63711 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/10/30 | 69927 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/10/30 | 154138 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/10/30 | 168976 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/10/30 | 57378 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/10/30 | 66144 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/10/30 | 98847 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/10/30 | 105767 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/10/30 | 2671614 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/10/30 | 2795811 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/10/30 | 56319 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/10/30 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/10/30 | 33401 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/10/30 | 37362 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/10/30 | 27716 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/10/30 | 33634 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/10/30 | 66266 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/10/30 | 71038 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/10/30 | 311140 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/10/30 | 345282 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/10/30 | 55527 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/10/30 | 57146 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/10/30 | 590868 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/10/30 | 624412 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/10/30 | 39547 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/10/30 | 43396 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/10/30 | 248726 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/10/30 | 1378245 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/10/30 | 1278340 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/10/30 | 13461 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/10/30 | 14343 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2021/10/29 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/10/30 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -297024,7 +297031,7 @@
2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2021/10/29 | 884 | systems/win32/miktex/tm/packages/pr.ini
+2021/10/30 | 884 | 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
@@ -298457,7 +298464,7 @@
2007/02/12 | 395234 | systems/win32/texshell32/WinTeXShell32.zip
2021/10/01 | 2480 | systems/win32/TLW64/00README.TLW64
2021/10/01 | 61484773 | systems/win32/TLW64/gs9550w64full-gpl.exe
-2021/10/24 | 98307329 | systems/win32/TLW64/tl-win64.zip
+2021/10/29 | 98307327 | systems/win32/TLW64/tl-win64.zip
1996/11/26 | 1822 | systems/win32/tsconfig/readme
1996/11/26 | 30343 | systems/win32/tsconfig/tsconfig.zip
1998/01/20 | 766976 | systems/win32/util/cmdsh110.exe
@@ -298693,7 +298700,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2021/10/30 | 186 | timestamp
+2021/10/31 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/08/04 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 1fb76f6e6b..5da719ed33 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 461aa5c770..95877dc1c7 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,287 +1,402 @@
-2021/10/29 | 98848 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2021/10/29 | 98712 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2021/10/29 | 973655 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2021/10/29 | 97322 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2021/10/29 | 96415 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2021/10/29 | 95486 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2021/10/29 | 95346 | macros/latex/contrib/ccref/ccref-doc.pdf
-2021/10/29 | 94783 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2021/10/29 | 94399 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/10/30 | 99921 | macros/latex/contrib/ccref/ccref-doc.pdf
+2021/10/30 | 98847 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2021/10/30 | 98711 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2021/10/30 | 9809944 | support/latexindent/latexindent.exe
+2021/10/30 | 973655 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2021/10/30 | 97322 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2021/10/30 | 96414 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2021/10/30 | 95486 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2021/10/30 | 9537 | support/latexindent/LatexIndent/IfElseFi.pm
+2021/10/30 | 94782 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2021/10/30 | 94398 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2021/10/30 | 9243 | support/latexindent/LatexIndent/Lines.pm
+2021/10/30 | 9113 | macros/latex/contrib/spbmark/spbmark.sty
+2021/10/30 | 90204 | systems/texlive/tlnet/archive/dsserif.r60888.tar.xz
+2021/10/30 | 8948 | macros/latex/contrib/spbmark/spbmark.tex
+2021/10/30 | 884 | systems/win32/miktex/tm/packages/pr.ini
+2021/10/30 | 8776 | support/latexindent/LatexIndent/LogFile.pm
+2021/10/30 | 87739 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2021/10/30 | 8761 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2021/10/30 | 83805 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2021/10/30 | 833 | support/latexindent/LatexIndent/Version.pm
+2021/10/30 | 817086 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2021/10/30 | 81465 | macros/latex/contrib/easybook/easybook.dtx
+2021/10/30 | 80975 | macros/latex/contrib/easybook/easybook.tex
+2021/10/30 | 80699 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2021/10/30 | 8025 | support/latexindent/documentation/sec-the-line-switch.tex
+2021/10/30 | 7969 | support/latexindent/documentation/sec-introduction.tex
+2021/10/30 | 78727 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2021/10/30 | 7813 | macros/latex/contrib/ccref/ccref-doc.tex
+2021/10/30 | 78093 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2021/10/30 | 7719 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2021/10/30 | 76828 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2021/10/30 | 75930 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2021/10/30 | 7500 | systems/texlive/tlnet/archive/unicodefonttable.r60894.tar.xz
+2021/10/30 | 744988 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2021/10/30 | 742944 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
+2021/10/30 | 74200 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2021/10/30 | 73320 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2021/10/30 | 73128 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2021/10/30 | 72537 | support/latexindent/documentation/sec-default-user-local.tex
+2021/10/30 | 7234 | support/latexindent/documentation/subsubsec-no-add-remaining-code-blocks.tex
+2021/10/30 | 72158 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2021/10/30 | 71636 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2021/10/30 | 7161 | support/latexindent/documentation/figure-schematic.png
+2021/10/30 | 71395 | macros/latex/contrib/spbmark.zip
+2021/10/30 | 71038 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2021/10/30 | 69927 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2021/10/30 | 6984 | support/latexindent/LatexIndent/FileExtension.pm
+2021/10/30 | 69496 | systems/texlive/tlnet/archive/spbmark.doc.r60893.tar.xz
+2021/10/30 | 68237 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2021/10/30 | 681639 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
+2021/10/30 | 681527 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2021/10/30 | 6811311 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2021/10/30 | 68012 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/10/30 | 6793 | support/latexindent/LatexIndent/MandatoryArgument.pm
+2021/10/30 | 67602 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2021/10/30 | 67535 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2021/10/30 | 67381 | macros/latex/contrib/spbmark/spbmark.pdf
+2021/10/30 | 6645 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
+2021/10/30 | 66280 | support/latexindent/documentation/subsec-poly-switches.tex
+2021/10/30 | 66266 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2021/10/30 | 66144 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/10/30 | 6488 | systems/texlive/tlnet/archive/collection-latexextra.r60891.tar.xz
+2021/10/30 | 64409 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2021/10/30 | 6402 | support/latexindent/LatexIndent/Item.pm
+2021/10/30 | 63970 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2021/10/30 | 6373 | support/latexindent/LatexIndent/TrailingComments.pm
+2021/10/30 | 63711 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2021/10/30 | 633 | support/latexindent/documentation/cmhlistings.tex
+2021/10/30 | 6329 | support/latexindent/LatexIndent/Environment.pm
+2021/10/30 | 629886 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2021/10/30 | 62720 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2021/10/30 | 624412 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2021/10/30 | 624296 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2021/10/30 | 624187 | systems/win32/miktex/tm/packages/files.csv.lzma
+2021/10/30 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2021/10/30 | 623217 | macros/latex/contrib/easybook.zip
+2021/10/30 | 61840 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2021/10/30 | 61713 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
+2021/10/30 | 6064095 | support/latexindent.zip
+2021/10/30 | 6062 | support/latexindent/LatexIndent/OptionalArgument.pm
+2021/10/30 | 60569 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2021/10/30 | 602488 | systems/texlive/tlnet/archive/easybook.doc.r60892.tar.xz
+2021/10/30 | 59988 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2021/10/30 | 5979 | support/latexindent/documentation/subsubsec-commands-with-arguments.tex
+2021/10/30 | 597313 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2021/10/30 | 5969 | support/latexindent/LatexIndent/Else.pm
+2021/10/30 | 590868 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2021/10/30 | 581906 | macros/latex/contrib/easybook/easybook.pdf
+2021/10/30 | 57725 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2021/10/30 | 5771 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
+2021/10/30 | 57615 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2021/10/30 | 57378 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2021/10/30 | 5728 | support/latexindent/documentation/subsec-combine-text-wrap-para-line-breaks.tex
+2021/10/30 | 57240 | macros/latex/contrib/mathalpha/tex/mathalpha.sty
+2021/10/30 | 57146 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2021/10/30 | 56877 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2021/10/30 | 566013 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2021/10/30 | 56515 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2021/10/30 | 56493 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2021/10/30 | 56319 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2021/10/30 | 56309 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2021/10/30 | 55980 | support/latexindent/LatexIndent/GetYamlSettings.pm
+2021/10/30 | 55527 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2021/10/30 | 54769 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2021/10/30 | 532123 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2021/10/30 | 5306 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
+2021/10/30 | 5286 | support/latexindent/documentation/subsubsec-headings.tex
+2021/10/30 | 52418 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2021/10/30 | 51781 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2021/10/30 | 51355 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2021/10/30 | 51232 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2021/10/30 | 510985 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2021/10/30 | 51088 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2021/10/30 | 50343 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2021/10/30 | 50241 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2021/10/30 | 5011 | support/latexindent/LatexIndent/Check.pm
+2021/10/30 | 4961 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
+2021/10/30 | 4909 | macros/latex/contrib/ccref/ccref.sty
+2021/10/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2021/10/30 | 4873 | support/latexindent/documentation/subsubsec-ifelsefi.tex
+2021/10/30 | 483781 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2021/10/30 | 48253 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2021/10/30 | 476755 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2021/10/30 | 46992 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2021/10/30 | 461939 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2021/10/30 | 45953 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2021/10/30 | 45842 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2021/10/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2021/10/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2021/10/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2021/10/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2021/10/30 | 45382 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2021/10/30 | 4503 | support/latexindent/LatexIndent/BlankLines.pm
+2021/10/30 | 4446 | support/latexindent/LatexIndent/Preamble.pm
+2021/10/30 | 44096 | support/latexindent/documentation/logo.png
+2021/10/30 | 4355 | support/latexindent/LatexIndent/RoundBrackets.pm
+2021/10/30 | 43396 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2021/10/30 | 43024 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2021/10/30 | 42981 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2021/10/30 | 42893 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2021/10/30 | 4270 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
+2021/10/30 | 42691 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2021/10/30 | 42437 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2021/10/30 | 41285 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2021/10/30 | 40429 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/10/30 | 400816 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60885.tar.xz
+2021/10/30 | 39547 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2021/10/30 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2021/10/30 | 3850 | support/latexindent/documentation/subsubsec-special.tex
+2021/10/30 | 383640 | fonts/dsserif.zip
+2021/10/30 | 381571 | graphics/pgf/contrib/bodeplot.zip
+2021/10/30 | 38142 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2021/10/30 | 37773 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2021/10/30 | 3776 | macros/latex/contrib/mathalpha/README
+2021/10/30 | 37362 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2021/10/30 | 37254 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2021/10/30 | 36589 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2021/10/30 | 3614 | support/latexindent/LatexIndent/Replacement.pm
+2021/10/30 | 36071 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2021/10/30 | 3524512 | systems/texlive/tlnet/archive/pst-func.doc.r60889.tar.xz
+2021/10/30 | 3513 | fonts/dsserif/tex/dsserif.sty
+2021/10/30 | 35077 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2021/10/30 | 34654 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2021/10/30 | 345282 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2021/10/30 | 3450 | support/latexindent/documentation/subsubsec-environments-with-items.tex
+2021/10/30 | 342189 | macros/latex/contrib/cutwin.zip
+2021/10/30 | 341874 | macros/latex/contrib/cutwin/cutwin.pdf
+2021/10/30 | 3378 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
+2021/10/30 | 33647 | macros/latex/contrib/cutwin/cutwin.dtx
+2021/10/30 | 33634 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2021/10/30 | 33401 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2021/10/30 | 332096 | systems/texlive/tlnet/archive/dvipdfmx.win32.r60887.tar.xz
+2021/10/30 | 330670 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2021/10/30 | 3273 | support/latexindent/LatexIndent/Tokens.pm
+2021/10/30 | 32620 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2021/10/30 | 324610 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2021/10/30 | 31661 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/10/30 | 31553 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2021/10/30 | 31325 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2021/10/30 | 31212 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2021/10/30 | 311140 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2021/10/30 | 30802 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2021/10/30 | 3021 | support/latexindent/documentation/sec-the-m-switch.tex
+2021/10/30 | 30055 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2021/10/30 | 29848 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2021/10/30 | 295296 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2021/10/30 | 28990 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2021/10/30 | 2844 | macros/latex/contrib/cutwin/cutwin.ins
+2021/10/30 | 284333 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2021/10/30 | 283937 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2021/10/30 | 28362 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2021/10/30 | 28166 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2021/10/30 | 281136 | systems/texlive/tlnet/archive/dsserif.doc.r60888.tar.xz
+2021/10/30 | 2795811 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2021/10/30 | 278793 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2021/10/30 | 27716 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2021/10/30 | 2754 | support/latexindent/latexindent.pl
+2021/10/30 | 27348 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2021/10/30 | 27295 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2021/10/30 | 27184 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2021/10/30 | 2715 | macros/latex/contrib/ccref/README.md
+2021/10/30 | 2671614 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2021/10/30 | 26711 | support/latexindent/LatexIndent/Verbatim.pm
+2021/10/30 | 258842 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2021/10/30 | 25631159 | systems/texlive/tlnet/install-tl.zip
+2021/10/30 | 255237 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2021/10/30 | 2528 | systems/texlive/tlnet/archive/spbmark.r60893.tar.xz
+2021/10/30 | 25164 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2021/10/30 | 250447 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2021/10/30 | 25034 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2021/10/30 | 24980 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2021/10/30 | 248726 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2021/10/30 | 248600 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2021/10/30 | 246 | support/latexindent/documentation/references.tex
+2021/10/30 | 24478 | support/latexindent/documentation/latexindent.tex
+2021/10/30 | 243393 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2021/10/30 | 2412 | support/latexindent/LatexIndent/Switches.pm
+2021/10/30 | 23872 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2021/10/30 | 23584 | support/latexindent/LatexIndent/Arguments.pm
+2021/10/30 | 23354 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2021/10/30 | 2319188 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2021/10/30 | 22888 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
+2021/10/30 | 22504 | support/latexindent/documentation/sec-how-to-use.tex
+2021/10/30 | 224856 | systems/texlive/tlnet/archive/biblatex2bibitem.doc.r60890.tar.xz
+2021/10/30 | 22107 | support/latexindent/documentation/subsec-one-sentence-per-line.tex
+2021/10/30 | 22021 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2021/10/30 | 2188 | support/latexindent/LatexIndent/Logger.pm
+2021/10/30 | 21779 | support/latexindent/LatexIndent/Document.pm
+2021/10/30 | 21672 | systems/texlive/tlnet/archive/unicodefonttable.source.r60894.tar.xz
+2021/10/30 | 21650 | support/latexindent/documentation/sec-replacements.tex
+2021/10/30 | 215266 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2021/10/30 | 2120 | support/latexindent/documentation/sec-demonstration.tex
+2021/10/30 | 21201 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2021/10/30 | 20872549 | systems/texlive/tlnet/install-tl-windows.exe
+2021/10/30 | 208016 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2021/10/30 | 207069 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2021/10/30 | 20565 | support/latexindent/LatexIndent/Indent.pm
+2021/10/30 | 2034 | fonts/dsserif/README
+2021/10/30 | 202726 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2021/10/30 | 20119 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2021/10/30 | 2004434 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2021/10/30 | 19984 | systems/texlive/tlnet/archive/pst-func.r60889.tar.xz
+2021/10/30 | 199649 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2021/10/30 | 19822 | support/latexindent/LatexIndent/Sentence.pm
+2021/10/30 | 198216 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2021/10/30 | 197409 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2021/10/30 | 196864 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2021/10/30 | 195759 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2021/10/30 | 195364 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2021/10/30 | 19106 | macros/latex/contrib/ccref/LICENSE
+2021/10/30 | 1909 | support/latexindent/documentation/subsec-noAdditionalIndent-indentRules.tex
+2021/10/30 | 1908 | macros/latex/contrib/cutwin/README.md
+2021/10/30 | 1891827 | macros/latex/contrib/mathalpha.zip
+2021/10/30 | 1879 | support/latexindent/documentation/figure-schematic.tex
+2021/10/30 | 18756 | support/latexindent/defaultSettings.yaml
+2021/10/30 | 1874 | support/latexindent/README
+2021/10/30 | 18433 | support/latexindent/documentation/subsec-text-wrap.tex
+2021/10/30 | 18156 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2021/10/30 | 180096 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2021/10/30 | 179766 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2021/10/30 | 17969 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2021/10/30 | 179264 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2021/10/30 | 17664 | systems/texlive/tlnet/archive/easybook.source.r60892.tar.xz
+2021/10/30 | 17616 | systems/texlive/tlnet/archive/easybook.r60892.tar.xz
+2021/10/30 | 1716712 | systems/texlive/tlnet/archive/unicodefonttable.doc.r60894.tar.xz
+2021/10/30 | 16960387 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2021/10/30 | 1692338 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2021/10/30 | 168976 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2021/10/30 | 1688 | support/latexindent/documentation/sec-conclusions-know-limitations.tex
+2021/10/30 | 1664 | systems/texlive/tlnet/archive/biblatex2bibitem.r60890.tar.xz
+2021/10/30 | 1664 | support/latexindent/documentation/logo.tex
+2021/10/30 | 16597 | support/latexindent/documentation/subsubsec-environments-and-their-arguments.tex
+2021/10/30 | 16449 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2021/10/30 | 16340 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2021/10/30 | 159559 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2021/10/30 | 15837 | support/latexindent/documentation/sec-fine-tuning.tex
+2021/10/30 | 1558 | support/latexindent/latexindent-module-installer.pl
+2021/10/30 | 154138 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2021/10/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2021/10/30 | 153931 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2021/10/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2021/10/30 | 151090 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2021/10/30 | 1496 | systems/texlive/tlnet/archive/ccref.r60891.tar.xz
+2021/10/30 | 1483 | support/latexindent/LatexIndent/DoubleBackSlash.pm
+2021/10/30 | 1477 | support/latexindent/documentation/title.tex
+2021/10/30 | 1470179 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2021/10/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2021/10/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2021/10/30 | 1441 | support/latexindent/documentation/subsec-text-wrap-summary.tex
+2021/10/30 | 14343 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2021/10/30 | 1418401 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2021/10/30 | 14050 | support/latexindent/documentation/subsec-commands-and-their-options.tex
+2021/10/30 | 1378245 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2021/10/30 | 1378087 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2021/10/30 | 136898 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/10/30 | 136330 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2021/10/30 | 13605 | support/latexindent/documentation/appendices.tex
+2021/10/30 | 13548 | support/latexindent/LatexIndent/Special.pm
+2021/10/30 | 13461 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2021/10/30 | 1345712 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2021/10/30 | 133825 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2021/10/30 | 13122 | support/latexindent/LatexIndent/FileContents.pm
+2021/10/30 | 1300812 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2021/10/30 | 1289427 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2021/10/30 | 1278788 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2021/10/30 | 1278340 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2021/10/30 | 12661 | support/latexindent/LatexIndent/Braces.pm
+2021/10/30 | 124625 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2021/10/30 | 12302 | support/latexindent/LatexIndent/HiddenChildren.pm
+2021/10/30 | 119828 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2021/10/30 | 11975 | support/latexindent/documentation/subsec-remove-para-line-breaks.tex
+2021/10/30 | 1170153 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2021/10/30 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2021/10/30 | 115252 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2021/10/30 | 112958 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2021/10/30 | 112286 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2021/10/30 | 110459 | macros/latex/contrib/ccref.zip
+2021/10/30 | 109055 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2021/10/30 | 10859 | support/latexindent/documentation/sec-indent-config-and-settings.tex
+2021/10/30 | 108276 | systems/texlive/tlnet/archive/texlive-scripts.r60885.tar.xz
+2021/10/30 | 10802 | support/latexindent/LatexIndent/Heading.pm
+2021/10/30 | 1076641 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2021/10/30 | 105767 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2021/10/30 | 103918 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2021/10/30 | 103724 | systems/texlive/tlnet/archive/ccref.doc.r60891.tar.xz
+2021/10/30 | 10347 | support/latexindent/LatexIndent/Command.pm
+2021/10/30 | 103400 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2021/10/30 | 1012198 | support/latexindent/documentation/latexindent.pdf
+2021/10/30 | 100377 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2021/10/30 | 1000 | systems/texlive/tlnet/archive/dsserif.source.r60888.tar.xz
+2021/10/29 | 98307327 | systems/win32/TLW64/tl-win64.zip
2021/10/29 | 924128 | systems/texlive/tlnet/archive/tex4ht.r60883.tar.xz
-2021/10/29 | 9023 | macros/latex/contrib/spbmark/spbmark.sty
2021/10/29 | 898 | macros/latex/contrib/unicodefonttable/TODO.md
-2021/10/29 | 8950 | macros/latex/contrib/spbmark/spbmark.tex
2021/10/29 | 892 | macros/latex/contrib/unicodefonttable/changes.txt
-2021/10/29 | 884 | systems/win32/miktex/tm/packages/pr.ini
-2021/10/29 | 87738 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2021/10/29 | 8762 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
2021/10/29 | 871 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-examples.bib
2021/10/29 | 851938 | macros/latex/contrib/unicodefonttable/unicodefonttable-doc.pdf
-2021/10/29 | 83805 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2021/10/29 | 83583 | macros/latex/contrib/unicodefonttable/unicodefonttable.dtx
-2021/10/29 | 817084 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2021/10/29 | 81271 | macros/latex/contrib/easybook/easybook.dtx
-2021/10/29 | 81025 | macros/latex/contrib/easybook/easybook.tex
-2021/10/29 | 80699 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2021/10/29 | 80324 | systems/texlive/tlnet/archive/breqn.source.r60881.tar.xz
2021/10/29 | 7906 | fonts/bboldx/tex/bboldx.sty
2021/10/29 | 78958 | graphics/pstricks/contrib/pst-func/tex/pst-func.tex
-2021/10/29 | 78729 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
2021/10/29 | 783565 | macros/latex/contrib/biblatex2bibitem.zip
-2021/10/29 | 78092 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
2021/10/29 | 772 | macros/latex/contrib/unicodefonttable/README.md
-2021/10/29 | 7719 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2021/10/29 | 76829 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2021/10/29 | 76099 | macros/latex/contrib/unicodefonttable/l3doc-TUB.cls
-2021/10/29 | 75930 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2021/10/29 | 744988 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2021/10/29 | 742943 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64-2.9.tar.lzma
2021/10/29 | 742583 | macros/latex/contrib/unicodefonttable/unicodefonttable-samples.pdf
-2021/10/29 | 74200 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
2021/10/29 | 7335 | graphics/pstricks/contrib/pst-func/Changes
-2021/10/29 | 73319 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2021/10/29 | 73128 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2021/10/29 | 72157 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2021/10/29 | 71635 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2021/10/29 | 71342 | macros/latex/contrib/spbmark.zip
-2021/10/29 | 71038 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2021/10/29 | 69927 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2021/10/29 | 6852 | macros/latex/contrib/ccref/ccref-doc.tex
-2021/10/29 | 68238 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2021/10/29 | 681639 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-2.9.tar.lzma
-2021/10/29 | 681528 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2021/10/29 | 6810755 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2021/10/29 | 68011 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2021/10/29 | 6864 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/10/29 | 6786 | fonts/bboldx/doc/Bboldx-doc.tex
-2021/10/29 | 67602 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2021/10/29 | 67536 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2021/10/29 | 67357 | macros/latex/contrib/spbmark/spbmark.pdf
-2021/10/29 | 66267 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2021/10/29 | 66144 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2021/10/29 | 66679 | graphics/pgf/contrib/bodeplot/bodeplot.dtx
2021/10/29 | 6536 | systems/texlive/tlnet/archive/tikz-among-us.r60880.tar.xz
-2021/10/29 | 64409 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2021/10/29 | 63970 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2021/10/29 | 63712 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2021/10/29 | 629888 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2021/10/29 | 62721 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2021/10/29 | 624414 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2021/10/29 | 624296 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2021/10/29 | 624187 | systems/win32/miktex/tm/packages/files.csv.lzma
-2021/10/29 | 62359 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2021/10/29 | 623151 | macros/latex/contrib/easybook.zip
-2021/10/29 | 61840 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2021/10/29 | 60568 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2021/10/29 | 605460 | systems/texlive/tlnet/archive/easybook.doc.r60882.tar.xz
-2021/10/29 | 59988 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2021/10/29 | 597314 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2021/10/29 | 590865 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2021/10/29 | 581908 | macros/latex/contrib/easybook/easybook.pdf
-2021/10/29 | 57726 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2021/10/29 | 57615 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2021/10/29 | 57378 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2021/10/29 | 57146 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2021/10/29 | 56876 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2021/10/29 | 566014 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2021/10/29 | 56516 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2021/10/29 | 56493 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2021/10/29 | 56318 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2021/10/29 | 56310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
2021/10/29 | 557 | graphics/pstricks/contrib/pst-func/latex/pst-func.sty
-2021/10/29 | 55528 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2021/10/29 | 54769 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2021/10/29 | 533 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-mwe.tex
-2021/10/29 | 532122 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2021/10/29 | 52418 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2021/10/29 | 51780 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2021/10/29 | 5137144 | systems/texlive/tlnet/archive/tikz-among-us.doc.r60880.tar.xz
-2021/10/29 | 51355 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2021/10/29 | 51233 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2021/10/29 | 510986 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2021/10/29 | 51088 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2021/10/29 | 50342 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2021/10/29 | 50241 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2021/10/29 | 4961 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma
-2021/10/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2021/10/29 | 483779 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2021/10/29 | 48254 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2021/10/29 | 476754 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2021/10/29 | 46992 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2021/10/29 | 461939 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2021/10/29 | 45955 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2021/10/29 | 45843 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2021/10/29 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2021/10/29 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2021/10/29 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2021/10/29 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2021/10/29 | 45383 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2021/10/29 | 43396 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2021/10/29 | 43025 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2021/10/29 | 42981 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2021/10/29 | 42894 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2021/10/29 | 42690 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2021/10/29 | 42439 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2021/10/29 | 41285 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2021/10/29 | 4059910 | graphics/pstricks/contrib/pst-func/doc/pst-func-doc.pdf
-2021/10/29 | 40429 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2021/10/29 | 403982 | graphics/pgf/contrib/bodeplot/bodeplot.pdf
2021/10/29 | 39651 | graphics/pstricks/contrib/pst-func/doc/pst-func-doc.data
-2021/10/29 | 39546 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2021/10/29 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2021/10/29 | 383608 | fonts/dsserif.zip
-2021/10/29 | 38143 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2021/10/29 | 37775 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2021/10/29 | 37362 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2021/10/29 | 37254 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2021/10/29 | 36590 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2021/10/29 | 3625828 | graphics/pstricks/contrib/pst-func.zip
-2021/10/29 | 36072 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2021/10/29 | 35077 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2021/10/29 | 34653 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2021/10/29 | 345281 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2021/10/29 | 33633 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2021/10/29 | 33399 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2021/10/29 | 330672 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2021/10/29 | 32620 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2021/10/29 | 324612 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2021/10/29 | 31661 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2021/10/29 | 32466 | macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex
2021/10/29 | 3161 | macros/latex/contrib/biblatex2bibitem/README.md
-2021/10/29 | 31555 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2021/10/29 | 31324 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2021/10/29 | 31213 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2021/10/29 | 311140 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
2021/10/29 | 3084 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem.sty
-2021/10/29 | 30800 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2021/10/29 | 30055 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2021/10/29 | 29848 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2021/10/29 | 295299 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2021/10/29 | 28992 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2021/10/29 | 284334 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2021/10/29 | 283937 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2021/10/29 | 28362 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2021/10/29 | 28166 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2021/10/29 | 2795810 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2021/10/29 | 278794 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2021/10/29 | 27715 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
2021/10/29 | 2750 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-hyperref-result.tex
-2021/10/29 | 27348 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2021/10/29 | 27297 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2021/10/29 | 27184 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2021/10/29 | 2671614 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
2021/10/29 | 2632128 | macros/latex/contrib/unicodefonttable.zip
-2021/10/29 | 258843 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2021/10/29 | 25631165 | systems/texlive/tlnet/install-tl.zip
-2021/10/29 | 255237 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2021/10/29 | 25166 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2021/10/29 | 250447 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2021/10/29 | 25035 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2021/10/29 | 24980 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2021/10/29 | 248705 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2021/10/29 | 248603 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2021/10/29 | 24524 | systems/texlive/tlnet/archive/breqn.r60881.tar.xz
-2021/10/29 | 243395 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
2021/10/29 | 2397 | macros/latex/contrib/unicodefonttable/unicodefonttable.ins
-2021/10/29 | 23871 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2021/10/29 | 23355 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2021/10/29 | 2318608 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/10/29 | 231213 | fonts/bboldx.zip
-2021/10/29 | 2309 | macros/latex/contrib/ccref/README.md
-2021/10/29 | 22022 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2021/10/29 | 215265 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2021/10/29 | 21202 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2021/10/29 | 20874334 | systems/texlive/tlnet/install-tl-windows.exe
-2021/10/29 | 208017 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2021/10/29 | 207070 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2021/10/29 | 202727 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2021/10/29 | 20120 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2021/10/29 | 2004435 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2021/10/29 | 199650 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2021/10/29 | 198217 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2021/10/29 | 197409 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2021/10/29 | 196867 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2021/10/29 | 195759 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2021/10/29 | 195362 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2021/10/29 | 1912 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-mwe-result.tex
2021/10/29 | 19106 | macros/latex/contrib/biblatex2bibitem/LICENSE.txt
+2021/10/29 | 1899045 | macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf
2021/10/29 | 184 | macros/latex/contrib/unicodefonttable/unicodefonttable-doc.tex
-2021/10/29 | 18155 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2021/10/29 | 180094 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2021/10/29 | 179766 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2021/10/29 | 17969 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2021/10/29 | 179266 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2021/10/29 | 17664 | systems/texlive/tlnet/archive/easybook.source.r60882.tar.xz
-2021/10/29 | 17608 | systems/texlive/tlnet/archive/easybook.r60882.tar.xz
-2021/10/29 | 16958103 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2021/10/29 | 1692339 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2021/10/29 | 168975 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2021/10/29 | 16449 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2021/10/29 | 16341 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2021/10/29 | 159559 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2021/10/29 | 154138 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2021/10/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2021/10/29 | 153930 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2021/10/29 | 1530 | graphics/pstricks/contrib/pst-func/README.md
-2021/10/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2021/10/29 | 151090 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2021/10/29 | 15040 | graphics/pstricks/contrib/pst-func/dvips/pst-func.pro
2021/10/29 | 149415 | fonts/bboldx/doc/Bboldx-doc.pdf
-2021/10/29 | 1470177 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2021/10/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2021/10/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2021/10/29 | 14344 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2021/10/29 | 1418399 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2021/10/29 | 1378640 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2021/10/29 | 1377600 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2021/10/29 | 136899 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2021/10/29 | 1416 | graphics/pgf/contrib/bodeplot/bodeplot.ins
2021/10/29 | 136388 | systems/texlive/tlnet/archive/tex4ht.doc.r60883.tar.xz
-2021/10/29 | 136329 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2021/10/29 | 13462 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2021/10/29 | 1345710 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2021/10/29 | 133825 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2021/10/29 | 132428 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-new.pdf
2021/10/29 | 132428 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-hyperref.pdf
2021/10/29 | 130518 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-mwe.pdf
-2021/10/29 | 1300812 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2021/10/29 | 1289427 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2021/10/29 | 1280416 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2021/10/29 | 1278072 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2021/10/29 | 127158 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-new-result.pdf
2021/10/29 | 126889 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-hyperref-result.pdf
2021/10/29 | 125439 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-mwe-result.pdf
-2021/10/29 | 124623 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2021/10/29 | 1227184 | systems/texlive/tlnet/archive/tex4ht.source.r60883.tar.xz
-2021/10/29 | 119829 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2021/10/29 | 1192 | macros/latex/contrib/biblatex2bibitem/biblatex2bibitem-hyperref.tex
-2021/10/29 | 1170152 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2021/10/29 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2021/10/29 | 115252 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2021/10/29 | 112957 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2021/10/29 | 112286 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
2021/10/29 | 109 | macros/latex/contrib/unicodefonttable/unicodefonttable-code.tex
-2021/10/29 | 109056 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2021/10/29 | 1079 | fonts/bboldx/README
-2021/10/29 | 1076641 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
2021/10/29 | 1063132 | systems/texlive/tlnet/archive/breqn.doc.r60881.tar.xz
-2021/10/29 | 105768 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2021/10/29 | 105316 | macros/latex/contrib/ccref.zip
2021/10/29 | 104457 | graphics/pstricks/contrib/pst-func/doc/pst-func-doc.tex
-2021/10/29 | 103918 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2021/10/29 | 103403 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
2021/10/29 | 1032003 | macros/latex/contrib/unicodefonttable/unicodefonttable-code.pdf
-2021/10/29 | 100378 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
2021/10/28 | 663299 | macros/latex/contrib/breqn/breqn.pdf
2021/10/28 | 6523 | fonts/dsserif/doc/dsserif-doc.tex
2021/10/28 | 64139 | macros/latex/contrib/breqn/flexisym.dtx
2021/10/28 | 62244 | systems/texlive/tlnet/archive/siunitx.r60878.tar.xz
-2021/10/28 | 400816 | systems/texlive/tlnet/archive/texlive-scripts.doc.r60876.tar.xz
-2021/10/28 | 3948 | macros/latex/contrib/ccref/ccref.sty
-2021/10/28 | 3498 | fonts/dsserif/tex/dsserif.sty
2021/10/28 | 3212 | systems/texlive/tlnet/archive/showlabels.r60877.tar.xz
+2021/10/28 | 3102 | graphics/pgf/contrib/bodeplot/README.md
2021/10/28 | 286026 | macros/latex/contrib/breqn/flexisym.pdf
2021/10/28 | 262228 | fonts/dsserif/doc/dsserif-doc.pdf
2021/10/28 | 248385 | macros/latex/contrib/breqn/breqn.dtx
2021/10/28 | 231580 | systems/texlive/tlnet/archive/showlabels.doc.r60877.tar.xz
2021/10/28 | 2077 | macros/latex/contrib/breqn/breqnbundle.ins
2021/10/28 | 2037012 | systems/texlive/tlnet/archive/siunitx.doc.r60878.tar.xz
-2021/10/28 | 1963 | fonts/dsserif/README
2021/10/28 | 186681 | macros/latex/contrib/breqn/mathstyle.pdf
2021/10/28 | 1701 | macros/latex/contrib/breqn/CHANGES.md
2021/10/28 | 17011 | macros/latex/contrib/breqn/mathstyle.dtx
@@ -292,12 +407,10 @@
2021/10/28 | 1219110 | macros/latex/contrib/breqn.zip
2021/10/28 | 118705796 | macros/context/latest/cont-tmf.zip
2021/10/28 | 1096668 | support/TeX4ht/source/tex4ht-4ht.tex
-2021/10/28 | 108284 | systems/texlive/tlnet/archive/texlive-scripts.r60876.tar.xz
2021/10/28 | 107504 | systems/texlive/tlnet/archive/siunitx.source.r60878.tar.xz
2021/10/27 | 969744 | systems/texlive/tlnet/archive/latex-make.doc.r60874.tar.xz
2021/10/27 | 9596 | systems/texlive/tlnet/archive/latex-make.r60874.tar.xz
2021/10/27 | 6 | macros/latex/contrib/showlabels/VERSION
-2021/10/27 | 6913 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2021/10/27 | 5870 | macros/latex/contrib/showlabels/style.css
2021/10/27 | 5207799 | graphics/pgf/contrib/tikz-among-us.zip
2021/10/27 | 51467 | macros/latex/contrib/showlabels/showlabels.dtx
@@ -364,7 +477,6 @@
2021/10/26 | 121120 | macros/latex/contrib/siunitx/siunitx-number.dtx
2021/10/26 | 1069049 | support/latex-make.zip
2021/10/26 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2021/10/25 | 89860 | systems/texlive/tlnet/archive/dsserif.r60859.tar.xz
2021/10/25 | 83320 | systems/texlive/tlnet/archive/luatexja.source.r60862.tar.xz
2021/10/25 | 7320 | systems/texlive/tlnet/archive/minimalist.r60863.tar.xz
2021/10/25 | 73056 | systems/texlive/tlnet/archive/cjk.source.r60865.tar.xz
@@ -377,10 +489,8 @@
2021/10/25 | 4040 | systems/texlive/tlnet/archive/simplivre.r60863.tar.xz
2021/10/25 | 3956 | systems/texlive/tlnet/archive/lebhart.r60863.tar.xz
2021/10/25 | 37132 | systems/texlive/tlnet/archive/projlib.source.r60861.tar.xz
-2021/10/25 | 332336 | systems/texlive/tlnet/archive/dvipdfmx.win32.r60855.tar.xz
2021/10/25 | 32072 | systems/texlive/tlnet/archive/nicematrix.r60864.tar.xz
2021/10/25 | 3200840 | systems/texlive/tlnet/archive/luatexja.doc.r60862.tar.xz
-2021/10/25 | 275888 | systems/texlive/tlnet/archive/dsserif.doc.r60859.tar.xz
2021/10/25 | 190716 | systems/texlive/tlnet/archive/luatexja.r60862.tar.xz
2021/10/25 | 1868924 | systems/texlive/tlnet/archive/nicematrix.doc.r60864.tar.xz
2021/10/25 | 1477448 | systems/texlive/tlnet/archive/cjk.doc.r60865.tar.xz
@@ -389,9 +499,7 @@
2021/10/25 | 109036 | systems/texlive/tlnet/archive/minimalist.doc.r60863.tar.xz
2021/10/25 | 108120 | systems/texlive/tlnet/archive/nicematrix.source.r60864.tar.xz
2021/10/25 | 106300 | systems/texlive/tlnet/archive/colorist.doc.r60863.tar.xz
-2021/10/25 | 1000 | systems/texlive/tlnet/archive/dsserif.source.r60859.tar.xz
2021/10/25 | 10004 | systems/texlive/tlnet/archive/colorist.r60863.tar.xz
-2021/10/24 | 98307329 | systems/win32/TLW64/tl-win64.zip
2021/10/24 | 983000 | systems/texlive/tlnet/archive/newtx.doc.r60850.tar.xz
2021/10/24 | 97986 | macros/latex/contrib/minimalist/minimalist-doc.pdf
2021/10/24 | 9765 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty
@@ -422,7 +530,6 @@
2021/10/24 | 682080 | systems/texlive/tlnet/archive/latex-base-dev.source.r60842.tar.xz
2021/10/24 | 65844 | systems/texlive/tlnet/archive/latex-amsmath-dev.source.r60842.tar.xz
2021/10/24 | 6497 | macros/luatex/generic/luatexja/src/patches/lltjdefs.sty
-2021/10/24 | 6488 | systems/texlive/tlnet/archive/collection-latexextra.r60841.tar.xz
2021/10/24 | 631596 | systems/texlive/tlnet/archive/zx-calculus.doc.r60838.tar.xz
2021/10/24 | 6304 | macros/latex/contrib/minimalist/minimart.cls
2021/10/24 | 6301 | macros/latex/contrib/minimalist/minimbook.cls
diff --git a/fonts/dsserif/README b/fonts/dsserif/README
index 9181661d7d..ed101382a1 100644
--- a/fonts/dsserif/README
+++ b/fonts/dsserif/README
@@ -19,7 +19,10 @@ The font files and the LaTeX support files are
Files provided "as is", with no warranties.
-Current version: 1.03 2021-10-28
+Current version: 1.031 2021-10-29
+
+Changes in version 1.031
+Corrected a scaling problem in dsserif.sty.
Changes in version 1.03
1. Added options symbols (load as symbol font, not as MathAlphabet), bfbb (force \mathbb to refer to bold weight.)
diff --git a/fonts/dsserif/tex/dsserif.sty b/fonts/dsserif/tex/dsserif.sty
index 24b57b4519..916a3b64cc 100644
--- a/fonts/dsserif/tex/dsserif.sty
+++ b/fonts/dsserif/tex/dsserif.sty
@@ -1,15 +1,15 @@
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{1.03}
-\def\filedate{2021/10/28}
+\def\fileversion{1.031}
+\def\filedate{2021/10/29}
\ProvidesPackage{dsserif}[\filedate\space v\fileversion\space U/dsserif]
%\@ifundefined{hexnumber@}{\input{binhex}}{}
\RequirePackage{xkeyval}%
-\newcommand*{\DSS@scale}{1}
+\newcommand*{\DSS@scale}{s*[1]}
\newcommand*{\DSS@m}{m}
\newif\ifDSS@sym
-\DeclareOptionX{scale}{\renewcommand*{\DSS@scale}{#1}}
-\DeclareOptionX{scaled}{\renewcommand*{\DSS@scale}{#1}}
+\DeclareOptionX{scale}{\renewcommand*{\DSS@scale}{s*[#1] }}
+\DeclareOptionX{scaled}{\renewcommand*{\DSS@scale}{s*[#1] }}
\DeclareOptionX{bfbb}{\renewcommand*{\DSS@m}{b}}
\DeclareOptionX{bbsymbols}{\DSS@symtrue}
\DeclareOptionX{symbols}{\DSS@symtrue}
diff --git a/graphics/pgf/contrib/bodeplot/README.md b/graphics/pgf/contrib/bodeplot/README.md
new file mode 100644
index 0000000000..f00aca2523
--- /dev/null
+++ b/graphics/pgf/contrib/bodeplot/README.md
@@ -0,0 +1,43 @@
+# bodeplot
+LaTeX package to plot Bode, Nichols, and Nyquist diagrams.
+
+Inspired by the `bodegraph` package.
+
+Limitation: Phase plots from TF commands are wrapped between 0 and 360 degrees.
+
+Added functionality:
+ - New `\BodeZPK` and `\BodeTF` commands to generate Bode plots of any transfer function given either poles, zeros, gain, and delay, or numerator and denominator coefficients and delay
+ - Support for unstable poles and zeros.
+ - Support for complex poles and zeros.
+ - Support for general stable and unstable second order transfer functions.
+ - Support for both `gnuplot` (default) and `pgfplots` (package option `pgf`).
+ - Support for linear and asymptotic approximation of magnitude and phase plots of any transfer function given poles, zeros, and gain.
+
+Main Bode/Nyquist/Nichols commands:
+Given Zeros, Poles, Gain, and Delay (Bode plots support asymptotic and linear approximation for systems without delays):
+ - `\BodeZPK[object1/type1/{options1},object2/type2/{options2},...]{z/{zeros},p/{poles},k/gain,d/delay}{min-frequency}{max-frequency}`
+ - `\NicholsZPK[plot/{options},axes/{options}]{z/{zeros},p/{poles},k/gain,d/delay}{min-frequency}{max-frequency}`
+ - `\NyquistZPK[plot/{options},axes/{options}]{z/{zeros},p/{poles},k/gain,d/delay}{min-frequency}{max-frequency}`
+
+Given Numerator and denominator coefficients and delay (does not support approximation yet):
+ - `\BodeTF[object1/type1/{options1},object2/type2/{options2},...]{num/{coeff},den/{coeff},d/delay}{min-frequency}{max-frequency}`
+ - `\NicholsTF[plot/{options},axes/{options}]{num/{coeff},den/{coeff},d/delay}`
+ - `\NyquistTF[plot/{options},axes/{options}]{num/{coeff},den/{coeff},d/delay}`
+
+Other new environments and associated commands:
+ - `BodePlot` environment
+ - `\addBodeZPKPlots[{approximation1/{plot-options1}},{approximation2/{plot-options2}},...]{plot-type (phase or magnitude)}{z/{zeros},p/{poles},k/gain,d/delay}`
+ - `\addBodeTFPlot[plot-options]{plot-type (phase or magnitude)}{num/{coeff},den/{coeff},d/delay}`
+ - `\addBodeComponentPlot[plot-options]{basic_component_plot_command}`
+ - Basic component plot commands: ***(append `Lin` to get linear approximation and `Asymp` to get asymptotic approximation)*** ***(change `Pole` to `Zero` to get inverse plots)*** ***(change `Mag` to `Ph` to get phase plots)***
+ - `\MagK{a}` - Pure gain, G(s) = a.
+ - `\MagPole{a}{b}` - Single pole at s = a+bi, G(s) = 1/(s - a-bi).
+ - `\MagCSPoles{z}{w}` - Cannonical Second order system, G(s) = 1/(s^2 + 2zws + w^2).
+ - `\MagSOPoles{a}{b}` - Second Order system, G(s) = 1/(s^2 + as + b).
+ - `\MagDel{T}` - Pure delay, G(s) = exp(-Ts) (does not admit asymptotic approximation).
+ - `NicholsChart` environment
+ - `\addNicholsZPKChart[plot-options]{z/{zeros},p/{poles},k/gain,d/delay}`
+ - `\addNicholsTFChart[plot-options]{num/{coeff},den/{coeff},d/delay}`
+ - `NyquistPlot` environment
+ - `\addNyquistZPKPlot[plot-options]{z/{zeros},p/{poles},k/gain,d/delay}`
+ - `\addNyquistTFPlot[plot-options]{num/{coeff},den/{coeff},d/delay}`
diff --git a/graphics/pgf/contrib/bodeplot/bodeplot.dtx b/graphics/pgf/contrib/bodeplot/bodeplot.dtx
new file mode 100644
index 0000000000..7c5f8c204a
--- /dev/null
+++ b/graphics/pgf/contrib/bodeplot/bodeplot.dtx
@@ -0,0 +1,1358 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2021 by Rushikesh Kamalapurkar <rlkamalapurkar@gmail.com>
+% -----------------------------------------------------------
+%
+% 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:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2006/05/20 or later.
+%
+% \fi
+%
+% \iffalse
+%<package> \NeedsTeXFormat{LaTeX2e}[2006/05/20]
+%<package> \ProvidesPackage{bodeplot}
+%<package> \RequirePackage{tikz}
+%<package> \RequirePackage{pgfplots}
+%<package> \pgfplotsset{compat=1.18,variable=t}
+%<package> \usepgfplotslibrary{groupplots}
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{bodeplot,cprotect,hyperref}
+\usetikzlibrary{decorations.markings,arrows.meta}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{bodeplot.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \changes{v1.0}{2021/10/25}{Initial release}
+%
+% \GetFileInfo{bodeplot.sty}
+%
+% \DoNotIndex{\newcommand,\xdef,\gdef,\def,\edef,\addplot,\approx,\arabic,\opt,\typ,\obj,\else,\if@pgfarg,\fi,\begin,\end,\feature,\footnotesize,\draw,\detokenize,\DeclareOption,\foreach,\ifdim,\ifodd,\Im,\Re,\let,\newif,\nextgroupplot,\noexpand,\expandafter,\unexpanded,\PackageError,\PackageWarning,\relax,\RequirePackage,\tikzset,\pgfmathsetmacro,\pgfmathtruncatemacro,\ProcessOptions}
+%
+% \title{The \textsf{bodeplot} package\thanks{This document
+% corresponds to \textsf{bodeplot}~\fileversion,
+% dated \filedate.}}
+% \author{Rushikesh Kamalapurkar \\ \texttt{rlkamalapurkar@gmail.com}}
+%
+% \maketitle
+%
+% \section{Introduction}
+%
+% Generate Bode, Nyquist, and Nichols plots for transfer functions in the canonical (TF) form \begin{equation}G(s) = e^{-Ts}\frac{b_ms^m+\cdots+b_1s+b_0}{a_ns^n+\cdots+a_1s+a_0}\label{eq:TF}\end{equation} and the zero-pole-gain (ZPK) form \begin{equation}G(s) = Ke^{-Ts}\frac{(s-z_1)(s-z_2)\cdots(s-z_m)}{(s-p_1)(s-p_2)\cdots(s-p_n)}.\label{eq:ZPK}\end{equation} In the equations above, $b_m,\cdots,b_0$ and $a_n,\cdots,a_0$ are real coefficients, $T\geq 0$ is the loop delay, $z_1,\cdots,z_m$ and $p_1,\cdots,p_n$ are complex zeros and poles of the transfer function, respectively, and $K\in \Re$ is the loop gain. For transfer functions in the ZPK format in (\ref{eq:ZPK}) with zero delay, this package also supports linear and asymptotic approximation of Bode plots.
+%
+% \section{Usage}
+% \subsection{Bode plots}
+% \DescribeMacro{\BodeZPK}
+% |\BodeZPK| \oarg{obj1/typ1/\marg{opt1},obj2/typ2/\marg{opt2},...}\\
+% \hspace*{2em}\marg{z/\marg{zeros},p/\marg{poles},k/\marg{gain},d/\marg{delay}}\\
+% \hspace*{2em}\marg{min-freq}\marg{max-freq}
+%
+% \noindent Plots the Bode plot of a transfer function given in ZPK format using the |groupplot| environment. The three mandatory arguments include: (1) a list of tuples, comprised of the zeros, the poles, the gain, and the transport delay of the transfer function, (2) the lower end of the frequency range for the $x-$ axis, and (3) the higher end of the frequency range for the $x-$axis. The zeros and the poles are complex numbers, entered as a comma-separated list of comma-separated lists, of the form |{{real part 1,imaginary part 1},| |{real part 2,imaginary part 2},...}|. If the imaginary part is not provided, it is assumed to be zero.
+%
+% The optional argument is comprised of a comma separated list of tuples, either |obj/typ/{opt}|, or |obj/{opt}|, or just |{opt}|. Each tuple passes options to different |pgfplots| macros that generate the group, the axes, and the plots according to:
+% \begin{itemize}
+% \item Tuples of the form |obj/typ/{opt}|:
+% \begin{itemize}
+% \item |plot/typ/{opt}|: modify plot properties by adding options |{opt}| to the |\addplot| macro for the magnitude plot if |typ| is |mag| and the phase plot if |typ| is |ph|.
+% \item |axes/typ/{opt}|: modify axis properties by adding options |{opt}| to the |\nextgroupplot| macro for the magnitude plot if |typ| is |mag| and the phase plot if |typ| is |ph|.
+% \end{itemize}
+% \item Tuples of the form |obj/{opt}|:
+% \begin{itemize}
+% \item |plot/{opt}|: adds options |{opt}| to |\addplot| macros for both the magnitude and the phase plots.
+% \item |axes/{opt}|: adds options |{opt}| to |\nextgroupplot| macros for both the magnitude and the phase plots.
+% \item |group/{opt}|: adds options |{opt}| to the |groupplot| environment.
+% \item |approx/linear|: plots linear approximation.
+% \item |approx/asymptotic|: plots asymptotic approximation.
+% \end{itemize}
+% \item Tuples of the form |{opts}| add all of the supplied options to |\addplot| macros for both the magnitude and the phase plots.
+% \end{itemize}
+% The options |{opt}| can be any |key=value| options that are supported by the |pgfplots| macros they are added to. \textit{Linear or asymptotic approximation of transfer functions that include a transport delay is not supported.}
+
+% For example, given a transfer function \begin{equation}G(s) = 10\frac{s(s+0.1+0.5\mathrm{i})(s+0.1-0.5\mathrm{i})}{(s+0.5+10\mathrm{i})(s+0.5-10\mathrm{i})},\label{eq:ZPKExample}\end{equation} its Bode plot over the frequency range $[0.01,100]$ can be generated using\\
+% |\BodeZPK|\\
+% | {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.5,-10},{-0.5,10}},k/10}|\\
+% | {0.01}{100}|\\
+% which generates the plot in Figure \ref{simpleBode}. If a delay is not specified, it is assumed to be zero. If a gain is not specified, it is assumed to be 1. By default, each of the axes, excluding ticks and labels, are 5cm wide and 2.5cm high. The width and the height, along with other properties of the plots, the axes, and the group can be customized using native |pgf| keys as shown in the example below.
+%
+% \begin{figure}
+% \begin{center}
+% \BodeZPK{z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.5,-10},{-0.5,10}},k/10}{0.01}{100}
+% \cprotect\caption{\label{simpleBode}Output of the default |\BodeZPK| macro.}
+% \end{center}
+% \end{figure}
+%
+% A linear approximation of the Bode plot with customization of the plots, the axes, and the group can be generated using\\
+% |\BodeZPK[plot/mag/{red,thick},plot/ph/{blue,thick},|\\
+% | axes/mag/{ytick distance=40,xmajorticks=true,|\\
+% | xlabel={Frequency (rad/s)}},axes/ph/{ytick distance=90},|\\
+% | group/{group style={group size=2 by 1,horizontal sep=2cm,|\\
+% | width=4cm,height=2cm}},approx/linear]|\\
+% | {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.5,-10},{-0.5,10}},k/10}|\\
+% | {0.01}{100}|\\
+% which generates the plot in Figure \ref{customBode}.
+%
+% \begin{figure}
+% \begin{center}
+% \BodeZPK[plot/mag/{red,thick},plot/ph/{blue,thick},axes/mag/{ytick distance=40,xmajorticks=true,xlabel={Frequency (rad/s)}},axes/ph/{ytick distance=90},approx/linear,group/{group style={group size = 2 by 1,horizontal sep=2cm},width=4cm,height=2cm},] {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.5,-10},{-0.5,10}},g/10} {0.01} {100}
+% \cprotect\caption{\label{customBode}Customization of the default |\BodeZPK| macro.}
+% \end{center}
+% \end{figure}
+%
+% \DescribeMacro{\BodeTF}
+% |\BodeTF| \oarg{obj1/typ1/\marg{opt1},obj2/typ2/\marg{opt2},...}\\
+% \hspace*{2em}\marg{num/\marg{coeffs},den/\marg{coeffs},d/\marg{delay}}\\
+% \hspace*{2em}\marg{min-freq}\marg{max-freq} \rmfamily
+%
+% \noindent Plots the Bode plot of a transfer function given in TF format. The three mandatory arguments include: (1) a list of tuples comprised of the coefficients in the numerator and the denominator of the transfer function and the transport delay, (2) the lower end of the frequency range for the $x-$ axis, and (3) the higher end of the frequency range for the $x-$axis. The coefficients are entered as a comma-separated list, in order from the highest degree of $s$ to the lowest, with zeros for missing degrees. The optional arguments are the same as |\BodeZPK|, except that linear/asymptotic approximation is not supported, so |approx/...| is ignored.
+%
+% For example, given the same transfer function as (\ref{eq:ZPKExample}) in TF form and with a small transport delay, \begin{equation}G(s) = e^{-0.01s}\frac{s(10s^2+2s+2.6)}{(s^2+s+100.25)},\label{eq:TFExample}\end{equation} its Bode plot over the frequency range $[0.01,100]$ can be generated using\\
+% |\BodeTF[blue,thick]|\\
+% | {num/{10,2,2.6,0},den/{1,0.2,100},d/0.01}|\\
+% | {0.01}{100}|\\
+% which generates the plot in Figure \ref{simpleBodeTF}. Note the $0$ added to the numerator coefficients to account for the fact that the numerator does not have a constant term in it. As demonstrated in this example, if a single comma-separated list of options is passed, it applies to both the magnitude and the phase plots.
+%
+% \begin{figure}
+% \begin{center}
+% \BodeTF[blue,thick]{num/{10,2,2.6,0},den/{1,1,100.25},d/0.01}{0.01}{100}
+% \cprotect\caption{\label{simpleBodeTF}Output of the |\BodeTF| macro.}
+% \end{center}
+% \end{figure}
+%
+% \DescribeEnv{BodePlot}
+% |\begin{BodePlot}|\oarg{axis-options}\marg{min-frequency}\marg{max-frequency}\\
+% \hspace*{2em}|\addBode...|\\
+% \hspace*{1.5em}|\end{BodePlot}|\\
+% The |BodePlot| environment works in conjunction with the parametric function generator macros |\addBodeZPKPlots|, |\addBodeTFPlot|, and |\addBodeComponentPlots|. If supplied, |axis-options| are passed directly to the |semilogaxis| environment and the frequency limits are translated to the x-axis limits and the domain of the |semilogaxis| environment. Example usage in the description of |\addBodeZPKPlots|, |\addBodeTFPlot|, and |\addBodeComponentPlots|.
+%
+% \DescribeMacro{\addBodeZPKPlots}
+% |\addBodeZPKPlots| \oarg{approx1/\marg{opt1},approx2/\marg{opt2},...}\\
+% \hspace*{2em}\marg{plot-type}\\
+% \hspace*{2em}\marg{z/\marg{zeros},p/\marg{poles},k/\marg{gain},d/\marg{delay}}
+%
+% \noindent Generates the appropriate parametric functions and supplies them to multiple |\addplot| macros, one for each |approx/{opt}| pair in the optional argument. If no optional argument is supplied, then a single |\addplot| command corresponding to the true Bode plot is generated. This macro can be used inside any |semilogaxis| environment as long as a domain for the x-axis is supplied through either the |approx/{opt}| interface or directly in the optional argument of the |semilogaxis| environment. Use with the |BodePlot| environment supplied with this package is recommended. The second mandatory argument, |plot-type| is either magnitude or |phase|. If it is not equal to |phase|, it is assumed to be |magnitude|. The last mandatory argument is the same as |\BodeZPK|.
+%
+% For example, given the transfer function in (\ref{eq:ZPKExample}), its linear, asymptotic, and true Bode plots can be superimposed using
+%\begin{verbatim}
+%\begin{BodePlot}[ ylabel={Gain (dB)}, ytick distance=40,
+% height=2cm, width=4cm] {0.01} {100}
+% \addBodeZPKPlots[
+% true/{black,thick},
+% linear/{red,dashed,thick},
+% asymptotic/{blue,dotted,thick}]
+% {magnitude}
+% {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.1,-10},{-0.1,10}},k/10}
+%\end{BodePlot}
+%
+%\begin{BodePlot}[ylabel={Phase ($^{\circ}$)},
+% height=2cm, width=4cm, ytick distance=90,] {0.01} {100}
+% \addBodeZPKPlots[
+% true/{black,thick},
+% linear/{red,dashed,thick},
+% asymptotic/{blue,dotted,thick}]
+% {phase}
+% {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.1,-10},{-0.1,10}},k/10}
+%\end{BodePlot}
+%\end{verbatim}
+% \begin{figure}
+% \begin{center}
+% \begin{BodePlot}[ ylabel={Gain (dB)}, ytick distance=40,
+% height=2cm, width=4cm] {0.01} {100}
+%
+% \addBodeZPKPlots[
+% true/{black,thick},
+% linear/{red,dashed,thick},
+% asymptotic/{blue,dotted,thick}]
+% {magnitude}
+% {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.1,-10},{-0.1,10}},k/10}
+% \end{BodePlot}
+% \begin{BodePlot}[ylabel={Phase ($^{\circ}$)},
+% height=2cm, width=4cm, ytick distance=90,] {0.01} {100}
+%
+% \addBodeZPKPlots[
+% true/{black,thick},
+% linear/{red,dashed,thick},
+% asymptotic/{blue,dotted,thick}]
+% {phase}
+% {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.1,-10},{-0.1,10}},k/10}
+% \end{BodePlot}
+% \end{center}
+% \caption{\label{multiBodeZPK}Superimposed approximate and true Bode plots using the \texttt{BodePlot} environment and the \texttt{\textbackslash addBodeZPKPlots} macro.}
+% \end{figure}
+% which generates the plot in Figure \ref{multiBodeZPK}.
+%
+% \DescribeMacro{\addBodeTFPlot}
+% |\addBodeTFPlot|\oarg{plot-options}\\
+% \hspace*{2em}\marg{plot-type}\\
+% \hspace*{2em}\marg{num/\marg{coeffs},den/\marg{coeffs},d/\marg{delay}}
+%
+% \noindent Generates a single parametric function for either Bode magnitude or phase plot of a transfer function in TF form. The generated parametric function is passed to the |\addplot| macro. This macro can be used inside any |semilogaxis| environment as long as a domain for the x-axis is supplied through either the |plot-options| interface or directly in the optional argument of the container |semilogaxis| environment. Use with the |BodePlot| environment supplied with this package is recommended. The second mandatory argument, |plot-type| is either magnitude or |phase|. If it is not equal to |phase|, it is assumed to be |magnitude|. The last mandatory argument is the same as |\BodeTF|.
+%
+% \DescribeMacro{\addBodeComponentPlot}
+% |\addBodeComponentPlot|\oarg{plot-options}\marg{plot-command}
+%
+% \noindent Generates a single parametric function corresponding to the mandatory argument |plot-command| and passes it to the |\addplot| macro. The plot command can be any parametric function that uses |t| as the independent variable. The parametric function must be |gnuplot| compatible (or |pgfplots| compatible if the package is loaded using the |pgf| option). The intended use of this macro is to plot the parametric functions generated using the basic component macros described in Section \ref{sec:BasicComponents} below.
+%
+% \subsubsection{Basic components up to first order\label{sec:BasicComponents}}
+%
+% \DescribeMacro{\TypeFeatureApprox}
+% |\TypeFeatureApprox|\marg{real-part}\marg{imaginary-part}
+%
+% \noindent This entry describes 20 different macros of the form |\TypeFeatureApprox| that take the real part and the imaginary part of a complex number as arguments. The |Type| in the macro name should be replaced by either |Mag| or |Ph| to generate a parametric function corresponding to the magnitude or the phase plot, respectively. The |Feature| in the macro name should be replaced by one of |K|, |Pole|, |Zero|, or |Del|, to generate the Bode plot of a gain, a complex pole, a complex zero, or a transport delay, respectively. If the |Feature| is set to either |K| or |Del|, the |imaginary-part| mandatory argument is ignored. The |Approx| in the macro name should either be removed, or it should be replaced by |Lin| or |Asymp| to generate the true Bode plot, the linear approximation, or the asymptotic approximation, respectively. If the |Feature| is set to |Del|, then |Approx| has to be removed. For example,
+% \begin{itemize}
+% \item |\MagK{k}{0}| or |\MagK{k}{400}| generates a parametric function for the true Bode magnitude of $ G(s) = k $
+% \item |\PhPoleLin{a}{b}| generates a parametric function for the linear approximation of the Bode phase of $ G(s) = \frac{1}{s-a-\mathrm{i}b} $.
+% \item |\PhDel{T}{200}| or |\PhDel{T}{0}| generates a parametric function for the Bode phase of $ G(s) = e^{-Ts} $.
+% \end{itemize}
+% All 20 of the macros defined by combinations of |Type|, |Feature|, and |Approx|, and any |gnuplot| (or |pgfplot| if the |pgf| class option is loaded) compatible function of the 20 macros can be used as |plot-command| in the |addBodeComponentPlot| macro. This is sufficient to generate the Bode plot of any rational transfer function with delay. For example, the Bode phase plot in Figure \ref{multiBodeZPK} can also be generated using:
+%\begin{verbatim}
+%\begin{BodePlot}[ylabel={Phase (degree)},ytick distance=90]{0.01}{100}
+% \addBodeComponentPlot[black,thick]{\PhZero{0}{0} + \PhZero{-0.1}{-0.5} +
+% \PhZero{-0.1}{0.5} + \PhPole{-0.5}{-10} + \PhPole{-0.5}{10} +
+% \PhK{10}{0}}
+% \addBodeComponentPlot[red,dashed,thick] {\PhZeroLin{0}{0} +
+% \PhZeroLin{-0.1}{-0.5} + \PhZeroLin{-0.1}{0.5} +
+% \PhPoleLin{-0.5}{-10} + \PhPoleLin{-0.5}{10} + \PhKLin{10}{20}}
+% \addBodeComponentPlot[blue,dotted,thick] {\PhZeroAsymp{0}{0} +
+% \PhZeroAsymp{-0.1}{-0.5} + \PhZeroAsymp{-0.1}{0.5} +
+% \PhPoleAsymp{-0.5}{-10} + \PhPoleAsymp{-0.5}{10} + \PhKAsymp{10}{40}}
+%\end{BodePlot}
+%\end{verbatim}
+%\begin{figure}
+% \begin{center}
+% \begin{BodePlot}[ylabel={Phase (degree)},ytick distance=90]{0.01}{100}
+% \addBodeComponentPlot[black,thick] {\PhZero{0}{0} + \PhZero{-0.1}{-0.5} + \PhZero{-0.1}{0.5} + \PhPole{-0.5}{-10} + \PhPole{-0.5}{10} + \PhK{10}{0}}
+% \addBodeComponentPlot[red,dashed,thick] {\PhZeroLin{0}{0} + \PhZeroLin{-0.1}{-0.5} + \PhZeroLin{-0.1}{0.5} + \PhPoleLin{-0.5}{-10} + \PhPoleLin{-0.5}{10} + \PhKLin{10}{20}}
+% \addBodeComponentPlot[blue,dotted,thick] {\PhZeroAsymp{0}{0} + \PhZeroAsymp{-0.1}{-0.5} + \PhZeroAsymp{-0.1}{0.5} + \PhPoleAsymp{-0.5}{-10} + \PhPoleAsymp{-0.5}{10} + \PhKAsymp{10}{40}}
+% \end{BodePlot}
+% \end{center}
+% \caption{\label{multiBodeComponents}Superimposed approximate and true Bode Phase plot using the \texttt{BodePlot} environment, the \texttt{\textbackslash addBodeComponentPlot} macro, and several macros of the \texttt{\textbackslash TypeFeatureApprox} form.}
+%\end{figure}
+% which gives us the plot in Figure \ref{multiBodeComponents}.
+%
+% \subsubsection{Basic components of the second order}
+%
+% \DescribeMacro{\TypeSOFeatureApprox}
+% |\TypeSOFeatureApprox|\marg{a1}\marg{a0}
+%
+% \noindent This entry describes 12 different macros of the form |\TypeSOFeatureApprox| that take the coefficients $ a_1 $ and $ a_0 $ of a general second order system as inputs. The |Feature| in the macro name should be replaced by either |Poles| or |Zeros| to generate the Bode plot of $G(s)=\frac{1}{s^2+a_1 s+a_0}$ or $G(s)=s^2+a_1 s+a_0$, respectively. The |Type| in the macro name should be replaced by either |Mag| or |Ph| to generate a parametric function corresponding to the magnitude or the phase plot, respectively. The |Approx| in the macro name should either be removed, or it should be replaced by |Lin| or |Asymp| to generate the true Bode plot, the linear approximation, or the asymptotic approximation, respectively.
+%
+% \DescribeMacro{\MagSOFeaturePeak}
+% |\MagSOFeaturePeak|\oarg{draw-options}\marg{a1}\marg{a0}
+%
+% \noindent This entry describes 2 different macros of the form |\MagSOFeaturePeak| that take the the coefficients $ a_1 $ and $ a_0 $ of a general second order system as inputs, and draw a resonant peak using the |\draw| TikZ macro. The |Feature| in the macro name should be replaced by either |Poles| or |Zeros| to generate a peak for poles and a valley for zeros, respectively. For example, the command
+%\begin{verbatim}
+%\begin{BodePlot}[xlabel={}]{0.1}{10}
+% \addBodeComponentPlot[red,dashed,thick]{\MagSOPoles{0.2}{1}}
+% \addBodeComponentPlot[black,thick]{\MagSOPolesLin{0.2}{1}}
+% \MagSOPolesPeak[thick]{0.2}{1}
+%\end{BodePlot}
+%\end{verbatim}
+% generates the plot in Figure \ref{BodePeak}.
+%
+% \begin{figure}
+% \begin{center}
+% \begin{BodePlot}[xlabel={}]{0.1}{10}
+% \addBodeComponentPlot[red,dashed,thick]{\MagSOPoles{0.2}{1}}
+% \addBodeComponentPlot[black,thick]{\MagSOPolesLin{0.2}{1}}
+% \MagSOPolesPeak[very thick]{0.2}{1}
+% \end{BodePlot}
+% \end{center}
+% \cprotect\caption{\label{BodePeak} Resonant peak in asymptotic Bode plot using |\MagSOPolesPeak|.}
+% \end{figure}
+%
+% \DescribeMacro{\TypeCSFeatureApprox}
+% |\TypeCSFeatureApprox|\marg{zeta}\marg{omega-n}
+%
+% \noindent This entry describes 12 different macros of the form |\TypeCSFeatureApprox| that take the damping ratio, $ \zeta $, and the natural frequency, $ \omega_n $ of a canonical second order system as inputs. The |Type| in the macro name should be replaced by either |Mag| or |Ph| to generate a parametric function corresponding to the magnitude or the phase plot, respectively. The |Feature| in the macro name should be replaced by either |Poles| or |Zeros| to generate the Bode plot of $G(s)=\frac{1}{s^2+2\zeta\omega_n s+\omega_n^2}$ or $G(s)=s^2+2\zeta\omega_n s+\omega_n^2$, respectively. The |Approx| in the macro name should either be removed, or it should be replaced by |Lin| or |Asymp| to generate the true Bode plot, the linear approximation, or the asymptotic approximation, respectively.
+%
+% \DescribeMacro{\MagCSFeaturePeak}
+% |\MagCSFeaturePeak|\oarg{draw-options}\marg{zeta}\marg{omega-n}
+%
+% \noindent This entry describes 2 different macros of the form |\MagCSFeaturePeak| that take the damping ratio, $ \zeta $, and the natural frequency, $ \omega_n $ of a canonical second order system as inputs, and draw a resonant peak using the |\draw| TikZ macro. The |Feature| in the macro name should be replaced by either |Poles| or |Zeros| to generate a peak for poles and a valley for zeros, respectively.
+%
+% \DescribeMacro{\MagCCFeaturePeak}
+% |\MagCCFeaturePeak|\oarg{draw-options}\marg{real-part}\marg{imaginary-part}
+%
+% \noindent This entry describes 2 different macros of the form |\MagCCFeaturePeak| that take the real and imaginary parts of a pair of complex conjugate poles or zeros as inputs, and draw a resonant peak using the |\draw| TikZ macro. The |Feature| in the macro name should be replaced by either |Poles| or |Zeros| to generate a peak for poles and a valley for zeros, respectively.
+%
+% \subsection{Nyquist plots}
+% \DescribeMacro{\NyquistZPK}
+% |\NyquistZPK| \oarg{plot/\marg{opt},axes/\marg{opt}}\\
+% \hspace*{2em}\marg{z/\marg{zeros},p/\marg{poles},k/\marg{gain},d/\marg{delay}}\\
+% \hspace*{2em}\marg{min-freq}\marg{max-freq}
+%
+% \noindent Plots the Nyquist plot of a transfer function given in ZPK format with a thick red $+$ marking the critical point (-1,0). The mandatory arguments are the same as |\BodeZPK|. Since there is only one plot in a Nyquist diagram, the |\typ| specifier in the optional argument tuples is not needed. As such, the supported optional argument tuples are |plot/{opt}|, which passes |{opt}| to |\addplot| and |axes/{opt}|, which passes |{\opt}| to the |axis| environment. Asymptotic/linear approximations are not supported in Nyquist plots. If just |{opt}| is provided as the optional argument, it is interpreted as |plot/{opt}|. Arrows to indicate the direction of increasing $\omega$ can be added by adding |\usetikzlibrary{decorations.markings}| and |\usetikzlibrary{arrows.meta}| to the preamble and then passing a tuple of the form\\
+%|plot/{postaction=decorate,decoration={markings,|\\
+%| mark=between positions 0.1 and 0.9 step 5em with|\\
+%| {\arrow{Stealth| |[length=2mm, blue]}}}}|\\
+%\textbf{Caution:} with a high number of samples, adding arrows in this way may cause the error message |! Dimension too big|.
+%
+% For example, the command\\
+% |\NyquistZPK[plot/{red,thick,samples=2000},axes/{blue,thick}]|\\
+% | {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.5,-10},{-0.5,10}},k/10}|\\
+% | {-30}{30}|\\
+% generates the Nyquist plot in Figure \ref{simpleNyquistZPK}.
+%
+% \begin{figure}
+% \begin{center}
+% \NyquistZPK[plot/{red,thick,samples=2000},axes/{blue,thick}] {z/{0,{-0.1,-0.5},{-0.1,0.5}},p/{{-0.5,-10},{-0.5,10}},k/10} {-30} {30}
+% \cprotect\caption{\label{simpleNyquistZPK}Output of the |\NyquistZPK| macro.}
+% \end{center}
+% \end{figure}
+%
+% % \DescribeMacro{\NyquistTF}
+% |\NyquistTF| \oarg{plot/\marg{opt},axes/\marg{opt}}\\
+% \hspace*{2em}\marg{num/\marg{coeffs},den/\marg{coeffs},d/\marg{delay}}\\
+% \hspace*{2em}\marg{min-freq}\marg{max-freq}
+%
+% \noindent Nyquist plot of a transfer function given in TF format. Same mandatory arguments as |\BodeTF| and same optional arguments as |\NyquistZPK|. For example, the command\\
+% |\NyquistTF[plot/{green,thick,samples=500,postaction=decorate,|\\
+% | decoration={markings,|\\
+% | mark=between positions 0.1 and 0.9 step 5em|\\
+% | with{\arrow{Stealth[length=2mm, blue]}}}}]|\\
+% | {num/{10,2,2.6,0},den/{1,1,100.25}}|\\
+% | {-30}{30}|\\
+% generates the Nyquist plot in Figure \ref{simpleNyquistTF}.
+%
+% \begin{figure}
+% \begin{center}
+% \NyquistTF[plot/{green,thick,samples=500,postaction=decorate,decoration={markings,mark=between positions 0.1 and 0.9 step 5em with {\arrow{Stealth[length=2mm, blue]}}}}] {num/{10,2,2.6,0},den/{1,1,100.25},d/0.01} {-30} {30}
+% \cprotect\caption{\label{simpleNyquistTF}Output of the |\NyquistTF| macro with direction arrows. Increasing the number of samples can cause |decorations.markings| to throw errors.}
+% \end{center}
+% \end{figure}
+%
+% \DescribeEnv{NyquistPlot}
+% |\begin{NyquistPlot}|\oarg{axis-options}\marg{min-frequency}\marg{max-frequency}\\
+% \hspace*{2em}|\addNyquist...|\\
+% \hspace*{1.5em}|\end{NyquistPlot}|\\
+% The |NyquistPlot| environment works in conjunction with the parametric function generator macros |\addNyquistZPKPlot| and |\addNyquistTFPlot|. If supplied, |axis-options| are passed directly to the |axis| environment and the frequency limits are translated to the x-axis limits and the domain of the |axis| environment.
+%
+% \DescribeMacro{\addNyquistZPKPlot}
+% |\addNyquistZPKPlot|\oarg{plot-options}\\
+% \hspace*{2em}\marg{z/\marg{zeros},p/\marg{poles},k/\marg{gain},d/\marg{delay}}
+%
+% \noindent Generates a twp parametric functions for the magnitude and the phase a transfer function in ZPK form. The generated magnitude and phase parametric functions are converted to real and imaginary part parametric functions and passed to the |\addplot| macro. This macro can be used inside any |axis| environment as long as a domain for the x-axis is supplied through either the |plot-options| interface or directly in the optional argument of the container |axis| environment. Use with the |NyquistPlot| environment supplied with this package is recommended. The mandatory argument is the same as |\BodeZPK|.
+%
+% \DescribeMacro{\addNyquistTFPlot}
+% |\addNyquistTFPlot|\oarg{plot-options}\\
+% \hspace*{2em}\marg{num/\marg{coeffs},den/\marg{coeffs},d/\marg{delay}}
+%
+% \noindent Similar to |\addNyquistZPKPlot|, with a transfer function input in the TF form.
+%
+% \subsection{Nichols charts}
+% \DescribeMacro{\NicholsZPK}
+% |\NicholsZPK| \oarg{plot/\marg{opt},axes/\marg{opt}}\\
+% \hspace*{2em}\marg{z/\marg{zeros},p/\marg{poles},k/\marg{gain},d/\marg{delay}}\\
+% \hspace*{2em}\marg{min-freq}\marg{max-freq}
+%
+% \noindent Nichols chart of a transfer function given in ZPK format. Same arguments as |\NyquistZPK|.
+%
+% \DescribeMacro{\NicholsTF}
+% |\NicholsTF| \oarg{plot/\marg{opt},axes/\marg{opt}}\\
+% \hspace*{2em}\marg{num/\marg{coeffs},den/\marg{coeffs},d/\marg{delay}}\\
+% \hspace*{2em}\marg{min-freq}\marg{max-freq}
+%
+% \noindent Nichols chart of a transfer function given in TF format. Same arguments as |\NyquistTF|. For example, the command\\
+% |\NicholsTF[plot/{green,thick,samples=2000}]|\\
+% | {num/{10,2,2.6,0},den/{1,1,100.25},d/0.01}|\\
+% | {0.001}{100}|\\
+% generates the Nichols chart in Figure \ref{simpleNicholsTF}.
+%
+% \begin{figure}
+% \begin{center}
+% \NicholsTF[plot/{green,thick,samples=2000}] {num/{10,2,2.6,0},den/{1,1,100.25},d/0.01} {0.001} {100}
+% \cprotect\caption{\label{simpleNicholsTF}Output of the |\NyquistZPK| macro.}
+% \end{center}
+% \end{figure}
+%
+%
+% \DescribeEnv{NicholsChart}
+% |\begin{NicholsChart}|\oarg{axis-options}\marg{min-frequency}\marg{max-frequency}\\
+% \hspace*{2em}|\addNichols...|\\
+% \hspace*{1.5em}|\end{NicholsChart}|\\
+% The |NicholsChart| environment works in conjunction with the parametric function generator macros |\addNicholsZPKChart| and |\addNicholsTFChart|. If supplied, |axis-options| are passed directly to the |axis| environment and the frequency limits are translated to the x-axis limits and the domain of the |axis| environment.
+%
+% \DescribeMacro{\addNicholsZPKChart}
+% |\addNicholsZPKChart|\oarg{plot-options}\\
+% \hspace*{2em}\marg{z/\marg{zeros},p/\marg{poles},k/\marg{gain},d/\marg{delay}}
+%
+% \noindent Generates a twp parametric functions for the magnitude and the phase a transfer function in ZPK form. The generated magnitude and phase parametric functions are passed to the |\addplot| macro. This macro can be used inside any |axis| environment as long as a domain for the x-axis is supplied through either the |plot-options| interface or directly in the optional argument of the container |axis| environment. Use with the |NicholsChart| environment supplied with this package is recommended. The mandatory argument is the same as |\BodeZPK|.
+%
+% \DescribeMacro{\addNicholsTFChart}
+% |\addNicholsTFChart|\oarg{plot-options}\\
+% \hspace*{2em}\marg{num/\marg{coeffs},den/\marg{coeffs},d/\marg{delay}}
+%
+% \noindent Similar to |\addNicholsZPKChart|, with a transfer function input in the TF form.
+%
+% \StopEventually{\PrintIndex}
+%
+% \section{Implementation}
+% \subsection{Initialization}
+% \begin{macro}{\pdfstrcmp}
+% The package makes extensive use of the |\pdfstrcmp| macro to parse options. Since that macro is not available in |lualatex|, this code is needed.
+% \begin{macrocode}
+\RequirePackage{ifluatex}%
+\ifluatex
+ \RequirePackage{pdftexcmds}%
+ \let\pdfstrcmp\pdf@strcmp
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\n@mod}
+% \begin{macro}{\n@pow}
+% \begin{macro}{idGnuplot}
+% \begin{macro}{gnuplot def}
+% \begin{macro}{gnuplot degrees}
+% \begin{macro}{bodeStyle}
+% This code is needed to support both |pgfplots| and |gnuplot| simultaneously. New macros are defined for the |pow| and |mod| functions to address differences between the two math engines. We start by processing the |pgf| class option.
+% \begin{macrocode}
+\newif\if@pgfarg\@pgfargfalse
+\DeclareOption{pgf}{%
+ \@pgfargtrue
+}
+\ProcessOptions\relax
+% \end{macrocode}
+% Then, we define two new macros to unify |pgfplots| and |gnuplot|.
+% \begin{macrocode}
+\if@pgfarg
+ \newcommand{\n@pow}[2]{(#1)^(#2)}%
+ \newcommand{\n@mod}[2]{mod((#1),(#2))}%
+\else
+ \newcommand{\n@pow}[2]{(#1)**(#2)}%
+ \newcommand{\n@mod}[2]{(#1)-(floor((#1)/(#2))*(#2))}%
+% \end{macrocode}
+% Then, we create a counter so that a new data table is generated and for each new plot. If the plot macros have not changed, the tables, once generated, can be reused by |gnuplot|, which reduces compilation time.
+% \begin{macrocode}
+ \newcounter{idGnuplot}%
+ \setcounter{idGnuplot}{0}%
+ \tikzset{%
+ gnuplot def/.style={%
+ id=\arabic{idGnuplot},
+ prefix=gnuplot/
+ }%
+ }
+% \end{macrocode}
+% Then, we add |set angles degrees| to all |gnuplot| macros to avoid having to convert from degrees to radians everywhere.
+% \begin{macrocode}
+ \pgfplotsset{%
+ gnuplot degrees/.code={%
+ \ifnum\value{idGnuplot}=1
+ \xdef\pgfplots@gnuplot@format{\pgfplots@gnuplot@format set angles degrees;}%
+ \fi
+ }%
+ }
+\fi
+% \end{macrocode}
+% Default axis properties for all plot macros are collected in the following |pgf| style.
+% \begin{macrocode}
+\pgfplotsset{%
+ bodeStyle/.style = {%
+ label style={font=\footnotesize},
+ tick label style={font=\footnotesize},
+ grid=both,
+ major grid style={color=gray!80},
+ minor grid style={color=gray!20},
+ x label style={at={(ticklabel cs:0.5)},anchor=near ticklabel},
+ y label style={at={(ticklabel cs:0.5)},anchor=near ticklabel},
+ scale only axis,
+ samples=200,
+ width=5cm,
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \subsection{Parametric function generators for poles, zeros, gains, and delays.}
+% \begin{macro}{\MagK}
+% \begin{macro}{\MagKAsymp}
+% \begin{macro}{\MagKLin}
+% \begin{macro}{\PhK}
+% \begin{macro}{\PhKAsymp}
+% \begin{macro}{\PhKLin}
+% True, linear, and asymptotic magnitude and phase parametric functions for a pure gain $G(s)=k+0\mathrm{i}$. The macros take two arguments corresponding to real and imaginary part of the gain to facilitate code reuse between delays, gains, poles, and zeros, but only real gains are supported. The second argument, if supplied, is ignored.
+% \begin{macrocode}
+\newcommand*{\MagK}[2]{(20*log10(abs(#1)))}
+\newcommand*{\MagKAsymp}{\MagK}
+\newcommand*{\MagKLin}{\MagK}
+\newcommand*{\PhK}[2]{(#1<0?-180:0)}
+\newcommand*{\PhKAsymp}{\PhK}
+\newcommand*{\PhKLin}{\PhK}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\PhKAsymp}
+% \begin{macro}{\PhKLin}
+% True magnitude and phase parametric functions for a pure delay $G(s)=e^{-Ts}$. The macros take two arguments corresponding to real and imaginary part of the gain to facilitate code reuse between delays, gains, poles, and zeros, but only real gains are supported. The second argument, if supplied, is ignored.
+% \begin{macrocode}
+\newcommand*{\MagDel}[2]{0}
+\newcommand*{\PhDel}[2]{-#1*180*t/pi}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\MagPole}
+% \begin{macro}{\MagPoleAsymp}
+% \begin{macro}{\MagPoleLin}
+% \begin{macro}{\PhPole}
+% \begin{macro}{\PhPoleAsymp}
+% \begin{macro}{\PhPoleLin}
+% These macros are the building blocks for most of the plotting functions provided by this package. We start with Parametric function for the true magnitude of a complex pole.
+% \begin{macrocode}
+\newcommand*{\MagPole}[2]
+ {(-20*log10(sqrt(\n@pow{#1}{2} + \n@pow{t - (#2)}{2})))}
+% \end{macrocode}
+% Parametric function for linear approximation of the magnitude of a complex pole.
+% \begin{macrocode}
+\newcommand*{\MagPoleLin}[2]{(t < sqrt(\n@pow{#1}{2} + \n@pow{#2}{2}) ?
+ -20*log10(sqrt(\n@pow{#1}{2} + \n@pow{#2}{2})) :
+ -20*log10(t)
+ )}
+% \end{macrocode}
+% Parametric function for asymptotic approximation of the magnitude of a complex pole, same as linear approximation.
+% \begin{macrocode}
+\newcommand*{\MagPoleAsymp}{\MagPoleLin}
+% \end{macrocode}
+% Parametric function for the true phase of a complex pole.
+% \begin{macrocode}
+\newcommand*{\PhPole}[2]{(#1 > 0 ? (#2 > 0 ?
+ (\n@mod{-atan2((t - (#2)),-(#1))+360}{360}) :
+ (-atan2((t - (#2)),-(#1)))) :
+ (-atan2((t - (#2)),-(#1))))}
+% \end{macrocode}
+% Parametric function for linear approximation of the phase of a complex pole.
+% \begin{macrocode}
+\newcommand*{\PhPoleLin}[2]{%
+ (abs(#1)+abs(#2) == 0 ? -90 :
+ (t < (sqrt(\n@pow{#1}{2} + \n@pow{#2}{2}) /
+ (\n@pow{10}{sqrt(\n@pow{#1}{2}/(\n@pow{#1}{2} + \n@pow{#2}{2}))})) ?
+ (-atan2(-(#2),-(#1))) :
+ (t >= (sqrt(\n@pow{#1}{2} + \n@pow{#2}{2}) *
+ (\n@pow{10}{sqrt(\n@pow{#1}{2}/(\n@pow{#1}{2} + \n@pow{#2}{2}))})) ?
+ (#2>0?(#1>0?270:-90):-90) :
+ (-atan2(-(#2),-(#1)) + (log10(t/(sqrt(\n@pow{#1}{2} + \n@pow{#2}{2}) /
+ (\n@pow{10}{sqrt(\n@pow{#1}{2}/(\n@pow{#1}{2} +
+ \n@pow{#2}{2}))}))))*((#2>0?(#1>0?270:-90):-90) + atan2(-(#2),-(#1)))/
+ (log10(\n@pow{10}{sqrt((4*\n@pow{#1}{2})/
+ (\n@pow{#1}{2} + \n@pow{#2}{2}))}))))))}
+% \end{macrocode}
+% Parametric function for asymptotic approximation of the phase of a complex pole.
+% \begin{macrocode}
+\newcommand*{\PhPoleAsymp}[2]{(t < (sqrt(\n@pow{#1}{2} + \n@pow{#2}{2})) ?
+ (-atan2(-(#2),-(#1))) :
+ (#2>0?(#1>0?270:-90):-90))}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\MagZero}
+% \begin{macro}{\MagZeroAsymp}
+% \begin{macro}{\MagZeroLin}
+% \begin{macro}{\PhZero}
+% \begin{macro}{\PhZeroAsymp}
+% \begin{macro}{\PhZeroLin}
+% Plots of zeros are defined to be negative of plots of poles. The |0-| is necessary due to a bug in |gnuplot| (fixed in version 5.4, patchlevel 3).
+% \begin{macrocode}
+\newcommand*{\MagZero}{0-\MagPole}
+\newcommand*{\MagZeroLin}{0-\MagPoleLin}
+\newcommand*{\MagZeroAsymp}{0-\MagPoleAsymp}
+\newcommand*{\PhZero}{0-\PhPole}
+\newcommand*{\PhZeroLin}{0-\PhPoleLin}
+\newcommand*{\PhZeroAsymp}{0-\PhPoleAsymp}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \subsection{Second order systems.}
+% Although second order systems can be dealt with using the macros defined so far, the following dedicated macros for second order systems involve less computation.
+% \begin{macro}{\MagCSPoles}
+% \begin{macro}{\MagCSPolesAsymp}
+% \begin{macro}{\MagCSPolesLin}
+% \begin{macro}{\PhCSPoles}
+% \begin{macro}{\PhCSPolesAsymp}
+% \begin{macro}{\PhCSPolesLin}
+% \begin{macro}{\MagCSZeros}
+% \begin{macro}{\MagCSZerosAsymp}
+% \begin{macro}{\MagCSZerosLin}
+% \begin{macro}{\PhCSZeros}
+% \begin{macro}{\PhCSZerosAsymp}
+% \begin{macro}{\PhCSZerosLin}
+% Consider the canonical second order transfer function $G(s) = \frac{1}{s^2 + 2 \zeta w_n s + w_n^2}$. We start with true, linear, and asymptotic magnitude plots for this transfer function.
+% \begin{macrocode}
+\newcommand*{\MagCSPoles}[2]{(-20*log10(sqrt(\n@pow{\n@pow{#2}{2}
+ - \n@pow{t}{2}}{2} + \n@pow{2*#1*#2*t}{2})))}
+\newcommand*{\MagCSPolesLin}[2]{(t < #2 ? -40*log10(#2) : - 40*log10(t))}
+\newcommand*{\MagCSPolesAsymp}{\MagCSPolesLin}
+% \end{macrocode}
+% Then, we have true, linear, and asymptotic phase plots for the canonical second order transfer function.
+% \begin{macrocode}
+\newcommand*{\PhCSPoles}[2]{(-atan2((2*(#1)*(#2)*t),(\n@pow{#2}{2}
+ - \n@pow{t}{2})))}
+\newcommand*{\PhCSPolesLin}[2]{(t < (#2 / (\n@pow{10}{abs(#1)})) ?
+ 0 :
+ (t >= (#2 * (\n@pow{10}{abs(#1)})) ?
+ (#1>0 ? -180 : 180) :
+ (#1>0 ? (-180*(log10(t*(\n@pow{10}{#1})/#2))/(2*#1)) :
+ (180*(log10(t*(\n@pow{10}{abs(#1)})/#2))/(2*abs(#1))))))}
+\newcommand*{\PhCSPolesAsymp}[2]{(#1>0?(t<#2?0:-180):(t<#2?0:180))}
+% \end{macrocode}
+% Plots of the inverse function $G(s)=s^2+2\zeta\omega_n s+\omega_n^2$ are defined to be negative of plots of poles. The |0-| is necessary due to a bug in |gnuplot| (fixed in version 5.4, patchlevel 3).
+% \begin{macrocode}
+\newcommand*{\MagCSZeros}{0-\MagCSPoles}
+\newcommand*{\MagCSZerosLin}{0-\MagCSPolesLin}
+\newcommand*{\MagCSZerosAsymp}{0-\MagCSPolesAsymp}
+\newcommand*{\PhCSZeros}{0-\PhCSPoles}
+\newcommand*{\PhCSZerosLin}{0-\PhCSPolesLin}
+\newcommand*{\PhCSZerosAsymp}{0-\PhCSPolesAsymp}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\MagCSPolesPeak}
+% \begin{macro}{\MagCSZerosPeak}
+% These macros are used to add a resonant peak to linear and asymptotic plots of canonical second order poles and zeros. Since the plots are parametric, a separate |\draw| command is needed to add a vertical arrow.
+% \begin{macrocode}
+\newcommand*{\MagCSPolesPeak}[3][]{%
+ \draw[#1,->] (axis cs:{#3},{-40*log10(#3)}) --
+ (axis cs:{#3},{-40*log10(#3)-20*log10(2*abs(#2))})
+}
+\newcommand*{\MagCSZerosPeak}[3][]{%
+ \draw[#1,->] (axis cs:{#3},{40*log10(#3)}) --
+ (axis cs:{#3},{40*log10(#3)+20*log10(2*abs(#2))})
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\MagSOPoles}
+% \begin{macro}{\MagSOPolesAsymp}
+% \begin{macro}{\MagSOPolesLin}
+% \begin{macro}{\PhSOPoles}
+% \begin{macro}{\PhSOPolesAsymp}
+% \begin{macro}{\PhSOPolesLin}
+% \begin{macro}{\MagSOZeros}
+% \begin{macro}{\MagSOZerosAsymp}
+% \begin{macro}{\MagSOZerosLin}
+% \begin{macro}{\PhSOZeros}
+% \begin{macro}{\PhSOZerosAsymp}
+% \begin{macro}{\PhSOZerosLin}
+% Consider a general second order transfer function $G(s) = \frac{1}{s^2 + a s + b}$. We start with true, linear, and asymptotic magnitude plots for this transfer function.
+% \begin{macrocode}
+\newcommand*{\MagSOPoles}[2]{%
+ (-20*log10(sqrt(\n@pow{#2 - \n@pow{t}{2}}{2} + \n@pow{#1*t}{2})))}
+\newcommand*{\MagSOPolesLin}[2]{%
+ (t < sqrt(abs(#2)) ? -20*log10(abs(#2)) : - 40*log10(t))}
+\newcommand*{\MagSOPolesAsymp}{\MagSOPolesLin}
+% \end{macrocode}
+% Then, we have true, linear, and asymptotic phase plots for the general second order transfer function.
+% \begin{macrocode}
+\newcommand*{\PhSOPoles}[2]{(-atan2((#1)*t,((#2) - \n@pow{t}{2})))}
+\newcommand*{\PhSOPolesLin}[2]{(#2>0 ?
+ \PhCSPolesLin{(#1/(2*sqrt(#2)))}{(sqrt(#2))} :
+ (#1>0 ? -180 : 180))}
+\newcommand*{\PhSOPolesAsymp}[2]{(#2>0 ?
+ \PhCSPolesAsymp{(#1/(2*sqrt(#2)))}{(sqrt(#2))} :
+ (#1>0 ? -180 : 180))}
+% \end{macrocode}
+% Plots of the inverse function $G(s)=s^2+as+b$ are defined to be negative of plots of poles. The |0-| is necessary due to a bug in |gnuplot| (fixed in version 5.4, patchlevel 3).
+% \begin{macrocode}
+\newcommand*{\MagSOZeros}{0-\MagSOPoles}
+\newcommand*{\MagSOZerosLin}{0-\MagSOPolesLin}
+\newcommand*{\MagSOZerosAsymp}{0-\MagSOPolesAsymp}
+\newcommand*{\PhSOZeros}{0-\PhSOPoles}
+\newcommand*{\PhSOZerosLin}{0-\PhSOPolesLin}
+\newcommand*{\PhSOZerosAsymp}{0-\PhSOPolesAsymp}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\MagSOPolesPeak}
+% \begin{macro}{\MagSOZerosPeak}
+% These macros are used to add a resonant peak to linear and asymptotic plots of general second order poles and zeros. Since the plots are parametric, a separate |\draw| command is needed to add a vertical arrow.
+% \begin{macrocode}
+\newcommand*{\MagSOPolesPeak}[3][]{%
+ \draw[#1,->] (axis cs:{sqrt(abs(#3))},{-20*log10(abs(#3))}) --
+ (axis cs:{sqrt(abs(#3))},{-20*log10(abs(#3)) -
+ 20*log10(abs(#2/sqrt(abs(#3))))});
+}
+\newcommand*{\MagSOZerosPeak}[3][]{%
+ \draw[#1,->] (axis cs:{sqrt(abs(#3))},{20*log10(abs(#3))}) --
+ (axis cs:{sqrt(abs(#3))},{20*log10(abs(#3)) +
+ 20*log10(abs(#2/sqrt(abs(#3))))});
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \subsection{Commands for Bode plots}
+% \subsubsection{User macros}
+% \begin{macro}{\BodeZPK}
+% This macro takes lists of complex poles and zeros of the form |{re,im}|, and values of gain and delay as inputs and constructs parametric functions for the Bode magnitude and phase plots. This is done by adding together the parametric functions generated by the macros for individual zeros, poles, gain, and delay, described above. The parametric functions are then plotted in a |tikzpicture| environment using the |\addplot| macro. Unless the package is loaded with the option |pgf|, the parametric functions are evaluated using |gnuplot|.
+% \begin{macrocode}
+\newcommand{\BodeZPK}[4][]{%
+% \end{macrocode}
+% Most of the work is done by the |\parse@opt| and the |\build@ZPK@plot| macros, described in the 'Internal macros' section. The former is used to parse the optional arguments and the latter to extract poles, zeros, gain, and delay from the first mandatory argument and to generate macros |\func@mag| and |\func@ph| that hold the magnitude and phase parametric functions.
+% \begin{macrocode}
+ \parse@opt{#1}%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@ZPK@plot{\func@mag}{\func@ph}{\opt@approx}{#2}%
+% \end{macrocode}
+% The |\noexpand| macros below are needed to so that only the macro |\opt@group| is expanded.
+% \begin{macrocode}
+ \edef\temp@cmd{\noexpand\begin{tikzpicture}\noexpand\begin{groupplot}[%
+ bodeStyle,
+ xmin={#3},
+ xmax={#4},
+ domain=#3:#4,
+ height=2.5cm,
+ xmode=log,
+ group style = {group size = 1 by 2,vertical sep=0.25cm,},
+ \opt@group,]}
+ \temp@cmd
+% \end{macrocode}
+% To ensure frequency tick marks on magnitude and the phase plots are always aligned, we use the |groupplot| library. The |\expandafter| chain below is used to expand macros in the plot and group optional arguments.
+% \begin{macrocode}
+ \if@pgfarg
+ \expandafter\nextgroupplot\expandafter[ytick distance=20,
+ ylabel={Gain (dB)},xmajorticks=false,\optmag@axes]
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\optmag@plot]}%
+ \temp@cmd {\func@mag};
+ \expandafter\nextgroupplot\expandafter[ytick distance=45,
+ ylabel={Phase ($^{\circ}$)},xlabel={Frequency (rad/s)},\optph@axes]
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\optph@plot]}%
+ \temp@cmd {\func@ph};
+ \else
+% \end{macrocode}
+% In |gnuplot| mode, we increment the |idGnuplot| counter before every plot to make sure that new and reusable |.gnuplot| and |.table| files are generated for every plot.
+% \begin{macrocode}
+ \stepcounter{idGnuplot}
+ \expandafter\nextgroupplot\expandafter[ytick distance=20,
+ ylabel={Gain (dB)},xmajorticks=false,\optmag@axes]
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\optmag@plot]}%
+ \temp@cmd gnuplot[gnuplot degrees,gnuplot def] {\func@mag};
+ \stepcounter{idGnuplot}
+ \expandafter\nextgroupplot\expandafter[ytick distance=45,
+ ylabel={Phase ($^{\circ}$)},xlabel={Frequency (rad/s)},\optph@axes]
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\optph@plot]}%
+ \temp@cmd gnuplot[gnuplot degrees,gnuplot def] {\func@ph};
+ \fi
+ \end{groupplot}\end{tikzpicture}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\BodeTF}
+% Implementation of this macro is very similar to the |\BodeZPK| macro above. The only difference is the lack of linear and asymptotic plots and slightly different parsing of the mandatory arguments.
+% \begin{macrocode}
+\newcommand{\BodeTF}[4][]{%
+ \parse@opt{#1}%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@TF@plot{\func@mag}{\func@ph}{#2}%
+ \edef\temp@cmd{\noexpand\begin{tikzpicture}\noexpand\begin{groupplot}[%
+ bodeStyle,
+ xmin={#3},
+ xmax={#4},
+ domain=#3:#4,
+ height=2.5cm,
+ xmode=log,
+ group style = {group size = 1 by 2,vertical sep=0.25cm,},
+ \opt@group,]}
+ \temp@cmd
+ \if@pgfarg
+ \expandafter\nextgroupplot\expandafter[ytick distance=20,
+ ylabel={Gain (dB)},xmajorticks=false,\optmag@axes]
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\optmag@plot]}%
+ \temp@cmd {\func@mag};
+ \expandafter\nextgroupplot\expandafter[ytick distance=45,
+ ylabel={Phase ($^{\circ}$)},xlabel={Frequency (rad/s)},\optph@axes]
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\optph@plot]}%
+ \temp@cmd {\func@ph};
+ \else
+ \stepcounter{idGnuplot}%
+ \expandafter\nextgroupplot\expandafter[ytick distance=20,
+ ylabel={Gain (dB)},xmajorticks=false,\optmag@axes]
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\optmag@plot]}%
+ \temp@cmd gnuplot[gnuplot degrees,gnuplot def] {\func@mag};
+ \stepcounter{idGnuplot}%
+ \expandafter\nextgroupplot\expandafter[ytick distance=45,
+ ylabel={Phase ($^{\circ}$)},xlabel={Frequency (rad/s)},\optph@axes]
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\optph@plot]}%
+ \temp@cmd gnuplot[gnuplot degrees,gnuplot def] {\func@ph};
+ \fi
+ \end{groupplot}\end{tikzpicture}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\addBodeZPKPlots}
+% This macro is designed to issues multiple |\addplot| macros for the same set of poles, zeros, gain, and delay. All of the work is done by the |\build@ZPK@plot| macro.
+% \begin{macrocode}
+\newcommand{\addBodeZPKPlots}[3][{}]{%
+ \foreach \approx/\opt in {#1} {%
+ \gdef\plot@macro{}%
+ \gdef\temp@macro{}%
+ \ifnum\pdfstrcmp{#2}{phase}=0
+ \build@ZPK@plot{\temp@macro}{\plot@macro}{\approx}{#3}%
+ \else
+ \build@ZPK@plot{\plot@macro}{\temp@macro}{\approx}{#3}%
+ \fi
+ \if@pgfarg
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\opt]}%
+ \temp@cmd {\plot@macro};
+ \else
+ \stepcounter{idGnuplot}%
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\opt]}
+ \temp@cmd gnuplot[gnuplot degrees,gnuplot def] {\plot@macro};
+ \fi
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+% \begin{macro}{\addBodeTFPlot}
+% This macro is designed to issues a single |\addplot| macros for the set of coefficients and delay. All of the work is done by the |\build@TF@plot| macro.
+% \begin{macrocode}
+\newcommand{\addBodeTFPlot}[3][red,thick]{%
+ \gdef\plot@macro{}%
+ \gdef\temp@macro{}%
+ \ifnum\pdfstrcmp{#2}{phase}=0
+ \build@TF@plot{\temp@macro}{\plot@macro}{#3}%
+ \else
+ \build@TF@plot{\plot@macro}{\temp@macro}{#3}%
+ \fi
+ \if@pgfarg
+ \addplot[#1]{\plot@macro};
+ \else
+ \stepcounter{idGnuplot}%
+ \addplot[#1] gnuplot[gnuplot degrees, gnuplot def] {\plot@macro};
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+% \begin{macro}{\addBodeComponentPlot}
+% This macro is designed to issue a single |\addplot| macro capable of plotting linear combinations of the basic components described in Section \ref{sec:BasicComponents}. The only work to do here is to handle the |pgf| package option.
+% \begin{macrocode}
+\newcommand{\addBodeComponentPlot}[2][red,thick]{%
+ \if@pgfarg
+ \addplot[#1]{#2};
+ \else
+ \stepcounter{idGnuplot}%
+ \addplot[#1] gnuplot[gnuplot degrees,gnuplot def] {#2};
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+% \begin{environment}{BodePlot}
+% An environment to host macros that pass parametric functions to |\addplot| macros. Uses the defaults specified in |bodeStyle| to create a shortcut that includes the |tikzpicture| and |semilogaxis| environments.
+% \begin{macrocode}
+\newenvironment{BodePlot}[3][]{%
+ \begin{tikzpicture}
+ \begin{semilogxaxis}[%
+ bodeStyle,
+ xmin={#2},
+ xmax={#3},
+ domain=#2:#3,
+ height=2.5cm,
+ xlabel={Frequency (rad/s)},
+ #1]
+}{
+ \end{semilogxaxis}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{environment}
+% \subsubsection{Internal macros}
+% \begin{macro}{\add@feature}
+% This is an internal macro to add a basic component (pole, zero, gain, or delay), described using one of the macros in Section \ref{sec:BasicComponents} (input |#2|), to a parametric function stored in a global macro (input |#1|). The basic component value (input |#3|) is a complex number of the form |{re,im}|. If the imaginary part is missing, it is assumed to be zero. Implementation made possible by \href{https://tex.stackexchange.com/a/619637/110602}{this StackExchange answer}.
+% \begin{macrocode}
+\newcommand*{\add@feature}[3]{%
+ \ifcat$\detokenize\expandafter{#1}$%
+ \xdef#1{\unexpanded\expandafter{#1 0+#2}}%
+ \else
+ \xdef#1{\unexpanded\expandafter{#1+#2}}%
+ \fi
+ \foreach \y [count=\n] in #3 {%
+ \xdef#1{\unexpanded\expandafter{#1}{\y}}%
+ \xdef\Last@LoopValue{\n}%
+ }%
+ \ifnum\Last@LoopValue=1%
+ \xdef#1{\unexpanded\expandafter{#1}{0}}%
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+% \begin{macro}{\build@ZPK@plot}
+% This is an internal macro to build parametric Bode magnitude and phase plots by concatenating basic component (pole, zero, gain, or delay) macros (Section \ref{sec:BasicComponents}) to global magnitude and phase macros (inputs |#1| and |#2|). The |\add@feature| macro is used to do the concatenation. The basic component macros are inferred from a |feature/{values}| list, where |feature| is one of |z|,|p|,|k|, and |d|, for zeros, poles, gain, and delay, respectively, and |{values}| is a comma separated list of comma separated lists (complex numbers of the form |{re,im}|). If the imaginary part is missing, it is assumed to be zero.
+% \begin{macrocode}
+\newcommand{\build@ZPK@plot}[4]{%
+ \foreach \feature/\values in {#4} {%
+ \ifnum\pdfstrcmp{\feature}{z}=0
+ \foreach \z in \values {%
+ \ifnum\pdfstrcmp{#3}{linear}=0
+ \add@feature{#2}{\PhZeroLin}{\z}%
+ \add@feature{#1}{\MagZeroLin}{\z}%
+ \else
+ \ifnum\pdfstrcmp{#3}{asymptotic}=0
+ \add@feature{#2}{\PhZeroAsymp}{\z}%
+ \add@feature{#1}{\MagZeroAsymp}{\z}%
+ \else
+ \add@feature{#2}{\PhZero}{\z}%
+ \add@feature{#1}{\MagZero}{\z}%
+ \fi
+ \fi
+ }%
+ \fi
+ \ifnum\pdfstrcmp{\feature}{p}=0
+ \foreach \p in \values {%
+ \ifnum\pdfstrcmp{#3}{linear}=0
+ \add@feature{#2}{\PhPoleLin}{\p}%
+ \add@feature{#1}{\MagPoleLin}{\p}%
+ \else
+ \ifnum\pdfstrcmp{#3}{asymptotic}=0
+ \add@feature{#2}{\PhPoleAsymp}{\p}%
+ \add@feature{#1}{\MagPoleAsymp}{\p}%
+ \else
+ \add@feature{#2}{\PhPole}{\p}%
+ \add@feature{#1}{\MagPole}{\p}%
+ \fi
+ \fi
+ }%
+ \fi
+ \ifnum\pdfstrcmp{\feature}{k}=0
+ \ifnum\pdfstrcmp{#3}{linear}=0
+ \add@feature{#2}{\PhKLin}{\values}%
+ \add@feature{#1}{\MagKLin}{\values}%
+ \else
+ \ifnum\pdfstrcmp{#3}{asymptotic}=0
+ \add@feature{#2}{\PhKAsymp}{\values}%
+ \add@feature{#1}{\MagKAsymp}{\values}%
+ \else
+ \add@feature{#2}{\PhK}{\values}%
+ \add@feature{#1}{\MagK}{\values}%
+ \fi
+ \fi
+ \fi
+ \ifnum\pdfstrcmp{\feature}{d}=0
+ \ifnum\pdfstrcmp{#3}{linear}=0
+ \PackageError {bodeplot} {Linear approximation for pure delays is not
+ supported.} {Plot the true Bode plot using 'true' instead of 'linear'.}
+ \else
+ \ifnum\pdfstrcmp{#3}{asymptotic}=0
+ \PackageError {bodeplot} {Asymptotic approximation for pure delays is not
+ supported.} {Plot the true Bode plot using 'true' instead of 'asymptotic'.}
+ \else
+ \ifdim\values pt < 0pt
+ \PackageError {bodeplot} {Delay needs to be a positive number.}
+ \fi
+ \add@feature{#2}{\PhDel}{\values}%
+ \add@feature{#1}{\MagDel}{\values}%
+ \fi
+ \fi
+ \fi
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+% \begin{macro}{\build@TF@plot}
+% This is an internal macro to build parametric Bode magnitude and phase functions by computing the magnitude and the phase given numerator and denominator coefficients and delay (input |#3|). The functions are assigned to user-supplied global magnitude and phase macros (inputs |#1| and |#2|).
+% \begin{macrocode}
+\newcommand{\build@TF@plot}[3]{%
+ \gdef\num@real{0}%
+ \gdef\num@im{0}%
+ \gdef\den@real{0}%
+ \gdef\den@im{0}%
+ \gdef\loop@delay{0}%
+ \foreach \feature/\values in {#3} {%
+ \ifnum\pdfstrcmp{\feature}{num}=0
+ \foreach \numcoeff [count=\numpow] in \values {%
+ \xdef\num@degree{\numpow}%
+ }%
+ \foreach \numcoeff [count=\numpow] in \values {%
+ \pgfmathtruncatemacro{\currentdegree}{\num@degree-\numpow}%
+ \ifnum\currentdegree = 0
+ \xdef\num@real{\num@real+\numcoeff}%
+ \else
+ \ifodd\currentdegree
+ \xdef\num@im{\num@im+(\numcoeff*(\n@pow{-1}{(\currentdegree-1)/2})*%
+ (\n@pow{t}{\currentdegree}))}%
+ \else
+ \xdef\num@real{\num@real+(\numcoeff*(\n@pow{-1}{(\currentdegree)/2})*%
+ (\n@pow{t}{\currentdegree}))}%
+ \fi
+ \fi
+ }%
+ \fi
+ \ifnum\pdfstrcmp{\feature}{den}=0
+ \foreach \dencoeff [count=\denpow] in \values {%
+ \xdef\den@degree{\denpow}%
+ }%
+ \foreach \dencoeff [count=\denpow] in \values {%
+ \pgfmathtruncatemacro{\currentdegree}{\den@degree-\denpow}%
+ \ifnum\currentdegree = 0
+ \xdef\den@real{\den@real+\dencoeff}%
+ \else
+ \ifodd\currentdegree
+ \xdef\den@im{\den@im+(\dencoeff*(\n@pow{-1}{(\currentdegree-1)/2})*%
+ (\n@pow{t}{\currentdegree}))}%
+ \else
+ \xdef\den@real{\den@real+(\dencoeff*(\n@pow{-1}{(\currentdegree)/2})*%
+ (\n@pow{t}{\currentdegree}))}%
+ \fi
+ \fi
+ }%
+ \fi
+ \ifnum\pdfstrcmp{\feature}{d}=0
+ \xdef\loop@delay{\values}%
+ \fi
+ }%
+ \xdef#2{(\n@mod{atan2((\num@im),(\num@real))-atan2((\den@im),%
+ (\den@real))+360}{360}-\loop@delay*180*t/pi)}%
+ \xdef#1{(20*log10(sqrt((\n@pow{\num@real}{2})+(\n@pow{\num@im}{2})))-%
+ 20*log10(sqrt((\n@pow{\den@real}{2})+(\n@pow{\den@im}{2}))))}%
+}
+% \end{macrocode}
+%\end{macro}
+% \begin{macro}{\parse@opt}
+% Parses options supplied to the main Bode macros. A |for| loop over tuples of the form |\obj/\typ/\opt| with a long list of nested if-else statements does the job. The input |\obj| is either |plot|, |axes|, |group| or |approx|, and the corresponding |\opt| are passed to the |\addplot| macro, the |\nextgroupplot| macro, the |groupplot| environment, and the |\build@ZPK@plot| macros, respectively. The input tuples should not contain any macros that need to be passed to respective |pgf| macros unexpanded. If an input tuple needs to contain such a macro, the |\xdef| macros below need to be defined using |\unexpanded\expandafter{\opt}| instead of just |\opt|. For example, the |\parse@N@opt| macro in Section \ref{sec:NInternal} can pass macros in its arguments, unexpanded, to |pgf| plot macros and environments, which is useful, for example, when the user wishes to add direction arrows to Nyquist plots. I did not think such a use case would be encountered when plotting Bode plots.
+% \begin{macrocode}
+\newcommand{\parse@opt}[1]{%
+ \gdef\optmag@axes{}%
+ \gdef\optph@axes{}%
+ \gdef\optph@plot{}%
+ \gdef\optmag@plot{}%
+ \gdef\opt@group{}%
+ \gdef\opt@approx{}%
+ \foreach \obj/\typ/\opt in {#1} {%
+ \ifnum\pdfstrcmp{\obj}{plot}=0
+ \ifnum\pdfstrcmp{\typ}{mag}=0
+ \xdef\optmag@plot{\optmag@plot,\opt}%
+ \else
+ \ifnum\pdfstrcmp{\typ}{ph}=0
+ \xdef\optph@plot{\optph@plot,\opt}%
+ \else
+ \xdef\optmag@plot{\optmag@plot,\opt}%
+ \xdef\optph@plot{\optph@plot,\opt}%
+ \fi
+ \fi
+ \else
+ \ifnum\pdfstrcmp{\obj}{axes}=0
+ \ifnum\pdfstrcmp{\typ}{mag}=0
+ \xdef\optmag@axes{\optmag@axes,\opt}%
+ \else
+ \ifnum\pdfstrcmp{\typ}{ph}=0
+ \xdef\optph@axes{\optph@axes,\opt}%
+ \else
+ \xdef\optmag@axes{\optmag@axes,\opt}%
+ \xdef\optph@axes{\optph@axes,\opt}%
+ \fi
+ \fi
+ \else
+ \ifnum\pdfstrcmp{\obj}{group}=0
+ \xdef\opt@group{\opt@group,\opt}%
+ \else
+ \ifnum\pdfstrcmp{\obj}{approx}=0
+ \xdef\opt@approx{\typ}%
+ \else
+ \xdef\optmag@plot{\optmag@plot,\obj}%
+ \xdef\optph@plot{\optph@plot,\obj}%
+ \fi
+ \fi
+ \fi
+ \fi
+ }%
+}
+% \end{macrocode}
+%\end{macro}
+% \subsection{Nyquist plots}
+% \subsubsection{User macros}
+% \begin{macro}{\NyquistZPK}
+% Converts magnitude and phase parametric functions built using |\build@ZPK@plot| into real part and imaginary part parametric functions. A plot of these is the Nyquist plot. The parametric functions are then plotted in a |tikzpicture| environment using the |\addplot| macro. Unless the package is loaded with the option |pgf|, the parametric functions are evaluated using |gnuplot|. A large number of samples is typically needed to get a smooth plot because frequencies near 0 result in plot points that are very close to each other. Linear frequency sampling is unnecessarily fine near zero and very coarse for large $\omega$. Logarithmic sampling makes it worse, perhaps inverse logarithmic sampling will help, merge requests are welcome!
+% \begin{macrocode}
+\newcommand{\NyquistZPK}[4][]{%
+ \parse@N@opt{#1}%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@ZPK@plot{\func@mag}{\func@ph}{}{#2}%
+ \edef\temp@cmd{\noexpand\begin{tikzpicture}\noexpand\begin{axis}[%
+ bodeStyle,
+ domain=#3:#4,
+ height=5cm,
+ xlabel={$\Re$},
+ ylabel={$\Im$},
+ samples=500,
+ \opt@axes,]}%
+ \temp@cmd
+ \addplot [only marks,mark=+,thick,red] (-1 , 0);
+ \edef\temp@cmd{\noexpand\addplot[thick,\unexpanded\expandafter{\opt@plot}]}%
+ \if@pgfarg
+ \temp@cmd ( {\n@pow{10}{((\func@mag)/20)}*cos(\func@ph)},
+ {\n@pow{10}{((\func@mag)/20)}*sin(\func@ph)} );
+ \else
+ \stepcounter{idGnuplot}%
+ \temp@cmd gnuplot[parametric,gnuplot degrees,gnuplot def] {%
+ \n@pow{10}{((\func@mag)/20)}*cos(\func@ph),
+ \n@pow{10}{((\func@mag)/20)}*sin(\func@ph)};
+ \fi
+ \end{axis}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\NyquistTF}
+% Implementation of this macro is very similar to the |\NyquistZPK| macro above. The only difference is a slightly different parsing of the mandatory arguments via |\build@TF@plot|.
+% \begin{macrocode}
+\newcommand{\NyquistTF}[4][]{%
+ \parse@N@opt{#1}%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@TF@plot{\func@mag}{\func@ph}{#2}%
+ \edef\temp@cmd{\noexpand\begin{tikzpicture}\noexpand\begin{axis}[%
+ bodeStyle,
+ domain=#3:#4,
+ height=5cm,
+ xlabel={$\Re$},
+ ylabel={$\Im$},
+ samples=500,
+ \opt@axes,]}
+ \temp@cmd
+ \addplot [only marks,mark=+,thick,red] (-1 , 0);
+ \edef\temp@cmd{\noexpand\addplot[thick,\unexpanded\expandafter{\opt@plot}]}%
+ \if@pgfarg
+ \temp@cmd ( {\n@pow{10}{((\func@mag)/20)}*cos(\func@ph)},
+ {\n@pow{10}{((\func@mag)/20)}*sin(\func@ph)} );
+ \else
+ \stepcounter{idGnuplot}%
+ \temp@cmd gnuplot[parametric,gnuplot degrees,gnuplot def]{%
+ \n@pow{10}{((\func@mag)/20)}*cos(\func@ph),
+ \n@pow{10}{((\func@mag)/20)}*sin(\func@ph)};
+ \fi
+ \end{axis}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\addNyquistZPKPlot}
+% Adds Nyquist plot of a transfer function in ZPK form. This macro is designed to pass two parametric function to an |\addplot| macro. The parametric functions for phase (|\func@ph|) and magnitude (|\func@mag|) are built using the |\build@ZPK@plot| macro, converted to real and imaginary parts and passed to |\addplot| commands.
+% \begin{macrocode}
+\newcommand{\addNyquistZPKPlot}[2][]{%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@ZPK@plot{\func@mag}{\func@ph}{}{#2}%
+ \if@pgfarg
+ \addplot [#1] ( {\n@pow{10}{((\func@mag)/20)}*cos(\func@ph)},
+ {\n@pow{10}{((\func@mag)/20)}*sin(\func@ph)} );
+ \else
+ \stepcounter{idGnuplot}%
+ \addplot [#1] gnuplot[parametric,gnuplot degrees,gnuplot def]{%
+ \n@pow{10}{((\func@mag)/20)}*cos(\func@ph),
+ \n@pow{10}{((\func@mag)/20)}*sin(\func@ph)};
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+% \begin{macro}{\addNyquistTFPlot}
+% Adds Nyquist plot of a transfer function in TF form. This macro is designed to pass two parametric function to an |\addplot| macro. The parametric functions for phase (|\func@ph|) and magnitude (|\func@mag|) are built using the |\build@TF@plot| macro, converted to real and imaginary parts and passed to |\addplot| commands.
+% \begin{macrocode}
+\newcommand{\addNyquistTFPlot}[2][]{%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@TF@plot{\func@mag}{\func@ph}{#2}%
+ \if@pgfarg
+ \addplot [#1] ( {\n@pow{10}{((\func@mag)/20)}*cos(\func@ph)},
+ {\n@pow{10}{((\func@mag)/20)}*sin(\func@ph)} );
+ \else
+ \stepcounter{idGnuplot}%
+ \addplot [#1] gnuplot[parametric,gnuplot degrees,gnuplot def]{%
+ \n@pow{10}{((\func@mag)/20)}*cos(\func@ph),
+ \n@pow{10}{((\func@mag)/20)}*sin(\func@ph)};
+ \fi
+}
+% \end{macrocode}
+%\end{macro}
+%\begin{macro}{NyquistPlot}
+% An environment to host |\addNyquist...| macros that pass parametric functions to |\addplot|. Uses the defaults specified in |bodeStyle| to create a shortcut that includes the |tikzpicture| and |axis| environments.
+% \begin{macrocode}
+\newenvironment{NyquistPlot}[3][]{%
+ \begin{tikzpicture}
+ \begin{axis}[%
+ bodeStyle,
+ height=5cm,
+ domain=#2:#3,
+ xlabel={$\Re$},
+ ylabel={$\Im$},
+ #1]
+ \addplot [only marks,mark=+,thick,red] (-1 , 0);
+}{%
+ \end{axis}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+%\end{macro}
+% \subsubsection{Internal commands\label{sec:NInternal}}
+% \begin{macro}{\parse@opt}
+% Parses options supplied to the main Nyquist and Nichols macros. A |for| loop over tuples of the form |\obj/\opt|, processed using nested if-else statements does the job. The input |\obj| is either |plot| or |axes|, and the corresponding |\opt| are passed to the |\addplot| macro and the |axis| environment, respectively. If the input tuples contain macros, they are to be passed to respective |pgf| macros unexpanded.
+% \begin{macrocode}
+\newcommand{\parse@N@opt}[1]{%
+ \gdef\opt@axes{}%
+ \gdef\opt@plot{}%
+ \foreach \obj/\opt in {#1} {%
+ \ifnum\pdfstrcmp{\obj}{axes}=0
+ \xdef\opt@axes{\unexpanded\expandafter{\opt}}%
+ \else
+ \ifnum\pdfstrcmp{\obj}{plot}=0
+ \xdef\opt@plot{\unexpanded\expandafter{\opt}}%
+ \else
+ \xdef\opt@plot{\unexpanded\expandafter{\obj}}%
+ \fi
+ \fi
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \subsection{Nichols charts}
+% \begin{macro}{\NicholsZPK}
+% \begin{macro}{\NicholsTF}
+% \begin{macro}{NicholsChart}
+% \begin{macro}{\addNicholsZPKChart}
+% \begin{macro}{\addNicholsTFChart}
+% These macros and the |NicholsChart| environment generate Nichols charts, and they are implemented similar to their Nyquist counterparts.
+% \begin{macrocode}
+\newcommand{\NicholsZPK}[4][]{%
+ \parse@N@opt{#1}%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@ZPK@plot{\func@mag}{\func@ph}{}{#2}%
+ \edef\temp@cmd{\noexpand\begin{tikzpicture}\noexpand\begin{axis}[%
+ bodeStyle,
+ domain=#3:#4,
+ height=5cm,
+ xlabel={Phase (degrees)},
+ ylabel={Gain (dB)},
+ samples=500,
+ \opt@axes]}
+ \temp@cmd
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\opt@plot]}%
+ \if@pgfarg
+ \temp@cmd ( {\func@ph} , {\func@mag} );
+ \else
+ \stepcounter{idGnuplot}%
+ \temp@cmd gnuplot[parametric, gnuplot degrees, gnuplot def]
+ { \func@ph , \func@mag };
+ \fi
+ \end{axis}
+ \end{tikzpicture}
+}
+\newcommand{\NicholsTF}[4][]{%
+ \parse@N@opt{#1}%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@TF@plot{\func@mag}{\func@ph}{#2}%
+ \edef\temp@cmd{\noexpand\begin{tikzpicture}\noexpand\begin{axis}[%
+ bodeStyle,
+ domain=#3:#4,
+ height=5cm,
+ xlabel={Phase (degrees)},
+ ylabel={Gain (dB)},
+ samples=500,
+ \opt@axes]}
+ \temp@cmd
+ \edef\temp@cmd{\noexpand\addplot[red,thick,\opt@plot]}%
+ \if@pgfarg
+ \temp@cmd ( {\func@ph} , {\func@mag} );
+ \else
+ \stepcounter{idGnuplot}%
+ \temp@cmd gnuplot[parametric, gnuplot degrees, gnuplot def]
+ { \func@ph , \func@mag };
+ \fi
+ \end{axis}
+ \end{tikzpicture}
+}
+\newenvironment{NicholsChart}[3][]{%
+ \begin{tikzpicture}
+ \begin{axis}[%
+ bodeStyle,
+ domain=#2:#3,
+ height=5cm,
+ ytick distance=20,
+ xtick distance=15,
+ xlabel={Phase (degrees)},
+ ylabel={Gain (dB)},
+ #1]
+}{
+ \end{axis}
+ \end{tikzpicture}
+}
+\newcommand{\addNicholsZPKChart}[2][]{%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@ZPK@plot{\func@mag}{\func@ph}{}{#2}%
+ \if@pgfarg
+ \addplot [#1] ( {\func@ph} , {\func@mag} );
+ \else
+ \stepcounter{idGnuplot}%
+ \addplot [#1] gnuplot[parametric,gnuplot degrees,gnuplot def]
+ {\func@ph , \func@mag};
+ \fi
+}
+\newcommand{\addNicholsTFChart}[2][]{%
+ \gdef\func@mag{}%
+ \gdef\func@ph{}%
+ \build@TF@plot{\func@mag}{\func@ph}{#2}%
+ \if@pgfarg
+ \addplot [#1] ( {\func@ph} , {\func@mag} );
+ \else
+ \stepcounter{idGnuplot}%
+ \addplot [#1] gnuplot[gnuplot degrees,gnuplot def]
+ {\func@ph , \func@mag};
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \Finale
+\endinput \ No newline at end of file
diff --git a/graphics/pgf/contrib/bodeplot/bodeplot.ins b/graphics/pgf/contrib/bodeplot/bodeplot.ins
new file mode 100644
index 0000000000..1a80024f83
--- /dev/null
+++ b/graphics/pgf/contrib/bodeplot/bodeplot.ins
@@ -0,0 +1,41 @@
+%%
+%% Copyright (C) 2021 by Rushikesh Kamalapurkar
+%%
+%% 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:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2006/05/20 or later.
+%%
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/bodeplot}
+\preamble
+This is a generated file.
+Copyright (C) 2021 by Rushikesh Kamalapurkar
+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:
+http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of
+LaTeX version 2006/05/20 or later.
+\endpreamble
+\generate{\file{bodeplot.sty}{\from{bodeplot.dtx}{package}}}
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* bodeplot.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the file bodeplot.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+\endbatchfile \ No newline at end of file
diff --git a/graphics/pgf/contrib/bodeplot/bodeplot.pdf b/graphics/pgf/contrib/bodeplot/bodeplot.pdf
new file mode 100644
index 0000000000..e21ce245d5
--- /dev/null
+++ b/graphics/pgf/contrib/bodeplot/bodeplot.pdf
Binary files differ
diff --git a/macros/latex/contrib/ccref/README.md b/macros/latex/contrib/ccref/README.md
index 513140e90c..c2f084b518 100644
--- a/macros/latex/contrib/ccref/README.md
+++ b/macros/latex/contrib/ccref/README.md
@@ -1,6 +1,6 @@
<!-- Copyright (C) 2021 by Jinwen XU -->
-# ccref - cleveref with proper definite articles
+# ccref - cross referencing with proper definite articles
"ccref" is a LaTeX package aimed at helping `\cref` addressing the definite articles properly (especially for the article contractions in many European languages).
@@ -10,14 +10,14 @@ By default, when using cleveref's `\cref` to reference theorem-like environments
As an example, if we define the French names to be:
```latex
-\crefname{theorem}{le théorème}{les théorème}
+\crefname{theorem}{le théorème}{les théorèmes}
\crefname{proposition}{la proposition}{les propositions}
```
-Then when one writes
+Then when one writes (which means "*We can deduce this from ...*"):
```latex
On peut le déduire de \cref{thm1,thm2,prop3}.
```
-(which means "*We can deduce this from ...*") the result would be
+the result would be:
> On peut le déduire **de les** théorèmes 1 et 2 et **la** proposition 3.
which is wrong, as the correct result should be:
@@ -29,10 +29,9 @@ which is wrong, as the correct result should be:
Thus, it would be better to have a new command `\ccref[<prep>]{<labels>}`, and to use it like
```
-\ccref*[de]{thm1,thm2,prop3}
+\ccref[de]{thm1,thm2,prop3}
```
in order to get "*des théorèmes 1 et 2 et de la proposition 3*".
-> The asterisk `*` here indicates that the preposition "de" will act on every definite article.
# Usage
@@ -43,14 +42,16 @@ Just load the package with
> "ccref" uses "cleveref" internally, thus it should usually be placed at the last of your preamble.
And then you can use the command `\ccref` as follows:
- - `\ccref[<prep>]{<labels>}`
- - This will pass the `<prep>` to the first definite article.
- - `\ccref*[<prep>]{<labels>}`
- - This will pass the `<prep>` to every definite article.
+- `\ccref[<prep>]{<labels>}`
+ - This will pass the preposition `<prep>` to the definite articles that follows. Its behavior depends on the current language (for example, in Spanish, `<prep>` is passed only to the first definite article, while in French it is passed to everyone).
+- `\ccref-[<prep>]{<labels>}` and `\ccref+[<prep>]{<labels>}`
+ - In case the automatic version does not meet your needs, here are two manual ones. The `-` version passes the preposition `<prep>` only to the first definite article, while the `+` version passes `<prep>` to every definite article.
+
+> There is also a stared version `\ccref*` for generating the same text but without hyperlinks.
However, before using it, you should first define the `\crefname`s carefully. The definite article in `\crefname`s needs to be marked manually using `\ccmarkart`, for example:
```latex
-\crefname{theorem}{\ccmarkart{le} théorème}{\ccmarkart{les} théorème}
+\crefname{theorem}{\ccmarkart{le} théorème}{\ccmarkart{les} théorèmes}
```
diff --git a/macros/latex/contrib/ccref/ccref-doc.pdf b/macros/latex/contrib/ccref/ccref-doc.pdf
index 85d435a9f6..24a8277d3b 100644
--- a/macros/latex/contrib/ccref/ccref-doc.pdf
+++ b/macros/latex/contrib/ccref/ccref-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/ccref/ccref-doc.tex b/macros/latex/contrib/ccref/ccref-doc.tex
index 992ff0f181..368a4896ac 100644
--- a/macros/latex/contrib/ccref/ccref-doc.tex
+++ b/macros/latex/contrib/ccref/ccref-doc.tex
@@ -32,6 +32,7 @@
{
cref,crefname,
ccref,ccmarkart,
+ selectlanguage,
}
}
\lstnewenvironment{code}%
@@ -67,49 +68,52 @@
title={\scshape\sffamily #1}]%
}{\end{tcolorbox}\ResumeLineNumbers}
+%%================================
+%% demo
+%%================================
\newenvironment{demo}{%
\LocallyStopLineNumbers%
\begin{tcolorbox}[enhanced jigsaw,pad at break*=1mm,breakable,
- left=4mm,right=4mm,top=1mm,bottom=1mm,
+ left=4mm,right=4mm,top=0.5mm,bottom=0mm,
colback=gray!5!paper,boxrule=0pt,frame hidden,
borderline west={1.5mm}{0mm}{gray!55!paper},arc=.7mm]%
}{\end{tcolorbox}\ResumeLineNumbers}
-
\newcommand{\ccrefpackage}{\textsf{ccref}}
\begin{document}
-\title{\ccrefpackage{} - cleveref with proper definite articles}
+\title{\ccrefpackage{} - cross referencing with proper definite articles}
\author{Jinwen XU}
+\thanks{Corresponding to: \texttt{\ccrefpackage{} 2021/10/30}}
\date{October 2021, in Paris}
\maketitle
\begin{abstract}
\raggedleft
- The package \ccrefpackage{} is aimed at helping \lstinline|\cref| addressing the definite articles properly (especially for the article contractions in many European languages).
+ The package \ccrefpackage{} provides a command \lstinline|\ccref| parallel to \textsf{cleveref}'s \lstinline|\cref| for handling definite articles properly (especially for the article contractions in some European languages).
\end{abstract}
\section{The motivation}
-By default, when using \textsf{cleveref}'s \lstinline|\cref| to reference theorem-like environments, the names do not contain definite articles. This may be acceptable for English, but certainly not good enough for languages such as French, Italian, Portuguese, Spanish, etc. -- in these cases there shall be grammatical errors and would give you a strong feeling that it is machine-generated.
+By default, with \textsf{cleveref}'s \lstinline|\cref| to reference theorem-like environments, the names do not contain definite articles. While this might be acceptable for English, it is certainly not good enough for languages such as French, Italian, Portuguese, Spanish, etc. -- in these cases there shall be grammatical errors and would give you a strong feeling that it is machine-generated.
-As an example, if we define the French names to be:
+However, even if we manually add the definite articles to the names, there would still be other problems. As an example, if we define the French names to be:
\begin{code}
-\crefname{theorem}{le théorème}{les théorème}
+\crefname{theorem}{le théorème}{les théorèmes}
\crefname{proposition}{la proposition}{les propositions}
\end{code}
-then when one writes (which means ``\emph{We can deduce this from ...}'' in French)
+then when one writes (which means ``\emph{We can deduce this from ...}'')
\begin{code}
On peut le déduire de \cref{thm1,thm2,prop3}.
\end{code}
-the result would be
+the result would be:
\begin{demo}
On peut le déduire \textbf{de les} théorèmes 1 et 2 et \textbf{la} proposition 3.
@@ -121,23 +125,23 @@ which is wrong, as the correct result should be:
On peut le déduire \textbf{des} théorèmes 1 et 2 et \textbf{de la} proposition 3.
\end{demo}
-\lstinline|\cref| cannot handle such cases correctly --- and that is when \lstinline|\ccref| comes into play.
+\lstinline|\cref| cannot handle such cases automatically --- and that is when \lstinline|\ccref| comes into play.
\section{The usage}
\subsection[How to load it]{How to load it\,?}
-Simply load the package with
+Simply load the package with:
\begin{code}
\usepackage{ccref}
\end{code}
\begin{tip}
- \begin{itemize}\small
- \item \ccrefpackage{} uses \textsf{cleveref} internally, thus it should usually be placed at the last of your preamble.
- \item To handle article contractions correctly, \lstinline|\ccref| shall detect the current language, thus you need to use packages such as \textsf{babel} or \textsf{polyglossia} to set your languages appropriately.
+ \begin{itemize}
+ \item Since \ccrefpackage{} uses \textsf{cleveref} internally, it should usually be placed at the last of your preamble, and notably, after \textsf{varioref} and \textsf{hyperref}.
+ \item To handle article contractions correctly, \lstinline|\ccref| shall detect the current language, thus you need to use packages such as \textsf{babel} or \textsf{polyglossia} to set your languages, and use commands like \lstinline|\selectlanguage| to select them appropriately.
\end{itemize}
\end{tip}
@@ -147,18 +151,22 @@ Then you can use the command \lstinline|\ccref| as follows:
\begin{itemize}
\item \lstinline|\ccref[|\meta{prep}\lstinline|]{|\meta{labels}\lstinline|}|
\begin{itemize}
- \item This will pass the preposition \meta{prep} to the first definite article.
+ \item This will pass the preposition \meta{prep} to the definite articles that follows. Its behavior depends on the current language (for example, in Spanish, \meta{prep} is passed only to the first definite article, while in French it is passed to everyone).
\end{itemize}
- \item \lstinline|\ccref*[|\meta{prep}\lstinline|]{|\meta{labels}\lstinline|}|
+ \item \lstinline|\ccref-[|\meta{prep}\lstinline|]{|\meta{labels}\lstinline|}| and \lstinline|\ccref+[|\meta{prep}\lstinline|]{|\meta{labels}\lstinline|}|
\begin{itemize}
- \item This will pass the preposition \meta{prep} to every definite article.
+ \item In case the automatic version does not meet your needs, here are two manual ones. The \verb|-| version passes the preposition \meta{prep} only to the first definite article, while the \verb|+| version passes \meta{prep} to every definite article.
\end{itemize}
\end{itemize}
+\begin{tip}
+ There is also a stared version \lstinline|\ccref*| for generating the same referencing text but without creating hyperlinks.
+\end{tip}
+
However, before using it, you should first define the \lstinline|\crefname|s carefully. The definite article in \lstinline|\crefname|s needs to be marked manually using \lstinline|\ccmarkart|, for example:
\begin{code}
-\crefname{theorem}{\ccmarkart{le} théorème}{\ccmarkart{les} théorème}
+\crefname{theorem}{\ccmarkart{le} théorème}{\ccmarkart{les} théorèmes}
\end{code}
@@ -168,41 +176,31 @@ Let us come back to the example at the beginning, now you can do this:
\begin{code}
\crefname{theorem}{\ccmarkart{le} théorème}
- {\ccmarkart{les} théorème}
-\crefname{proposition}{\ccmarkart{le} proposition}
+ {\ccmarkart{les} théorèmes}
+\crefname{proposition}{\ccmarkart{la} proposition}
{\ccmarkart{les} propositions}
\end{code}
-And the sentence shall be written as\footnote{Here the stared version is used because we want the preposition ``de'' to be passed to every definite article.}:
+And the sentence shall be written as:
\begin{code}
-On peut le déduire \ccref*[de]{thm1,thm2,prop3}.
+On peut le déduire \ccref[de]{thm1,thm2,prop3}.
\end{code}
-which would result in:
+which would result in (provided that you have done \lstinline|\selectlanguage{french}|):
\begin{demo}
On peut le déduire \textbf{des} théorèmes 1 et 2 et \textbf{de la} proposition 3.
\end{demo}
-As another example, with
-
-\begin{code}
-Pensez \ccref*[à]{thm1,thm2,prop3}.
-\end{code}
-
-one would get something like:
-
-\begin{demo}
- Pensez \textbf{aux} théorèmes 1 et 2 et \textbf{à la} proposition 3.
-\end{demo}
-
+Voilà !
\section{Known issues}
\begin{itemize}
\item \ccrefpackage{} currently only works for French, Italian, Portuguese (both European and Brazilian) and Spanish, certainly more would be added to this list.
- \item In the case that the initial letter of \meta{prep} is capitalized, \ccrefpackage{} cannot yet handle the case changes automatically. However, this should be a rare occurrence.
+ \item The current mechanism does not work for German. However, the author has planed to adopt a more refined approach in later versions in order to support the various situations in German.
+ \item In case that the initial letter of \meta{prep} is capitalized, \ccrefpackage{} cannot yet handle the case changes automatically. However, this should be a rare occurrence.
\item The names of theorem-like environments are not provided --- for the moment you need to define them all by yourself. However, users are encouraged to use the \ProjLib{} toolkit, which already handles everything for you.
\end{itemize}
diff --git a/macros/latex/contrib/ccref/ccref.sty b/macros/latex/contrib/ccref/ccref.sty
index a507a2652c..4358237afa 100644
--- a/macros/latex/contrib/ccref/ccref.sty
+++ b/macros/latex/contrib/ccref/ccref.sty
@@ -12,21 +12,28 @@
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesExplPackage
{ccref}
- {2021/10/29}
+ {2021/10/30}
{}
- {cleveref with article contraction}
+ {Cross referencing with proper definite articles}
\RequirePackage{cleveref}
\tl_gset:Nn \g_ccref_prepf_tl {}
\tl_gset:Nn \g_ccref_prep_tl {}
-\NewDocumentCommand{\ccref}{sO{}m}{
- \IfBooleanTF{ #1 }{
- \tl_gset:Nn \g_ccref_prep_tl { #2 }
+\NewDocumentCommand{\ccref}{st-t+O{}m}{
+ \IfBooleanTF{ #2 }{
+ \tl_gset:Nn \g_ccref_prepf_tl { #4 }
}{
- \tl_gset:Nn \g_ccref_prepf_tl { #2 }
+ \IfBooleanTF{ #3 }{
+ \tl_gset:Nn \g_ccref_prep_tl { #4 }
+ }{
+ \str_case_e:nn { \ccref_prep_mode:nn } {
+ { - } { \tl_gset:Nn \g_ccref_prepf_tl { #4 } }
+ { + } { \tl_gset:Nn \g_ccref_prep_tl { #4 } }
+ }
+ }
}
- \cref {#3}
+ \IfBooleanTF{ #1 } { \cref*{#5} } { \cref{#5} }
\tl_gset:Nn \g_ccref_prep_tl {}
}
@@ -37,97 +44,110 @@
\tl_gset:Nn \g_ccref_prepf_tl {}
}
-\cs_set:Npn \ccref_contraction:nn #1#2 {
+\cs_set:Npn \ccref_prep_mode:nn {
\str_case_e:nn { \languagename }
{
- {french}{
- \str_case_e:nnF {#1~#2} {
- {à~le} {au}
- {à~la} {à~la}
- {à~l'} {à~l'}
- {à~les} {aux}
- {de~le} {du}
- {de~la} {de~la}
- {de~l'} {de~l'}
- {de~les} {des}
- }{#2}
- }
- {italian}{
- \str_case_e:nnF {#1~#2} {
- {a~il} {al}
- {a~lo} {allo}
- {a~l'} {all'}
- {a~la} {alla}
- {di~il} {del}
- {di~lo} {dello}
- {di~l'} {dell'}
- {di~la} {della}
- {da~il} {dal}
- {da~lo} {dallo}
- {da~l'} {dall'}
- {da~la} {dalla}
- {in~il} {nel}
- {in~lo} {nello}
- {in~l'} {nell'}
- {in~la} {nella}
- {su~il} {sul}
- {su~lo} {sullo}
- {su~l'} {sull'}
- {su~la} {sulla}
- {a~i} {ai}
- {a~gli} {agli}
- {a~le} {alle}
- {di~i} {dei}
- {di~gli} {degli}
- {di~le} {delle}
- {da~i} {dai}
- {da~gli} {dagli}
- {da~le} {dalle}
- {in~i} {nei}
- {in~gli} {negli}
- {in~le} {nelle}
- {su~i} {sui}
- {su~gli} {sugli}
- {su~le} {sulle}
- }{#2}
- }
- {portuguese}{
- \str_case_e:nnF {#1~#2} {
- {a~o} {ao}
- {a~a} {à}
- {a~os} {aos}
- {a~as} {às}
- {de~o} {do}
- {de~a} {da}
- {de~os} {dos}
- {de~as} {das}
- {em~o} {no}
- {em~a} {na}
- {em~os} {nos}
- {em~as} {nas}
- }{#2}
- }
- {brazilian}{
- \str_case_e:nnF {#1~#2} {
- {a~o} {ao}
- {a~a} {à}
- {a~os} {aos}
- {a~as} {às}
- {de~o} {do}
- {de~a} {da}
- {de~os} {dos}
- {de~as} {das}
- {em~o} {no}
- {em~a} {na}
- {em~os} {nos}
- {em~as} {nas}
- }{#2}
- }
- {spanish}{
- \str_case_e:nnF {#1~#2} {
- {a~el} {al}
- {de~el} {del}
- }{#2}
+ {french} { + }
+ {italian} { + }
+ {spanish} { - }
+ {portuguese} { + }
+ {brazilian} { + }
+ }
+}
+
+\cs_set:Npn \ccref_contraction:nn #1#2 {
+ \str_if_eq:eeTF {#1} {} {#2} {
+ \str_case_e:nn { \languagename }
+ {
+ {french}{
+ \str_case_e:nnF {#1~#2} {
+ {à~le} {au}
+ {à~la} {à~la}
+ {à~l'} {à~l'}
+ {à~les} {aux}
+ {de~le} {du}
+ {de~la} {de~la}
+ {de~l'} {de~l'}
+ {de~les} {des}
+ }{#1~#2}
+ }
+ {italian}{
+ \str_case_e:nnF {#1~#2} {
+ {a~il} {al}
+ {a~lo} {allo}
+ {a~l'} {all'}
+ {a~la} {alla}
+ {di~il} {del}
+ {di~lo} {dello}
+ {di~l'} {dell'}
+ {di~la} {della}
+ {da~il} {dal}
+ {da~lo} {dallo}
+ {da~l'} {dall'}
+ {da~la} {dalla}
+ {in~il} {nel}
+ {in~lo} {nello}
+ {in~l'} {nell'}
+ {in~la} {nella}
+ {su~il} {sul}
+ {su~lo} {sullo}
+ {su~l'} {sull'}
+ {su~la} {sulla}
+ {a~i} {ai}
+ {a~gli} {agli}
+ {a~le} {alle}
+ {di~i} {dei}
+ {di~gli} {degli}
+ {di~le} {delle}
+ {da~i} {dai}
+ {da~gli} {dagli}
+ {da~le} {dalle}
+ {in~i} {nei}
+ {in~gli} {negli}
+ {in~le} {nelle}
+ {su~i} {sui}
+ {su~gli} {sugli}
+ {su~le} {sulle}
+ }{#1~#2}
+ }
+ {portuguese}{
+ \str_case_e:nnF {#1~#2} {
+ {a~o} {ao}
+ {a~a} {à}
+ {a~os} {aos}
+ {a~as} {às}
+ {de~o} {do}
+ {de~a} {da}
+ {de~os} {dos}
+ {de~as} {das}
+ {em~o} {no}
+ {em~a} {na}
+ {em~os} {nos}
+ {em~as} {nas}
+ }{#1~#2}
+ }
+ {brazilian}{
+ \str_case_e:nnF {#1~#2} {
+ {a~o} {ao}
+ {a~a} {à}
+ {a~os} {aos}
+ {a~as} {às}
+ {de~o} {do}
+ {de~a} {da}
+ {de~os} {dos}
+ {de~as} {das}
+ {em~o} {no}
+ {em~a} {na}
+ {em~os} {nos}
+ {em~as} {nas}
+ }{#1~#2}
+ }
+ {spanish}{
+ \str_case_e:nnF {#1~#2} {
+ {a~el} {al}
+ {de~el} {del}
+ }{#1~#2}
+ }
}
}
}
diff --git a/macros/latex/contrib/cutwin/README b/macros/latex/contrib/cutwin/README
deleted file mode 100644
index 1a9a435fdd..0000000000
--- a/macros/latex/contrib/cutwin/README
+++ /dev/null
@@ -1,60 +0,0 @@
- The cutwin package enables you to create a window in a paragraph.
-Facilities are provided to assist in putting text or a logo into the
-space cutout.
-
- IF THERE ARE ANY QUESTIONS PLEASE ASK THEM ON THE COMP.TEXT.TEX NEWSGROUP
-AS I AM AWAY MORE OFTEN THAN NOT.
-
-
-Changes in version 0.1 (2010/09/29)
-o First public release
-
-------------------------------------------------------------------
- Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net
- and Alan Hoenig
- Copyright 2010 Peter R. Wilson
-
- This work may be distributed and/or modified under the
- conditions of the Latex Project Public License, either
- version 1.3 of this license or (at your option) any
- later version.
- The latest version of the license is in
- http://www.latex-project.org/lppl.txt
- and version 1.3 or later is part of all distributions of
- LaTeX version 2003/06/01 or later.
-
- This work has the LPPL maintenance status "author-maintained".
-
- This work consists of the files:
- README (this file)
- cutwin.dtx
- cutwin.ins
- cutwin.pdf
- and the derived files
- cutwin.sty
-
-------------------------------------------------------------------
- The distribution consists of the following files:
-README (this file)
-cutwin.dtx
-cutwin.ins
-cutwin.pdf
-
-
- To install the package:
-o run: latex cutwin.ins (which will generate cutwin.sty)
-o Move cutwin.sty to a location where LaTeX will find it,
- for example /usr/TeX/texmf-local/tex/latex/cutwin/cutwin.sty
- (for more information on installation see the FAQ).
-
- To generate a second copy of the manual (which is already supplied as a PDF file):
-o run: (pdf)latex cutwin.dtx
-o (for an index run: makeindex -s gind.ist cutwin.idx)
-o run: (pdf)latex cutwin.dtx
-o Print cutwin.dvi (or cutwin.pdf) for a hardcopy of the package manual
-
-2010/09/29
-Peter Wilson
-herries dot press at earthlink dot net
-
-
diff --git a/macros/latex/contrib/cutwin/README.md b/macros/latex/contrib/cutwin/README.md
new file mode 100644
index 0000000000..b575d8bdcc
--- /dev/null
+++ b/macros/latex/contrib/cutwin/README.md
@@ -0,0 +1,71 @@
+# The cutwin package
+
+The cutwin package enables you to create a window in a paragraph.
+Facilities are provided to assist in putting text or a logo into the
+space cutout.
+
+https://github.com/latex-package-repositories/cutwin/issues
+
+Changes in version 0.1 (2010/09/29)
+
+* First public release
+
+Changes in version 0.2 (2021/10/13)
+
+* Allocate package specific registers replacing \@tempdimb and \@tempdimc
+
+------------------------------------------------------------------
+ Author: Peter Wilson (Herries Press) and Alan Hoenig
+ Copyright 2010 Peter R. Wilson
+
+ Current Maintainer David Carlisle
+ Copyright 2021 Peter R. Wilson, David Carlisle
+
+ This work may be distributed and/or modified under the
+ conditions of the Latex Project Public License, either
+ version 1.3 of this license or (at your option) any
+ later version.
+ The latest version of the license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2003/06/01 or later.
+
+ This work has the LPPL maintenance status "maintained".
+
+This work consists of the files:
+
+ README (this file)
+ cutwin.dtx
+ cutwin.ins
+ cutwin.pdf
+
+and the derived file
+
+ cutwin.sty
+
+------------------------------------------------------------------
+
+The distribution consists of the following files:
+
+README (this file)
+cutwin.dtx
+cutwin.ins
+cutwin.pdf
+
+
+## To install the package:
+
+* run: latex cutwin.ins (which will generate cutwin.sty)
+* Move cutwin.sty to a location where LaTeX will find it,
+ for example /usr/TeX/texmf-local/tex/latex/cutwin/cutwin.sty
+ (for more information on installation see the FAQ).
+
+## To generate a second copy of the manual
+* run: (pdf)latex cutwin.dtx
+* (for an index run: makeindex -s gind.ist cutwin.idx)
+* run: (pdf)latex cutwin.dtx
+* Print cutwin.dvi (or cutwin.pdf) for a hardcopy of the package manual
+
+
+
+
diff --git a/macros/latex/contrib/cutwin/cutwin.dtx b/macros/latex/contrib/cutwin/cutwin.dtx
index e04aca02c8..9c93af47ce 100644
--- a/macros/latex/contrib/cutwin/cutwin.dtx
+++ b/macros/latex/contrib/cutwin/cutwin.dtx
@@ -1,20 +1,23 @@
%% \iffalse meta-comment
%
% cutwin.dtx
-% Author: Peter Wilson, Herries Press (herries dot press at earthlink dot net)
+% Author: Peter Wilson, Herries Press
% and Alan Hoenig
% Copyright 2010 Peter R. Wilson
%
+% Current Maintainer David Carlisle
+% Copyright 2021 Peter R. Wilson, David Carlisle
+%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
-% version 1.3 of this license or (at your option) any
+% version 1.3 of this license or (at your option) any
% later version.
% The latest version of the license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of
% LaTeX version 2003/06/01 or later.
%
-% This work has the LPPL maintenance status "author-maintained".
+% This work has the LPPL maintenance status "maintained".
%
% This work consists of the files listed in the README file.
%
@@ -47,14 +50,13 @@
%
% \fi
%
-% \CheckSum{720}
%
% \DoNotIndex{\',\.,\@M,\@@input,\@addtoreset,\@arabic,\@badmath}
% \DoNotIndex{\@centercr,\@cite}
% \DoNotIndex{\@dotsep,\@empty,\@float,\@gobble,\@gobbletwo,\@ignoretrue}
% \DoNotIndex{\@input,\@ixpt,\@m}
% \DoNotIndex{\@minus,\@mkboth,\@ne,\@nil,\@nomath,\@plus,\@set@topoint}
-% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\@tempdimb}
+% \DoNotIndex{\@tempboxa,\@tempcnta,\@tempdima,\c@twdima}
% \DoNotIndex{\@tempswafalse,\@tempswatrue,\@viipt,\@viiipt,\@vipt}
% \DoNotIndex{\@vpt,\@warning,\@xiipt,\@xipt,\@xivpt,\@xpt,\@xviipt}
% \DoNotIndex{\@xxpt,\@xxvpt,\\,\ ,\addpenalty,\addtolength,\addvspace}
@@ -91,9 +93,10 @@
% \DoNotIndex{\wd,\xiipt,\year,\z@}
%
% \changes{v0.1}{2010/09/29}{First public release}
+% \changes{v0.2}{2021/10/13}{Declare registers}
%
% \def\dtxfile{cutwin.dtx}
-% \def\fileversion{v0.1} \def\filedate{2010/09/29}
+% \def\fileversion{v0.2} \def\filedate{2021/10/13}
% \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package
% \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option
% \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file
@@ -107,8 +110,8 @@
% \filedate.}}
%
% \author{%
-% Peter Wilson\thanks{Herries Press, \texttt{herries dot press at earthlink dot net}}
-% and Alan Hoenig
+% Peter Wilson\thanks{Herries Press} and Alan Hoenig\and
+% Maintained by David Carlisle\thanks{https://github.com/latex-package-repositories/cutwin/issues}%
% }
% \date{\filedate}
% \maketitle
@@ -119,7 +122,7 @@
% \end{abstract}
% \tableofcontents
%
-%
+%
%
% \section{Introduction}
%
@@ -131,8 +134,8 @@
% \LaTeX{} \textsc{docstrip} utility which enables the automatic
% extraction of the \LaTeX{} macro source files~\cite{COMPANION}.
%
-% Section~\ref{sec:usc} describes the usage of the \Lpack{cutwin}
-% package and
+% Section~\ref{sec:usc} describes the usage of the \Lpack{cutwin}
+% package and
% commented source code is in Section~\ref{sec:code}.
%
% \section{The \Lpack{cutwin} package} \label{sec:usc}
@@ -169,7 +172,7 @@
% \centering\bfseries
% Text \\ in \\Window \par}
% \newcommand*{\qinwin}{%
-% \centering\bfseries\Huge ?\,
+% \centering\bfseries\Huge ?\,
% \par}
% \let\windowpagestuff\tinwin
% \begin{cutout}{2}{0.2\textwidth}{0.4\textwidth}{3}
@@ -186,18 +189,18 @@
%
% \DescribeEnv{cutout}
% The |cutout| environment, the body of which must be a single paragraph,
-% enables a rectangular window to be cut out of the paragraph with the
+% enables a rectangular window to be cut out of the paragraph with the
% text flowing across the cutout. Use as:\\
% \verb?\begin{cutout}?\marg{numtop}\marg{leftwidth}\marg{rightwidth}\marg{numcut} \\
% where \meta{numtop} is the number of full lines above the window
-% and \meta{numcut} is the number of lines to be cut (giving the height
+% and \meta{numcut} is the number of lines to be cut (giving the height
% of the window).
% The meaning of the lengths \meta{leftwidth} and \meta{rightwidth} depend
% on the location of the cutout:
% \begin{itemize}
-% \item for a centered cutout \meta{leftwidth} and \meta{rightwidth} are the
+% \item for a centered cutout \meta{leftwidth} and \meta{rightwidth} are the
% lengths of the text lines at the left and right sides of the window;
-% \item for an open left cutout \meta{leftwidth} is ignored and
+% \item for an open left cutout \meta{leftwidth} is ignored and
% \meta{rightwidth} is the length of the lines to the right of the cutout; and
% \item for an open right cutout \meta{rightwidth} is ignored and
% \meta{leftwidth} is the length of the lines at the left of the cutout.
@@ -226,7 +229,7 @@
% satisfaction.
%
% \subsection{Shaped cutouts}
-%
+%
% \newcommand*{\mycut}{%
% 0.1\textwidth, 0.3\textwidth,
% 0.2\textwidth, 0.4\textwidth,
@@ -240,27 +243,27 @@
% bordering the cutout. Normally there is text on either side of the
% window but it could be open at either the left or right side of
% the paragraph. It is possible to put a logo or some text in the
-% window. In this paragraph with a shaped cutout I have used a large
+% window. In this paragraph with a shaped cutout I have used a large
% \$ sign as a simple logo.
% \end{shapedcutout}
%
%
% \DescribeEnv{shapedcutout}
% The |shapedcutout| environment, the body of which must be a single paragraph,
-% enables an arbitrary shaped window to be cut out of the paragraph with the
+% enables an arbitrary shaped window to be cut out of the paragraph with the
% text flowing across the cutout. Use as:\\
% \verb?\begin{shapedcutout}?\marg{numtop}\marg{numcut}\marg{shapespec}
% where \meta{numtop} is the number of full lines above the window,
-% \meta{numcut} is the number of lines to be cut (giving the height of
+% \meta{numcut} is the number of lines to be cut (giving the height of
% the window) and
% \meta{shapespec} is the specification of the length of the lines
% bordering the cutout.
%
-% More precisely \meta{shapespec} is a comma-separated list of the
-% lengths of the
+% More precisely \meta{shapespec} is a comma-separated list of the
+% lengths of the
% text lines bordering the window.
% \begin{itemize}
-% \item For a centered cutout one pair of entries are required for each cut
+% \item For a centered cutout one pair of entries are required for each cut
% line denoting the length of the left and right part of the cut line.
% There must be exactly \meta{numcut} pairs.
% \item
@@ -285,7 +288,7 @@
% of the gap in the first line of the
% cutout. The default \cs{picinwindow} is a zero-sized picture whose contents
% is \cs{putstuffinpic}.
-%
+%
% \cs{picinwindow} and \cs{putstuffinpic} are initially defined as
% \begin{verbatim}
% \newcommand*{\picinwindow}{%
@@ -293,8 +296,8 @@
% \putstuffinpic
% \end{picture}}
% \newcommand*{\putstuffinpic}{}
-% \end{verbatim}
-%
+% \end{verbatim}
+%
% You can change \cs{putstuffinpic} to place what you want in the picture.
% For example, to put the large \$ symbol in the shaped cutout paragraph above
% I used:
@@ -333,8 +336,7 @@
% \begin{macrocode}
%<*pkg>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{cutwin}[2010/09/29 v0.1 cutout windows]
-
+\ProvidesPackage{cutwin}[2021/10/13 v0.2 cutout windows]
% \end{macrocode}
%
%
@@ -348,7 +350,6 @@
\newcount\c@twwinlines % window lines
\newcount\c@twtoplines % top lines
\newcount\c@twcnt % a count
-
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -364,7 +365,6 @@
\newdimen\c@twrtside % right width
\newdimen\c@twtopht % height of top text
\newdimen\c@twvsilg % Vertical Shift or InterLine Glue
-
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -377,7 +377,6 @@
% \begin{macrocode}
\newtoks\c@twtoka % build of parshape spec
\newtoks\c@twtokb % build of parshape spec
-
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -396,7 +395,6 @@
\newbox\c@twfinaltext % final assembled cutout paragraph
\newbox\c@twslicea % slice A of window text
\newbox\c@twsliceb % slice B of window text
-
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -405,6 +403,16 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\c@twdima}
+% \begin{macro}{\c@twdimb}
+% And some lengths.
+% \begin{macrocode}
+\newdimen\c@twdima % formally \@tempdimb
+\newdimen\c@twdimb % formally \@tempdimc
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\opencutleft}
% \begin{macro}{\opencutright}
% \begin{macro}{\opencutcenter}
@@ -423,17 +431,15 @@
% \end{macro}
% \begin{macrocode}
\opencutcenter
-
% \end{macrocode}
%
% \begin{macro}{\cutfuzz}
% An attempt to stop TeX moaning about over/under full h/v boxes.
% \begin{macrocode}
-\newcommand{\cutfuzz}{\vbadness=50000
+\newcommand{\cutfuzz}{\vbadness=50000
\hbadness=50000
% \hfuzz=1pt
\sloppy}
-
% \end{macrocode}
% \end{macro}
%
@@ -442,9 +448,8 @@
% \begin{macrocode}
\newcommand*{\c@twcalcilg}{%
\c@twvsilg=\baselineskip
- \setbox0=\hbox{(}
+ \setbox0=\hbox{(}%
\advance\c@twvsilg-\ht0 \advance\c@twvsilg-\dp0}
-
% \end{macrocode}
% \end{macro}
%
@@ -454,35 +459,34 @@
% \begin{macro}{\pageinwindow}
% \begin{macro}{\windowpagestuff}
% User modifiable macros for putting (\cs{pageinwindow}), via a
-% zero-sized picture,
+% zero-sized picture,
% stuff (\cs{windowpagestuff}) in a cutout window.
% \begin{macrocode}
\newcommand*{\pageinwindow}{%
- \@tempdimc=\c@twwinlines\baselineskip % cutout height
- \@tempdimb=\hsize
+ \c@twdimb=\c@twwinlines\baselineskip % cutout height
+ \c@twdima=\hsize
\ifnum\c@twl@c=\m@ne % openleft
- \advance\@tempdimb -\c@twrtside
+ \advance\c@twdima -\c@twrtside
\else
\ifnum\c@twl@c=\@ne % openright
- \advance\@tempdimb -\c@twlftside
+ \advance\c@twdima -\c@twlftside
\else% center
- \advance\@tempdimb - \c@twlftside
- \advance\@tempdimb - \c@twrtside
+ \advance\c@twdima - \c@twlftside
+ \advance\c@twdima - \c@twrtside
\fi
\fi
\begin{picture}(0,0)%
\put(0,0){%
\raisebox{4pt}{%
%\fbox{%
- \begin{minipage}[t][\@tempdimc][c]{\@tempdimb}
+ \begin{minipage}[t][\c@twdimb][c]{\c@twdima}%
\windowpagestuff
- \end{minipage}
+ \end{minipage}%
%}% end fbox
}% end raisebox
}% end put
\end{picture}}
\newcommand*{\windowpagestuff}{}
-
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -493,13 +497,13 @@
% \verb?\begin{cutout}?\marg{numtop}\marg{leftwidth}\marg{rightwidth}\marg{numcut} \\
% where \meta{numtop} is the number of full lines above the window,
% \meta{leftwidth} and \meta{rightwidth} are the widths of the text
-% at the sides of the window,
-% and \meta{numcut} is the number of lines to be cut (giving the height
+% at the sides of the window,
+% and \meta{numcut} is the number of lines to be cut (giving the height
% of the window).
%
% The basic method is to split the paragraph into three parts (a)
-% the top lines above the window, (b) the window lines and (c) the rest
-% (which will be below the window). \cs{parshape} is used to do the
+% the top lines above the window, (b) the window lines and (c) the rest
+% (which will be below the window). \cs{parshape} is used to do the
% splitting. The top lines are left at their natural length, each line
% crossing the window is treated as a pair of short lines, and the rest
% are left at their natural length.
@@ -527,7 +531,7 @@
\c@twwinlines=#4\relax
\c@twcalcshift \vskip-\c@twvsilg
% \end{macrocode}
-% Open the \cs{c@twrawtext} box, call the \cs{parshape} and start
+% Open the \cs{c@twrawtext} box, call the \cs{parshape} and start
% collecting the text to be windowed.
% \begin{macrocode}
\setbox\c@twrawtext=\vbox\bgroup
@@ -538,12 +542,12 @@
% the interline glue.
% \begin{macrocode}
{\egroup% end \box\c@twrawtext
- \parshape=0 % reset parshape;
+ \parshape=0 % reset parshape;
\c@twcalcilg % find ILG using current font
% \end{macrocode}
% If there are lines above the window, split them off from \cs{c@twrawtext}
% into \cs{c@twfinaltext}.
-% \begin{macrocode}
+% \begin{macrocode}
\ifnum\c@twtoplines>\z@
\setbox\c@twfinaltext=\vsplit\c@twrawtext to\c@twtoplines\baselineskip
\fi
@@ -564,17 +568,17 @@
% \begin{macrocode}
\setbox\c@twholdwin=\vsplit\c@twrawtext to\c@twtopht
% \end{macrocode}
-% Now `compose' the window side(s) text (\cs{c@twholdwin})
+% Now `compose' the window side(s) text (\cs{c@twholdwin})
% into the final set of windowed lines (\cs{c@twwindow}).
-% The process depends on whether the cutout is at the left, right, or center.
+% The process depends on whether the cutout is at the left, right, or center.
% \begin{macrocode}
\ifnum\c@twl@c=\z@% center
- \c@twcompctr{\c@twholdwin}{\c@twwindow}
+ \c@twcompctr{\c@twholdwin}{\c@twwindow}%
\else% left or right
- \c@twcomplftrt{\c@twholdwin}{\c@twwindow}
+ \c@twcomplftrt{\c@twholdwin}{\c@twwindow}%
\fi
% \end{macrocode}
-% Assemble the various boxes into the final box (\cs{c@twfinaltext})
+% Assemble the various boxes into the final box (\cs{c@twfinaltext})
% to be output.
% \begin{macrocode}
\setbox\c@twfinaltext=
@@ -585,13 +589,12 @@
% We're done, hand off the paragraph.
% \begin{macrocode}
\box\c@twfinaltext}
-
% \end{macrocode}
% \end{environment}
%
% \begin{macro}{\c@twcompctr}
% \begin{macro}{\c@twfirst}
-% \cs{c@twcompctr}\marg{linepairbox}\marg{composedbox} composes a
+% \cs{c@twcompctr}\marg{linepairbox}\marg{composedbox} composes a
% center window box \meta{linepairbox} consisting of pairs of short
% lines into a box \meta{composedbox} where the pairs have been assembled
% into single lines.
@@ -599,7 +602,7 @@
% \cs{c@twfirst} is used as a flag for indicating the first line of a cutout.
% \begin{macrocode}
\newcommand*{\c@twcompctr}[2]{%
- \def\c@twfirst{1}
+ \def\c@twfirst{1}%
\loop\advance\c@twwinlines\m@ne
% \end{macrocode}
% Get a pair of lines and remove skips.
@@ -626,9 +629,8 @@
\fi
% \end{macrocode}
% \begin{macrocode}
- \def\c@twfirst{2}
+ \def\c@twfirst{2}%
\ifnum\c@twwinlines>\z@\repeat}
-
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -641,12 +643,12 @@
\loop\advance\c@twwinlines\m@ne
% \end{macrocode}
% For an open window we simply deal with one line at a time, not
-% pairs. In other respects the code is generally similar to that for
+% pairs. In other respects the code is generally similar to that for
% \cs{c@twcompctr}.
% \begin{macrocode}
\setbox\c@twslicea=\vsplit#1 to\baselineskip
\ifnum\c@twl@c=\m@ne% open left, text at right
- \c@twprune{\c@twslicea}{\c@twrtside}
+ \c@twprune{\c@twslicea}{\c@twrtside}%
\ifnum\c@twfirst=\@ne
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\pageinwindow\hfil\box\c@twslicea}}%
@@ -654,10 +656,10 @@
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\mbox{}\hfil\box\c@twslicea}}%
\fi
- \def\c@twfirst{2}
+ \def\c@twfirst{2}%
\else
\ifnum\c@twl@c=\@ne% open right, text at left
- \c@twprune{\c@twslicea}{\c@twlftside}
+ \c@twprune{\c@twslicea}{\c@twlftside}%
\ifnum\c@twfirst=\@ne\relax
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\box\c@twslicea\pageinwindow}}%
@@ -665,11 +667,10 @@
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\box\c@twslicea}}%
\fi
- \def\c@twfirst{2}
+ \def\c@twfirst{2}%
\fi
\fi
\ifnum\c@twwinlines>\z@\repeat}
-
% \end{macrocode}
% \end{macro}
%
@@ -683,7 +684,6 @@
\newcommand*{\c@twprune}[2]{%
\unvbox#1 \setbox#1=\lastbox % \box#1 is now an \hbox
\setbox#1=\hbox to#2{\strut\unhbox#1\unskip}}
-
% \end{macrocode}
% \end{macro}
%
@@ -697,7 +697,7 @@
% the number of the top lines plus (twice) the number of window line
% plus one for the remaining lines.
% \begin{macrocode}
- \c@twcnt=\c@twwinlines
+ \c@twcnt=\c@twwinlines
\ifnum\c@twl@c=\z@
\multiply \c@twcnt by \tw@
\fi
@@ -706,7 +706,7 @@
% If there are top lines generate a \verb?0pt \hsize? for each
% \begin{macrocode}
\ifnum\c@twtoplines>\z@
- \loop\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize}
+ \loop\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize}%
\advance\c@twtoplines -1\relax
\ifnum\c@twtoplines>\z@\repeat
\fi
@@ -728,18 +728,18 @@
% \end{macrocode}
% For open left generate a \verb?\c@twlftside \c@twrtside? for each.
% \begin{macrocode}
- \expandafter{\the\c@twtoka \c@twlftside \c@twrtside}
+ \expandafter{\the\c@twtoka \c@twlftside \c@twrtside}%
\else
\ifnum\c@twl@c=\@ne % openright
% \end{macrocode}
% For open right generate a \verb?\0pt c@twlftside? for each
% \begin{macrocode}
- \expandafter{\the\c@twtoka 0pt \c@twlftside}
+ \expandafter{\the\c@twtoka 0pt \c@twlftside}%
\else %center
% \end{macrocode}
% For centered generate \verb?0pt \c@twlftside 0pt \c@twrtside? for each pair.
% \begin{macrocode}
- \expandafter{\the\c@twtoka 0pt \c@twlftside 0pt \c@twrtside}
+ \expandafter{\the\c@twtoka 0pt \c@twlftside 0pt \c@twrtside}%
\fi
\fi
\advance\c@twwinlines \m@ne
@@ -749,7 +749,6 @@
% paragraph just generate a single \verb?0pt \hsize?.
% \begin{macrocode}
\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize}}
-
% \end{macrocode}
% \end{macro}
%
@@ -767,7 +766,6 @@
\ifnum\c@twl@c=\z@\else
\c@twvsilg=0.5\c@twvsilg
\fi}
-
% \end{macrocode}
% \end{macro}
%
@@ -789,7 +787,6 @@
% Default \cs{putstuffinpic} is empty.
% \begin{macrocode}
\newcommand*{\putstuffinpic}{}
-
% \end{macrocode}
% \end{macro}
%
@@ -798,9 +795,9 @@
% A shaped cutout where the user defines the shape. \\
% \verb?\begin{shapedcutout}?\marg{numtop}\marg{numcut}\marg{shapespec} \\
% where \meta{numtop} is the number of full lines above the window,
-% \meta{numcut} is the number of lines to be cut (giving the height
+% \meta{numcut} is the number of lines to be cut (giving the height
% of the window) and
-% \meta{shapespec} is the user's specification of the shape of the
+% \meta{shapespec} is the user's specification of the shape of the
% surroundings of the cutout. This is in the form of a comma-separated
% list of either the pairs of widths of the left and right texts of a centered
% cutout or the widths of the left or right texts of an open cutout.
@@ -850,42 +847,40 @@
\fi
\setbox\c@twholdwin=\vsplit\c@twrawtext to\c@twtopht
\ifnum\c@twl@c=\z@% center
- \c@twcompoddctr{\c@twholdwin}{\c@twwindow}
- \else% open left or righyt
- \c@twcompoddlftrt{\c@twholdwin}{\c@twwindow}
+ \c@twcompoddctr{\c@twholdwin}{\c@twwindow}%
+ \else% open left or right
+ \c@twcompoddlftrt{\c@twholdwin}{\c@twwindow}%
\fi
\setbox\c@twfinaltext=
\vbox{\ifnum\c@twtoplines>\z@\unvbox\c@twfinaltext\vskip\c@twvsilg\fi
\unvbox\c@twwindow%
\vskip-\c@twvsilg\unvbox\c@twrawtext}%
\box\c@twfinaltext}
-
% \end{macrocode}
% \end{environment}
%
% \begin{macro}{\c@twmaketopoddspec}
-% Make up the easy part of the odd \cs{parshape} specification;
+% Make up the easy part of the odd \cs{parshape} specification;
% total number \cs{c@twcnt} and the toplines spec (\cs{c@twtoka}).
% \begin{macrocode}
\newcommand*{\c@twmaketopoddspec}{%
- \c@twcnt=\c@twwinlines
+ \c@twcnt=\c@twwinlines
\ifnum\c@twl@c=\z@
\multiply \c@twcnt by \tw@
\fi
\advance\c@twcnt by \c@twtoplines \advance\c@twcnt by \@ne
%% \c@twcnt is total of toplines + 2(window lines) + 1
- \c@twtoka={}
+ \c@twtoka={}%
\ifnum\c@twtoplines>\z@
- \loop\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize}
+ \loop\c@twtoka=\expandafter{\the\c@twtoka 0pt \hsize}%
\advance\c@twtoplines -1\relax
\ifnum\c@twtoplines>\z@\repeat
\fi}
-
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\c@twaddtospec}
-% Adds a `zero-indented line' to a parshape spec being assembled in
+% Adds a `zero-indented line' to a parshape spec being assembled in
% \cs{c@twtokb}.
% \begin{macrocode}
\newcommand*{\c@twaddtospec}[1]{%
@@ -894,24 +889,23 @@
% \end{macro}
% \begin{macro}{\c@twbuildoddspec}
% \begin{macro}{\c@twxpf}
-% \cs{c@twbuildoddspec}\marg{commalist} builds up the parshape spec for
+% \cs{c@twbuildoddspec}\marg{commalist} builds up the parshape spec for
% the odd cutout lines from the comma-separated list of lengths
% in \meta{commalist}.
%
% \cs{c@twxpf} is a shorthand for \cs{expandafter}
% to try and make the code shorter to read.
% \begin{macro}{\c@twlspec}
-% \cs{c@twlspec} is used as a temporary variable when iterating over
+% \cs{c@twlspec} is used as a temporary variable when iterating over
% a comma-separated list.
% \end{macro}
%
% \begin{macrocode}
\let\c@twxpf\expandafter
\newcommand*{\c@twbuildoddspec}[1]{%
- \c@twtokb={}
+ \c@twtokb={}%
\@for\c@twlspec:=#1\do{%
\c@twxpf\c@twxpf\c@twxpf\c@twaddtospec\c@twxpf{\c@twlspec}}}
-
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -919,34 +913,33 @@
% \begin{macro}{\c@twcompoddctr}
% \begin{macro}{\c@twrounds}
% Compose the lines of an odd shaped center cutout.
-%
+%
% We go through the user's shape list an item at a time but we need to
% collect pairs of items. The \cs{c@twrounds} variable is for managing the
% pairing. \cs{c@twfirst} is a flag for positioning the \cs{picinwindow} in
% the first line of the cutout.
% \begin{macrocode}
\newcommand*{\c@twcompoddctr}[2]{%
- \def\c@twrounds{1}
- \def\c@twfirst{1}
+ \def\c@twrounds{1}%
+ \def\c@twfirst{1}%
\@for\c@twlspec:=\c@twb\do{%
\ifnum\c@twrounds=1
\setbox\c@twslicea=\vsplit#1 to\baselineskip % first of pair
\c@twprune{\c@twslicea}{\c@twlspec}%
- \def\c@twrounds{2}
+ \def\c@twrounds{2}%
\else
\setbox\c@twsliceb=\vsplit#1 to\baselineskip % second of pair
\c@twprune{\c@twsliceb}{\c@twlspec}%
\ifnum\c@twfirst=1
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\box\c@twslicea\hfil\picinwindow\hfil\box\c@twsliceb}}%
- \def\c@twfirst{2}
+ \def\c@twfirst{2}%
\else
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\box\c@twslicea\hfil\box\c@twsliceb}}%
\fi
- \def\c@twrounds{1}
+ \def\c@twrounds{1}%
\fi}}
-
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -955,7 +948,7 @@
% Compose the open (left or right) lines of an odd shaped cutout.
% \begin{macrocode}
\newcommand*{\c@twcompoddlftrt}[2]{%
- \def\c@twfirst{1}
+ \def\c@twfirst{1}%
\@for\c@twlspec:=\c@twb\do{%
\setbox\c@twslicea=\vsplit#1 to\baselineskip % get a line
\c@twprune{\c@twslicea}{\c@twlspec}%
@@ -963,7 +956,7 @@
\ifnum\c@twfirst=1
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\mbox{}\hfil\picinwindow\hfil\box\c@twslicea}}%
- \def\c@twfirst{2}
+ \def\c@twfirst{2}%
\else
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\mbox{}\hfil\box\c@twslicea}}%
@@ -973,14 +966,13 @@
\ifnum\c@twfirst=1
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\box\c@twslicea\hfil\picinwindow\hfil}}%
- \def\c@twfirst{2}
+ \def\c@twfirst{2}%
\else
\setbox#2=\vbox{\unvbox#2\hbox
to\hsize{\box\c@twslicea\hfil}}%
\fi
\fi
\fi}}
-
% \end{macrocode}
% \end{macro}
%
@@ -1000,20 +992,3 @@
%
\endinput
-%% \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
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-
-
diff --git a/macros/latex/contrib/cutwin/cutwin.ins b/macros/latex/contrib/cutwin/cutwin.ins
index e4cd30f2b8..b534e77db8 100644
--- a/macros/latex/contrib/cutwin/cutwin.ins
+++ b/macros/latex/contrib/cutwin/cutwin.ins
@@ -1,8 +1,11 @@
%% cutwin.ins
-%% Author: Peter Wilson, Herries Press (herries dot press at earthlink dot net)
+%% Author: Peter Wilson, Herries Press
%% and Alan Hoenig
%% Copyright 2010 Peter R. Wilson
%%
+%% Current Maintainer David Carlisle
+%% Copyright 2021 Peter R. Wilson, David Carlisle
+%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 1.3 of this license or (at your option) any
@@ -12,7 +15,7 @@
%% and version 1.3 or later is part of all distributions of
%% LaTeX version 2003/06/01 or later.
%%
-%% This work has the LPPL maintenance status "author-maintained".
+%% This work has the LPPL maintenance status "maintained".
%%
%% This work consists of the files listed in the README file.
%%
@@ -34,6 +37,9 @@
and Alan Hoenig
Copyright 2010 Peter R. Wilson
+ Current Maintainer David Carlisle
+ Copyright 2021 Peter R. Wilson, David Carlisle
+
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
version 1.3 of this license or (at your option) any
@@ -43,7 +49,7 @@
and version 1.3 or later is part of all distributions of
LaTeX version 2003/06/01 or later.
- This work has the LPPL maintenance status "author-maintained".
+ This work has the LPPL maintenance status "maintained".
This work consists of the files listed in the README file.
-----------------------------------------------------------------
diff --git a/macros/latex/contrib/cutwin/cutwin.pdf b/macros/latex/contrib/cutwin/cutwin.pdf
index c4f3de9cb9..fad6fe41da 100644
--- a/macros/latex/contrib/cutwin/cutwin.pdf
+++ b/macros/latex/contrib/cutwin/cutwin.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index fb8203e55f..659bc9e1e8 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/10/25}{1.40H}
+\ProvidesExplClass{easybook}{2021/10/30}{1.40I}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -325,7 +325,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/10/25}{1.40H}
+\ProvidesExplPackage{easybase}{2021/10/30}{1.40I}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -2302,49 +2302,6 @@
{ color } { theme }
}
{ \eb_color_assign_cmd_set:nn #1 }
-
-\bool_set_false:N \l__eb_toc_number_color_bool
-\ctex_define:nn { refset }
- {
- linktype .choice:,
- linktype .value_required:n = true,
- linktype/edge .code:n =
- { \AtBeginDocument[hyperref]{\tl_set:Nn \@pdfborder { 0~0~1 }} },
- linktype/none .code:n =
- { \AtBeginDocument[hyperref]{\tl_set:Nn \@pdfborder { 0~0~0 }} },
- linktype/colors .code:n =
- {
- \bool_set_true:N \l__eb_toc_number_color_bool
- \colorlet{ctex@toc@number}{ctex@link}
- \eb_put_hyperref:n { colorlinks }
- },
- linktype/various .meta:n = linktype/colors,
- linktype .initial:n = edge,
-
- linktoc .choice:,
- linktoc/unknown .code:n =
- {
- \eb_put_hyperref:n { linktoc = #1 }
- \eb_clist_map_inline:nn { page,none }
- {
- \tl_if_eq:NnT \l_keys_value_tl {##1}
- {
- \colorlet{ctex@toc@number}{black}
- \seq_map_break:
- }
- }
- },
- linktoc .default:n = all,
- linktoc .initial:n = all,
- unknown .code:n =
- {
- \eb_put_hyperref:x
- {
- \l_keys_key_str
- \tl_if_empty:NF \l_keys_value_tl { = {#1} }
- }
- }
- }
\ctex_define:nx { refset }
{
linkcolor .choice:,
@@ -2378,6 +2335,58 @@
{ \eb_define_theme_color:n { \exp_not:n {#1} } }
}
+\bool_set_false:N \l__eb_toc_number_color_bool
+\cs_new_protected:Npn \eb_link_border_set:n #1
+ {
+ \AtBeginDocument
+ {
+ \def\@pdfborder{#1}
+ \def\Hy@colorlink ##1 {\begingroup}
+ \def\Hy@endcolorlink{\endgroup}
+ }
+ }
+\cs_new_protected:Npn \eb_link_colors_set:
+ {
+ \bool_set_true:N \l__eb_toc_number_color_bool
+ \colorlet{ctex@toc@number}{ctex@link}
+ \eb_put_hyperref:n { colorlinks }
+ }
+\cs_new_protected:Npn \eb_link_toc_put:n #1
+ {
+ \eb_put_hyperref:n { linktoc = #1 }
+ \eb_clist_map_inline:nn { page,none }
+ {
+ \tl_if_eq:NnT \l_keys_value_tl {##1}
+ {
+ \colorlet{ctex@toc@number}{black}
+ \seq_map_break:
+ }
+ }
+ }
+\ctex_define:nn { refset }
+ {
+ linktype .choice:,
+ linktype .value_required:n = true,
+ linktype/edge .code:n = \eb_link_border_set:n { 0~0~1 },
+ linktype/none .code:n = \eb_link_border_set:n { 0~0~0 },
+ linktype/colors .code:n = \eb_link_colors_set:,
+ linktype/various .meta:n = linktype/colors,
+ linktype .initial:n = edge,
+
+ linktoc .choice:,
+ linktoc/unknown .code:n = \eb_link_toc_put:n {#1},
+ linktoc .default:n = all,
+ linktoc .initial:n = all,
+ unknown .code:n =
+ {
+ \eb_put_hyperref:x
+ {
+ \l_keys_key_str
+ \tl_if_empty:NF \l_keys_value_tl { = {#1} }
+ }
+ }
+ }
+
\cs_new:Npn \eb_allow_url_break:
{
\eb_appto_cmd:Nn \UrlBreaks
@@ -2445,7 +2454,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/10/25}{1.40H}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/10/30}{1.40I}
{Customization of tcolorbox for easybook}
\tl_gset:Nn \eb@tc@line@skip { 0.5\baselineskip }
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index c0fe946ad0..43e2e4af1f 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index a97dfc7c4b..abea3e943a 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -20,8 +20,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK 使用手册,
- version = v1.40H,
- date = 2021/10/28,
+ version = v1.40I,
+ date = 2021/10/30,
authors = 瞿毅,
info = 排版简体中文学位论文和书籍,
email = q1jx@foxmail.com,
@@ -49,8 +49,6 @@
\setcounter{tocdepth}{2}
\ExplSyntaxOn\makeatletter
-\NewDocumentCommand{\passto}{smm}
- {\IfBooleanF{#1}{\color{Blue}}#3\ifblank{#2}{}{\ttfamily[#2]}}
\newcommand{\splitmeta}[2][\code{,}]
{
\clist_clear:N \l_tmpa_clist
@@ -77,9 +75,19 @@
\newsplitarg{\splitmarg}{\{}{\}}
\newcommand{\spemmeta}{\splitmeta[\code{|}]}
\newsplitarg[\spemmeta]{\spemcoarg}{[}{]}
-\renewcommand{\cnltx@package@abstract@width}{0.85\linewidth}
-\newcommand{\noitemsep}{\setlength{\itemsep}{0ex}}
+\NewDocumentCommand{\passto}{smm}
+ {\IfBooleanF{#1}{\color{Blue}}#3\ifblank{#2}{}{\ttfamily[#2]}}
+\newcommand{\insertblr}[2]
+ {
+ \begin{center}
+ \begin{tblr}{#1}
+ #2
+ \end{tblr}
+ \end{center}
+ }
\newcommand{\black}[1]{\textcolor{black}{#1}}
+\newcommand{\noitemsep}{\setlength{\itemsep}{0ex}}
+\renewcommand{\cnltx@package@abstract@width}{0.85\linewidth}
\renewcommand{\cmltx@list@setup}
{
\setlength{\leftmargin}{0em}
@@ -177,21 +185,19 @@
\subsection{依赖宏包}
以下为 \pkg*{easybase} 直接调用的关键宏包清单。灰色的宏包表示并未调用它们,但做了一些预配置,可在导言区手动载入以实现相关的功能。
-\begin{center}
- \begin{tblr}
+\insertblr
{
colspec = @{}*{5}{c}@{},
hline{1,6} = {1pt,Blue},
cells = {cmd = \pkg*},
cell{5}{2-5} = {font = \color{gray}}
- }
+ }{
ctex & spbmark & ulem & enumitem & etoolbox \\
siunitx & pifont & amsthm & thmtools & marginnote \\
pdfpages & multicol & fancyhdr & titletoc & tabularray \\
setspace & listings & chemformula & geometry & caption \\
hyperref & bicaption & imakeidx & mathtools & tcolorbox
- \end{tblr}
-\end{center}
+ }
\section{文档类选项}
\label{sec:document class options}
@@ -231,15 +237,14 @@
\begin{options}
\keychoice{font}{noto,garamond,times,times*,libertine,palatino,auto}\Default{auto}
预置的英文字体相关配置方案如下表所示,这些字体已经包含在了 \TeX Live 发行版中,所以通常不需要再专门安装。如果您想使用其他英文字体,可以使用 \pkg*{fontspec} 宏包的相关命令进行设置。
- \begin{center}
- \begin{tblr}
+ \insertblr
{
colspec = @{}*{4}{c}@{},
hline{1,8} = {1pt,Blue},
hline{2} = {0.6pt,Blue},
row{1} = {font = \sffamily},
column{1} = {cmd = \code}
- }
+ }{
& 正文字体 & 无衬线字体 & 等宽字体 \\
noto & Noto Serif & Noto Sans & Noto Sans Mono \\
garamond & EB Garamond & Libertinus Sans & LM Mono \\
@@ -247,8 +252,7 @@
libertine & Libertinus Serif & Libertinus Sans & LM Mono \\
times & XITS & TG Heros & TG Cursor \\
times* & Times New Roman & Arial & Courier New
- \end{tblr}
- \end{center}
+ }
\end{options}
\subsection{数学字体}
@@ -357,21 +361,19 @@
\begin{commands}
\command*{ctexset}[\marg{键值列表}]
\cls*{easybook} 扩展了 C\TeX 宏集 \hologo{LaTeX3} 风格键值的通用控制命令 \cs*{ctexset},接口选项同样可用它设置, 原有的 \meta{键值列表} 仍然可用。本文档类目前有 9 个模块用于实现常规的排版功能,如下表所示,它们既是统一接口 \cs*{ctexset} 的路径,也是相关模块的接口命令名:
- \begin{center}
- \begin{tblr}
+ \insertblr
{
colspec = @{}*{5}{c}@{},
hline{1,5} = {1pt,Blue},
hline{3} = {0.6pt,Blue},
row{1,3} = {font = \sffamily,belowsep = 0pt},
row{2,4} = {cmd = \module*}
- }
+ }{
\hyperref[subsec:style]{风格} & \hyperref[subsec:other font]{其它字体} & \hyperref[subsec:spacing]{行距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
style & subfont & spread & refset & bibset \\
\hyperref[subsec:theorem of style]{定理样式} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog style]{目录样式} & \\
thmset & geoset & hdrset & tocset &
- \end{tblr}
- \end{center}
+ }
例如使用下面小节 \ref{subsec:style} 介绍的风格 \module*{style} 模块,路径名与所属下级选项之间可以 \code{/} 或 \code{=} 号分开,斜线 \code{/} 后不能有空格或者换行:
\begin{ctexexam}
@@ -907,19 +909,17 @@
\environment{remark}\default{}
\environment{proof}
这些是预置的定理环境,可使用选项 \option{thmframe} 为它们添加盒子边框,其中注与证明环境不编号,证明末尾会自动添加证明结束符,声明新的定理环境或更改定理盒子样式见小节 \ref{subsec:theorem of style}。环境名与之对应的定理名如下:
- \begin{center}
- \begin{tblr}
+ \insertblr
{
colspec = @{}*{8}{c}@{},
hline{1,3} = {1pt,Blue},
hline{2} = {0.6pt,Blue},
row{1} = {font = \sffamily},
row{2} = {cmd = \env}
- }
+ }{
定理 & 定义 & 引理 & 推论& 性质 & 例 & 注 & 证明 \\
theorem & definition & lemma & corollary & proposition & example & remark & proof
- \end{tblr}
- \end{center}
+ }
\end{environments}
\subsection{悬挂缩进}
diff --git a/macros/latex/contrib/mathalpha/README b/macros/latex/contrib/mathalpha/README
index 229b223094..3fc8cff092 100644
--- a/macros/latex/contrib/mathalpha/README
+++ b/macros/latex/contrib/mathalpha/README
@@ -1,7 +1,7 @@
______________________________________
The MATHALPHA (*AKA MATHALFA) package
-As of version 1.12, the name of the package mathalfa was changed to mathalpha. (When I made the first version over 10 years ago, 8.3 filenames were still preferred iny a few older systems, leasing to what might appear as an unfortunate error in English spelling.) This should make no difference in its usage---though the name is changed, it works the same under both names. On CTAN, though the package will be set up as mathalpha, an alias will find it under the name mathalfa. The documentation name has been changed to mathalpha-doc.{tex,pdf} so some changes in texdoc data and the like will be necessary.
+As of version 1.12, the name of the package mathalfa was changed to mathalpha. (When I made the first version over 10 years ago, 8.3 filenames were still preferred in a few older systems, leading to what might appear as an unfortunate error in English spelling.) This should make no difference in its usage---though the name is changed, it works the same under both names. On CTAN, though the package will be set up as mathalpha, an alias will find it under the name mathalfa. The documentation name has been changed to mathalpha-doc.{tex,pdf} so some changes in texdoc data and the like will be necessary.
This package provides a standard means of setting math alphabets
associated with the macros \mathcal, \mathbb, \mathfrak and \mathscr
@@ -11,6 +11,14 @@ It mostly bypasses the usual fd and sty files used to load these
alphabets in order to allow each to be scaled independently and
without silently quantizing the sizes.
+Current version: 1.14 2021-10-29
+
+Version 1.14 marks a rather major revision, incorporating a number of suggestions from Frank Mittelbach.
+(a) A number of alphabets have been added, including bboldx (an extension of bbold Blackboard Bold) and several from the STIX and STIX2 fonts.
+(b) Most of the original mathalpha internal worked by setting up the alphabets as Math Alphabets rather than as Symbol Fonts, thus limiting the coverage to the Roman alphabet and the digits, but being simpler and more "sixteen math families" friendly. The current mathalpha adds an option to select which setup to use, but this of course is not possible for a particular font unless the support files have been set up appropriately. This is worth doing only for fonts that are sufficiently rich in characters lying outside the range of ordinary alphanumerics---dotlessi, dotlessj, Greek letters and other math symbols, for example. This is a work that will remain in progress for some time.
+(c) There are new options to choose alphabets only from the bold versions, potentially freeing up a math family.
+(d) I changed the name of the macro of bold version of the math alphabets to be close to those used in unicode math, changing from \mathbcal to \mathbfcal, \mathbscr to \mathbfscrb, \mathbfrak to \mathbffrak and\mathbbb to \mathbfbb. In most cases, I \let the old version to the new ones in order to not disrupt old work.
+
Version 1.13 changes the behavior under the option scr, first letting \mathscr to \relax, in case it was previously defined. This corrects a misbehavior under newtxmath 1.6 and newpxmath 1.4. (*)Thanks Evan Couch.)
Version 1.12 Name of package changed from mathalfa to mathalpha.
diff --git a/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf b/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf
index f7639e1ad6..796fca0016 100644
--- a/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf
+++ b/macros/latex/contrib/mathalpha/doc/mathalpha-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex b/macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex
index de4de05441..03c3793c37 100644
--- a/macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex
+++ b/macros/latex/contrib/mathalpha/doc/mathalpha-doc.tex
@@ -1,39 +1,53 @@
% !TEX TS-program = pdflatexmk
-\documentclass[11pt]{amsart}
-%\pdfmapfile{+TXUprCal.map}
+\documentclass[11pt]{article}
+%\pdfmapfile{+bboldx.map}
%\pdfmapfile{+BOONDOXUprScr.map}
\usepackage[margin=1in]{geometry}
\usepackage[parfill]{parskip}\usepackage{url}
\usepackage{graphicx}
- \DeclareFontEncoding{LMR}{}{}
+\DeclareFontEncoding{LS1}{}{}
+\DeclareFontSubstitution{LS1}{stix2}{m}{n}
+\DeclareFontEncoding{LMR}{}{}
\DeclareFontSubstitution{LMR}{hlcm}{m}{n}
\DeclareFontFamily{U}{futm}{}
\DeclareFontShape{U}{futm}{m}{n}{
<-> fourier-bb
}{}
\DeclareSymbolFont{Ufutm}{U}{futm}{m}{n}
-\usepackage[T1,OT1]{fontenc}
-\usepackage{amssymb}
+\font\stixtwobb=stix2-mathbb at 11pt
+\font\stixtwobbi=stix2-mathbbit at 11pt
+\font\stixbb=stix-mathbb at 11pt
+\font\stixbbb=stix-mathbb-bold at 11pt
+\font\stixbbob=stix-mathbbit at 11pt
+\font\stixbbbob=stix-mathbbit-bold at 11pt
+
+\usepackage{longtable}
+\usepackage{trace,fonttable}
+\usepackage{ETbb}
+\usepackage[T1]{fontenc}
+\usepackage{amsmath,amssymb}
+\usepackage[bb=stixtwo]{mathalpha}
\usepackage{hyperref}
-\title{The \textsf{mathalpha, AKA mathalfa} package}
+\title{The \textsf{mathalpha,} \textsc{aka} \textsf{mathalfa} package}
\author{Michael Sharpe}
-\email{msharpe at ucsd dot edu}
+%\email{msharpe at ucsd dot edu}
\date{}
-
+\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\begin{document}
\maketitle
%\section{Introduction}
+
The math alphabets normally addressed via the macros \verb|\mathcal|, \verb|\mathbb|, \verb|\mathfrak| and \verb|\mathscr| are in a number of cases not well-adapted to the \LaTeX\ math font structure. Some suffer from one or more of the following defects:
\begin{itemize}
\item
-font sizes are locked into a sequence that was appropriate for \textsf{metafont}--generated rather than scalable fonts;
+font sizes are locked into a size sequence that was appropriate for \textsf{metafont}--generated rather than scalable fonts;
\item there is no option in the loading package to enable scaling;
\item the font metrics are designed for text rather than math mode, leading to awkward spacing, subscript placement and accent placement when used for the latter;
\item the means of selecting a set of math alphabets varies from package to package.
\end{itemize}
The goal of this package is to provide remedies for the above, where possible. This means, in effect, providing virtual fonts with my personal effort at correcting the metric issues, rewriting the font-loading macros usually found in a \textsf{.sty} and/or \textsf{.fd} files to admit a scale factor in all cases, and providing a \textsf{.sty} file which is extensible and from which any such math alphabet may be specified using a standard recipe.
-For example, the following fonts are potentially suitable as targets for \verb|\mathcal| or \verb|\mathscr| and are either included as part of \TeX Live 2011, as free downloads from CTAN or other free sources, or from commercial sites.
+For example, the following fonts are potentially suitable as targets for \verb|\mathcal| or \verb|\mathscr| and are either included as part of \TeX Live, as free downloads from CTAN or other free sources, or from commercial sites.
\begin{verbatim}
cm % Computer Modern Math Italic (cmsy)
euler % euscript
@@ -47,16 +61,20 @@ mt % Mathtime (commercial)
mtc % Mathtime Curly (commercial)
zapfc % Adobe Zapf Chancery (URW clone is part of TeXLive)
esstix % ESSTIX-thirteen
-boondox % calligraphic alphabet derived from stix fonts
+boondox % calligraphic alphabet derived from STIX1 fonts
boondoxo % based on boondox, but less oblique
dutchcal % regular and bold weights derived from ESSTIX13
pxtx % from pxfonts and txfonts
bickham % from commercial Bickham Script
-bickhams
+bickhams % using semibold for Latex regular
stix % from STIX
txupr % upright calligraphic based on txfonts
boondoxupr % upright calligraphic based on STIX script
kp % regular and bold weights from kpfonts---script only
+stixplain % STIX1 calligraphic
+stixfancy % STIX1 script
+stixtwoplain % STIX2 calligraphic
+stixtwofancy % STIX2 script
\end{verbatim}
In all that follows, you may use the package names \textsf{mathalpha} and \textsf{mathalfa} interchangeably. Once you have installed the support packages for these fonts and the \textsf{mathalpha} package, you may select a particular calligraphic font for \verb|\mathcal| using something like
\begin{verbatim}
@@ -75,46 +93,77 @@ As initially configured, \textsf{mathalpha} makes available the following option
\begin{description}
\item[cal=] Select the calligraphic alphabet from the list above.
\item[calscaled=] Select a scale factor for \textsf{cal}.
-\item[scr=] Select the script alphabet from \textsf{rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo. dutchcal, pxtx, bickham, bickhams,txupr,boondoxupr,kp}.
+\item[bfcal] Force \verb|\mathcal| to point to the bold version.
+\item[calsymbols] Force the \texttt{cal} alphabet to load as a {\tt symbol} font.
+\item[scr=] Select the script alphabet from the same list.
\item[scrscaled=] Select a scale factor for \textsf{scr}.
-\item[frak=] Select the fraktur alphabet from \textsf{euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx}.
+\item[bfscr] Force \verb|\mathscr| to point to the bold version.
+\item[scrsymbols] Force the \texttt{scr} alphabet to load as a {\tt symbol} font.
+\item[frak=] Select the fraktur alphabet from \textsf{euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx, stixtwo}.
\item[frakscaled=] Select a scale factor for \textsf{frak}.
-\item[bb=] Select the Blackboard bold alphabet from \textsf{ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof}.
+\item[bffrak] Force \verb|\mathfrak| to point to the bold version.
+\item[fraksymbols] Force the \texttt{frak} alphabet to load as a {\tt symbol} font.
+\item[bb=] Select the Blackboard bold alphabet from \textsf{ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof, libus, dsserif, bboldxLight, bboldx, dsfontserif, dsfontsans, stixtwo, stix}.
\item[bbscaled=] Select a scale factor for \textsf{bb}.
+\item[bfbb] Force \verb|\mathbb| to point to the bold version.
+\item[bbsymbols] Force the \texttt{bb} alphabet to load as a {\tt symbol} font.
+\item[oldbold] Provide aliases to the new names of the bold versions. For example, prior versions of {\tt mathalpha} used the names \verb|\mathbbb|, \verb|\mathbcal|, \verb|\mathbscr| and \verb|\mathbfrak|, while version 1.14 and higher will use names \verb|\mathbfbb|, \verb|\mathbfcal|, \verb|\mathbfscr| and \verb|\mathbffrak|, in line with unicode math usage. This option will make the old names available as aliases to the new names.
\item[scaled=] Select a scale for all alphabets chosen within mathalpha.
\item[showoptions] This option throws an error and shows a list of all installed option values for \textsf{bb}, \textsf{cal}, \textsf{frak} and \textsf{scr} on the console.
\end{description}
\textsc{Notes}
\begin{itemize}
-\item If bold versions exist, they are loaded and may be used with the macros \verb|\mathbcal|, \verb|\mathbbb|, \verb|\mathbfrak| and \verb|\mathbscr|.
-\item If you prefer that the bold weight be the default target from \verb|\mathcal|, enter
-\begin{verbatim}
-\let\mathcal\mathbcal
-\end{verbatim}
-after loading the {\tt mathalpha} package. (You may find this a useful option if you specified {\tt cal=dutchcal}, as that font is quite light.)
+\item If bold versions exist, they are loaded and may be used with the macros \verb|\mathbfcal|, \verb|\mathbfbb|, \verb|\mathbffrak| and \verb|\mathbfscr|. (These macro names changed in 2021.)
+\item If you prefer that the bold weight be the default target from \verb|\mathcal| etc, make use of the new (as of 2021) options {\tt bfcal} etc. If you prefer to use the older names like \verb|\mathbcal|, include the {\tt mathalpha} option {\tt oldbold}.
\item
Use of \textsf{zapfc} as a value for either \textsf{cal} or \textsf{scr} requires that you install the \textsf{urwchancal} package from\\
\url{http://mirror.tug.org/fonts/urwchancal}.\\
- (It is distributed as part of \TeX\ Live as of March 2011.)
+ (It is distributed as part of \TeX\ Live and MiKTeX.)
\item Use of the \textsf{rsfso} as a value for either \textsf{cal} or \textsf{scr} requires that you install the \textsf{rsfso} package from\\
\url{http://mirror.tug.org/fonts/rsfso}.\\
- (It is distributed as part of \TeX\ Live as of March 2011.)
+ (It is distributed as part of \TeX\ Live and MiKTeX.)
\item Use of \textsf{mma} as a value requires that you have access to the older mathematic fonts from Mathematica versions near 3.\\
The support files developed by Jens-Peer Kuska may be downloaded from \textsc{ctan}. (Search for {\tt Mathematica}.)\\
In particular, {\tt wolfram.map} must be enabled. Virtual fonts with metrics that are suitable for math mode are also required.
\item Use of \textsf{mathpi} requires that you purchase and install the Adobe Mathematical Pi fonts (\#2 and \#6) or clones thereof.%If you choose to buy them, you may download support files, including virtual fonts with tuned metrics, from \\
%\url{http://public.me.com/mjsharpe/mathpiTDS.zip}.
-\item The {\tt pxtx} package consists of virtual fonts drawn from the math alphabets in the {\tt pxfonts} and {\tt txfonts} packages, with modified metrics. The calligraphic fonts are identical to those in the Mathematica package, but the others seem distinct. The {\tt pxtx} package is part of \TeX\ Live.
+\item The {\tt pxtx} package consists of virtual fonts drawn from the math alphabets in the {\tt pxfonts} and {\tt txfonts} packages, with modified metrics. The calligraphic fonts are identical to those in the Mathematica package, but the others seem distinct. The {\tt pxtx} package is part of \TeX\ Live and MiKTeX.
\item The Adobe Bickham Script Pro font collection in OpenType format is rather expensive but quite elegant. Its upper-case glyphs are well-suited for adaptation as a math calligraphic font once the slant is reduced. The \textsf{bickham} package makes available virtual fonts and \LaTeX\ support files for these fonts, and can be used as the target for \verb|\mathcal| and \verb|\mathscr| as well as their bold variants. You may use the target \textsf{bickham} to load regular and bold weight of BickhamScriptPro. The target \textsf{bickhams} instead loads \textsf{bickham-s} (the semibold weight) in place of \textsf{bickham-r}, the regular weight. Note that this requires that you install the newest version of the \textsf{bickham} package, which provides support for the semibold weight.
\item The ESSTIX collection is a creation of Elsevier Publishing in 2000, though never officially released by them. Before development was complete, the collection was donated to the STIX math font project, to which it seems to have been a precursor. Distribution has since been deprecated, but in my opinion, math alphabet fonts, especially math script fonts, are so rare that none should be allowed to become extinct. The BlackBoard Bold ESSTIX font (\textsf{ESSTIX14}) is close to both the mathpi and Fourier Blackboard Bold fonts, and the fraktur ESSTIX font (\textsf{ESSTIX15}) is similar to mathpi fraktur. However, the ESSTIX script font (\textsf{ESSTIX13}) seems to be a distinct and interesting face. The PostScript versions of these fonts have been hard to find, but the TrueType versions may be found embedded within the \textsf{Amaya} project, available at\\
\url{http://www.w3.org/Amaya/}.\\
- The ESSTIX PostScript fonts, virtual math fonts and \LaTeX\ support files may be downloaded now from\\
-\url{http://mirror.ctan.org/fonts/esstix}.\\
-This provides virtual fonts with tfm names \textsf{esstixcal}, \textsf{esstixbb} and \textsf{esstixfrak}. As of May 2011, the \textsf{esstix} package is distributed as a part of \TeX\ Live.
-\item The STIX fonts are currently (May 2011) distributed only in OpenType format. The PostScript BOONDOX fonts (in the USA, \emph{the boondocks} and \emph{the sticks} are essentially synonymous) containing their calligraphic, fraktur and double-struck (blackboard bold) alphabets in regular and bold weights were manufactured from STIX {\tt.otf} fonts using \textsf{FontForge}. Virtual fonts were then created using \textsf{fontinst} to customize the metrics for positioning accents and subscripts. A TDS package with the fonts and support files may be downloaded from\\
-\url{http://mirror.ctan.org/fonts/boondox}.\\
-\end{itemize}
+ The ESSTIX PostScript fonts, virtual math fonts and \LaTeX\ support files are distributed as part of \TeX\ Live and MiKTeX.\\
+This provides virtual fonts with tfm names \textsf{esstixcal}, \textsf{esstixbb} and \textsf{esstixfrak}.
+\item The STIX fonts are currently (2021) distributed only in OpenType and PostScript ({\tt pfb}) formats. The PostScript BOONDOX fonts (in the USA, \emph{the boondocks} and \emph{the sticks} are essentially synonymous) containing their calligraphic, fraktur and double-struck (blackboard bold) alphabets in regular and bold weights were manufactured from STIX {\tt.otf} fonts using \textsf{FontForge}. Virtual fonts were then created using \textsf{fontinst} to customize the metrics for positioning accents and subscripts.
+\item STIX has now become a legacy package and is being replaced by STIX2, which has many similarities to STIX but also many dramatic differences. The calligraphic alphabets are quite different, the fraktur and blackboard bold not so much.
+\item TeX permits only 16 different math families, and a typical math font setup can easily lead to 7 or 8 before you even begin. The {\tt bm} package will add 4 additional bold families even if you don't make any use of them. It's easy to see that adding new math alphabets can lead to problems with the math families count, and the problems can be compounded if the alphabets were not set up with these issues in mind.
+
+There are two basic ways to construct a math alphabet. In both cases, one must construct the information normally provided in the {\.fd} file, but which may be set out just as well in the {\tt sty} file. This information links the font name and attributes (bold, medium, etc) to the name of the corresponding {\tt tfm} files.\\
+\textbf{Case 1:} You wish to be able to access at most the upper and lower case letters and the numeral 1 as mathematical symbols. The appropriate command is \verb|\DeclareMathAlphabet|, which does not add to the math families count if not used in the document.\\
+\textbf{Case 2:} You wish to be able to access other slots to create mathematic symbols. These requires that you use the less efficient \verb|\DeclareSymbolFont|, which does add to the math families count even if not used in the document.
+In this package I have tried to maximize the use of \verb|\DeclareMathAlphabet|.
+
+The other significant hazard in using external math alphabets is that, with a normal construction, if you use only the bold version of a math alphabet, you will use up two math family slots---one for normal weight and one for bold. It is therefore advantageous to provide a means of loading only the bold weight and referencing it as if it were the normal weight. This is possible in versions 1.14 and higher, using the options described above.
+\item In view of the information in the preceding above, you may wish to consider, given a choice, of how a given alphabet is constructed. If using \textbf{Case 1}, the available characters that are not Roman alphabetic or the numeral 1 can be accessed only as text characters, and that may be acceptable as you can insert text in a math environment using a simple \verb|\mbox{}| if you are in basic {\tt displaystyle} or {\tt textstyle}, and with the more capable \verb|\text{}| macro if you are using {\tt amsmath}. Here is a small example. Were you to load this package with the line
+\begin{verbatim}
+\usepackage[bb=stixtwo]{mathalpha}
+\end{verbatim}
+the package would start to read the lines
+\begin{verbatim}
+\DeclareFontFamily{U}{stixtwobb}{\skewchar\font=45}%
+\DeclareFontShape{U}{stixtwobb}{m}{n}{<->\mathalfa@bbscaled stix2-mathbb}{}
+\end{verbatim}
+which define a font family {\tt stixtwobb} with encoding {\tt U} (undefined) whose only attribute entry is \verb|{m}{n}| (regular weight, upright shape) which, when invoked, loads its glyph metric data from {\tt stix2-mathbb.tfm} scaled by the factor \verb|\mathalfa@bbscaled| that was set by the option {\tt bbscaled}. Following that, the code test whether the option {\tt bbsymbols} was given, and, since not, it proceeds to use \verb|\DeclareMathAlphabet|. It then makes definitions of the symbols outside the range, like
+\begin{verbatim}
+\def\txtbbGamma{{\usefont{U}{stixtwobb}{m}{n}\char0 }}
+\def\txtbbdotlessi{{\usefont{U}{stixtwobb}{m}{n}\char123 }}
+\def\txtbbzero{{\usefont{U}{stixtwobb}{m}{n}0}}
+\def\txtbbtwo{{\usefont{U}{stixtwobb}{m}{n}2}}
+\end{verbatim}
+Then, assuming {\tt amsmath} is loaded,\\
+\verb|$\text{\txtbbGamma}^2+\text{\txtbbtwo}=\text{\txtbbdotlessi}$|\\
+renders as $\text{\txtbbGamma}^2+\text{\txtbbtwo}=\text{\txtbbdotlessi}$. Obviously, some manual corrections to the spacing may be needed.
+ \end{itemize}
The following are my opinions. No objective judgment should be inferred.
\begin{itemize}
@@ -138,7 +187,7 @@ The CapHeight of a font is supposed to represent the height of capital letters i
For the purpose of making scale factors to mediate between these disparate fonts, the following chart may be helpful.
-\begin{tabular}{l r}
+\begin{longtable}{l r}
Computer Modern Roman (cmr10)&683\\
Zapf Chancery (pzcmi/uzcmi)&595\\
Euler fraktur(eufm10)&690\\
@@ -159,6 +208,7 @@ tx double-struck (txr-ds)&684\\
px double-struck (pxr-ds)&693\\
px double-struck-bold (pxb-ds)&698\\
bickham calligraphic (bickham-r)&683\\
+bickham calligraphic (bickham-s)&683\\
Lucida calligraphic (lbms)&723\\
Lucida Blackboard bold (lbma)&723\\
Lucida fraktur (lbl)&741\\
@@ -177,10 +227,13 @@ ESSTIX fraktur (ESSTIX15)&700\\
BOONDOX Calligraphic &687\\
BOONDOX Blackboard bold &662\\
BOONDOX fraktur &695
-\end{tabular}
+\end{longtable}
Here are some samples from the fonts mentioned above:
\def\alf{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}
+\def\dtlsbb{\imathbb \jmathbb}
+\def\dtlsfr{\imathfrak \jmathfrak}
+\def\dtlsscr{\imathscr \jmathscr}
\newdimen\pbw \setlength{\pbw}{\textwidth}
\addtolength{\pbw}{-20pt}
\newdimen\cw \setlength{\cw}{\pbw}\divide\cw 26\relax
@@ -211,44 +264,85 @@ Here are some samples from the fonts mentioned above:
\hbox to \cw{\hfil X\hfil}%
\hbox to \cw{\hfil Y\hfil}%
\hbox to \cw{\hfil Z\hfil}}}}}
+\newcommand{\alx}{\hbox to\columnwidth{\hfil\parbox{\the\pbw}{%
+\hbox{\hbox to \cw{\hfil a\hfil}%
+\hbox to \cw{\hfil b\hfil}%
+\hbox to \cw{\hfil c\hfil}%
+\hbox to \cw{\hfil d\hfil}%
+\hbox to \cw{\hfil e\hfil}%
+\hbox to \cw{\hfil f\hfil}%
+\hbox to \cw{\hfil g\hfil}%
+\hbox to \cw{\hfil h\hfil}%
+\hbox to \cw{\hfil i\hfil}%
+\hbox to \cw{\hfil j\hfil}%
+\hbox to \cw{\hfil k\hfil}%
+\hbox to \cw{\hfil l\hfil}%
+\hbox to \cw{\hfil m\hfil}%
+\hbox to \cw{\hfil n\hfil}%
+\hbox to \cw{\hfil o\hfil}%
+\hbox to \cw{\hfil p\hfil}%
+\hbox to \cw{\hfil q\hfil}%
+\hbox to \cw{\hfil r\hfil}%
+\hbox to \cw{\hfil s\hfil}%
+\hbox to \cw{\hfil t\hfil}%
+\hbox to \cw{\hfil u\hfil}%
+\hbox to \cw{\hfil v\hfil}%
+\hbox to \cw{\hfil w\hfil}%
+\hbox to \cw{\hfil x\hfil}%
+\hbox to \cw{\hfil y\hfil}%
+\hbox to \cw{\hfil z\hfil}}}}}
+
\long\def\sample#1#2{%#1=name, #2=font cmd
\vspace{1.5pt plus 1pt minus .5pt}\parbox{\textwidth}{#1\\[2pt plus .5pt minus .5pt]{#2}}}
\textsf{\textbf{Fraktur:}}
{\parindent=0pt
-\sample{{\tt\small esstix} (ESSTIX fraktur):} {\usefont{U}{esstixfrak}{m}{n}\al}
+\sample{{\tt\small esstix} (ESSTIX fraktur):} {\usefont{U}{esstixfrak}{m}{n}\al\\\alx}
-\sample{{\tt\small mathpi} (Mathpi fraktur):} {\usefont{U}{mathpifrak}{m}{n}\al}
+\sample{{\tt\small mathpi} (Mathpi fraktur):} {\usefont{U}{mathpifrak}{m}{n}\al\\\alx}
-\sample{{\tt\small pxtx} (pxtx fraktur):} {\usefont{U}{tx-frak}{m}{n}\al}
+\sample{{\tt\small lucida} (Lucida fraktur):} {\usefont{T1}{hlcf}{m}{n}\al\\\alx}
-\sample{{\tt\small mt} (Mathtime Pro 2 fraktur):} {\usefont{U}{mt2mf}{m}{n}\al}
+\sample{{\tt\small euler} (Euler fraktur):} {\usefont{U}{euf}{m}{n}\al\\\alx}
-\sample{{\tt\small euler} (Euler fraktur):} {\usefont{U}{euf}{m}{n}\al}
+\sample{{\tt\small euler} (Euler fraktur-bold):} {\usefont{U}{euf}{b}{n}\al\\\alx}
-\sample{{\tt\small mma} (Mathematica fraktur):} {\usefont{U}{mmamfrak}{m}{n}\al}
+\font\txrfrk=txr-frak at 11pt
+\sample{{\tt\small pxtx} (pxtx fraktur):} {\txrfrk \al\\\alx}
-\sample{{\tt\small lucida} (Lucida fraktur):} {\usefont{T1}{hlcf}{m}{n}\al}
+\font\txbfrk=txb-frak at 11pt
+\sample{{\tt\small pxtx} (pxtx fraktur-bold):} {\txbfrk \al\\\alx}
-\sample{{\tt\small boondox} (BOONDOX fraktur):} {\usefont{U}{BOONDOX-frak}{m}{n}\al}
+%\sample{{\tt\small pxtx} (pxtx fraktur):} {\usefont{OT1}{tx-frak}{m}{n}\al\\\alx}
+%
+%\sample{{\tt\small pxtx} (pxtx fraktur-bold):} {\usefont{OT1}{tx-frak}{b}{n}\al\\\alx}
+%
+\sample{{\tt\small mt} (Mathtime Pro 2 fraktur):} {\usefont{U}{mt2mf}{m}{n}\al\\\alx}
-\sample{{\tt\small euler} (Euler fraktur-bold):} {\usefont{U}{euf}{b}{n}\al}
+\sample{{\tt\small mt} (Mathtime Pro 2 fraktur-bold):} {\usefont{U}{mt2mf}{b}{n}\al\\\alx}
-\sample{{\tt\small mma} (Mathematica fraktur-bold):} {\usefont{U}{mmamfrak}{b}{n}\al}
+\sample{{\tt\small mma} (Mathematica fraktur):} {\usefont{U}{mmamfrak}{m}{n}\al\\\alx}
-\sample{{\tt\small pxtx} (pxtx fraktur-bold):} {\usefont{U}{tx-frak}{b}{n}\al}
+\sample{{\tt\small mma} (Mathematica fraktur-bold):} {\usefont{U}{mmamfrak}{b}{n}\al\\\alx}
-\sample{{\tt\small mt} (Mathtime Pro 2 fraktur-bold):} {\usefont{U}{mt2mf}{b}{n}\al}
+\sample{{\tt\small boondox} (BOONDOX fraktur):} {\usefont{U}{BOONDOX-frak}{m}{n}\al\\\alx}
-\sample{{\tt\small boondox} (BOONDOX fraktur-bold):} {\usefont{U}{BOONDOX-frak}{b}{n}\al}
+\sample{{\tt\small boondox} (BOONDOX fraktur-bold):} {\usefont{U}{BOONDOX-frak}{b}{n}\al\\\alx}
+
+\sample{{\tt\small stix2} (STIX2 fraktur):} {\usefont{LS1}{stix2frak}{m}{n}\al\\\alx}
+
+\sample{{\tt\small stix2} (STIX2 fraktur-Bold):} {\usefont{LS1}{stix2frak}{b}{n}\al\\\alx}
}
+
+
+
\def\spc{\hspace*{7pt}}
-\textsf{\textbf{Calligraphic:}}
+\textsf{\textbf{Calligraphic and Script:}}
{\parindent=0pt
-\textsc{Upright:}\\[3pt]
+\textsc{Upright:}\\[9pt]
\sample{{\small\tt \spc euler} (Euler script):}{\usefont{U}{eus}{m}{n}\al}
\sample{{\small\tt \spc euler} (Euler script-bold):} {\usefont{U}{eus}{b}{n}\al}
@@ -257,9 +351,9 @@ Here are some samples from the fonts mentioned above:
\sample{{\small\tt\spc txupr} (TXUprCal):} {\usefont{U}{txuprcal}{m}{n}\al}
-\sample{{\small\tt\spc boondoxupr} (BOONDOXUprScr):} {\usefont{U}{boondoxuprscr}{m}{n}\al}
+\sample{{\small\tt\spc boondoxupr} (BOONDOXUprScr):} {\usefont{U}{boondoxuprscr}{m}{n}\al\\\alx}
-\vspace{4pt}\textsc{Restrained:}\\[3pt]
+\vspace{4pt}\textsc{Restrained:}\\[9pt]
\sample{{\small\tt \spc cm} (CM calligraphic, cmsy):} {\usefont{OMS}{cmsy}{m}{n}\al}
\sample{{\small\tt \spc cm} (CM calligraphic-bold, cmbsy):} {\usefont{OMS}{cmsy}{b}{n}\al}
@@ -279,39 +373,62 @@ Here are some samples from the fonts mentioned above:
\sample{{\small\tt\spc pxtx} (pxtx script-bold):} {\usefont{U}{tx-cal}{b}{n}\al}
-\vspace{4pt}\textsc{Embellished:}\\[3pt]
+\font\stixcal=stix-mathcal at 11pt
+\sample{{\small\tt\spc stix-plain} (STIX Calligraphic):} {\stixcal\al}
+
+\font\stixcalb=stix-mathcal-bold at 11pt
+\sample{{\small\tt\spc stix-plain} (STIX Calligraphic-bold):} {\stixcalb\al}
+
+\font\stixcal=stix2-mathcal at 11pt
+\sample{{\small\tt\spc stix2-plain} (STIX2 Calligraphic):} {\stixcal\al}
+
+
+\vspace{4pt}\textsc{Embellished:}\\[9pt]
\sample{{\small\tt\spc mt} (Mathtime Pro 2 script):} {\usefont{U}{mt2ms}{m}{it}\al}
\sample{{\small\tt\spc mt} (Mathtime Pro 2 script-bold):} {\usefont{U}{mt2ms}{b}{it}\al}
\sample{{\small\tt\spc mathpi} (Mathpi script):} {\usefont{U}{mathpical}{m}{n}\al}
-\sample{{\small\tt\spc esstix} (ESSTIX calligraphic):} {\usefont{U}{esstixcal}{m}{n}\al}
+\sample{{\small\tt\spc rsfso}:} {\usefont{U}{rsfso}{m}{n}\al}
-\sample{{\small\tt\spc dutchcal} (dutchcal calligraphic):} {\usefont{U}{dutchcal}{m}{n}\al}
+\sample{{\small\tt\spc esstix} (ESSTIX calligraphic):} {\usefont{U}{esstixcal}{m}{n}\al\\\alx}
-\sample{{\small\tt\spc dutchcal} (dutchcal calligraphic-bold):} {\usefont{U}{dutchcal}{b}{n}\al}
+\sample{{\small\tt\spc dutchcal} (dutchcal calligraphic):} {\usefont{U}{dutchcal}{m}{n}\al\\\alx}
-\sample{{\small\tt\spc bickham} (bickham calligraphic):} {\usefont{U}{bickham}{m}{n}\al}
+\sample{{\small\tt\spc dutchcal} (dutchcal calligraphic-bold):} {\usefont{U}{dutchcal}{b}{n}\al\\\alx}
-\sample{{\small\tt\spc bickham} (bickham calligraphic-bold):} {\usefont{U}{bickham}{b}{n}\al}
+\sample{{\small\tt\spc bickham} (bickham calligraphic):} {\usefont{U}{bickham}{m}{n}\al\\\alx}
-\sample{{\small\tt\spc rsfso}:} {\usefont{U}{rsfso}{m}{n}\al}
+\sample{{\small\tt\spc bickham} (bickham calligraphic-bold):} {\usefont{U}{bickham}{b}{n}\al\\\alx}
+
+\sample{{\small\tt\spc bickhams} (bickham calligraphic semibold):} {\usefont{U}{bickham}{sb}{n}\al\\\alx}
+
+\sample{{\small\tt\spc bickhams} (bickham calligraphic-bold):} {\usefont{U}{bickham}{b}{n}\al\\\alx}
\font\calo=zxxrow7z at 11pt
-\sample{{\small\tt\spc boondoxo} (BOONDOX Calligraphic Oblique):} {\calo \al}
+\sample{{\small\tt\spc boondoxo} (BOONDOX Calligraphic Oblique):} {\calo \al\\\alx}
\font\calo=zxxbow7z at 11pt
-\sample{{\small\tt\spc boondoxo} (BOONDOX Calligraphic Oblique-bold):} {\calo \al}
+\sample{{\small\tt\spc boondoxo} (BOONDOX Calligraphic Oblique-bold):} {\calo \al\\\alx}
-\vspace{4pt}\textsc{Heavily Sloped:}\\[3pt]
-\sample{{\small\tt\spc boondox} (BOONDOX Calligraphic):} {\usefont{U}{BOONDOX-cal}{m}{n}\al}
+\font\stixscr=stix2-mathscr at 11pt
+\sample{{\small\tt\spc stix2-fancy} (STIX2 Script):} {\stixscr\al\\\alx}
-\sample{{\small\tt\spc boondox} (BOONDOX Calligraphic-bold):} {\usefont{U}{BOONDOX-cal}{b}{n}\al}
+\font\stixscrb=stix2-mathscr-bold at 11pt
+\sample{{\small\tt\spc stix2-fancy} (STIX2 Script-bold):} {\stixscrb\al\\\alx}
+\vspace{4pt}\textsc{Heavily Sloped:}\\[9pt]
\font\calo=rsfs10 at 11pt
\sample{{\small\tt\spc rsfs}:} {\calo\al}
+\sample{{\small\tt\spc boondox} (BOONDOX Calligraphic):} {\usefont{U}{BOONDOX-cal}{m}{n}\al\\\alx}
+
+\sample{{\small\tt\spc boondox} (BOONDOX Calligraphic-bold):} {\usefont{U}{BOONDOX-cal}{b}{n}\al\\\alx}
+
+%\font\stixcalb=stix2-mathcal-bold at 11pt
+%\sample{{\small\tt\spc stix-plain} (STIX2 Calligraphic-bold):} {\stixcalb\al\\\alx}
+
\font\calo=jkpsyd at 11pt
\sample{{\small\tt\spc kp}: (kpfonts script regular)} {\calo\al}
@@ -323,7 +440,7 @@ Here are some samples from the fonts mentioned above:
\textsf{\textbf{Double-Struck (Blackboard Bold):}}
{\parindent=0pt
-\textsc{Hollowed-out Shapes:}\\[3pt]
+\textsc{Hollowed-out Shapes:}\\[9pt]
\font\amsbb=msbm10 at 11pt
\sample{{\tt\small\spc ams} (AMS bb):} {\amsbb \al}
@@ -335,20 +452,34 @@ Here are some samples from the fonts mentioned above:
\sample{{\tt\small\spc txof} (tx of bold):} {\usefont{U}{tx-of}{b}{n}\al}
-\vspace{4pt}\textsc{Geometric Shapes:}\\[3pt]
+\vspace{4pt}\textsc{Geometric Shapes, Serifed:}\\[9pt]
+\sample{{\tt\small\spc pazo} (Mathpazo bb):} {\usefont{U}{fplmbb}{m}{n}\al}
+
+\sample{{\tt\small\spc px} (px bb):} {\usefont{U}{px-ds}{m}{n}\al}
+
+\sample{{\tt\small\spc px} (px bb bold):} {\usefont{U}{px-ds}{b}{n}\al}
+
+\sample{{\tt\small\spc tx} (tx bb):} {\usefont{OT1}{tx-ds}{m}{n}\al\\\alx}
+
+\font\libus=libertinust1-mathbb
+\sample{{\tt\small\spc libus} (libertinust1-mathbb):} {\libus \al\\\alx}
+
+\sample{{\tt\small\spc dsfont-serif} (Dsfont Serif):} {\usefont{U}{dsrom}{m}{n}\al\\\alx}
+
+\vspace{4pt}\textsc{Geometric Shapes, Sans Serif:}\\[9pt]
\sample{{\tt\small\spc lucida} (Lucida bb):} {\usefont{LMR}{hlcm}{m}{n}\al}
+\sample{{\tt\small\spc lucida} (Lucida Bold bb):} {\usefont{LMR}{hlcm}{b}{n}\al}
+
\sample{{\tt\small\spc mathpi} (Mathpi bb):} {\usefont{U}{mathpibb}{m}{n}\al}
\sample{{\tt\small\spc mt} (Mathtime Pro 2 bb):} {\usefont{U}{mt2bb}{m}{n}\al}
-\sample{{\tt\small\spc mma} (Mathematica bb):} {\usefont{U}{mmambb}{m}{n}\al}
-
-\sample{{\tt\small\spc pazo} (Mathpazo bb):} {\usefont{U}{fplmbb}{m}{n}\al}
+\sample{{\tt\small\spc mt} (Mathtime Pro 2 bb-bold):} {\usefont{U}{mt2bb}{b}{n}\al}
-\sample{{\tt\small\spc px} (px bb):} {\usefont{U}{px-ds}{m}{n}\al}
+\sample{{\tt\small\spc mma} (Mathematica bb):} {\usefont{U}{mmambb}{m}{n}\al}
-\sample{{\tt\small\spc px} (px bb bold):} {\usefont{U}{px-ds}{b}{n}\al}
+\sample{{\tt\small\spc mma} (Mathematica bb-bold):} {\usefont{U}{mmambb}{b}{n}\al}
\sample{{\tt\small\spc fourier} (Fourier bb):} {\usefont{U}{futm}{m}{n}\al}
@@ -356,22 +487,42 @@ Here are some samples from the fonts mentioned above:
\sample{{\tt\small\spc boondox} (BOONDOX bb):} {\usefont{U}{BOONDOX-ds}{m}{n}\al}
-{\tt\small\spc boondox} (BOONDOX bb-bold):\\[2pt] \hbox to \textwidth{\hspace*{.22in}{\def\spc{\hspace{9pt}}\usefont{U}{BOONDOX-ds}{b}{n}\spc C\spc D\spc H\spc N\spc P\spc Q\spc R\spc Z} (few glyphs available.)\hfil}
+%{\tt\small\spc boondox} (BOONDOX bb-bold):\\[2pt] \hbox to \textwidth{\hspace*{.22in}{\def\spc{\hspace{9pt}}\usefont{U}{BOONDOX-ds}{b}{n}\al}
+\sample{{\tt\small\spc boondox} (BOONDOX bb-bold):}
+{\usefont{U}{BOONDOX-ds}{b}{n}\al}
+%\\[2pt] \hbox to \textwidth{\hspace*{.22in}{\def\spc{\hspace{9pt}}
-\sample{{\tt\small\spc mt} (Mathtime Pro 2 bb-bold):} {\usefont{U}{mt2bb}{b}{n}\al}
+\sample{{\tt\small\spc bboldx} (Bboldx-light):} {\usefont{U}{bboldx}{l}{n}\al\\\alx}
-\sample{{\tt\small\spc mma} (Mathematica bb-bold):} {\usefont{U}{mmambb}{b}{n}\al}
+\sample{{\tt\small\spc bboldx} (Bboldx-regular):} {\usefont{U}{bboldx}{m}{n}\al\\\alx}
-}
+\sample{{\tt\small\spc bboldx} (Bboldx-bold):} {\usefont{U}{bboldx}{b}{n}\al\\\alx}
+
+\sample{{\tt\small\spc dsfont-sans} (Dsfont Sans):} {\usefont{U}{dsss}{m}{n}\al\\\alx}
+
+\sample{{\tt\small\spc stix2} (stix2-mathbb):} {\stixtwobb \al\\\alx}
+%\sample{{\tt\small\spc stix2-bbit} (stix2-mathbbit):} {\traceon\stixtwobbi A\traceoff \al\\\alx}
+
+\sample{{\tt\small\spc stix} (stix-mathbb):} {\stixbb \al\\\alx}
+
+\sample{{\tt\small\spc stix} (stix-mathbb-bold):} {\stixbbb \al\\\alx}
+
+\sample{{\tt\small\spc stix} (stix-mathbbit):} {\stixbbob \al\\\alx}
+
+\sample{{\tt\small\spc stix} (stix-mathbbit-bold):} {\stixbbbob \al\\\alx}
+
+}
\textsc{Notes:}
\begin{itemize}
+\item Not many Blackboard Bold fonts contain Greek alphabets. A notable exception is {\tt bbold} and its new successor, {\tt bboldx}. The latest version of {\tt dsserif} supports most uppercase Greek letters.
+\item A growing number of Blackboard Bold fonts contain numerals: all {\tt STIX} and {\tt BOONDOX}, all {\tt bboldx}, {\tt dsserif}, {\tt tx} offer a full list of numerals, and {\tt pazo} contains the most import figure, $\mathbb{1}$.
+\item Unlike the original \textsc{stix} {\tt type1} fonts, \textsc{stix2} {\tt type1} does not provide bold weight for blackboard bold and blackboard bold italic, and the latter has no alphabetic glyphs as of October 2021.
\item
-Lucida fonts generally need to be reduced in scale to match other math and text fonts.
-\item Zapf Chancery need to be scaled up by 15\% or so. This font is not really suited for use as a math alphabet due to the disparate heights and depths and the long tails on some glyphs. Use with care.
-\item Mathematica fraktur is quite readable, but not very attractive, seeming to have random variations in baseline and height. It's also a bit too heavy to be a good match to most other fonts. Similar comments could apply to Lucida fraktur, which has a very distinctive appearance with some features more similar to \textsf{Duc de Berry} than to other fraktur fonts.
-\item The calligraphic fonts break down into four natural groups---(i) the upright styled Euler and Curly; (ii) the less-embellished CM, Lucida, Zapf Chancery, ESSTIX, dutchcal, Mathematica and pxtx; (iii) the moderately sloped but more embellished Mathpi, Mathtime, bickham, rsfso and boondoxo; (iv) the heavily sloped rsfs and the slightly less sloped boondox. My preference, if not using \textsf{mathtime} or \textsf{lucida}, is to set \verb|\mathcal| to one from group (ii) and \verb|\mathscr| to one from group (iii).
-\item Blackboard bold can look poor in some cases. In my opinion, AMS bb and some of the others show up as ghostly (gray and indistinct) especially on the screen and may not appear to match the weights of other math glyphs. (AMS bb, Mathtime Pro 2 Holey Roman and the txof bb fonts appear to be formed by removing the interiors of solid glyphs from a bold, serifed font. Mathtime Pro 2 Holey Roman Bold is a much better fit to most math fonts of weight heavier than Computer Modern.) Fourier, Mathpi, ESSTIX and boondox bb appear to be very close in style, with mathpi bb a bit less sharp. Mathpazo bb, Mathematica bb, px bb and tx bb have a heavier appearance and should work better with fonts other than Computer Modern.
-
+\textsf{Lucida} fonts generally need to be reduced in scale to match other math and text fonts.
+\item \textsf{Zapf Chancery} needs to be scaled up by 15\% or so. This font is not really suited for use as a math alphabet due to the disparate heights and depths and the long tails on some glyphs. Use with care.
+\item \textsf{Mathematica} fraktur is quite readable, but not very attractive, seeming to have random variations in baseline and height. It's also a bit too heavy to be a good match to most other fonts. Similar comments could apply to \textsf{Lucida} fraktur, which has a very distinctive appearance with some features more similar to \textsf{Duc de Berry} than to other fraktur fonts.
+\item The calligraphic fonts break down into four natural groups---(i) the upright styled \textsf{Euler} and \textsf{Curly}; (ii) the less-embellished \textsf{CM, Lucida, Zapf Chancery, ESSTIX, dutchcal, Mathematica} and \textsf{pxtx}; (iii) the moderately sloped but more embellished {Mathpi, Mathtime, bickham, rsfso} and \textsf{boondoxo}; (iv) the heavily sloped rsfs and the slightly less sloped boondox. My preference, if not using \textsf{mathtime} or \textsf{lucida}, is to set \verb|\mathcal| to one from group (ii) and \verb|\mathscr| to one from group (iii).
+ \item Blackboard bold can look poor in some cases. In my opinion, \textsf{AMS} bb and some of the others show up as ghostly (gray and indistinct) especially on the screen and may not appear to match the weights of other math glyphs. (\textsf{AMS bb, Mathtime Pro 2 Holey Roman} and the \textsf{txof} bb fonts appear to be formed by removing the interiors of solid glyphs from a bold, serifed font. \textsf{Mathtime Pro 2 Holey Roman Bold} is a much better fit to most math fonts of weight heavier than \textsf{Computer Modern}.) \textsf{Fourier, Mathpi, ESSTIX} and \textsf{boondox} bb appear to be very close in style, with \textsf{mathpi} bb a bit less sharp. \textsf{Mathpazo bb, Mathematica bb, px bb} and \textsf{tx bb} have a heavier appearance and should work better with fonts other than \textsf{Computer Modern}.
\end{itemize}
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/macros/latex/contrib/mathalpha/tex/mathalpha.sty b/macros/latex/contrib/mathalpha/tex/mathalpha.sty
index cacc0b5ec0..bde30690ab 100644
--- a/macros/latex/contrib/mathalpha/tex/mathalpha.sty
+++ b/macros/latex/contrib/mathalpha/tex/mathalpha.sty
@@ -1,37 +1,72 @@
\NeedsTeXFormat{LaTeX2e}
-\def\mathalphaVersion{1.13}
-\def\mathalphaDate{2019/10/05}
+\def\mathalphaVersion{1.14}
+\def\mathalphaDate{2021/10/29}
\ProvidesPackage{mathalpha}[\mathalphaDate\space-\space\mathalphaVersion
mathalpha (License LPPL) Michael Sharpe]
\message{`mathalpha' v\mathalphaVersion, \mathalphaDate, a renaming of mathalfa (msharpe)}
\RequirePackage{xkeyval}
+%\def\ma@undefine#1{%
+% \@ifundefined{#1}{}{\let#1=\@undefined}}
+%\def\ma@MathSymbol#1#2#3#4{%
+% \ma@undefine#1%
+% \DeclareMathSymbol{#1}{#2}{#3}{#4}}
+\newif\ifmathalfa@bfrak \newif\ifmathalfa@bbb
+\newif\ifmathalfa@bcal \newif\ifmathalfa@bscr
+\newif\ifmathalfa@fraksym \newif\ifmathalfa@bbsym
+\newif\ifmathalfa@calsym \newif\ifmathalfa@scrsym
+% normal meanings of weights
+\def\mathalfa@bbm{m}
+\def\mathalfa@frakm{m}
+\def\mathalfa@calm{m}
+\def\mathalfa@scrm{m}
+
% available choices
-\def\bb@lst{ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof, libus, dsserif}
-\def\cal@lst{cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams, stix,txupr,boondoxupr}
-\def\frak@lst{euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx}
-\def\scr@lst{rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams,txupr,boondoxupr,kp}
-\def\mathalfa@bbnr{-1}\def\mathalfa@calnr{-1}
-\def\mathalfa@fraknr{-1}\def\mathalfa@scrnr{-1}
-\def\minusone{-1}
+\def\bb@lst{ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof, libus, dsserif, bboldxLight, bboldx, dsfontserif, dsfontsans, stixtwo, stix}
+\def\cal@lst{cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams, stix, txupr, boondoxupr, kp, stixplain, stixfancy, stixtwoplain, stixtwofancy}
+\def\frak@lst{euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx, stixtwo}
+% aliases
+\newif\ifmathalfa@oldbold
+\define@boolkey{mathalfa}{oldbold}[true]{\@nameuse{mathalfa@oldbold#1}}
+\define@boolkey{mathalfa}{fraksymbols}[true]{\@nameuse{mathalfa@fraksym#1}}
+\define@boolkey{mathalfa}{bbsymbols}[true]{\@nameuse{mathalfa@bbsym#1}}
+\define@boolkey{mathalfa}{calsymbols}[true]{\@nameuse{mathalfa@calsym#1}}
+\define@boolkey{mathalfa}{scrsymbols}[true]{\@nameuse{mathalfa@scrsym#1}}
+
+\edef\mathalfa@bbnr{\m@ne}\edef\mathalfa@calnr{\m@ne}
+\edef\mathalfa@fraknr{\m@ne}\edef\mathalfa@scrnr{\m@ne}
% scaled
-\define@key{mathalfa}{scaled}[1.0]{\def\mathalfa@bbscaled{s*[#1]}\def\mathalfa@calscaled{s*[#1]}\def\mathalfa@frakscaled{s*[#1]}\def\mathalfa@scrscaled{s*[#1]}}% all at once
+\define@key{mathalfa}{scaled}[1.0]{%
+\def\mathalfa@bbscaled{s*[#1]}\def\mathalfa@bbrawscaled{#1} \def\mathalfa@calscaled{s*[#1]}\def\mathalfa@calrawscaled{#1} \def\mathalfa@frakscaled{s*[#1]}\def\mathalfa@frakrawscaled{#1} \def\mathalfa@scrscaled{s*[#1]}\def\mathalfa@scrrawscaled{#1}}% all at once
+\setkeys{mathalfa}{scaled}% initialize all scales to 1.0
% or separately
-\def\@cmd{}
-\define@key{mathalfa}{bbscaled}[1.0]{\def\mathalfa@bbscaled{s*[#1]}}
-\define@key{mathalfa}{calscaled}[1.0]{\def\mathalfa@calscaled{s*[#1]}}
-\define@key{mathalfa}{frakscaled}[1.0]{\def\mathalfa@frakscaled{s*[#1]}}
-\define@key{mathalfa}{scrscaled}[1.0]{\def\mathalfa@scrscaled{s*[#1]}}
+\define@key{mathalfa}{bbscaled}[1.0]{%
+\def\mathalfa@bbscaled{s*[#1]}\def\mathalfa@bbrawscaled{#1}}
+\define@key{mathalfa}{calscaled}[1.0]{%
+\def\mathalfa@calscaled{s*[#1]}\def\mathalfa@calrawscaled{#1}}
+\define@key{mathalfa}{frakscaled}[1.0]{%
+\def\mathalfa@frakscaled{s*[#1]}\def\mathalfa@frakrawscaled{#1}}
+\define@key{mathalfa}{scrscaled}[1.0]{%
+\def\mathalfa@scrscaled{s*[#1]}\def\mathalfa@scrrawscaled{#1}}
% alphabets
+\def\@cmd{}
\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{bb}[\noexpand\mathalfa@val\noexpand\mathalfa@bbnr]{\bb@lst}{}}
\@cmd
\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{cal}[\noexpand\mathalfa@val\noexpand\mathalfa@calnr]{\cal@lst}{}}
\@cmd
\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{frak}[\noexpand\mathalfa@val\noexpand\mathalfa@fraknr]{\frak@lst}{}}
\@cmd
-\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{scr}[\noexpand\mathalfa@val\noexpand\mathalfa@scrnr]{\scr@lst}{}}
+\edef\@cmd{\noexpand\define@choicekey*{mathalfa}{scr}[\noexpand\mathalfa@val\noexpand\mathalfa@scrnr]{\cal@lst}{}}%was scr@lst
\@cmd
+\define@boolkey{mathalfa}{bffrak}[true]{\def\mathalfa@frakm{b}\@nameuse{mathalfa@bfrak#1}}
+\define@boolkey{mathalfa}{bfcal}[true]{\def\mathalfa@calm{b}\@nameuse{mathalfa@bcal#1}}
+\define@boolkey{mathalfa}{bfscr}[true]{\def\mathalfa@scrm{b}\@nameuse{mathalfa@bscr#1}}
+\define@boolkey{mathalfa}{bfbb}[true]{\def\mathalfa@bbm{b}\@nameuse{mathalfa@bbb#1}}
% showoptions
-\DeclareOption{showoptions}{\PackageError{mathalfa}{Package Options:\MessageBreak bb=\bb@lst\MessageBreak cal=\cal@lst\MessageBreak frak=\frak@lst\MessageBreak scr=\scr@lst\MessageBreak bbscaled=1.0, calscaled=1.0, frakscaled=1.0, scrscaled=1.0}{}}
+\DeclareOption{showoptions}{\PackageError{mathalpha}{Package Options:^^J bb=\bb@lst^^J cal=\cal@lst^^J frak=\frak@lst^^J scr=\cal@lst^^J bbscaled=1.0, calscaled=1.0, frakscaled=1.0, scrscaled=1.0^^J Bold versions may be forced by one of options bfbb, bfcal, bffrak, bfscr.^^J The following exceptions should be noted:^^J
+bb: stix2, dsfontsans, dsfontserif, libusbb, tx, esstix,^^J\space\space pazo, mathpi, ams^^J
+cal and scr: esstix, zapfc, mtc, mathpical, rsfs, rsfso^^J
+frak: lucida, esstix, mathpi^^J
+}{}}%was scr=\scr@lst
\DeclareOption*{%
\begingroup
\edef\x{\endgroup
@@ -49,37 +84,53 @@
\expandafter\ifx\csname DeclareLucidaFontShape\endcsname\relax\else\lucid@loadedtrue\fi%
% Check for mtpro2 loaded
%\newif\ifmtp@loaded \mtp@loadedfalse
-\def\mtp@loadedError{\PackageError{mathalfa}{You have already loaded the mtpro2 package. You should not use mathalfa to load additional mtpro2 options.}{}}%
+\def\mtp@loadedError{\PackageError{mathalpha}{You have already loaded the mtpro2 package. You should not use mathalpha to load additional mtpro2 options.}{}}%
% Check for amsfonts
\def\amsloaded{}
\@ifpackageloaded{amsfonts}{%
\let\amsloaded=Y%
}{}%
% Undefine some previous settings
-\ifx\mathalfa@bbnr\minusone\else\let\mathbb\relax\let\mathbbb\relax\fi
-%\ifx\mathalfa@calnr\minusone\else\let\mathcal\relax\fi
-\ifx\mathalfa@fraknr\minusone\else\let\mathfrak\relax\let\mathbfrak\relax\fi
-\ifx\mathalfa@scrnr\minusone\else\let\mathscr\relax\fi
+\ifx\mathalfa@bbnr\m@ne\else\let\mathbb\relax\let\mathbfbb\relax\fi
+%\ifx\mathalfa@calnr\m@ne\else\let\mathcal\relax\fi
+\ifx\mathalfa@fraknr\m@ne\else\let\mathfrak\relax\let\mathbffrak\relax\fi
+\ifx\mathalfa@scrnr\m@ne\else\let\mathscr\relax\fi
+% Some error messages
+\newcommand*\mathalpha@boldError[2]{%#1=item specified, #2 from bb,cal,scr,frak
+\PackageError{mathalpha}{You specified `#2=#1,b#2', but `#1' has no bold\space#2}{}}
+
% Code to set up the math alphabets specified, not necessarily using the fd files
+%
% Blackboard Bold
-\ifcase\mathalfa@bbnr\relax% item 0 of {ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof,libus,dsserif}
+%%%%%%%%%%%%%%%%%% START \mathbb
+%
+\ifcase\mathalfa@bbnr\relax% item 0 of {ams, lucida, mathpi, mma, mt, mth, pazo, fourier, esstix, boondox, px, tx, txof, libus, dsserif, bboldx-light, bboldx, dsfont-serif, dsfont-sans, stix}
+% ams
+ \ifmathalfa@bbb\mathalpha@boldError{ams}{bb}\fi
\DeclareFontFamily{U}{msb}{}%
- \DeclareFontShape{U}{msb}{m}{n}{<-7>\mathalfa@bbscaled msbm5
+ \DeclareFontShape{U}{msb}{m}{n}{
+ <-7>\mathalfa@bbscaled msbm5
<7-9>\mathalfa@bbscaled msbm7
<9->\mathalfa@bbscaled msbm10}{}%
\DeclareMathAlphabet{\mathbb}{U}{msb}{m}{n}
\or % lucida
- \iflucid@loaded \PackageError{mathalfa}{Do not use lucida as an option to mathalfa after loading a lucida package}{}\fi
+ \iflucid@loaded \PackageError{mathalpha}{Do not use lucida as an option to mathalpha after loading a lucida package}{}\fi
% \DeclareFontFamily{OMS}{lbm}{\skewchar\font48}
% \DeclareFontShape{OMS}{lbm}{m}{n}{<->\mathalfa@bbscaled hlcry}{}
% \DeclareFontShape{OMS}{lbm}{b}{n}{<->\mathalfa@bbscaled hlcdy}{}
% \DeclareMathAlphabet{\mathcal} {OMS}{lbm}{m}{n}
% \SetMathAlphabet{\mathcal}{bold}{OMS}{lbm}{b}{n}
-% \DeclareMathAlphabet{\mathbcal} {OMS}{lbm}{b}{n}
- \DeclareFontFamily{U}{hlcm}{}
+% \DeclareMathAlphabet{\mathbfcal} {OMS}{lbm}{b}{n}
+ \DeclareFontFamily{U}{hlcm}{\skewchar\font48}
\DeclareFontShape{U}{hlcm}{m}{n}{<->\mathalfa@bbscaled hlcra}{}
- \DeclareMathAlphabet{\mathbb}{U}{hlcm}{m}{n}
+ \DeclareFontShape{U}{hlcm}{b}{n}{<->\mathalfa@bbscaled hlcrb}{}
+ \DeclareMathAlphabet{\mathbb}{U}{hlcm}{\mathalfa@bbm}{n}
+ \ifmathalfa@bbb\else%
+ \SetMathAlphabet{\mathbb}{bold}{U}{hlcm}{b}{n}
+ \DeclareMathAlphabet{\mathbfbb} {U}{hlcm}{b}{n}
+ \fi
\or % mathpi
+ \ifmathalfa@bbb\mathalpha@boldError{mathpi}{bb}\fi
\DeclareFontFamily{U}{mathpibb}{\skewchar \font =45}
\DeclareFontShape{U}{mathpibb}{m}{n}{
<-> \mathalfa@bbscaled mathpibb}{}
@@ -90,21 +141,27 @@
<-> \mathalfa@bbscaled mmambb}{}
\DeclareFontShape{U}{mmambb}{b}{n}{
<-> \mathalfa@bbscaled mmambbb}{}
- \DeclareMathAlphabet{\mathbb}{U}{mmambb}{m}{n}
- \SetMathAlphabet{\mathbb}{bold}{U}{mmambb}{b}{n}
- \DeclareMathAlphabet{\mathbbb} {U}{mmambb}{b}{n}
+ \DeclareMathAlphabet{\mathbb}{U}{mmambb}{\mathalfa@bbm}{n}
+ \ifmathalfa@bbb\else
+ \SetMathAlphabet{\mathbb}{bold}{U}{mmambb}{b}{n}
+ \DeclareMathAlphabet{\mathbfbb} {U}{mmambb}{b}{n}
+ \fi
\or % mt
\@ifpackageloaded{mtpro2}{\mtp@loadedError}{}
\DeclareFontFamily{U}{mtbb}{\skewchar\font45}%
- \DeclareFontShape{U}{mtbb}{m}{n}{<-7>\mathalfa@bbscaled mt2bbf
+ \DeclareFontShape{U}{mtbb}{m}{n}{
+ <-7>\mathalfa@bbscaled mt2bbf
<7-9>\mathalfa@bbscaled mt2bbs
<9->\mathalfa@bbscaled mt2bbt}{}%
- \DeclareFontShape{U}{mtbb}{b}{n}{<-7>\mathalfa@bbscaled mt2bbdf
+ \DeclareFontShape{U}{mtbb}{b}{n}{
+ <-7>\mathalfa@bbscaled mt2bbdf
<7-9>\mathalfa@bbscaled mt2bbds
<9->\mathalfa@bbscaled mt2bbdt}{}%
- \DeclareMathAlphabet{\mathbb} {U}{mtbb}{m}{n}
- \SetMathAlphabet{\mathbb}{bold}{U}{mtbb}{b}{n}
- \DeclareMathAlphabet{\mathbbb} {U}{mtbb}{b}{n}
+ \DeclareMathAlphabet{\mathbb}{U}{mtbb}{\mathalfa@bbm}{n}
+ \ifmathalfa@bbb\else
+ \SetMathAlphabet{\mathbb}{bold}{U}{mtbb}{b}{n}
+ \DeclareMathAlphabet{\mathbfbb} {U}{mtbb}{b}{n}
+ \fi
\or % mth--hollowed out letters with more shape---' Holey Roman'
\@ifpackageloaded{mtpro2}{\mtp@loadedError}{}
\DeclareFontFamily{U}{mthrb}{\skewchar\font45}%
@@ -114,20 +171,25 @@
\DeclareFontShape{U}{mthrb}{b}{n}{<-7>\mathalfa@bbscaled mt2hrbdf
<7-9>\mathalfa@bbscaled mt2hrbds
<9->\mathalfa@bbscaled mt2hrbdt}{}%
- \DeclareMathAlphabet{\mathbb} {U}{mthrb}{m}{n}
- \SetMathAlphabet{\mathbb}{bold}{U}{mthrb}{b}{n}
- \DeclareMathAlphabet{\mathbbb} {U}{mthrb}{b}{n}
+ \DeclareMathAlphabet{\mathbb} {U}{mthrb}{\mathalfa@bbm}{n}
+ \ifmathalfa@bbb\else
+ \SetMathAlphabet{\mathbb}{bold}{U}{mthrb}{b}{n}
+ \DeclareMathAlphabet{\mathbfbb} {U}{mthrb}{b}{n}
+ \fi
\or % pazo
+ \ifmathalfa@bbb\mathalpha@boldError{pazo}{bb}\fi
\DeclareFontFamily{U}{fplmbb}{}
\DeclareFontShape{U}{fplmbb}{m}{n}{
<->\mathalfa@bbscaled fplmbb}{}
\DeclareMathAlphabet{\mathbb} {U}{fplmbb}{m}{n}
\or % fourier
+ \ifmathalfa@bbb\mathalpha@boldError{fourier}{bb}\fi
\DeclareFontFamily{U}{futm}{}
\DeclareFontShape{U}{futm}{m}{n}{
<-> \mathalfa@bbscaled fourier-bb}{}
\DeclareMathAlphabet{\mathbb}{U}{futm}{m}{n}% should this be a symbol font?
\or % esstix
+ \ifmathalfa@bbb\mathalpha@boldError{esstix}{bb}\fi
\DeclareFontFamily{U}{esstixbb}{\skewchar \font =45}
\DeclareFontShape{U}{esstixbb}{m}{n}{
<-> \mathalfa@bbscaled esstixbb}{}
@@ -138,48 +200,222 @@
<-> \mathalfa@bbscaled BOONDOX-r-ds}{}
\DeclareFontShape{U}{BOONDOX-ds}{b}{n}{
<-> \mathalfa@bbscaled BOONDOX-b-ds}{}
- \DeclareMathAlphabet{\mathbb}{U}{BOONDOX-ds}{m}{n}
- \SetMathAlphabet{\mathbb}{bold}{U}{BOONDOX-ds}{b}{n}
- \DeclareMathAlphabet{\mathbbb} {U}{BOONDOX-ds}{b}{n}
+ \DeclareMathAlphabet{\mathbb}{U}{BOONDOX-ds}{\mathalfa@bbm}{n}
+ \ifmathalfa@bbb\else%
+ \SetMathAlphabet{\mathbb}{bold}{U}{BOONDOX-ds}{b}{n}
+ \DeclareMathAlphabet{\mathbfbb} {U}{BOONDOX-ds}{b}{n}
+ \fi
\or %px
+ %\usepackage[scaled=\mathalfa@bbscaled]{px-ds} % has dotlessi, j
\DeclareFontFamily{U}{px-math-ds}{\skewchar \font =45}% double-struck
\DeclareFontShape{U}{px-math-ds}{m}{n}{
<-> \mathalfa@bbscaled pxr-ds}{}
\DeclareFontShape{U}{px-math-ds}{b}{n}{
<-> \mathalfa@bbscaled pxb-ds}{}
- \DeclareMathAlphabet{\mathbb}{U}{px-math-ds}{m}{n}
- \SetMathAlphabet{\mathbb}{bold}{U}{px-math-ds}{b}{n}
- \DeclareMathAlphabet{\mathbbb} {U}{px-math-ds}{b}{n}
+ \DeclareMathAlphabet{\mathbb}{U}{px-math-ds}{\mathalfa@bbm}{n}
+ \ifmathalfa@bbb\else%
+ \SetMathAlphabet{\mathbb}{bold}{U}{px-math-ds}{b}{n}
+ \DeclareMathAlphabet{\mathbfbb} {U}{px-math-ds}{b}{n}
+ \fi
\or %tx
- \DeclareFontFamily{U}{tx-math-ds}{\skewchar \font =45}% double-struck
- \DeclareFontShape{U}{tx-math-ds}{m}{n}{
- <-> \mathalfa@bbscaled txr-ds}{}
- \DeclareMathAlphabet{\mathbb}{U}{tx-math-ds}{m}{n}
+ \ifmathalfa@bbb\mathalpha@boldError{tx}{bb}\fi
+ \usepackage[scaled=\mathalfa@bbscaled]{tx-ds} % has dotlessi, j
+% \DeclareFontFamily{U}{tx-math-ds}{\skewchar \font =127}% double-struck
+% \DeclareFontShape{U}{tx-math-ds}{m}{n}{
+% <-> \mathalfa@bbscaled txr-ds}{}
+% \DeclareMathAlphabet{\mathbb}{U}{tx-math-ds}{m}{n}
\or %txof
+ %\usepackage[scaled=\mathalfa@bbscaled]{tx-of}
\DeclareFontFamily{U}{tx-math-of}{\skewchar \font =45}% openface
\DeclareFontShape{U}{tx-math-of}{m}{n}{
<-> \mathalfa@bbscaled txr-of}{}
\DeclareFontShape{U}{tx-math-of}{b}{n}{
<-> \mathalfa@bbscaled txb-of}{}
- \DeclareMathAlphabet{\mathbb}{U}{tx-math-of}{m}{n}
- \SetMathAlphabet{\mathbb}{bold}{U}{tx-math-of}{b}{n}
- \DeclareMathAlphabet{\mathbbb} {U}{tx-math-of}{b}{n}
+ \DeclareMathAlphabet{\mathbb}{U}{tx-math-of}{\mathalfa@bbm}{n}
+ \ifmathalfa@bbb\else%
+ \SetMathAlphabet{\mathbb}{bold}{U}{tx-math-of}{b}{n}
+ \DeclareMathAlphabet{\mathbfbb} {U}{tx-math-of}{b}{n}
+ \fi
\or %libus
+ \ifmathalfa@bbb\mathalpha@boldError{libus}{bb}\fi
\DeclareFontFamily{U}{libusbb}{\skewchar\font=127}%
\DeclareFontShape{U}{libusbb}{m}{n}{
- <-> \mathalfa@bbscaled libus-mathbb}{}
+ <-> \mathalfa@bbscaled libertinust1-mathbb}{}
\DeclareMathAlphabet{\mathbb}{U}{libusbb}{m}{n}
\or %dsserif
- \DeclareFontFamily{U}{dsserif}{\skewchar\font=45}%
- \DeclareFontShape{U}{dsserif}{m}{n}{
- <-> \mathalfa@bbscaled DSSerif}{}
- \DeclareFontShape{U}{dsserif}{b}{n}{
- <-> \mathalfa@bbscaled DSSerif-Bold}{}
- \DeclareMathAlphabet{\mathbb}{U}{dsserif}{m}{n}
- \SetMathAlphabet{\mathbb}{bold}{U}{dsserif}{b}{n}
- \DeclareMathAlphabet{\mathbbb} {U}{dsserif}{b}{n}
+ \ifmathalfa@bbb
+ \ifmathalfa@bbsym
+ \usepackage[bbsymbols,bfbb,scaled=\mathalfa@bbrawscaled]{dsserif}
+ \else
+ \usepackage[bfbb,scaled=\mathalfa@bbrawscaled]{dsserif}
+ \fi
+ \else % no bfbb
+ \ifmathalfa@bbsym
+ \usepackage[bbsymbols,scaled=\mathalfa@bbrawscaled]{dsserif}
+ \else
+ \usepackage[scaled=\mathalfa@bbrawscaled]{dsserif}
+ \fi
+ \fi
+% \DeclareFontFamily{U}{dsserif}{\skewchar\font=45}%
+% \DeclareFontShape{U}{dsserif}{m}{n}{
+% <-> \mathalfa@bbscaled DSSerif}{}
+% \DeclareFontShape{U}{dsserif}{b}{n}{
+% <-> \mathalfa@bbscaled DSSerif-Bold}{}
+% \DeclareMathAlphabet{\mathbb}{U}{dsserif}{m}{n}
+% \SetMathAlphabet{\mathbb}{bold}{U}{dsserif}{b}{n}
+% \DeclareMathAlphabet{\mathbfbb} {U}{dsserif}{b}{n}
+\or % bboldxlight
+ %\let\boldx@scaled=\mathalfa@bbscaled
+ \ifmathalfa@bbb
+ \ifmathalfa@bbsym
+ \usepackage[bbsymbols,light,bfbb, scaled=\mathalfa@bbrawscaled]{bboldx}
+ \else
+ \usepackage[light,bfbb,scaled=\mathalfa@bbrawscaled]{bboldx}
+ \fi
+ \else
+ \ifmathalfa@bbsym
+ \usepackage[bbsymbols,light,scaled=\mathalfa@bbrawscaled]{bboldx}
+ \else
+ \usepackage[light,scaled=\mathalfa@bbrawscaled]{bboldx}
+ \fi
+ \fi
+\or % bboldx
+ %\let\boldx@scaled=\mathalfa@bbscaled
+ \ifmathalfa@bbb
+ \ifmathalfa@bbsym
+ \usepackage[bbsymbols,bfbb, scaled=\mathalfa@bbrawscaled]{bboldx}
+ \else
+ \usepackage[bfbb,scaled=\mathalfa@bbrawscaled]{bboldx}
+ \fi
+ \else
+ \ifmathalfa@bbsym
+ \usepackage[bbsymbols,scaled=\mathalfa@bbrawscaled]{bboldx}
+ \else
+ \usepackage[scaled=\mathalfa@bbrawscaled]{bboldx}
+ \fi
+ \fi
+\or % dsfontserif
+ \ifmathalfa@bbb\mathalpha@boldError{dsfontserif}{bb}\fi
+ \DeclareFontFamily{U}{dsrom}{}
+ \DeclareFontShape{U}{dsrom}{m}{n}{
+ <-10> \mathalfa@bbscaled dsrom8
+ <10-12> \mathalfa@bbscaled dsrom10
+ <12-> \mathalfa@bbscaled dsrom12}{}
+ \DeclareMathAlphabet{\mathbb}{U}{dsrom}{m}{n}
+\or % dsfontsans
+ \ifmathalfa@bbb\mathalpha@boldError{dsfontsans}{bb}\fi
+ \DeclareFontFamily{U}{dsss}{}
+ \DeclareFontShape{U}{dsss}{m}{n}{
+ <-10> \mathalfa@bbscaled dsss8
+ <10-12> \mathalfa@bbscaled dsss10
+ <12-> \mathalfa@bbscaled dsss12}{}
+ \DeclareMathAlphabet{\mathbb}{U}{dsss}{m}{n}
+\or % stixtwo
+ \ifmathalfa@bbb\mathalpha@boldError{stixtwo}{bb}\fi
+ \DeclareFontFamily{U}{stixtwobb}{\skewchar\font=45}%
+ \DeclareFontShape{U}{stixtwobb}{m}{n}{
+ <-> \mathalfa@bbscaled stix2-mathbb}{}
+ \DeclareFontSubstitution{U}{stixtwobb}{m}{n}
+ \ifmathalfa@bbsym
+ \DeclareSymbolFont{stixtwobbr}{U}{stixtwobb}{m}{n}
+ %\DeclareMathAlphabet{\mathbb}{U}{stixtwobb}{m}{n}
+ \DeclareSymbolFontAlphabet{\mathbb}{stixtwobbr}
+ \DeclareMathSymbol{\bbGamma}{\mathord}{stixtwobbr}{0}
+ \DeclareMathSymbol{\bbPi}{\mathord}{stixtwobbr}{5}
+ \DeclareMathSymbol{\bbgamma}{\mathord}{stixtwobbr}{13}
+ \DeclareMathSymbol{\bbpi}{\mathord}{stixtwobbr}{25}
+ \DeclareMathSymbol{\bbdotlessi}{\mathord}{stixtwobbr}{123}
+ \DeclareMathSymbol{\bbdotlessj}{\mathord}{stixtwobbr}{124}
+ \let\imathbb\bbdotlessi
+ \let\jmathbb\bbdotlessj
+ \else % load symbols as text objects
+ \DeclareMathAlphabet{\mathbb}{U}{stixtwobb}{m}{n}
+ \def\txtbbGamma{{\usefont{U}{stixtwobb}{m}{n}\char0 }}
+ \def\txtbbgamma{{\usefont{U}{stixtwobb}{m}{n}\char13 }}
+ \def\txtbbPi{{\usefont{U}{stixtwobb}{m}{n}\char5 }}
+ \def\txtbbpi{{\usefont{U}{stixtwobb}{m}{n}\char25 }}
+ \def\txtbbdotlessi{{\usefont{U}{stixtwobb}{m}{n}\char123 }}
+ \def\txtbbdotlessj{{\usefont{U}{stixtwobb}{m}{n}\char124 }}
+ \def\txtbbzero{{\usefont{U}{stixtwobb}{m}{n}0}}
+ \def\txtbbone{{\usefont{U}{stixtwobb}{m}{n}1}}
+ \def\txtbbtwo{{\usefont{U}{stixtwobb}{m}{n}2}}
+ \def\txtbbthree{{\usefont{U}{stixtwobb}{m}{n}3}}
+ \def\txtbbfour{{\usefont{U}{stixtwobb}{m}{n}4}}
+ \def\txtbbfive{{\usefont{U}{stixtwobb}{m}{n}5}}
+ \def\txtbbsix{{\usefont{U}{stixtwobb}{m}{n}6}}
+ \def\txtbbseven{{\usefont{U}{stixtwobb}{m}{n}7}}
+ \def\txtbbeight{{\usefont{U}{stixtwobb}{m}{n}8}}
+ \def\txtbbnine{{\usefont{U}{stixtwobb}{m}{n}9}}
+ \fi
+
+\or % stix
+ \DeclareFontFamily{U}{stixonebb}{\skewchar\font=45}%
+ \DeclareFontShape{U}{stixonebb}{m}{n}{
+ <-> \mathalfa@bbscaled stix-mathbb}{}
+ \DeclareFontShape{U}{stixonebb}{m}{it}{
+ <-> \mathalfa@bbscaled stix-mathbbit}{}
+ \DeclareFontShape{U}{stixonebb}{b}{n}{
+ <-> \mathalfa@bbscaled stix-mathbb-bold}{}
+ \DeclareFontShape{U}{stixonebb}{b}{it}{
+ <-> \mathalfa@bbscaled stix-mathbbit-bold}{}
+ \DeclareFontSubstitution{U}{stixonebb}{m}{n}
+ \ifmathalfa@bbsym
+ \DeclareSymbolFont{stixonebbr}{U}{stixonebb}{\mathalfa@bbm}{n}
+ \DeclareSymbolFont{stixonebbi}{U}{stixonebb}{\mathalfa@bbm}{it}
+ \DeclareSymbolFontAlphabet{\mathbb}{stixonebbr}
+ \DeclareSymbolFontAlphabet{\mathbbi}{stixonebbi}
+ \ifmathalfa@bbb\else%
+ \SetSymbolFont{stixonebbr}{bold}{U}{stixonebb}{b}{n}
+ \SetSymbolFont{stixonebbi}{bold}{U}{stixonebb}{b}{it}
+ \DeclareMathAlphabet{\mathbfbbi}{U}{stixonebb}{b}{it}
+ \DeclareMathAlphabet{\mathbfbb}{U}{stixonebb}{b}{n}
+ \fi
+ \DeclareMathSymbol{\bbGamma}{\mathord}{stixonebbr}{0}
+ \DeclareMathSymbol{\bbPi}{\mathord}{stixonebbr}{5}
+ \DeclareMathSymbol{\bbgamma}{\mathord}{stixonebbr}{13}
+ \DeclareMathSymbol{\bbpi}{\mathord}{stixonebbr}{25}
+ \DeclareMathSymbol{\bbdotlessi}{\mathord}{stixonebbr}{123}
+ \DeclareMathSymbol{\bbdotlessj}{\mathord}{stixonebbr}{124}
+ \let\imathbb\bbdotlessi
+ \let\jmathbb\bbdotlessj
+ \else
+ \DeclareMathAlphabet{\mathbb}{U}{stixonebb}{\mathalfa@bbm}{n}
+ \DeclareMathAlphabet{\mathbbi}{U}{stixonebb}{\mathalfa@bbm}{it}
+ \ifmathalfa@bbb\else%
+ \SetMathAlphabet{\mathbb}{bold}{U}{stixonebb}{b}{n}
+ \DeclareMathAlphabet{\mathbfbb} {U}{stixonebb}{b}{n}
+ \SetMathAlphabet{\mathbbi}{bold}{U}{stixonebb}{b}{it}
+ \DeclareMathAlphabet{\mathbfbbi} {U}{stixonebb}{b}{it}
+ \fi
+ \def\txtbbGamma{{\usefont{U}{stixonebb}{m}{n}\char0 }}
+ \def\txtbbgamma{{\usefont{U}{stixonebb}{m}{n}\char13 }}
+ \def\txtbbPi{{\usefont{U}{stixonebb}{m}{n}\char5 }}
+ \def\txtbbpi{{\usefont{U}{stixonebb}{m}{n}\char25 }}
+ \def\txtbbdotlessi{{\usefont{U}{stixonebb}{m}{n}\char123 }}
+ \def\txtbbdotlessj{{\usefont{U}{stixonebb}{m}{n}\char124 }}
+% \def\txtbbzero{{\usefont{U}{stixonebb}{m}{n}0}}
+% \def\txtbbone{{\usefont{U}{stixonebb}{m}{n}1}}
+% \def\txtbbtwo{{\usefont{U}{stixonebb}{m}{n}2}}
+% \def\txtbbthree{{\usefont{U}{stixonebb}{m}{n}3}}
+% \def\txtbbfour{{\usefont{U}{stixonebb}{m}{n}4}}
+% \def\txtbbfive{{\usefont{U}{stixonebb}{m}{n}5}}
+% \def\txtbbsix{{\usefont{U}{stixonebb}{m}{n}6}}
+% \def\txtbbseven{{\usefont{U}{stixonebb}{m}{n}7}}
+% \def\txtbbeight{{\usefont{U}{stixonebb}{m}{n}8}}
+% \def\txtbbnine{{\usefont{U}{stixonebb}{m}{n}9}}
+ \fi
\fi
-% \mathcal
+%%%%%%%%%%%%%%%%%% END \mathbb
+
+
+
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%% START \mathcal
\ifcase\mathalfa@calnr\relax% item 0 of {cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal,pxtx,bickham,stix,txupr,boondoxupr}
\DeclareFontFamily{U}{cmsy}{\skewchar\font48 }
\DeclareFontShape{U}{cmsy}{m}{n}{%
@@ -196,9 +432,11 @@
<7.5-8.5>\mathalfa@calscaled cmbsy8%
<8.5-9.5>\mathalfa@calscaled cmbsy9%
<9.5->\mathalfa@calscaled cmbsy10}{}
- \DeclareMathAlphabet{\mathcal} {U}{cmsy}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{cmsy}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{cmsy}{b}{n}
+ \DeclareMathAlphabet{\mathcal} {U}{cmsy}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{cmsy}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{cmsy}{b}{n}
+ \fi
\or % euler
\DeclareFontFamily{U}{eus}{\skewchar\font'60}
\DeclareFontShape{U}{eus}{m}{n}{<-6>\mathalfa@calscaled eusm5
@@ -207,10 +445,13 @@
\DeclareFontShape{U}{eus}{b}{n}{<-6>\mathalfa@calscaled eusb5
<6-8>\mathalfa@calscaled eusb7
<8->\mathalfa@calscaled eusb10}{}
- \DeclareMathAlphabet{\mathcal} {U}{eus}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{eus}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{eus}{b}{n}
+ \DeclareMathAlphabet{\mathcal} {U}{eus}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{eus}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{eus}{b}{n}
+ \fi
\or % rsfso
+ \ifmathalfa@bcal\mathalpha@boldError{rsfso}{cal}\fi
\DeclareFontFamily{U}{rsfso}{\skewchar \font =45}
\DeclareFontShape{U}{rsfso}{m}{n}{
<-6> \mathalfa@calscaled rsfso5
@@ -218,35 +459,40 @@
<8-> \mathalfa@calscaled rsfso10}{}
\DeclareMathAlphabet{\mathcal}{U}{rsfso}{m}{n}
\or % rsfs
+ \ifmathalfa@bcal\mathalpha@boldError{rsfs}{cal}\fi
\DeclareFontFamily{U}{rsfs}{\skewchar\font127 }
\DeclareFontShape{U}{rsfs}{m}{n}{%
<-6>\mathalfa@calscaled rsfs5%
<6-8>\mathalfa@calscaled rsfs7%
<8->\mathalfa@calscaled rsfs10}{}
- \DeclareSymbolFont{rsfs}{U}{rsfs}{m}{n}
- \DeclareSymbolFontAlphabet{\mathcal}{rsfs}
+ \DeclareMathAlphabet{\mathcal}{U}{rsfs}{m}{n}
\or % lucida
- \iflucid@loaded \PackageError{mathalfa}{Do not use lucida as an option to mathalfa after loading a lucida package}{}\fi
+ \iflucid@loaded \PackageError{mathalpha}{Do not use lucida as an option to mathalpha after loading a lucida package}{}\fi
\DeclareFontFamily{OMS}{lbm}{\skewchar\font48}
\DeclareFontShape{OMS}{lbm}{m}{n}{<->\mathalfa@calscaled hlcry}{}
\DeclareFontShape{OMS}{lbm}{b}{n}{<->\mathalfa@calscaled hlcdy}{}
- \DeclareMathAlphabet{\mathcal} {OMS}{lbm}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{OMS}{lbm}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {OMS}{lbm}{b}{n}
+ \DeclareMathAlphabet{\mathcal} {OMS}{lbm}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{OMS}{lbm}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {OMS}{lbm}{b}{n}
+ \fi
\or % mathpi
- \DeclareFontFamily{U}{mathpical}{\skewchar \font =45}
- \DeclareFontShape{U}{mathpical}{m}{n}{
+ \ifmathalfa@bcal\mathalpha@boldError{mathpi}{cal}\fi
+ \DeclareFontFamily{U}{mathpical}{\skewchar \font =45}
+ \DeclareFontShape{U}{mathpical}{m}{n}{
<-> \mathalfa@calscaled mathpical}{}
- \DeclareMathAlphabet{\mathcal}{U}{mathpical}{m}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{mathpical}{m}{n}
\or % mma
\DeclareFontFamily{U}{mmamcal}{\skewchar \font =45}
\DeclareFontShape{U}{mmamcal}{m}{n}{
<-> \mathalfa@calscaled mmamcal}{}
\DeclareFontShape{U}{mmamcal}{b}{n}{
<-> \mathalfa@calscaled mmambcal}{}
- \DeclareMathAlphabet{\mathcal}{U}{mmamcal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{mmamcal}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{mmamcal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{mmamcal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{mmamcal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{mmamcal}{b}{n}
+ \fi
\or % mt
\@ifpackageloaded{mtpro2}{\mtp@loadedError}{}
\DeclareFontFamily{U}{mt2ms}{\skewchar\font42}%
@@ -259,10 +505,13 @@
\DeclareFontShape{U}{mt2ms}{b}{it}{<-7>\mathalfa@calscaled mt2bmsf%
<7-9>\mathalfa@calscaled mt2bmss%
<9->\mathalfa@calscaled mt2bmst}{}%
- \DeclareMathAlphabet{\mathcal} {U}{mt2ms}{m}{it}
- \SetMathAlphabet{\mathcal}{bold}{U}{mt2ms}{b}{it}
- \DeclareMathAlphabet{\mathbcal} {U}{mt2ms}{b}{it}
+ \DeclareMathAlphabet{\mathcal} {U}{mt2ms}{\mathalfa@calm}{it}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{mt2ms}{b}{it}
+ \DeclareMathAlphabet{\mathbfcal} {U}{mt2ms}{b}{it}
+ \fi
\or % mtc
+ \ifmathalfa@bcal\mathalpha@boldError{mtc}{cal}\fi
\@ifpackageloaded{mtpro2}{\mtp@loadedError}{}
\DeclareFontFamily{U}{mt2ms}{\skewchar\font42}%
\DeclareFontShape{U}{mt2ms}{m}{n}{<-7>\mathalfa@calscaled mt2mcf%
@@ -270,11 +519,13 @@
<9->\mathalfa@calscaled mt2mct}{}%
\DeclareMathAlphabet{\mathcal} {U}{mt2ms}{m}{n}
\or % zapfc
+ \ifmathalfa@bcal\mathalpha@boldError{zapfc}{cal}\fi
\DeclareFontFamily{U}{urwchancal}{\skewchar \font =45}
\DeclareFontShape{U}{urwchancal}{m}{n}{%
<-> \mathalfa@calscaled urwchancal}{}
\DeclareMathAlphabet{\mathcal}{U}{urwchancal}{m}{n}%
\or % esstix
+ \ifmathalfa@bcal\mathalpha@boldError{esstix}{cal}\fi
\DeclareFontFamily{U}{esstixcal}{\skewchar \font =45}
\DeclareFontShape{U}{esstixcal}{m}{n}{
<-> \mathalfa@calscaled esstixcal}{}
@@ -285,98 +536,190 @@
<-> \mathalfa@calscaled BOONDOX-r-cal}{}
\DeclareFontShape{U}{BOONDOX-cal}{b}{n}{
<-> \mathalfa@calscaled BOONDOX-b-cal}{}
- \DeclareMathAlphabet{\mathcal}{U}{BOONDOX-cal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{BOONDOX-cal}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{BOONDOX-cal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{BOONDOX-cal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{BOONDOX-cal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{BOONDOX-cal}{b}{n}
+ \fi
\or %boondoxo
\DeclareFontFamily{U}{BOONDOX-calo}{\skewchar \font =45}
\DeclareFontShape{U}{BOONDOX-calo}{m}{n}{
<-> \mathalfa@calscaled BOONDOX-r-calo}{}
\DeclareFontShape{U}{BOONDOX-calo}{b}{n}{
<-> \mathalfa@calscaled BOONDOX-b-calo}{}
- \DeclareMathAlphabet{\mathcal}{U}{BOONDOX-calo}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{BOONDOX-calo}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{BOONDOX-calo}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{BOONDOX-calo}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{BOONDOX-calo}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{BOONDOX-calo}{b}{n}
+ \fi
\or %dutchcal
\DeclareFontFamily{U}{dutchcal}{\skewchar \font =45}
\DeclareFontShape{U}{dutchcal}{m}{n}{
<-> \mathalfa@calscaled dutchcal-r}{}
\DeclareFontShape{U}{dutchcal}{b}{n}{
<-> \mathalfa@calscaled dutchcal-b}{}
- \DeclareMathAlphabet{\mathcal}{U}{dutchcal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{dutchcal}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{dutchcal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{dutchcal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{dutchcal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{dutchcal}{b}{n}
+ \fi
\or %pxtx
\DeclareFontFamily{U}{txcal}{\skewchar \font =45}
\DeclareFontShape{U}{txcal}{m}{n}{
<-> \mathalfa@calscaled txr-cal}{}
\DeclareFontShape{U}{txcal}{b}{n}{
<-> \mathalfa@calscaled txb-cal}{}
- \DeclareMathAlphabet{\mathcal}{U}{txcal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{txcal}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{txcal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{txcal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{txcal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{txcal}{b}{n}
+ \fi
\or %bickham
\DeclareFontFamily{U}{bickhamcal}{\skewchar \font =45}
\DeclareFontShape{U}{bickhamcal}{m}{n}{
<-> \mathalfa@calscaled bickham-r}{}
\DeclareFontShape{U}{bickhamcal}{b}{n}{
<-> \mathalfa@calscaled bickham-b}{}
- \DeclareMathAlphabet{\mathcal}{U}{bickhamcal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{bickhamcal}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{bickhamcal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{bickhamcal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{bickhamcal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{bickhamcal}{b}{n}
+ \fi
\or %bickhams
+ %\let\bickham@scale=\mathalfa@calscaled
\DeclareFontFamily{U}{bickhamcal}{\skewchar \font =45}
\DeclareFontShape{U}{bickhamcal}{m}{n}{
<-> \mathalfa@calscaled bickham-s}{}
\DeclareFontShape{U}{bickhamcal}{b}{n}{
<-> \mathalfa@calscaled bickham-b}{}
- \DeclareMathAlphabet{\mathcal}{U}{bickhamcal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{bickhamcal}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{bickhamcal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{bickhamcal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{bickhamcal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{bickhamcal}{b}{n}
+ \fi
\or %stix
\DeclareFontFamily{U}{stixcal}{\skewchar\font127 }
\DeclareFontShape{U}{stixcal}{m}{n} {<-> \mathalfa@calscaled stix-mathcal}{}
\DeclareFontShape{U}{stixcal}{b}{n} {<-> \mathalfa@calscaled stix-mathcal-bold}{}
- \DeclareMathAlphabet{\mathcal}{U}{stixcal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{stixcal}{b}{n}
- \DeclareMathAlphabet{\mathbcal} {U}{stixcal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{stixcal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{stixcal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal} {U}{stixcal}{b}{n}
+ \fi
\or %txupr
\DeclareFontFamily{U}{TXuprcal}{\skewchar \font =45}
\DeclareFontShape{U}{TXuprcal}{m}{n}{
<-> \mathalfa@calscaled txUprCal-Regular}{}
\DeclareFontShape{U}{TXuprcal}{b}{n}{
<-> \mathalfa@calscaled txUprCal-Bold}{}
- \DeclareMathAlphabet{\mathcal}{U}{TXuprcal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{TXuprcal}{b}{n}
- \DeclareMathAlphabet{\mathbcal}{U}{TXuprcal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{TXuprcal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{TXuprcal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal}{U}{TXuprcal}{b}{n}
+ \fi
\or %boondoxupr
\DeclareFontFamily{U}{boondoxuprcal}{\skewchar \font =45}
\DeclareFontShape{U}{boondoxuprcal}{m}{n}{
<-> \mathalfa@calscaled BOONDOXUprScr-Regular}{}
\DeclareFontShape{U}{boondoxuprcal}{b}{n}{
<-> \mathalfa@calscaled BOONDOXUprScr-Bold}{}
- \DeclareMathAlphabet{\mathcal}{U}{boondoxuprcal}{m}{n}
- \SetMathAlphabet{\mathcal}{bold}{U}{boondoxuprcal}{b}{n}
- \DeclareMathAlphabet{\mathbcal}{U}{boondoxuprcal}{b}{n}
+ \DeclareMathAlphabet{\mathcal}{U}{boondoxuprcal}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{boondoxuprcal}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal}{U}{boondoxuprcal}{b}{n}
+ \fi
+\or % kp
+ \DeclareFontFamily{U}{jkpsyd}{\skewchar\font =0}
+ \DeclareFontShape{U}{jkpsyd}{m}{n}{
+ <-> \mathalfa@calscaled jkpsyd%
+ }{}
+ \DeclareFontShape{U}{jkpsyd}{b}{n}{
+ <-> \mathalfa@calscaled jkpbsyd%
+ }{}
+ \DeclareMathAlphabet{\mathcal}{U}{jkpsyd}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{jkpsyd}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal}{U}{jkpsyd}{b}{n}
+ \fi
+\or % stixplain
+ \DeclareFontFamily{U}{stixplain}{\skewchar\font =127}
+ \DeclareFontShape{U}{stixplain}{m}{n} {
+ <-> \mathalfa@calscaled stix-mathcal}{}
+ \DeclareFontShape{U}{stixplain}{b}{n} {
+ <-> \mathalfa@calscaled stix-mathcal-bold}{}
+ \DeclareMathAlphabet{\mathcal}{U}{stixplain}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{stixplain}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal}{U}{stixplain}{b}{n}
+ \fi
+\or % stixfancy
+ \DeclareFontFamily{U}{stixfancy}{\skewchar\font =127}
+ \DeclareFontShape{U}{stixfancy}{m}{n} {
+ <-> \mathalfa@calscaled stix-mathscr}{}
+ \DeclareFontShape{U}{stixfancy}{b}{n} {
+ <-> \mathalfa@calscaled stix-mathscr-bold}{}
+ \DeclareMathAlphabet{\mathcal}{U}{stixfancy}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{stixfancy}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal}{U}{stixfancy}{b}{n}
+ \fi
+\or % stixtwoplain
+ \DeclareFontFamily{U}{stixtwoplain}{\skewchar\font =127}
+ \DeclareFontShape{U}{stixtwoplain}{m}{n} {
+ <-> \mathalfa@calscaled stix2-mathcal}{}
+ \DeclareFontShape{U}{stixtwoplain}{b}{n} {
+ <-> \mathalfa@calscaled stix2-mathcal-bold}{}
+ \DeclareMathAlphabet{\mathcal}{U}{stixtwoplain}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{stixtwoplain}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal}{U}{stixtwoplain}{b}{n}
+ \fi
+\or % stixtwofancy
+ \DeclareFontFamily{U}{stixtwofancy}{\skewchar\font =127}
+ \DeclareFontShape{U}{stixtwofancy}{m}{n} {
+ <-> \mathalfa@calscaled stix2-mathscr}{}
+ \DeclareFontShape{U}{stixtwofancy}{b}{n} {
+ <-> \mathalfa@calscaled stix2-mathscr-bold}{}
+ \DeclareMathAlphabet{\mathcal}{U}{stixtwofancy}{\mathalfa@calm}{n}
+ \ifmathalfa@bcal\else%
+ \SetMathAlphabet{\mathcal}{bold}{U}{stixtwofancy}{b}{n}
+ \DeclareMathAlphabet{\mathbfcal}{U}{stixtwofancy}{b}{n}
+ \fi
\fi
-% \mathfrak
+%%%%%%%%%%%%%%%%%% END \mathcal
+
+
+
+
+
+
+
+
+%%%%%%%%%%%%%%%%%% START \mathfrak
+%
\ifcase\mathalfa@fraknr\relax% item 0 of {euler, lucida, mathpi, mma, mt, esstix, boondox, pxtx}
+% euler
\DeclareFontFamily{U}{euf}{}%
- \DeclareFontShape{U}{euf}{m}{n}{<-7>\mathalfa@frakscaled eufm5
+ \DeclareFontShape{U}{euf}{m}{n}{
+ <-7>\mathalfa@frakscaled eufm5
<7-9>\mathalfa@frakscaled eufm7
<9->\mathalfa@frakscaled eufm10}{}%
\DeclareFontShape{U}{euf}{b}{n}{<-7>\mathalfa@frakscaled eufb5
<7-9>\mathalfa@frakscaled eufb7
<9->\mathalfa@frakscaled eufb10}{}%
\DeclareMathAlphabet{\mathfrak}{U}{euf}{m}{n}
- \SetMathAlphabet{\mathfrak}{bold}{U}{euf}{b}{n}
- \DeclareMathAlphabet{\mathbfrak}{U}{euf}{b}{n}
+ \ifmathalfa@bfrak\else%
+ \SetMathAlphabet{\mathfrak}{bold}{U}{euf}{b}{n}
+ \DeclareMathAlphabet{\mathbffrak}{U}{euf}{b}{n}
\or % lucida
- \iflucid@loaded \PackageError{mathalfa}{Do not use lucida as an option to mathalfa after loading a lucida package}{}\fi
+ \iflucid@loaded \PackageError{mathalpha}{Do not use lucida as an option to mathalpha after loading a lucida package}{}\fi
+ \ifmathalfa@bbb\mathalpha@boldError{lucida}{frak}\fi
\DeclareFontFamily{U}{hlcf}{}
- \DeclareFontShape{U}{hlcf}{m}{n}{<->\mathalfa@frakscaled hlcrf8r}{}
- \DeclareMathAlphabet{\mathfrak}{U}{hlcf}{m}{n}
+ \DeclareFontShape{U}{hlcf}{m}{n}{
+ <->\mathalfa@frakscaled hlcrf8r}{}
+ \DeclareMathAlphabet{\mathfrak}{U}{hlcf}{m}{n}
\or % mathpi
+ \ifmathalfa@bbb\mathalpha@boldError{mathpi}{frak}\fi
\DeclareFontFamily{U}{mathpifrak}{\skewchar \font =45}
\DeclareFontShape{U}{mathpifrak}{m}{n}{
<-> \mathalfa@frakscaled mathpifrak}{}
@@ -388,8 +731,9 @@
\DeclareFontShape{U}{mmamfrak}{b}{n}{
<-> \mathalfa@frakscaled mmambfrak}{}
\DeclareMathAlphabet{\mathfrak}{U}{mmamfrak}{m}{n}
- \SetMathAlphabet{\mathfrak}{bold}{U}{mmamfrak}{b}{n}
- \DeclareMathAlphabet{\mathbfrak}{U}{mmamfrak}{b}{n}
+ \ifmathalfa@bfrak\else%
+ \SetMathAlphabet{\mathfrak}{bold}{U}{mmamfrak}{b}{n}
+ \DeclareMathAlphabet{\mathbffrak}{U}{mmamfrak}{b}{n}
\or % mt
%\@ifpackageloaded{mtpro2}{\mtp@loadedError}{} %allow use with mtpro2
\DeclareFontFamily{U}{mt2mf}{}%
@@ -400,9 +744,11 @@
<7-9>\mathalfa@frakscaled mt2bmfs%
<9->\mathalfa@frakscaled mt2bmft}{}%
\DeclareMathAlphabet{\mathfrak}{U}{mt2mf}{m}{n}
- \SetMathAlphabet{\mathfrak}{bold}{U}{mt2mf}{b}{n}
- \DeclareMathAlphabet{\mathbfrak}{U}{mt2mf}{b}{n}
+ \ifmathalfa@bfrak\else%
+ \SetMathAlphabet{\mathfrak}{bold}{U}{mt2mf}{b}{n}
+ \DeclareMathAlphabet{\mathbffrak}{U}{mt2mf}{b}{n}
\or % esstix
+ \ifmathalfa@bbb\mathalpha@boldError{esstix}{frak}\fi
\DeclareFontFamily{U}{esstixfrak}{\skewchar \font =45}
\DeclareFontShape{U}{esstixfrak}{m}{n}{
<-> \mathalfa@frakscaled esstixfrak}{}
@@ -414,79 +760,148 @@
\DeclareFontShape{U}{BOONDOX-frak}{b}{n}{
<-> \mathalfa@frakscaled BOONDOX-b-frak}{}
\DeclareMathAlphabet{\mathfrak}{U}{BOONDOX-frak}{m}{n}
- \SetMathAlphabet{\mathfrak}{bold}{U}{BOONDOX-frak}{b}{n}
- \DeclareMathAlphabet{\mathbfrak} {U}{BOONDOX-frak}{b}{n}
+ \ifmathalfa@bfrak\else%
+ \SetMathAlphabet{\mathfrak}{bold}{U}{BOONDOX-frak}{b}{n}
+ \DeclareMathAlphabet{\mathbffrak} {U}{BOONDOX-frak}{b}{n}
\or % pxtx
- \DeclareFontFamily{U}{txfrak}{\skewchar \font =45}
+ \DeclareFontFamily{U}{txfrak}{\skewchar \font =127}
\DeclareFontShape{U}{txfrak}{m}{n}{
<-> \mathalfa@frakscaled txr-frak}{}
\DeclareFontShape{U}{txfrak}{b}{n}{
<-> \mathalfa@frakscaled txb-frak}{}
- \DeclareMathAlphabet{\mathfrak}{U}{txfrak}{m}{n}
- \SetMathAlphabet{\mathfrak}{bold}{U}{txfrak}{b}{n}
- \DeclareMathAlphabet{\mathbfrak} {U}{txfrak}{b}{n}
+ \DeclareMathAlphabet{\mathfrak}{U}{txfrak}{\mathalfa@frakm}{n}
+ \ifmathalfa@bfrak\else%
+ \SetMathAlphabet{\mathfrak}{bold}{U}{txfrak}{b}{n}
+ \DeclareMathAlphabet{\mathbffrak} {U}{txfrak}{b}{n}
+\or % stixtwo
+ \DeclareFontFamily{U}{stix2frak}{\skewchar\font127 }
+ \DeclareFontShape{U}{stix2frak}{m}{n} {
+ <-> \mathalfa@frakscaled stix2-mathfrak}{}
+ \DeclareFontShape{U}{stix2frak}{b}{n} {
+ <->\mathalfa@frakscaled stix2-mathfrak-bold}{}
+ \DeclareMathAlphabet{\mathfrak}{U}{stix2frak}{m}{n}
+ \ifmathalfa@bfrak\else%
+ \SetMathAlphabet{\mathfrak}{bold}{U}{stix2frak}{b}{n}
+ \DeclareMathAlphabet{\mathbffrak} {U}{stix2frak}{b}{n}
\fi
-% \mathscr
-\ifcase\mathalfa@scrnr\relax% item 0 of {rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal,pxtx, bickham, bickhams,txupr,boondoxupr}
- %rsfs--avoid using mathrsfs so as to avoid rounding of sizes and to get scaling
- \DeclareFontFamily{U}{rsfs}{\skewchar\font127 }
- \DeclareFontShape{U}{rsfs}{m}{n}{%
- <-6>\mathalfa@scrscaled rsfs5%
- <6-8>\mathalfa@scrscaled rsfs7%
- <8->\mathalfa@scrscaled rsfs10}{}
- \DeclareSymbolFont{rsfs}{U}{rsfs}{m}{n}
- \DeclareSymbolFontAlphabet{\mathscr}{rsfs}
+%%%%%%%%%%%%%%%%%% END \mathfrak
+
+
+
+
+
+%%%%%%%%%%%%%%%%%% START \mathscr
+\ifcase\mathalfa@scrnr\relax%
+%cm
+ \DeclareFontFamily{U}{cmsy}{\skewchar\font48 }
+ \DeclareFontShape{U}{cmsy}{m}{n}{%
+ <-5.5>\mathalfa@scrscaled cmsy5%
+ <5.5-6.5>\mathalfa@scrscaled cmsy6%
+ <6.5-7.5>\mathalfa@scrscaled cmsy7%
+ <7.5-8.5>\mathalfa@scrscaled cmsy8%
+ <8.5-9.5>\mathalfa@scrscaled cmsy9%
+ <9.5->\mathalfa@scrscaled cmsy10}{}
+ \DeclareFontShape{U}{cmsy}{b}{n}{%
+ <-5.5>\mathalfa@scrscaled cmbsy5%
+ <5.5-6.5>\mathalfa@scrscaled cmbsy6%
+ <6.5-7.5>\mathalfa@scrscaled cmbsy7%
+ <7.5-8.5>\mathalfa@scrscaled cmbsy8%
+ <8.5-9.5>\mathalfa@scrscaled cmbsy9%
+ <9.5->\mathalfa@scrscaled cmbsy10}{}
+ \DeclareMathAlphabet{\mathscr} {U}{cmsy}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{cmsy}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{cmsy}{b}{n}
+ \fi
+\or % euler
+ \DeclareFontFamily{U}{eus}{\skewchar\font'60}
+ \DeclareFontShape{U}{eus}{m}{n}{<-6>\mathalfa@scrscaled eusm5
+ <6-8>\mathalfa@scrscaled eusm7
+ <8->\mathalfa@scrscaled eusm10}{}
+ \DeclareFontShape{U}{eus}{b}{n}{<-6>\mathalfa@scrscaled eusb5
+ <6-8>\mathalfa@scrscaled eusb7
+ <8->\mathalfa@scrscaled eusb10}{}
+ \DeclareMathAlphabet{\mathscr} {U}{eus}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{eus}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{eus}{b}{n}
+ \fi
\or % rsfso
+ \ifmathalfa@bscr\mathalpha@boldError{rsfso}{scr}\fi
\DeclareFontFamily{U}{rsfso}{\skewchar \font =45}
\DeclareFontShape{U}{rsfso}{m}{n}{
<-6> \mathalfa@scrscaled rsfso5
<6-8> \mathalfa@scrscaled rsfso7
<8-> \mathalfa@scrscaled rsfso10}{}
\DeclareMathAlphabet{\mathscr}{U}{rsfso}{m}{n}
-\or % euler
- \DeclareFontFamily{U}{eus}{\skewchar\font'60}
- \DeclareFontShape{U}{eus}{m}{n}{<-6>\mathalfa@scrscaled eusm5
- <6-8>\mathalfa@scrscaled eusm7
- <8->\mathalfa@scrscaled eusm10}{}
- \DeclareFontShape{U}{eus}{b}{n}{\mathalfa@scrscaled<-6>eusb5<6-8>eusb7<8->eusb10}{}
- \DeclareMathAlphabet{\mathscr} {U}{eus}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{eus}{b}{n}
- \DeclareMathAlphabet{\mathbscr} {U}{eus}{b}{n}
+\or % rsfs
+ \ifmathalfa@bscr\mathalpha@boldError{rsfs}{scr}\fi
+ \DeclareFontFamily{U}{rsfs}{\skewchar\font127 }
+ \DeclareFontShape{U}{rsfs}{m}{n}{%
+ <-6>\mathalfa@scrscaled rsfs5%
+ <6-8>\mathalfa@scrscaled rsfs7%
+ <8->\mathalfa@scrscaled rsfs10}{}
+ \DeclareMathAlphabet{\mathscr}{U}{rsfs}{m}{n}
\or % lucida
- \iflucid@loaded \PackageError{mathalfa}{Do not use lucida as an option to mathalfa after loading a lucida package}{}\fi
+ \iflucid@loaded \PackageError{mathalpha}{Do not use lucida as an option to mathalpha after loading a lucida package}{}\fi
\DeclareFontFamily{OMS}{lbm}{\skewchar\font48}
\DeclareFontShape{OMS}{lbm}{m}{n}{<->\mathalfa@scrscaled hlcry}{}
\DeclareFontShape{OMS}{lbm}{b}{n}{<->\mathalfa@scrscaled hlcdy}{}
- \DeclareMathAlphabet{\mathscr} {OMS}{lbm}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{OMS}{lbm}{b}{n}
- \DeclareMathAlphabet{\mathbscr} {OMS}{lbm}{b}{n}
+ \DeclareMathAlphabet{\mathscr} {OMS}{lbm}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{OMS}{lbm}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {OMS}{lbm}{b}{n}
+ \fi
\or % mathpi
- \DeclareFontFamily{U}{mathpical}{\skewchar \font =45}
- \DeclareFontShape{U}{mathpical}{m}{n}{
+ \ifmathalfa@bscr\mathalpha@boldError{mathpi}{scr}\fi
+ \DeclareFontFamily{U}{mathpiscr}{\skewchar \font =45}
+ \DeclareFontShape{U}{mathpiscr}{m}{n}{
<-> \mathalfa@scrscaled mathpical}{}
- \DeclareMathAlphabet{\mathscr}{U}{mathpical}{m}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{mathpiscr}{m}{n}
\or % mma
- \DeclareFontFamily{U}{mmamcal}{\skewchar \font =45}
- \DeclareFontShape{U}{mmamcal}{m}{n}{
+ \DeclareFontFamily{U}{mmamscr}{\skewchar \font =45}
+ \DeclareFontShape{U}{mmamscr}{m}{n}{
<-> \mathalfa@scrscaled mmamcal}{}
- \DeclareFontShape{U}{mmamcal}{b}{n}{
+ \DeclareFontShape{U}{mmamscr}{b}{n}{
<-> \mathalfa@scrscaled mmambcal}{}
- \DeclareMathAlphabet{\mathscr}{U}{mmacal}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{mmacal}{b}{n}
- \DeclareMathAlphabet{\mathbscr} {U}{mmacal}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{mmamscr}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{mmamscr}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{mmamscr}{b}{n}
+ \fi
+\or % mt
+ \@ifpackageloaded{mtpro2}{\mtp@loadedError}{}
+ \DeclareFontFamily{U}{mt2msc}{\skewchar\font42}%
+% \DeclareFontShape{U}{mt2msc}{m}{n}{<-7>\mathalfa@scrscaled mt2mcf%
+% <7-9>\mathalfa@scrscaled mt2mcs%
+% <9->\mathalfa@scrscaled mt2mct}{}%
+ \DeclareFontShape{U}{mt2msc}{m}{it}{<-7>\mathalfa@scrscaled mt2msf%
+ <7-9>\mathalfa@scrscaled mt2mss%
+ <9->\mathalfa@scrscaled mt2mst}{}%
+ \DeclareFontShape{U}{mt2msc}{b}{it}{<-7>\mathalfa@scrscaled mt2bmsf%
+ <7-9>\mathalfa@scrscaled mt2bmss%
+ <9->\mathalfa@scrscaled mt2bmst}{}%
+ \DeclareMathAlphabet{\mathscr} {U}{mt2msc}{\mathalfa@scrm}{it}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{mt2msc}{b}{it}
+ \DeclareMathAlphabet{\mathbfscr} {U}{mt2msc}{b}{it}
+ \fi
\or % mtc
+ \ifmathalfa@bscr\mathalpha@boldError{mtc}{scr}\fi
\@ifpackageloaded{mtpro2}{\mtp@loadedError}{}
\DeclareFontFamily{U}{mt2msc}{\skewchar\font42}%
\DeclareFontShape{U}{mt2msc}{m}{n}{<-7>\mathalfa@scrscaled mt2mcf%
<7-9>\mathalfa@scrscaled mt2mcs%
<9->\mathalfa@scrscaled mt2mct}{}%
\DeclareMathAlphabet{\mathscr} {U}{mt2msc}{m}{n}
-\or % zapfc->urwchancal
+\or % zapfc
+ \ifmathalfa@bscr\mathalpha@boldError{zapfc}{scr}\fi
\DeclareFontFamily{U}{urwchanscr}{\skewchar \font =45}
\DeclareFontShape{U}{urwchanscr}{m}{n}{%
<-> \mathalfa@scrscaled urwchancal}{}
\DeclareMathAlphabet{\mathscr}{U}{urwchanscr}{m}{n}%
\or % esstix
+ \ifmathalfa@bscr\mathalpha@boldError{esstix}{scr}\fi
\DeclareFontFamily{U}{esstixscr}{\skewchar \font =45}
\DeclareFontShape{U}{esstixscr}{m}{n}{
<-> \mathalfa@scrscaled esstixcal}{}
@@ -497,72 +912,98 @@
<-> \mathalfa@scrscaled BOONDOX-r-cal}{}
\DeclareFontShape{U}{BOONDOX-scr}{b}{n}{
<-> \mathalfa@scrscaled BOONDOX-b-cal}{}
- \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-scr}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-scr}{b}{n}
- \DeclareMathAlphabet{\mathbscr} {U}{BOONDOX-scr}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-scr}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-scr}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{BOONDOX-scr}{b}{n}
+ \fi
\or %boondoxo
\DeclareFontFamily{U}{BOONDOX-scro}{\skewchar \font =45}
\DeclareFontShape{U}{BOONDOX-scro}{m}{n}{
<-> \mathalfa@scrscaled BOONDOX-r-calo}{}
\DeclareFontShape{U}{BOONDOX-scro}{b}{n}{
<-> \mathalfa@scrscaled BOONDOX-b-calo}{}
- \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-scro}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-scro}{b}{n}
- \DeclareMathAlphabet{\mathbscr} {U}{BOONDOX-scro}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-scro}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-scro}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{BOONDOX-scro}{b}{n}
+ \fi
\or %dutchcal
\DeclareFontFamily{U}{dutchscr}{\skewchar \font =45}
\DeclareFontShape{U}{dutchscr}{m}{n}{
<-> \mathalfa@scrscaled dutchcal-r}{}
\DeclareFontShape{U}{dutchscr}{b}{n}{
<-> \mathalfa@scrscaled dutchcal-b}{}
- \DeclareMathAlphabet{\mathscr}{U}{dutchscr}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{dutchscr}{b}{n}
- \DeclareMathAlphabet{\mathbscr}{U}{dutchscr}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{dutchscr}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{dutchscr}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{dutchscr}{b}{n}
+ \fi
\or %pxtx
\DeclareFontFamily{U}{txscr}{\skewchar \font =45}
\DeclareFontShape{U}{txscr}{m}{n}{
<-> \mathalfa@scrscaled txr-cal}{}
\DeclareFontShape{U}{txscr}{b}{n}{
<-> \mathalfa@scrscaled txb-cal}{}
- \DeclareMathAlphabet{\mathscr}{U}{txscr}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{txscr}{b}{n}
- \DeclareMathAlphabet{\mathbscr} {U}{txscr}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{txscr}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{txscr}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{txscr}{b}{n}
+ \fi
\or %bickham
\DeclareFontFamily{U}{bickhamscr}{\skewchar \font =45}
\DeclareFontShape{U}{bickhamscr}{m}{n}{
<-> \mathalfa@scrscaled bickham-r}{}
\DeclareFontShape{U}{bickhamscr}{b}{n}{
<-> \mathalfa@scrscaled bickham-b}{}
- \DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n}
- \DeclareMathAlphabet{\mathbscr} {U}{bickhamscr}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{bickhamscr}{b}{n}
+ \fi
\or %bickhams
+ %\let\bickham@scale=\mathalfa@scrscaled
\DeclareFontFamily{U}{bickhamscr}{\skewchar \font =45}
\DeclareFontShape{U}{bickhamscr}{m}{n}{
<-> \mathalfa@scrscaled bickham-s}{}
\DeclareFontShape{U}{bickhamscr}{b}{n}{
<-> \mathalfa@scrscaled bickham-b}{}
- \DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n}
- \DeclareMathAlphabet{\mathbscr} {U}{bickhamscr}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{bickhamscr}{b}{n}
+ \fi
+\or %stix
+ \DeclareFontFamily{U}{stixscr}{\skewchar\font127 }
+ \DeclareFontShape{U}{stixscr}{m}{n} {<-> \mathalfa@scrscaled stix-mathcal}{}
+ \DeclareFontShape{U}{stixscr}{b}{n} {<-> \mathalfa@scrscaled stix-mathcal-bold}{}
+ \DeclareMathAlphabet{\mathscr}{U}{stixscr}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{stixscr}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr} {U}{stixscr}{b}{n}
+ \fi
\or %txupr
\DeclareFontFamily{U}{txuprscr}{\skewchar \font =45}
\DeclareFontShape{U}{txuprscr}{m}{n}{
<-> \mathalfa@scrscaled txUprCal-Regular}{}
\DeclareFontShape{U}{txuprscr}{b}{n}{
<-> \mathalfa@scrscaled txUprCal-Bold}{}
- \DeclareMathAlphabet{\mathscr}{U}{txuprscr}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{txuprscr}{b}{n}
- \DeclareMathAlphabet{\mathbscr}{U}{txuprscr}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{txuprscr}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{txuprscr}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr}{U}{txuprscr}{b}{n}
+ \fi
\or %boondoxupr
- \DeclareFontFamily{U}{Boondoxuprs}{\skewchar \font =45}
- \DeclareFontShape{U}{Boondoxuprs}{m}{n}{
+ \DeclareFontFamily{U}{boondoxuprs}{\skewchar \font =45}
+ \DeclareFontShape{U}{boondoxuprs}{m}{n}{
<-> \mathalfa@scrscaled BOONDOXUprScr-Regular}{}
- \DeclareFontShape{U}{Boondoxuprs}{b}{n}{
+ \DeclareFontShape{U}{boondoxuprs}{b}{n}{
<-> \mathalfa@scrscaled BOONDOXUprScr-Bold}{}
- \DeclareMathAlphabet{\mathscr}{U}{Boondoxuprs}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{Boondoxuprs}{b}{n}
- \DeclareMathAlphabet{\mathbscr}{U}{Boondoxuprs}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{boondoxuprs}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{boondoxuprs}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr}{U}{boondoxuprs}{b}{n}
+ \fi
\or % kp
\DeclareFontFamily{U}{jkpsyd}{\skewchar\font =0}
\DeclareFontShape{U}{jkpsyd}{m}{n}{
@@ -571,26 +1012,309 @@
\DeclareFontShape{U}{jkpsyd}{b}{n}{
<-> \mathalfa@scrscaled jkpbsyd%
}{}
- \DeclareMathAlphabet{\mathscr}{U}{jkpsyd}{m}{n}
- \SetMathAlphabet{\mathscr}{bold}{U}{jkpsyd}{b}{n}
- \DeclareMathAlphabet{\mathbscr}{U}{jkpsyd}{b}{n}
+ \DeclareMathAlphabet{\mathscr}{U}{jkpsyd}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{jkpsyd}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr}{U}{jkpsyd}{b}{n}
+ \fi
+\or % stixplain
+ \DeclareFontFamily{U}{stixplains}{\skewchar\font =127}
+ \DeclareFontShape{U}{stixplains}{m}{n} {
+ <-> \mathalfa@scrscaled stix-mathcal}{}
+ \DeclareFontShape{U}{stixplains}{b}{n} {
+ <-> \mathalfa@scrscaled stix-mathcal-bold}{}
+ \DeclareMathAlphabet{\mathscr}{U}{stixplains}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{stixplains}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr}{U}{stixplains}{b}{n}
+ \fi
+\or % stixfancy
+ \DeclareFontFamily{U}{stixfancys}{\skewchar\font =127}
+ \DeclareFontShape{U}{stixfancys}{m}{n} {
+ <-> \mathalfa@scrscaled stix-mathscr}{}
+ \DeclareFontShape{U}{stixfancys}{b}{n} {
+ <-> \mathalfa@scrscaled stix-mathscr-bold}{}
+ \DeclareMathAlphabet{\mathscr}{U}{stixfancys}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{stixfancys}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr}{U}{stixfancys}{b}{n}
+ \fi
+\or % stixtwoplain
+ \DeclareFontFamily{U}{stixtwoplains}{\skewchar\font =127}
+ \DeclareFontShape{U}{stixtwoplains}{m}{n} {
+ <-> \mathalfa@scrscaled stix2-mathcal}{}
+ \DeclareFontShape{U}{stixtwoplains}{b}{n} {
+ <-> \mathalfa@scrscaled stix2-mathcal-bold}{}
+ \DeclareMathAlphabet{\mathscr}{U}{stixtwoplains}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{stixtwoplains}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr}{U}{stixtwoplains}{b}{n}
+ \fi
+\or % stixtwofancys
+ \DeclareFontFamily{U}{stixtwofancys}{\skewchar\font =127}
+ \DeclareFontShape{U}{stixtwofancys}{m}{n} {
+ <-> \mathalfa@scrscaled stix2-mathscr}{}
+ \DeclareFontShape{U}{stixtwofancys}{b}{n} {
+ <-> \mathalfa@scrscaled stix2-mathscr-bold}{}
+ \DeclareMathAlphabet{\mathscr}{U}{stixtwofancys}{\mathalfa@scrm}{n}
+ \ifmathalfa@bscr\else%
+ \SetMathAlphabet{\mathscr}{bold}{U}{stixtwofancys}{b}{n}
+ \DeclareMathAlphabet{\mathbfscr}{U}{stixtwofancys}{b}{n}
+ \fi
\fi
-\ifnum\mathalfa@bbnr>-1\relax \def\Bbb{}\let\Bbb\mathbb\fi
-\ifx\mathbcal\@undefined\def\mathbcal{\PackageError{mathalfa}
- {There is no bold variant of the calligraphic font}
- {Type <return> to proceed; \protect\mathbcal\space will be ignored.}
- }\fi%
-\ifx\mathbbb\@undefined\def\mathbbb{\PackageError{mathalfa}
- {There is no bold variant of the blackboard bold font}
- {Type <return> to proceed; \protect\mathbbb\space will be ignored.}
- }\fi%
-\ifx\mathbfrak\@undefined\def\mathbfrak{\PackageError{mathalfa}
- {There is no bold variant of the fraktur font}
- {Type <return> to proceed; \protect\mathbfrak\space will be ignored.}
- }\fi%
-\ifx\mathbscr\@undefined\def\mathbscr{\PackageError{mathalfa}
- {There is no bold variant of the script font}
- {Type <return> to proceed; \protect\mathbscr\space will be ignored.}
- }\fi%
+%%%%%%%%%%%%%%%%%% END \mathscr
+
+\ifmathalfa@bfrak\let\mathbffrak\mathfrak\fi
+\ifmathalfa@bbb\let\mathbfbb\mathbb\fi
+\ifmathalfa@bcal\let\mathbfcal\mathcal\fi
+\ifmathalfa@bscr\let\mathbfscr\mathscr\fi
+
+\ifmathalfa@oldbold\let\mathbbb\mathbfbb \let\mathbfrak\mathbffrak \let\mathbcal\mathbfcal \let\mathbscr\mathbfscr\fi
+
+%%%%%%%%%%%%%%%%%% START old \mathscr
+%
+%\ifcase\mathalfa@scrnr\relax% item 0 of {cm, euler, rsfso, rsfs, lucida, mathpi, mma, mt, mtc, zapfc, esstix, boondox, boondoxo, dutchcal, pxtx, bickham, bickhams, stix, txupr, boondoxupr, kp}
+%% was {rsfs, rsfso, euler, lucida, mathpi, mma, mtc, zapfc, esstix, boondox, boondoxo, dutchcal,pxtx, bickham, bickhams, txupr,boondoxupr}
+% %rsfs--avoid using mathrsfs so as to avoid rounding of sizes and to get scaling
+% \DeclareFontFamily{U}{cmsy}{\skewchar\font48 }
+% \DeclareFontShape{U}{cmsy}{m}{n}{%
+% <-5.5>\mathalfa@scrscaled cmsy5%
+% <5.5-6.5>\mathalfa@scrscaled cmsy6%
+% <6.5-7.5>\mathalfa@scrscaled cmsy7%
+% <7.5-8.5>\mathalfa@scrscaled cmsy8%
+% <8.5-9.5>\mathalfa@scrscaled cmsy9%
+% <9.5->\mathalfa@scrscaled cmsy10}{}
+% \DeclareFontShape{U}{cmsy}{b}{n}{%
+% <-5.5>\mathalfa@scrscaled cmbsy5%
+% <5.5-6.5>\mathalfa@scrscaled cmbsy6%
+% <6.5-7.5>\mathalfa@scrscaled cmbsy7%
+% <7.5-8.5>\mathalfa@scrscaled cmbsy8%
+% <8.5-9.5>\mathalfa@scrscaled cmbsy9%
+% <9.5->\mathalfa@scrscaled cmbsy10}{}
+% \DeclareMathAlphabet{\mathscr} {U}{cmsy}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{cmsy}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{cmsy}{b}{n}
+%\or % euler
+% \DeclareFontFamily{U}{eus}{\skewchar\font'60}
+% \DeclareFontShape{U}{eus}{m}{n}{<-6>\mathalfa@scrscaled eusm5
+% <6-8>\mathalfa@scrscaled eusm7
+% <8->\mathalfa@scrscaled eusm10}{}
+% \DeclareFontShape{U}{eus}{b}{n}{\mathalfa@scrscaled<-6>eusb5<6-8>eusb7<8->eusb10}{}
+% \DeclareMathAlphabet{\mathscr} {U}{eus}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{eus}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{eus}{b}{n}
+%\or % rsfso
+% \DeclareFontFamily{U}{rsfso}{\skewchar \font =45}
+% \DeclareFontShape{U}{rsfso}{m}{n}{
+% <-6> \mathalfa@scrscaled rsfso5
+% <6-8> \mathalfa@scrscaled rsfso7
+% <8-> \mathalfa@scrscaled rsfso10}{}
+% \DeclareMathAlphabet{\mathscr}{U}{rsfso}{m}{n}
+%\or % rsfs
+% \DeclareFontFamily{U}{rsfs}{\skewchar\font127 }
+% \DeclareFontShape{U}{rsfs}{m}{n}{%
+% <-6>\mathalfa@scrscaled rsfs5%
+% <6-8>\mathalfa@scrscaled rsfs7%
+% <8->\mathalfa@scrscaled rsfs10}{}
+% %\DeclareSymbolFont{rsfs}{U}{rsfs}{m}{n}
+% \DeclareMathAlphabet{\mathscr}{U}{rsfs}{m}{n}
+%\or % lucida
+% \iflucid@loaded \PackageError{mathalpha}{Do not use lucida as an option to mathalpha after loading a lucida package}{}\fi
+% \DeclareFontFamily{OMS}{lbm}{\skewchar\font48}
+% \DeclareFontShape{OMS}{lbm}{m}{n}{<->\mathalfa@scrscaled hlcry}{}
+% \DeclareFontShape{OMS}{lbm}{b}{n}{<->\mathalfa@scrscaled hlcdy}{}
+% \DeclareMathAlphabet{\mathscr} {OMS}{lbm}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{OMS}{lbm}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {OMS}{lbm}{b}{n}
+%\or % mathpi
+% \DeclareFontFamily{U}{mathpical}{\skewchar \font =45}
+% \DeclareFontShape{U}{mathpical}{m}{n}{
+% <-> \mathalfa@scrscaled mathpical}{}
+% \DeclareMathAlphabet{\mathscr}{U}{mathpical}{m}{n}
+%\or % mma
+% \DeclareFontFamily{U}{mmamcal}{\skewchar \font =45}
+% \DeclareFontShape{U}{mmamcal}{m}{n}{
+% <-> \mathalfa@scrscaled mmamcal}{}
+% \DeclareFontShape{U}{mmamcal}{b}{n}{
+% <-> \mathalfa@scrscaled mmambcal}{}
+% \DeclareMathAlphabet{\mathscr}{U}{mmacal}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{mmacal}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{mmacal}{b}{n}
+%\or % mt
+% \@ifpackageloaded{mtpro2}{\mtp@loadedError}{}
+% \DeclareFontFamily{U}{mt2ms}{\skewchar\font42}%
+%% \DeclareFontShape{U}{mt2ms}{m}{n}{<-7>\mathalfa@calscaled mt2mcf%
+%% <7-9>\mathalfa@calscaled mt2mcs%
+%% <9->\mathalfa@calscaled mt2mct}{}%
+% \DeclareFontShape{U}{mt2ms}{m}{it}{<-7>\mathalfa@scrscaled mt2msf%
+% <7-9>\mathalfa@scrscaled mt2mss%
+% <9->\mathalfa@scrscaled mt2mst}{}%
+% \DeclareFontShape{U}{mt2ms}{b}{it}{<-7>\mathalfa@scrscaled mt2bmsf%
+% <7-9>\mathalfa@scrscaled mt2bmss%
+% <9->\mathalfa@scrscaled mt2bmst}{}%
+% \DeclareMathAlphabet{\mathscr} {U}{mt2ms}{m}{it}
+% \SetMathAlphabet{\mathscr}{bold}{U}{mt2ms}{b}{it}
+% \DeclareMathAlphabet{\mathbfscr} {U}{mt2ms}{b}{it}
+%\or % mtc
+% \@ifpackageloaded{mtpro2}{\mtp@loadedError}{}
+% \DeclareFontFamily{U}{mt2msc}{\skewchar\font42}%
+% \DeclareFontShape{U}{mt2msc}{m}{n}{<-7>\mathalfa@scrscaled mt2mcf%
+% <7-9>\mathalfa@scrscaled mt2mcs%
+% <9->\mathalfa@scrscaled mt2mct}{}%
+% \DeclareMathAlphabet{\mathscr} {U}{mt2msc}{m}{n}
+%\or % zapfc->urwchancal
+% \DeclareFontFamily{U}{urwchanscr}{\skewchar \font =45}
+% \DeclareFontShape{U}{urwchanscr}{m}{n}{%
+% <-> \mathalfa@scrscaled urwchancal}{}
+% \DeclareMathAlphabet{\mathscr}{U}{urwchanscr}{m}{n}%
+%\or % esstix
+% \DeclareFontFamily{U}{esstixscr}{\skewchar \font =45}
+% \DeclareFontShape{U}{esstixscr}{m}{n}{
+% <-> \mathalfa@scrscaled esstixcal}{}
+% \DeclareMathAlphabet{\mathscr}{U}{esstixscr}{m}{n}
+%\or %boondox
+% \DeclareFontFamily{U}{BOONDOX-scr}{\skewchar \font =45}
+% \DeclareFontShape{U}{BOONDOX-scr}{m}{n}{
+% <-> \mathalfa@scrscaled BOONDOX-r-cal}{}
+% \DeclareFontShape{U}{BOONDOX-scr}{b}{n}{
+% <-> \mathalfa@scrscaled BOONDOX-b-cal}{}
+% \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-scr}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-scr}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{BOONDOX-scr}{b}{n}
+%\or %boondoxo
+% \DeclareFontFamily{U}{BOONDOX-scro}{\skewchar \font =45}
+% \DeclareFontShape{U}{BOONDOX-scro}{m}{n}{
+% <-> \mathalfa@scrscaled BOONDOX-r-calo}{}
+% \DeclareFontShape{U}{BOONDOX-scro}{b}{n}{
+% <-> \mathalfa@scrscaled BOONDOX-b-calo}{}
+% \DeclareMathAlphabet{\mathscr}{U}{BOONDOX-scro}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{BOONDOX-scro}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{BOONDOX-scro}{b}{n}
+%\or %dutchcal
+% \DeclareFontFamily{U}{dutchscr}{\skewchar \font =45}
+% \DeclareFontShape{U}{dutchscr}{m}{n}{
+% <-> \mathalfa@scrscaled dutchcal-r}{}
+% \DeclareFontShape{U}{dutchscr}{b}{n}{
+% <-> \mathalfa@scrscaled dutchcal-b}{}
+% \DeclareMathAlphabet{\mathscr}{U}{dutchscr}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{dutchscr}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr}{U}{dutchscr}{b}{n}
+%\or %pxtx
+% \DeclareFontFamily{U}{txscr}{\skewchar \font =45}
+% \DeclareFontShape{U}{txscr}{m}{n}{
+% <-> \mathalfa@scrscaled txr-cal}{}
+% \DeclareFontShape{U}{txscr}{b}{n}{
+% <-> \mathalfa@scrscaled txb-cal}{}
+% \DeclareMathAlphabet{\mathscr}{U}{txscr}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{txscr}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{txscr}{b}{n}
+%\or %bickham
+% \DeclareFontFamily{U}{bickhamscr}{\skewchar \font =45}
+% \DeclareFontShape{U}{bickhamscr}{m}{n}{
+% <-> \mathalfa@scrscaled bickham-r}{}
+% \DeclareFontShape{U}{bickhamscr}{b}{n}{
+% <-> \mathalfa@scrscaled bickham-b}{}
+% \DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{bickhamscr}{b}{n}
+%\or %bickhams
+% \DeclareFontFamily{U}{bickhamscr}{\skewchar \font =45}
+% \DeclareFontShape{U}{bickhamscr}{m}{n}{
+% <-> \mathalfa@scrscaled bickham-s}{}
+% \DeclareFontShape{U}{bickhamscr}{b}{n}{
+% <-> \mathalfa@scrscaled bickham-b}{}
+% \DeclareMathAlphabet{\mathscr}{U}{bickhamscr}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{bickhamscr}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{bickhamscr}{b}{n}
+%\or %stix
+% \DeclareFontFamily{U}{stixscr}{\skewchar\font127 }
+% \DeclareFontShape{U}{stixscr}{m}{n} {<-> \mathalfa@scrscaled stix-mathcal}{}
+% \DeclareFontShape{U}{stixscr}{b}{n} {<-> \mathalfa@scrscaled stix-mathcal-bold}{}
+% \DeclareMathAlphabet{\mathscr}{U}{stixscr}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{stixscr}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr} {U}{stixscr}{b}{n}
+%\or %txupr
+% \DeclareFontFamily{U}{txuprscr}{\skewchar \font =45}
+% \DeclareFontShape{U}{txuprscr}{m}{n}{
+% <-> \mathalfa@scrscaled txUprCal-Regular}{}
+% \DeclareFontShape{U}{txuprscr}{b}{n}{
+% <-> \mathalfa@scrscaled txUprCal-Bold}{}
+% \DeclareMathAlphabet{\mathscr}{U}{txuprscr}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{txuprscr}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr}{U}{txuprscr}{b}{n}
+%\or %boondoxupr
+% \DeclareFontFamily{U}{Boondoxuprs}{\skewchar \font =45}
+% \DeclareFontShape{U}{Boondoxuprs}{m}{n}{
+% <-> \mathalfa@scrscaled BOONDOXUprScr-Regular}{}
+% \DeclareFontShape{U}{Boondoxuprs}{b}{n}{
+% <-> \mathalfa@scrscaled BOONDOXUprScr-Bold}{}
+% \DeclareMathAlphabet{\mathscr}{U}{Boondoxuprs}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{Boondoxuprs}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr}{U}{Boondoxuprs}{b}{n}
+%\or % kp
+% \DeclareFontFamily{U}{jkpsyd}{\skewchar\font =0}
+% \DeclareFontShape{U}{jkpsyd}{m}{n}{
+% <-> \mathalfa@scrscaled jkpsyd%
+% }{}
+% \DeclareFontShape{U}{jkpsyd}{b}{n}{
+% <-> \mathalfa@scrscaled jkpbsyd%
+% }{}
+% \DeclareMathAlphabet{\mathscr}{U}{jkpsyd}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{jkpsyd}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr}{U}{jkpsyd}{b}{n}
+%\or % stixplain
+% \DeclareFontFamily{U}{stixplains}{\skewchar\font =127}
+% \DeclareFontShape{U}{stixplains}{m}{n} {
+% <-> \mathalfa@scrscaled stix-mathcal}{}
+% \DeclareFontShape{U}{stixplains}{b}{n} {
+% <-> \mathalfa@scrscaled stix-mathcal-bold}{}
+% \DeclareMathAlphabet{\mathscr}{U}{stixplains}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{stixplains}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr}{U}{stixplains}{b}{n}
+%\or % stixfancy
+% \DeclareFontFamily{U}{stixfancys}{\skewchar\font =127}
+% \DeclareFontShape{U}{stixfancys}{m}{n} {
+% <-> \mathalfa@scrscaled stix-mathscr}{}
+% \DeclareFontShape{U}{stixfancys}{b}{n} {
+% <-> \mathalfa@scrscaled stix-mathscr-bold}{}
+% \DeclareMathAlphabet{\mathscr}{U}{stixfancys}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{stixfancys}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr}{U}{stixfancys}{b}{n}
+%\or % stixtwoplain
+% \DeclareFontFamily{U}{stixtwoplains}{\skewchar\font =127}
+% \DeclareFontShape{U}{stixtwoplains}{m}{n} {
+% <-> \mathalfa@scrscaled stix2-mathcal}{}
+% \DeclareFontShape{U}{stixtwoplains}{b}{n} {
+% <-> \mathalfa@scrscaled stix2-mathcal-bold}{}
+% \DeclareMathAlphabet{\mathscr}{U}{stixtwoplains}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{stixtwoplains}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr}{U}{stixtwoplains}{b}{n}
+%\or % stixtwofancy
+% \DeclareFontFamily{U}{stixtwofancys}{\skewchar\font =127}
+% \DeclareFontShape{U}{stixtwofancys}{m}{n} {
+% <-> \mathalfa@scrscaled stix2-mathscr}{}
+% \DeclareFontShape{U}{stixtwofancys}{b}{n} {
+% <-> \mathalfa@scrscaled stix2-mathscr-bold}{}
+% \DeclareMathAlphabet{\mathscr}{U}{stixtwofancys}{m}{n}
+% \SetMathAlphabet{\mathscr}{bold}{U}{stixtwofancys}{b}{n}
+% \DeclareMathAlphabet{\mathbfscr}{U}{stixtwofancys}{b}{n}
+%\fi
+
+%\ifx\mathbfcal\@undefined\def\mathbfcal{\PackageError{mathalpha}
+% {There is no bold variant of the calligraphic font}
+% {Type <return> to proceed; \protect\mathbfcal\space will be ignored.}
+% }\fi%
+%\ifx\mathbfbb\@undefined\def\mathbfbb{\PackageError{mathalpha}
+% {There is no bold variant of the blackboard bold font}
+% {Type <return> to proceed; \protect\mathbfbb\space will be ignored.}
+% }\fi%
+%\ifx\mathbffrak\@undefined\def\mathbffrak{\PackageError{mathalpha}
+% {There is no bold variant of the fraktur font}
+% {Type <return> to proceed; \protect\mathbffrak\space will be ignored.}
+% }\fi%
+%\ifx\mathbfscr\@undefined\def\mathbfscr{\PackageError{mathalpha}
+% {There is no bold variant of the script font}
+% {Type <return> to proceed; \protect\mathbfscr\space will be ignored.}
+% }\fi%
\endinput
diff --git a/macros/latex/contrib/spbmark/spbmark.pdf b/macros/latex/contrib/spbmark/spbmark.pdf
index 6031d8553b..7c978d9362 100644
--- a/macros/latex/contrib/spbmark/spbmark.pdf
+++ b/macros/latex/contrib/spbmark/spbmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/spbmark/spbmark.sty b/macros/latex/contrib/spbmark/spbmark.sty
index 8ed460d1b8..6d0fcfd2c4 100644
--- a/macros/latex/contrib/spbmark/spbmark.sty
+++ b/macros/latex/contrib/spbmark/spbmark.sty
@@ -9,7 +9,7 @@
% https://creativecommons.org/licenses/by/4.0/legalcode
\NeedsTeXFormat{LaTeX2e}[2018/12/31]
\RequirePackage{xparse,l3keys2e}
-\ProvidesExplPackage{spbmark}{2021/10/29}{1.1F}
+\ProvidesExplPackage{spbmark}{2021/10/30}{1.1G}
{Customize superscripts and subscripts}
\cs_new_protected:Npn \spb_define:n { \keys_define:nn { spbmark } }
@@ -29,7 +29,9 @@
newsupb .multichoices:nn =
{ text,math,foot,all }
{ \bool_set_true:c { l_spb_newsupb_#1_bool } },
- newsupb .default:n = all
+ newsupb .default:n = all,
+ newsupb/true .meta:n = { newsupb = all },
+ newsupb/false .code:n = { }
}
\ProcessKeysOptions{spbmark/option}
@@ -279,7 +281,7 @@
\bool_if:NT \l_spb_newsupb_foot_bool
{
\cs_set:Npn \@makefnmark
- { \hbox:n { \fnmarkfont\super{\@thefnmark} } }
+ { \hbox:n { \fnmarkfont{\super{\@thefnmark}} } }
}
\cs_set_eq:NN \spb \supersub
\tl_if_exist:NTF \ftntm@font
diff --git a/macros/latex/contrib/spbmark/spbmark.tex b/macros/latex/contrib/spbmark/spbmark.tex
index 73019e147e..967ebbd694 100644
--- a/macros/latex/contrib/spbmark/spbmark.tex
+++ b/macros/latex/contrib/spbmark/spbmark.tex
@@ -6,8 +6,8 @@
{
package = spbmark,
title = the spbmark package,
- version = v1.1F,
- date = 2021/10/29,
+ version = v1.1G,
+ date = 2021/10/30,
authors = Qu Yi,
info = Customize superscript and subscript,
email = q1jx@foxmail.com,
@@ -45,7 +45,7 @@
\opt{ctex}\Default!
This option works with the C\TeX{} document class used by simplified Chinese users, there's actually no functional change. Adding path \module*{style} to \cs*{ctexset} command, which is equivalent to using \cs{spbset}.
\keychoice{newsupb}{text,math,foot,all}\Default
- \option{newsupb} is a compound option that can select multiple values and will redefine the subscript commands of the \LaTeX{} kernel. \code{text} stands for \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. \code{math} indicates that \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. \code{foot} will make the format of the footnote mark match the superscript offsets and format of the \cs{spbset} global setting. \code{all} will selects all previous three values at the same time.
+ \option{newsupb} is a compound option that can select multiple values and will redefine the scripts commands of the \LaTeX{} kernel. \code{text} stands for \cs{textsuperscript} and \cs{textsubscript} are equivalent to the \cs{super} and \cs{sub} commands. \code{math} indicates that \cs{sp} and \cs{sb} are equivalent to the \cs{super} and \cs{sub} commands. \code{foot} will make the format of the footnote mark match the superscript offsets and format of the \cs{spbset} global setting. \code{all} will selects all previous three values at the same time.
\begin{example}[code-only]
\usepackage[newsupb = {text,math,foot}]{spbmark}
\usepackage[newsupb = all]{spbmark}
diff --git a/support/latexindent/LatexIndent/AlignmentAtAmpersand.pm b/support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
index c015e08a87..22de133bf1 100644
--- a/support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
+++ b/support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
@@ -61,23 +61,22 @@ sub find_aligned_block{
(?!<\\)
%
\*
- \h* # possible horizontal spaces
+ \h* # possible horizontal spaces
\\begin\{
- $alignmentBlock # environment name captured into $2
- \} # %* \begin{alignmentBlock} statement
+ ($alignmentBlock) # environment name captured into $2
+ \} # \begin{alignmentBlock} statement captured into $1
)
(
- .*?
+ .*? # non-greedy match (body) into $3
)
- \R
- \h*
+ \R # a line break
+ \h* # possible horizontal spaces
(
(?!<\\)
- %\* # %
- \h* # possible horizontal spaces
- \\end\{$alignmentBlock\} # \end{alignmentBlock}
- ) # %* \end{<something>} statement
- #\R
+ %\* # %
+ \h* # possible horizontal spaces
+ \\end\{\2\} # \end{alignmentBlock} statement captured into $4
+ )
/sx;
while( ${$self}{body} =~ m/$alignmentRegExp/sx){
@@ -87,9 +86,9 @@ sub find_aligned_block{
/
# create a new Environment object
my $alignmentBlockObj = LatexIndent::AlignmentAtAmpersand->new( begin=>$1,
- body=>$2,
- end=>$3,
- name=>$alignmentBlock,
+ body=>$3,
+ end=>$4,
+ name=>$2,
modifyLineBreaksYamlName=>"environments",
linebreaksAtEnd=>{
begin=>1,
@@ -99,7 +98,7 @@ sub find_aligned_block{
);
# log file output
- $logger->trace("*Alignment block found: %*\\begin\{$alignmentBlock\}") if $is_t_switch_active;
+ $logger->trace("*Alignment block found: %*\\begin\{${$alignmentBlock}{name}\}") if $is_t_switch_active;
# the settings and storage of most objects has a lot in common
$self->get_settings_and_store_new_object($alignmentBlockObj);
diff --git a/support/latexindent/LatexIndent/FileContents.pm b/support/latexindent/LatexIndent/FileContents.pm
index b18feae6bd..439e764b31 100644
--- a/support/latexindent/LatexIndent/FileContents.pm
+++ b/support/latexindent/LatexIndent/FileContents.pm
@@ -60,30 +60,30 @@ sub find_file_contents_environments_and_preamble{
my $fileContentsRegExp = qr/
(
\\begin\{
- $fileContentsEnv
- \}
+ ($fileContentsEnv) # environment name captured into $2
+ \} # begin statement captured into $1
)
(
- .*?
+ .*? # non-greedy match (body) into $3
)
(
- \\end\{$fileContentsEnv\}
- \h*
+ \\end\{\2\} # end statement captured into $4
+ \h* # possible horizontal spaces
)
- (\R)?
+ (\R)? # possibly followed by a line break
/sx;
while( ${$self}{body} =~ m/$fileContentsRegExp/sx){
# create a new Environment object
my $fileContentsBlock = LatexIndent::FileContents->new( begin=>$1,
- body=>$2,
- end=>$3,
- name=>$fileContentsEnv,
+ body=>$3,
+ end=>$4,
+ name=>$2,
linebreaksAtEnd=>{
begin=>0,
body=>0,
- end=>$4?1:0,
+ end=>$5?1:0,
},
modifyLineBreaksYamlName=>"filecontents",
);
@@ -112,7 +112,7 @@ sub find_file_contents_environments_and_preamble{
push(@fileContentsStorageArray,$fileContentsBlock);
# log file output
- $logger->trace("FILECONTENTS environment found: $fileContentsEnv")if $is_t_switch_active;
+ $logger->trace("FILECONTENTS environment found: ${$fileContentsEnv}{name}")if $is_t_switch_active;
# remove the environment block, and replace with unique ID
${$self}{body} =~ s/$fileContentsRegExp/${$fileContentsBlock}{replacementText}/sx;
diff --git a/support/latexindent/LatexIndent/Verbatim.pm b/support/latexindent/LatexIndent/Verbatim.pm
index 3abe2e0d46..0bb41c5227 100644
--- a/support/latexindent/LatexIndent/Verbatim.pm
+++ b/support/latexindent/LatexIndent/Verbatim.pm
@@ -31,31 +31,46 @@ sub find_noindent_block{
my $self = shift;
# noindent block
- $logger->trace('*Searching for NOINDENTBLOCk (see noIndentBlock)') if $is_t_switch_active;
+ $logger->trace('*Searching for NOINDENTBLOCK (see noIndentBlock)') if $is_t_switch_active;
$logger->trace(Dumper(\%{$mainSettings{noIndentBlock}})) if($is_tt_switch_active);
while( my ($noIndentBlock,$yesno)= each %{$mainSettings{noIndentBlock}}){
# integrity check on the field for noIndentBlock
if ( ref($yesno) eq "HASH" ){
- if (not defined ${$yesno}{begin}){
- $logger->trace(" *not* looking for $noIndentBlock as $noIndentBlock:begin not specified") if $is_t_switch_active;
- next;
- } elsif (not defined ${$yesno}{end}) {
- $logger->trace(" *not* looking for $noIndentBlock as $noIndentBlock:end not specified") if $is_t_switch_active;
- next;
- } elsif (defined ${$yesno}{lookForThis} and !${$yesno}{lookForThis}){
- $logger->trace(" *not* looking for $noIndentBlock as lookForThis: 0") if $is_t_switch_active;
- next;
- }
+ if (defined ${$yesno}{lookForThis} and !${$yesno}{lookForThis}){
+ $logger->trace(" *not* looking for $noIndentBlock as lookForThis: 0") if $is_t_switch_active;
+ next;
+ }
+ if (not defined ${$yesno}{name}) {
+ if (not defined ${$yesno}{begin}){
+ $logger->trace(" *not* looking for $noIndentBlock as $noIndentBlock:begin not specified") if $is_t_switch_active;
+ next;
+ } elsif (not defined ${$yesno}{end}) {
+ $logger->trace(" *not* looking for $noIndentBlock as $noIndentBlock:end not specified") if $is_t_switch_active;
+ next;
+ }
+ } elsif (defined ${$yesno}{begin} or defined ${$yesno}{end}){
+ $logger->trace(" *not* looking for $noIndentBlock as $noIndentBlock:name specified with begin and/or end") if $is_t_switch_active;
+ next;
+ }
} elsif( ref($yesno) ne "HASH" and !$yesno ){
- $logger->trace(" *not* looking for $noIndentBlock as $noIndentBlock:$yesno") if $is_t_switch_active;
- next;
+ $logger->trace(" *not* looking for $noIndentBlock as $noIndentBlock:$yesno") if $is_t_switch_active;
+ next;
}
# if we've made it this far, then we're good to go
my $noIndentRegExp;
+ my $noIndentBlockObj;
if (ref($yesno) eq "HASH"){
+ # default value of begin and end
+ if (defined ${$yesno}{name} and not defined ${$yesno}{begin} and not defined ${$yesno}{end}){
+ ${$yesno}{begin} = "\\\\begin\\{(${$yesno}{name})\\}";
+ ${$yesno}{end} = "\\\\end\\{\\2\\}";
+ $logger->trace("looking for regex based $noIndentBlock, name: ${$yesno}{name}") if $is_t_switch_active;
+ $logger->trace("begin not specified for $noIndentBlock, setting default ${$yesno}{begin}") if $is_t_switch_active;
+ $logger->trace("end not specified for $noIndentBlock, setting default ${$yesno}{end}") if $is_t_switch_active;
+ }
# default value of body
if (not defined ${$yesno}{body}){
$logger->trace("looking for regex based $noIndentBlock, begin: ${$yesno}{begin}, end: ${$yesno}{end}") if $is_t_switch_active;
@@ -70,8 +85,8 @@ sub find_noindent_block{
$noIndentRegExp = qr/
(${$yesno}{begin})
- (${$yesno}{body})
- (${$yesno}{end})
+ (${$yesno}{body})
+ (${$yesno}{end})
/sx;
} else {
$logger->trace("looking for $noIndentBlock:$yesno noIndentBlock") if $is_t_switch_active;
@@ -81,32 +96,44 @@ sub find_noindent_block{
(
(?!<\\)
%
- (?:\h|(?!<\\)%)* # possible horizontal spaces
+ (?:\h|(?!<\\)%)* # possible horizontal spaces
\\begin\{
- $noIndentBlockSpec
- \} # % \begin{noindentblock} statement
- ) # begin captured into $1
+ ($noIndentBlockSpec) # environment name captured into $2
+ \} # % \begin{noindentblock} statement
+ ) # begin statement captured into $1
(
- .*?
- ) # non-greedy match (body) into $2
+ .*? # non-greedy match (body) into $3
+ )
(
(?!<\\)
- % # %
- (?:\h|(?!<\\)%)* # possible horizontal spaces
- \\end\{$noIndentBlockSpec\} # \end{noindentblock}
- ) # % \end{<something>} statement into $3
+ % # %
+ (?:\h|(?!<\\)%)* # possible horizontal spaces
+ \\end\{\2\} # % \end{noindentblock} statement
+ ) # end statement captured into $4
/sx;
}
while( ${$self}{body} =~ m/$noIndentRegExp/sx){
# create a new Verbatim object
- my $noIndentBlockObj = LatexIndent::Verbatim->new( begin=>$1,
+ if (ref($yesno) eq "HASH" and not defined ${$yesno}{name}){
+ # user defined begin and end statements
+ $noIndentBlockObj = LatexIndent::Verbatim->new( begin=>$1,
body=>$2,
end=>$3,
name=>$noIndentBlock,
type=>"noindentblock",
modifyLineBreaksYamlName=>"verbatim",
);
+ } else {
+ # specified by name (entry:1 or entry: name: regex)
+ $noIndentBlockObj = LatexIndent::Verbatim->new( begin=>$1,
+ body=>$3,
+ end=>$4,
+ name=>$2,
+ type=>"noindentblock",
+ modifyLineBreaksYamlName=>"verbatim",
+ );
+ }
# give unique id
$noIndentBlockObj->create_unique_id;
@@ -115,7 +142,7 @@ sub find_noindent_block{
$verbatimStorage{${$noIndentBlockObj}{id}}=$noIndentBlockObj;
# log file output
- $logger->trace("NOINDENTBLOCK found: $noIndentBlock") if $is_t_switch_active;
+ $logger->trace("NOINDENTBLOCK found: ${$noIndentBlockObj}{name}") if $is_t_switch_active;
# remove the environment block, and replace with unique ID
${$self}{body} =~ s/$noIndentRegExp/${$noIndentBlockObj}{id}/sx;
@@ -136,67 +163,83 @@ sub find_verbatim_environments{
$logger->trace('*Searching for VERBATIM environments (see verbatimEnvironments)') if $is_t_switch_active;
$logger->trace(Dumper(\%{$mainSettings{verbatimEnvironments}})) if($is_tt_switch_active);
while( my ($verbEnv,$yesno)= each %{$mainSettings{verbatimEnvironments}}){
- if($yesno){
- $logger->trace("looking for $verbEnv:$yesno environments") if $is_t_switch_active;
+ my $verbEnvSpec;
- (my $verbEnvSpec = $verbEnv) =~ s/\*/\\*/sg;
- my $verbatimRegExp = qr/
- (
- \\begin\{
- $verbEnvSpec # environment name captured into $1
- \} # \begin{<something>} statement
- )
- (
- .*?
- ) # any character, but not \\begin
- (
- \\end\{$verbEnvSpec\} # \end{<something>} statement
- )
- (\h*)? # possibly followed by horizontal space
- (\R)? # possibly followed by a line break
- /sx;
-
- while( ${$self}{body} =~ m/$verbatimRegExp/sx){
+ # integrity check on the field for noIndentBlock
+ if ( ref($yesno) eq "HASH" ){
+ if (defined ${$yesno}{lookForThis} and !${$yesno}{lookForThis}){
+ $logger->trace(" *not* looking for $verbEnv as lookForThis: 0") if $is_t_switch_active;
+ next;
+ } elsif (not defined ${$yesno}{name}){
+ $logger->trace(" *not* looking for $verbEnv as $verbEnv:name not specified") if $is_t_switch_active;
+ next;
+ } else {
+ $logger->trace("looking for VERBATIM-environments $verbEnv, name: ${$yesno}{name}") if $is_t_switch_active;
+ $verbEnvSpec = ${$yesno}{name};
+ }
+ } elsif( ref($yesno) ne "HASH" and $yesno ){
+ $logger->trace("looking for $verbEnv:$yesno environments") if $is_t_switch_active;
+ ($verbEnvSpec = $verbEnv) =~ s/\*/\\*/sg;
+ } else {
+ $logger->trace(" *not* looking for $verbEnv as $verbEnv:$yesno") if $is_t_switch_active;
+ next;
+ }
- # create a new Verbatim object
- my $verbatimBlock = LatexIndent::Verbatim->new( begin=>$1,
- body=>$2,
- end=>$3,
- name=>$verbEnv,
- type=>"environment",
- modifyLineBreaksYamlName=>"verbatim",
- linebreaksAtEnd=>{
- end=>$5?1:0,
- },
- horizontalTrailingSpace=>$4?$4:q(),
- aliases=>{
- # begin statements
- BeginStartsOnOwnLine=>"VerbatimBeginStartsOnOwnLine",
- # after end statements
- EndFinishesWithLineBreak=>"VerbatimEndFinishesWithLineBreak",
- },
- );
+ # if we've made it this far, then we're good to go
+ my $verbatimRegExp = qr/
+ (
+ \\begin\{
+ ($verbEnvSpec) # environment name captured into $2
+ \} # \begin{<something>} statement captured into $1
+ )
+ (
+ .*? # non-greedy match (body) into $3
+ ) # any character, but not \\begin
+ (
+ \\end\{\2\} # \end{<something>} statement captured into $4
+ )
+ (\h*)? # possibly followed by horizontal space
+ (\R)? # possibly followed by a line break
+ /sx;
+
+ while( ${$self}{body} =~ m/$verbatimRegExp/sx){
+
+ # create a new Verbatim object
+ my $verbatimBlock = LatexIndent::Verbatim->new( begin=>$1,
+ body=>$3,
+ end=>$4,
+ name=>$2,
+ type=>"environment",
+ modifyLineBreaksYamlName=>"verbatim",
+ linebreaksAtEnd=>{
+ end=>$6?1:0,
+ },
+ horizontalTrailingSpace=>$5?$5:q(),
+ aliases=>{
+ # begin statements
+ BeginStartsOnOwnLine=>"VerbatimBeginStartsOnOwnLine",
+ # after end statements
+ EndFinishesWithLineBreak=>"VerbatimEndFinishesWithLineBreak",
+ },
+ );
- # there are common tasks for each of the verbatim objects
- $verbatimBlock->verbatim_common_tasks;
-
- # verbatim children go in special hash
- $verbatimStorage{${$verbatimBlock}{id}}=$verbatimBlock;
+ # there are common tasks for each of the verbatim objects
+ $verbatimBlock->verbatim_common_tasks;
+
+ # verbatim children go in special hash
+ $verbatimStorage{${$verbatimBlock}{id}}=$verbatimBlock;
- # log file output
- $logger->trace("*VERBATIM environment found: $verbEnv") if $is_t_switch_active;
+ # log file output
+ $logger->trace("*VERBATIM environment found: ${$verbatimBlock}{name}") if $is_t_switch_active;
- # remove the environment block, and replace with unique ID
- ${$self}{body} =~ s/$verbatimRegExp/${$verbatimBlock}{replacementText}/sx;
+ # remove the environment block, and replace with unique ID
+ ${$self}{body} =~ s/$verbatimRegExp/${$verbatimBlock}{replacementText}/sx;
- $logger->trace("replaced with ID: ${$verbatimBlock}{id}") if $is_t_switch_active;
-
- # possible decoration in log file
- $logger->trace(${$mainSettings{logFilePreferences}}{showDecorationFinishCodeBlockTrace}) if ${$mainSettings{logFilePreferences}}{showDecorationFinishCodeBlockTrace};
- }
- } else {
- $logger->trace("*not* looking for $verbEnv as $verbEnv:$yesno") if $is_t_switch_active;
- }
+ $logger->trace("replaced with ID: ${$verbatimBlock}{id}") if $is_t_switch_active;
+
+ # possible decoration in log file
+ $logger->trace(${$mainSettings{logFilePreferences}}{showDecorationFinishCodeBlockTrace}) if ${$mainSettings{logFilePreferences}}{showDecorationFinishCodeBlockTrace};
+ }
}
return;
}
@@ -212,80 +255,97 @@ sub find_verbatim_commands{
$logger->trace('*Searching for VERBATIM commands (see verbatimCommands)') if $is_t_switch_active;
$logger->trace(Dumper(\%{$mainSettings{verbatimCommands}})) if($is_tt_switch_active);
while( my ($verbCommand,$yesno)= each %{$mainSettings{verbatimCommands}}){
- if($yesno){
- $logger->trace("looking for $verbCommand:$yesno Commands") if $is_t_switch_active;
+ my $verbCommandSpec;
- my $verbatimRegExp = qr/
- (
- \\$verbCommand
- \h*
- ) # name of command into $1
- (
- \[
- (?:
- (?!
- (?:(?<!\\)\[)
- ).
- )*? # not including [, but \[ ok
- (?<!\\) # not immediately pre-ceeded by \
- \] # [optional arguments]
- \h*
- )? # opt arg into $2
- (
- .
- ) # delimiter into $3
- (
- .*?
- ) # body into $4
- \3
- (\h*)? # possibly followed by horizontal space
- (\R)? # possibly followed by a line break
- /mx;
-
- while( ${$self}{body} =~ m/$verbatimRegExp/){
+ # integrity check on the field for noIndentBlock
+ if ( ref($yesno) eq "HASH" ){
+ if (defined ${$yesno}{lookForThis} and !${$yesno}{lookForThis}){
+ $logger->trace(" *not* looking for $verbCommand as lookForThis: 0") if $is_t_switch_active;
+ next;
+ } elsif (not defined ${$yesno}{name}){
+ $logger->trace(" *not* looking for $verbCommand as $verbCommand:name not specified") if $is_t_switch_active;
+ next;
+ } else {
+ $logger->trace("looking for regex based VERBATIM-commands $verbCommand, name: ${$yesno}{name}") if $is_t_switch_active;
+ $verbCommandSpec = ${$yesno}{name};
+ }
+ } elsif( ref($yesno) ne "HASH" and $yesno ){
+ $logger->trace("looking for $verbCommand:$yesno Commands") if $is_t_switch_active;
+ $verbCommandSpec = $verbCommand;
+ } else {
+ $logger->trace("*not* looking for $verbCommand as $verbCommand:$yesno") if $is_t_switch_active;
+ next;
+ }
- # create a new Verbatim object
- my $verbatimCommand = LatexIndent::Verbatim->new( begin=>$1.($2?$2:q()).$3,
- body=>$4,
- end=>$3,
- name=>$verbCommand,
- type=>"command",
- modifyLineBreaksYamlName=>"verbatim",
- linebreaksAtEnd=>{
- end=>$6?1:0,
- },
- horizontalTrailingSpace=>$5?$5:q(),
- aliases=>{
- # begin statements
- BeginStartsOnOwnLine=>"VerbatimBeginStartsOnOwnLine",
- # after end statements
- EndFinishesWithLineBreak=>"VerbatimEndFinishesWithLineBreak",
- },
- optArg=>$2?$2:q(),
- );
- # there are common tasks for each of the verbatim objects
- $verbatimCommand->verbatim_common_tasks;
+ # if we've made it this far, then we're good to go
+ my $verbatimRegExp = qr/
+ (
+ \\($verbCommandSpec) # name of command into $2
+ \h*
+ )
+ (
+ \[
+ (?:
+ (?!
+ (?:(?<!\\)\[)
+ ).
+ )*? # not including [, but \[ ok
+ (?<!\\) # not immediately pre-ceeded by \
+ \] # [optional arguments]
+ \h*
+ )? # opt arg into $3
+ (
+ .
+ ) # delimiter into $4
+ (
+ .*?
+ ) # body into $5
+ \4
+ (\h*)? # possibly followed by horizontal space
+ (\R)? # possibly followed by a line break
+ /mx;
+
+ while( ${$self}{body} =~ m/$verbatimRegExp/){
+
+ # create a new Verbatim object
+ my $verbatimCommand = LatexIndent::Verbatim->new( begin=>$1.($3?$3:q()).$4,
+ body=>$5,
+ end=>$4,
+ name=>$2,
+ type=>"command",
+ modifyLineBreaksYamlName=>"verbatim",
+ linebreaksAtEnd=>{
+ end=>$7?1:0,
+ },
+ horizontalTrailingSpace=>$6?$6:q(),
+ aliases=>{
+ # begin statements
+ BeginStartsOnOwnLine=>"VerbatimBeginStartsOnOwnLine",
+ # after end statements
+ EndFinishesWithLineBreak=>"VerbatimEndFinishesWithLineBreak",
+ },
+ optArg=>$3?$3:q(),
+ );
+ # there are common tasks for each of the verbatim objects
+ $verbatimCommand->verbatim_common_tasks;
- # output, if desired
- $logger->trace(Dumper($verbatimCommand),'ttrace') if($is_tt_switch_active);
+ # output, if desired
+ $logger->trace(Dumper($verbatimCommand),'ttrace') if($is_tt_switch_active);
- # verbatim children go in special hash
- $verbatimStorage{${$verbatimCommand}{id}}=$verbatimCommand;
+ # verbatim children go in special hash
+ $verbatimStorage{${$verbatimCommand}{id}}=$verbatimCommand;
- # log file output
- $logger->trace("*VERBATIM command found: $verbCommand") if $is_t_switch_active;
+ # log file output
+ $logger->trace("*VERBATIM command found: ${$verbatimCommand}{name}") if $is_t_switch_active;
- # remove the environment block, and replace with unique ID
- ${$self}{body} =~ s/$verbatimRegExp/${$verbatimCommand}{replacementText}/sx;
+ # remove the environment block, and replace with unique ID
+ ${$self}{body} =~ s/$verbatimRegExp/${$verbatimCommand}{replacementText}/sx;
- $logger->trace("replaced with ID: ${$verbatimCommand}{id}") if $is_t_switch_active;
-
- # possible decoration in log file
- $logger->trace(${$mainSettings{logFilePreferences}}{showDecorationFinishCodeBlockTrace}) if ${$mainSettings{logFilePreferences}}{showDecorationFinishCodeBlockTrace};
- }
- } else {
- $logger->trace("*not* looking for $verbCommand as $verbCommand:$yesno") if $is_t_switch_active;
- }
+ $logger->trace("replaced with ID: ${$verbatimCommand}{id}") if $is_t_switch_active;
+
+ # possible decoration in log file
+ $logger->trace(${$mainSettings{logFilePreferences}}{showDecorationFinishCodeBlockTrace}) if ${$mainSettings{logFilePreferences}}{showDecorationFinishCodeBlockTrace};
+ }
}
return;
diff --git a/support/latexindent/LatexIndent/Version.pm b/support/latexindent/LatexIndent/Version.pm
index cd4878cbaa..d25b4f55ab 100644
--- a/support/latexindent/LatexIndent/Version.pm
+++ b/support/latexindent/LatexIndent/Version.pm
@@ -19,6 +19,6 @@ use warnings;
use Exporter qw/import/;
our @EXPORT_OK = qw/$versionNumber $versionDate/;
-our $versionNumber = '3.12';
-our $versionDate = '2021-09-16';
+our $versionNumber = '3.13';
+our $versionDate = '2021-10-30';
1
diff --git a/support/latexindent/README b/support/latexindent/README
index 85200ba048..b1381a2165 100644
--- a/support/latexindent/README
+++ b/support/latexindent/README
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- latexindent.pl, version 3.12, 2021-09-16
+ latexindent.pl, version 3.13, 2021-10-30
PERL script to indent code within environments, and align delimited
environments in .tex files.
diff --git a/support/latexindent/defaultSettings.yaml b/support/latexindent/defaultSettings.yaml
index fc4be94bc0..01a766633b 100644
--- a/support/latexindent/defaultSettings.yaml
+++ b/support/latexindent/defaultSettings.yaml
@@ -1,4 +1,4 @@
-# defaultSettings.yaml for latexindent.pl, version 3.12, 2021-09-16
+# defaultSettings.yaml for latexindent.pl, version 3.13, 2021-10-30
# a script that aims to
# beautify .tex, .sty, .cls files
#
@@ -621,7 +621,7 @@ replacements:
-
this: 'latexindent.pl'
that: 'pl.latexindent'
- lookForThis: 1
+ lookForThis: 0
when: before
# fineTuning allows you to tweak the internal pattern matching that
diff --git a/support/latexindent/documentation/latexindent.pdf b/support/latexindent/documentation/latexindent.pdf
index 12ad2f551c..c3262e7f9e 100644
--- a/support/latexindent/documentation/latexindent.pdf
+++ b/support/latexindent/documentation/latexindent.pdf
Binary files differ
diff --git a/support/latexindent/documentation/latexindent.tex b/support/latexindent/documentation/latexindent.tex
index a97d778742..7607baa809 100644
--- a/support/latexindent/documentation/latexindent.tex
+++ b/support/latexindent/documentation/latexindent.tex
@@ -798,7 +798,6 @@
\renewcommand*{\thefootnote}{\arabic{footnote}}
\input{title.tex}
\tableofcontents
-{\small\lstlistoflistings}
% start sections on new page
\newcommand{\sectionbreak}{\clearpage\thispagestyle{plain}}
\input{sec-introduction}
@@ -830,5 +829,6 @@
\input{sec-conclusions-know-limitations}
\input{references}
\input{appendices}
+ {\clearpage\small\lstlistoflistings}
\printindex
\end{document}
diff --git a/support/latexindent/documentation/sec-default-user-local.tex b/support/latexindent/documentation/sec-default-user-local.tex
index b649f54f9c..50e99e7dd9 100644
--- a/support/latexindent/documentation/sec-default-user-local.tex
+++ b/support/latexindent/documentation/sec-default-user-local.tex
@@ -137,6 +137,30 @@ copy myfile.bak4 to myfile.bak3
such as \texttt{lookForAlignDelims} or \texttt{noAdditionalIndent} then
\texttt{latexindent.pl} will \emph{always} prioritize \texttt{verbatimEnvironments}.
+ You can, optionally, specify
+ \announce*{2021-10-30}{verbatim name feature} the
+ \texttt{verbatim} field using the \texttt{name} field which takes a regular expression as
+ its argument; thank you to \cite{XuehaiPan} for contributing this feature.
+
+ For demonstration, then assuming that your file contains the environments
+ \texttt{latexcode}, \texttt{latexcode*}, \texttt{pythoncode} and \texttt{pythoncode*},
+ then the listings given in \cref{lst:nameAsRegex1,lst:nameAsRegex2} are equivalent.
+
+ \begin{cmhtcbraster}[raster column skip=.1\linewidth]
+ \cmhlistingsfromfile*{demonstrations/nameAsRegex1.yaml}[yaml-TCB]{\texttt{nameAsRegex1.yaml}}{lst:nameAsRegex1}
+ \cmhlistingsfromfile*{demonstrations/nameAsRegex2.yaml}[yaml-TCB]{\texttt{nameAsRegex2.yaml}}{lst:nameAsRegex2}
+ \end{cmhtcbraster}
+
+ With reference to \cref{lst:nameAsRegex2}:
+ \begin{itemize}
+ \item the \texttt{name} field as specified here means \emph{any word followed by the word code,
+ optionally followed by *};
+ \item we have used \texttt{nameAsRegex} to identify this field, but you can use any description
+ you like;
+ \item the \texttt{lookForThis} field is optional, and can take the values 0 (off) or 1 (on); by
+ default, it is assumed to be 1 (on).
+ \end{itemize}
+
\yamltitle{verbatimCommands}*{fields}
A field that contains a list of commands that are verbatim commands, for example
\lstinline|\lstinline|; any commands populated in this field are protected from line
@@ -149,6 +173,30 @@ copy myfile.bak4 to myfile.bak3
body as anything up to the next occurrence of the character; this means that, for
example, \lstinline|\verb!x+3!| is treated as a \texttt{verbatimCommands}.
+ You can, optionally, specify
+ \announce*{2021-10-30}{verbatimCommands name feature} the
+ \texttt{verbatimCommands} field using the \texttt{name} field which takes a regular
+ expression as its argument; thank you to \cite{XuehaiPan} for contributing this feature.
+
+ For demonstration, then assuming that your file contains the commands
+ \texttt{verbinline}, \texttt{myinline} then the listings given in
+ \cref{lst:nameAsRegex3,lst:nameAsRegex4} are equivalent.
+
+ \begin{cmhtcbraster}[raster column skip=.1\linewidth]
+ \cmhlistingsfromfile*{demonstrations/nameAsRegex3.yaml}[yaml-TCB]{\texttt{nameAsRegex3.yaml}}{lst:nameAsRegex3}
+ \cmhlistingsfromfile*{demonstrations/nameAsRegex4.yaml}[yaml-TCB]{\texttt{nameAsRegex4.yaml}}{lst:nameAsRegex4}
+ \end{cmhtcbraster}
+
+ With reference to \cref{lst:nameAsRegex4}:
+ \begin{itemize}
+ \item the \texttt{name} field as specified here means \emph{any word followed by the word
+ inline};
+ \item we have used \texttt{nameAsRegex} to identify this field, but you can use any description
+ you like;
+ \item the \texttt{lookForThis} field is optional, and can take the values 0 (off) or 1 (on); by
+ default, it is assumed to be 1 (on).
+ \end{itemize}
+
\yamltitle{noIndentBlock}*{fields}
If you have a block of code that you don't want \texttt{latexindent.pl} to touch (even if
\index{verbatim!noIndentBlock} it is \emph{not} a verbatim-like environment) then you can
@@ -214,6 +262,31 @@ latexindent.pl -l noindent3.yaml noindent1
We will demonstrate this feature later in the documentation in \cref{lst:href3}.
+ You can, optionally, specify
+ \announce*{2021-10-30}{noIndentBlock name feature} the
+ \texttt{noIndentBlock} field using the \texttt{name} field which takes a regular
+ expression as its argument; thank you to \cite{XuehaiPan} for contributing this feature.
+
+ For demonstration, then assuming that your file contains the environments
+ \texttt{testnoindent}, \texttt{testnoindent*} then the listings given in
+ \cref{lst:nameAsRegex5,lst:nameAsRegex6} are equivalent.
+
+ \begin{widepage}
+ \begin{cmhtcbraster}[raster column skip=.1\linewidth]
+ \cmhlistingsfromfile*{demonstrations/nameAsRegex5.yaml}[yaml-TCB]{\texttt{nameAsRegex5.yaml}}{lst:nameAsRegex5}
+ \cmhlistingsfromfile*{demonstrations/nameAsRegex6.yaml}[yaml-TCB]{\texttt{nameAsRegex6.yaml}}{lst:nameAsRegex6}
+ \end{cmhtcbraster}
+ \end{widepage}
+
+ With reference to \cref{lst:nameAsRegex6}:
+ \begin{itemize}
+ \item the \texttt{name} field as specified here means \emph{any word followed by the word
+ noindent, optionally followed by *};
+ \item we have used \texttt{nameAsRegex} to identify this field, but you can use any description
+ you like;
+ \item the \texttt{lookForThis} field is optional, and can take the values 0 (off) or 1 (on); by
+ default, it is assumed to be 1 (on).
+ \end{itemize}
\subsection{filecontents and preamble}
\yamltitle{fileContentsEnvironments}*{field}
diff --git a/support/latexindent/documentation/sec-fine-tuning.tex b/support/latexindent/documentation/sec-fine-tuning.tex
index 669bff5737..47c186eabb 100644
--- a/support/latexindent/documentation/sec-fine-tuning.tex
+++ b/support/latexindent/documentation/sec-fine-tuning.tex
@@ -230,3 +230,84 @@ latexindent.pl -m finetuning4.tex -o=+-mod3 -l=href3
is an example of character class.
\index{regular expressions!character class demonstration}
\end{example}
+
+ \begin{example}
+ We can use the \texttt{fineTuning} field to assist in the formatting of bibliography files.
+ \index{bibliography files}
+ \index{regular expressions!delimiterRegEx}
+ \index{regular expressions!capturing parenthesis}
+ \index{regular expressions!ampersand alignment}
+ \index{delimiters!delimiterRegEx}
+
+ Starting with the file in \cref{lst:bib1} and running the command
+ \begin{commandshell}
+latexindent.pl bib1.tex -o=+-mod1
+ \end{commandshell}
+ gives the output in \cref{lst:bib1-mod1}.
+
+ \begin{widepage}
+ \begin{cmhtcbraster}[raster column skip=.01\linewidth]
+ \cmhlistingsfromfile{demonstrations/bib1.bib}{\texttt{bib1.bib}}{lst:bib1}
+ \cmhlistingsfromfile{demonstrations/bib1-mod1.bib}{\texttt{bib1-mod1.bib}}{lst:bib1-mod1}
+ \end{cmhtcbraster}
+ \end{widepage}
+
+ Let's assume that we would like to format the output so as to align the \texttt{=} symbols.
+ Using the settings in \cref{lst:bibsettings1} and running the command
+ \begin{commandshell}
+latexindent.pl bib1.bib -l bibsettings1.yaml -o=+-mod2
+ \end{commandshell}
+ gives the output in \cref{lst:bib1-mod2}.
+
+ \begin{widepage}
+ \begin{cmhtcbraster}[raster column skip=.1\linewidth]
+ \cmhlistingsfromfile{demonstrations/bib1-mod2.bib}{\texttt{bib1.bib} using \cref{lst:bibsettings1}}{lst:bib1-mod2}
+ \cmhlistingsfromfile[style=yaml-LST]*{demonstrations/bibsettings1.yaml}[yaml-TCB]{\texttt{bibsettings1.yaml}}{lst:bibsettings1}
+ \end{cmhtcbraster}
+ \end{widepage}
+ Some notes about \cref{lst:bibsettings1}:
+ \begin{itemize}
+ \item we have populated the \texttt{lookForAlignDelims} field with the \texttt{online} command,
+ and have used the \texttt{delimiterRegEx}, discussed in \vref{sec:delimiter-reg-ex};
+ \item we have tweaked the \texttt{keyEqualsValuesBracesBrackets} code block so that it will
+ \emph{not} be found following a comma; this means that, in contrast to the default
+ behaviour, the lines such as \lstinline!date={2013-05-23},! will \emph{not} be treated as
+ key-equals-value braces;
+ \item the adjustment to \texttt{keyEqualsValuesBracesBrackets} necessitates the associated
+ change to the \texttt{UnNamedGroupingBracesBrackets} field so that they will be searched
+ for following \texttt{=} symbols.
+ \end{itemize}
+ \end{example}
+
+ \begin{example}
+ We can build upon \cref{lst:bibsettings1} for slightly more complicated bibliography files.
+
+ Starting with the file in \cref{lst:bib2} and running the command
+ \begin{commandshell}
+latexindent.pl bib2.bib -l bibsettings1.yaml -o=+-mod1
+ \end{commandshell}
+ gives the output in \cref{lst:bib2-mod1}.
+
+ \begin{widepage}
+ \cmhlistingsfromfile{demonstrations/bib2.bib}{\texttt{bib2.bib}}{lst:bib2}
+ \cmhlistingsfromfile{demonstrations/bib2-mod1.bib}{\texttt{bib2-mod1.bib}}{lst:bib2-mod1}
+ \end{widepage}
+
+ The output in \cref{lst:bib2-mod1} is not ideal, as the \texttt{=} symbol within the url
+ field has been incorrectly used as an alignment delimiter.
+
+ We address this by tweaking the \texttt{delimiterRegEx} field in \cref{lst:bibsettings2}.
+
+ \cmhlistingsfromfile[style=yaml-LST]*{demonstrations/bibsettings2.yaml}[yaml-TCB]{\texttt{bibsettings2.yaml}}{lst:bibsettings2}
+
+ Upon running the command
+ \begin{commandshell}
+latexindent.pl bib2.bib -l bibsettings1.yaml,bibsettings2.yaml -o=+-mod2
+ \end{commandshell}
+ we receive the \emph{desired} output in \cref{lst:bib2-mod2}.
+
+ \cmhlistingsfromfile{demonstrations/bib2-mod2.bib}{\texttt{bib2-mod2.bib}}{lst:bib2-mod2}
+
+ With reference to \cref{lst:bibsettings2} we note that the \texttt{delimiterRegEx} has been adjusted so that \texttt{=} symbols are used as the delimiter,
+ but only when they are \emph{not preceeded} by either \texttt{v} or \texttt{spfreload}.
+ \end{example}
diff --git a/support/latexindent/documentation/sec-how-to-use.tex b/support/latexindent/documentation/sec-how-to-use.tex
index c297418928..2b9783565b 100644
--- a/support/latexindent/documentation/sec-how-to-use.tex
+++ b/support/latexindent/documentation/sec-how-to-use.tex
@@ -422,7 +422,7 @@ latexindent.pl -k myfile.tex
latexindent.pl -check myfile.tex
\end{commandshell}
You can%
- \announce*{2021-09-16}{-k,-check switch} instruct
+ \announce{2021-09-16}{-k,-check switch} instruct
\texttt{latexindent.pl} to check if the text after indentation matches that given in the
original file.
@@ -448,9 +448,9 @@ latexindent.pl -check myfile.tex
latexindent.pl -kv myfile.tex
latexindent.pl -checkv myfile.tex
\end{commandshell}
- \announce*{2021-09-16}{-kv, -checkv: check verbose switch} The \texttt{check verbose} switch is
- exactly the same as the \texttt{-k} switch, except that it is \emph{verbose}, and it will
- output the (simple) diff to the terminal, as well as to \texttt{indent.log}.
+ \announce{2021-09-16}{-kv, -checkv: check verbose switch} The \texttt{check verbose}
+ switch is exactly the same as the \texttt{-k} switch, except that it is \emph{verbose},
+ and it will output the (simple) diff to the terminal, as well as to \texttt{indent.log}.
\flagbox{-n, --lines=MIN-MAX}
\index{switches!-n, --lines definition and details}
@@ -458,7 +458,7 @@ latexindent.pl -checkv myfile.tex
latexindent.pl -n 5-8 myfile.tex
latexindent.pl -lines 5-8 myfile.tex
\end{commandshell}
- \announce*{2021-09-16}{-n, -lines switch} The \texttt{lines} switch instructs
+ \announce{2021-09-16}{-n, -lines switch} The \texttt{lines} switch instructs
\texttt{latexindent.pl} to operate only on specific line ranges within
\texttt{myfile.tex}.
diff --git a/support/latexindent/documentation/sec-the-line-switch.tex b/support/latexindent/documentation/sec-the-line-switch.tex
index 0c06daec2d..bd28b70985 100644
--- a/support/latexindent/documentation/sec-the-line-switch.tex
+++ b/support/latexindent/documentation/sec-the-line-switch.tex
@@ -1,7 +1,7 @@
% arara: pdflatex: {shell: yes, files: [latexindent]}
\section{The --lines switch}\label{sec:line-switch}
\texttt{latexindent.pl}
- \announce*{2021-09-16}{line switch demonstration} can
+ \announce{2021-09-16}{line switch demonstration} can
operate on a \emph{selection} of lines of the file using the \texttt{--lines} or
\texttt{-n} switch.
@@ -27,7 +27,7 @@ latexindent.pl -n 3-7 myfile.tex
We demonstrate this feature, and the available variations in what follows. We will use
the file in \cref{lst:myfile}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile.tex}[tex-TCB]{\texttt{myfile.tex}}{lst:myfile}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile.tex}[tex-TCB]{\texttt{myfile.tex}}{lst:myfile}
\begin{example}
We demonstrate the basic usage using the command
@@ -36,7 +36,7 @@ latexindent.pl --lines 3-7 myfile.tex -o=+-mod1
\end{commandshell}
which instructs \texttt{latexindent.pl} to only operate on lines 3 to 7; the output is given in \cref{lst:myfile-mod1}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile-mod1.tex}[tex-TCB]{\texttt{myfile-mod1.tex}}{lst:myfile-mod1}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile-mod1.tex}[tex-TCB]{\texttt{myfile-mod1.tex}}{lst:myfile-mod1}
The following two calls to \texttt{latexindent.pl} are equivalent
\begin{commandshell}
@@ -54,7 +54,7 @@ latexindent.pl --lines 5 myfile.tex -o=+-mod2
\end{commandshell}
instructs \texttt{latexindent.pl} to only operate on line 5; the output is given in \cref{lst:myfile-mod2}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile-mod2.tex}[tex-TCB]{\texttt{myfile-mod2.tex}}{lst:myfile-mod2}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile-mod2.tex}[tex-TCB]{\texttt{myfile-mod2.tex}}{lst:myfile-mod2}
The following two calls are equivalent:
\begin{commandshell}
@@ -88,7 +88,7 @@ latexindent.pl --lines 3-5,8-10 myfile.tex -o=+-mod3
\end{commandshell}
which instructs \texttt{latexindent.pl} to operate upon lines 3 to 5 and lines 8 to 10; the output is given in \cref{lst:myfile-mod3}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile-mod3.tex}[tex-TCB]{\texttt{myfile-mod3.tex}}{lst:myfile-mod3}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile-mod3.tex}[tex-TCB]{\texttt{myfile-mod3.tex}}{lst:myfile-mod3}
The following calls to \texttt{latexindent.pl} are all equivalent
\begin{commandshell}
@@ -108,7 +108,7 @@ latexindent.pl --lines 1-2,4-5,9-10,12 myfile.tex -o=+-mod4
\end{commandshell}
has four line ranges: lines 1 to 2, lines 4 to 5, lines 9 to 10 and line 12. The output is given in \cref{lst:myfile-mod4}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile-mod4.tex}[tex-TCB]{\texttt{myfile-mod4.tex}}{lst:myfile-mod4}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile-mod4.tex}[tex-TCB]{\texttt{myfile-mod4.tex}}{lst:myfile-mod4}
As previously, the ordering does not matter, and the following calls to \texttt{latexindent.pl} are all equivalent
\begin{commandshell}
@@ -137,7 +137,7 @@ latexindent.pl --lines 1-4,8-12 myfile.tex
\end{commandshell}
The output is given in \cref{lst:myfile-mod5}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile-mod5.tex}[tex-TCB]{\texttt{myfile-mod5.tex}}{lst:myfile-mod5}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile-mod5.tex}[tex-TCB]{\texttt{myfile-mod5.tex}}{lst:myfile-mod5}
\end{example}
@@ -153,7 +153,7 @@ latexindent.pl --lines 1-4,8,11-12 myfile.tex -o=+-mod6
\end{commandshell}
The output is given in \cref{lst:myfile-mod6}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile-mod6.tex}[tex-TCB]{\texttt{myfile-mod6.tex}}{lst:myfile-mod6}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile-mod6.tex}[tex-TCB]{\texttt{myfile-mod6.tex}}{lst:myfile-mod6}
\end{example}
\begin{example}
@@ -172,7 +172,7 @@ latexindent.pl --lines !y-3 myfile.tex
For example, let's use with the file in \cref{lst:myfile1}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile1.tex}[tex-TCB]{\texttt{myfile1.tex}}{lst:myfile1}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile1.tex}[tex-TCB]{\texttt{myfile1.tex}}{lst:myfile1}
We can demonstrate interaction with the \texttt{-m} switch (see \vref{sec:modifylinebreaks}); in particular,
if we use \vref{lst:mlb2}, \vref{lst:env-mlb7} and \vref{lst:env-mlb8} and run
@@ -183,5 +183,5 @@ latexindent.pl --lines 6 myfile1.tex -o=+-mod1 -m -l env-mlb2,env-mlb7,env-mlb8
\end{widepage}
then we receive the output in \cref{lst:myfile1-mod1}.
- \cmhlistingsfromfile*[style=lineNumbersTeX]*{demonstrations/myfile1-mod1.tex}[tex-TCB]{\texttt{myfile1-mod1.tex}}{lst:myfile1-mod1}
+ \cmhlistingsfromfile[style=lineNumbersTeX]*{demonstrations/myfile1-mod1.tex}[tex-TCB]{\texttt{myfile1-mod1.tex}}{lst:myfile1-mod1}
\end{example}
diff --git a/support/latexindent/documentation/subsec-remove-para-line-breaks.tex b/support/latexindent/documentation/subsec-remove-para-line-breaks.tex
index 2b9de853b1..c95e8ff9b3 100644
--- a/support/latexindent/documentation/subsec-remove-para-line-breaks.tex
+++ b/support/latexindent/documentation/subsec-remove-para-line-breaks.tex
@@ -133,7 +133,7 @@ latexindent.pl -m shortlines-envs.tex -o shortlines-envs3.tex -l remove-para3.ya
settings in \cref{lst:remove-para4-yaml}.
Note:
- \announce*{2021-09-16}*{removeParagraphLineBreaks: masterDocument now mainDocument}
+ \announce{2021-09-16}*{removeParagraphLineBreaks: masterDocument now mainDocument}
\texttt{mainDocument} replaces \texttt{masterDocument} which was used in previous verions
of \texttt{latexindent.pl}. The field \texttt{masterDocument} is still supported, but it
is anticipated to be removed in a future version, so I recommend using
diff --git a/support/latexindent/documentation/subsec-text-wrap.tex b/support/latexindent/documentation/subsec-text-wrap.tex
index 781aeccf73..c07df8ff68 100644
--- a/support/latexindent/documentation/subsec-text-wrap.tex
+++ b/support/latexindent/documentation/subsec-text-wrap.tex
@@ -177,7 +177,7 @@ latexindent.pl -m textwrap-ts.tex -o=+-mod1 -l tabstop.yaml
In particular, note the field \texttt{perCodeBlockBasis: 0}.
\index{specialBeginEnd!textWrapOptions}
- \cmhlistingsfromfile*[style=textWrapOptionsAll]*{../defaultSettings.yaml}[MLB-TCB,width=.95\linewidth,before=\centering]{\texttt{textWrapOptions}}{lst:textWrapOptionsAll}
+ \cmhlistingsfromfile[style=textWrapOptionsAll]*{../defaultSettings.yaml}[MLB-TCB,width=.95\linewidth,before=\centering]{\texttt{textWrapOptions}}{lst:textWrapOptionsAll}
The code blocks detailed in \cref{lst:textWrapOptionsAll} are with direct reference to
those detailed in \vref{tab:code-blocks}.
@@ -190,7 +190,7 @@ latexindent.pl -m textwrap-ts.tex -o=+-mod1 -l tabstop.yaml
\vref{subsec:removeparagraphlinebreaks:and:textwrap}).
Note:
- \announce*{2021-09-16}*{textWrapOptions: masterDocument now mainDocument}
+ \announce{2021-09-16}*{textWrapOptions: masterDocument now mainDocument}
\texttt{mainDocument} replaces \texttt{masterDocument} which was used in previous verions
of \texttt{latexindent.pl}. The field \texttt{masterDocument} is still supported, but it
is anticipated to be removed in a future version, so I recommend using
diff --git a/support/latexindent/documentation/title.tex b/support/latexindent/documentation/title.tex
index 66f334fcb5..37460001dd 100644
--- a/support/latexindent/documentation/title.tex
+++ b/support/latexindent/documentation/title.tex
@@ -8,14 +8,14 @@
sharp corners,
enhanced,
overlay={\node[anchor=north east,outer sep=2pt] at ([xshift=3cm,yshift=4mm]frame.north east) {\includegraphics[width=3cm]{logo}}; }]
- \centering\ttfamily\bfseries latexindent.pl\\[1cm] Version 3.12
+ \centering\ttfamily\bfseries latexindent.pl\\[1cm] Version 3.13
\end{tcolorbox}
}
\author{Chris Hughes \thanks{and contributors!
See \vref{sec:contributors}.
For
all communication, please visit \cite{latexindent-home}.}}
-\date{2021-09-16}
+\date{2021-10-30}
\maketitle
\begin{adjustwidth}{1cm}{1cm}
\small
diff --git a/support/latexindent/latexindent.pl b/support/latexindent/latexindent.pl
index e27a8be07b..5ba1535efa 100755
--- a/support/latexindent/latexindent.pl
+++ b/support/latexindent/latexindent.pl
@@ -1,5 +1,5 @@
#!/usr/bin/env perl
-# latexindent.pl, version 3.12, 2021-09-16
+# latexindent.pl, version 3.13, 2021-10-30
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 247f7d33f0..a98dfd458a 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1635538558
+date=1635624926
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=fac3a9de28947dd543b69acef24d29b2
+lstdigest=2a5dd62ab673a1805da77534f328df39
numpkg=4974
relstate=next
-version=7972
+version=7973
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: lyE67Bv6Bxo7COdZwHe6ggDuhVNuFNOA94tbJ/ZBOJJ+H701WbRB7bh8v1jqOPeeGvzoS9k6cgPXOrau/sink5EY2M/9CBV/iticTs6fxq5BPwJo3M/Smc1QNScA93zxNkgCx1tPVL2ssg2w9RyXDxGi5BOGpFuLvHBpuZVzDc9Z3iOXQHm8vNQoL9kO7uyQAmmQopC7VGNtAjRxg4o7rOYxqkRZ2gOrfZzeJY8q920ceJzozBZxT2Tn94NZk8UQmlS4aZczo82ZYftfHnn5BssEMbMzIrQicoxk1MrdSvU4e6aUBXzbn8sWpSzaPdm3VLQg+GpLIkRZWr4mEb5iNw==
+;;;; signature/miktex: IsPYDfXZjlefj8Js3MWDBm+a5xfagubIvbyDyNah2r6GTeucfUu5uQa5Rqhc+UoyBhPBtfNDt+yLoD+41EajrPosbZAASp4hLJqVmT43FNmThsoda0zZbAp3lF8FQWNYkHxcSDCq9nN01Oo1lryAQJ/n9wGWF/DBx6arDvgxoSvNdD9OU231zYvGxhhrF3e4sxPmANo3VmVfGnMLARdzFzG+CMIpPK3JxmskMiWzcTdtYcoQSlFlDqyaCQ/RtPMFQL6kpFVLyGoDW207MoXe0Xsmnlji4Q1D+qPx+hDlkYnhwrMdu9Ld9ctYXrr7yP6mxUUICJV13XyVXWnJ82tTCA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 795ddeb26c..64618134c7 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1635538287
+date=1635624682
lastupd=arara arara__doc arara__source babel babel__doc babel__source bboldx bboldx__doc bboldx__source beamer beamer__doc cjk cjk__doc cjk__source cochineal cochineal__doc cochineal__source easybook easybook__doc easybook__source
-lstdigest=677e0877d156aaeb432a8a81cdbc545e
+lstdigest=dba4f6c9f5160874df6fa8b9af20485a
numpkg=4972
relstate=stable
-version=7972
+version=7973
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: fxCm1yMwh+zwQ6tyktrYS9VioF1s9J2a4vZ2QDyahsksjs3Q0BuUs9EN7xvxq142Aim+rIUvTteL2M6nB0WIeyUK0jKmxAp+49MLsVW39FCHrDrgqomF/lRALvfG2ocSWI/xSHMppiL+llD/SUx3l+T5/I0tsch4uWacp1rM+sCqzC8UaI+cTpKIDAHfUxj5JIVi6G/OTcWr8ZRr87837Iyjtq20nLYDZ9oXkzGaIN3q5JtuIdtQV7ta2XRPlBmhN+XeRDMGSaqQbXukMOEsxa+BB5W2fuPsGOqQSr+axT00J6KZB1Fl63q9aoOEiYud4jQJS+rQypHmfyosF/N+DQ==
+;;;; signature/miktex: pilKVXCLDBWJhfFJYhUsk4SmIpt5Vi4IiNhkdNsGP7rQng4IdOAA3i3FGmifQmDFvLXkCvVE7/X8RZDPxoYUJZyigYTc4yjOOa+v7GNcpbsR2z5LM9+TzbYdGX+f/L7iXA6kOXz/6N9XT4qem0EgRot+9E6qkw5iQkKwo+O0JvdB3Qc20ZJ49mmQCaxXf2HKZhhszLjXJ9qHyiQs02cTdCOhfjXCXCrro7poxPO03Uc7LIBae1JFw9j5jorTnshqNVKafRKLQf2rYfdJbxf0OlRzLSzrbvxYlmo6p5zn1owxvH1cdjq95zJs6L9j+a2ZpS2tbd2lsHhplcN1kHE4cw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 0dec31f779..27596ef94a 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2021-10-30-02-02
+2021-10-31-02-02