summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname593
-rw-r--r--FILES.byname.gzbin2436213 -> 2436495 bytes
-rw-r--r--FILES.last07days675
-rw-r--r--macros/latex/contrib/dataref/doc/dataref-doc.pdfbin238060 -> 260049 bytes
-rw-r--r--macros/latex/contrib/dataref/doc/dataref-doc.tex12
-rw-r--r--macros/latex/contrib/dataref/tex/dataref.sty116
-rw-r--r--macros/latex/contrib/oup-authoring-template/README2
-rw-r--r--macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.pdfbin204301 -> 205399 bytes
-rw-r--r--macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.tex85
-rw-r--r--macros/latex/contrib/oup-authoring-template/manifest.txt2
-rw-r--r--macros/latex/contrib/oup-authoring-template/oup-authoring-template.cls517
-rw-r--r--macros/latex/contrib/oup-authoring-template/oup-authoring-template.pdfbin362414 -> 179738 bytes
-rw-r--r--macros/latex/contrib/oup-authoring-template/oup-authoring-template.tex196
-rw-r--r--macros/latex/contrib/quantumarticle/README.md30
-rw-r--r--macros/latex/contrib/quantumarticle/example-plot.pdfbin0 -> 47088 bytes
-rw-r--r--macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.bib533
-rw-r--r--macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.pdfbin0 -> 261448 bytes
-rw-r--r--macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.tex267
-rw-r--r--macros/latex/contrib/quantumarticle/quantum-template.pdfbin434991 -> 435047 bytes
-rw-r--r--macros/latex/contrib/quantumarticle/quantum-template.tex33
-rw-r--r--macros/latex/contrib/quantumarticle/quantum.bst1789
-rw-r--r--macros/latex/contrib/quantumarticle/quantumarticle.cls6
-rw-r--r--macros/latex/contrib/quantumarticle/quantumview-template.bib43
-rw-r--r--macros/latex/contrib/quantumarticle/quantumview-template.pdfbin0 -> 264391 bytes
-rw-r--r--macros/latex/contrib/quantumarticle/quantumview-template.tex68
-rw-r--r--macros/latex/contrib/quantumarticle/quantumview.cls1004
-rw-r--r--support/latexindent/LatexIndent/AlignmentAtAmpersand.pm47
-rw-r--r--support/latexindent/LatexIndent/BackUpFileProcedure.pm21
-rw-r--r--support/latexindent/LatexIndent/Document.pm80
-rw-r--r--support/latexindent/LatexIndent/FileExtension.pm82
-rw-r--r--support/latexindent/LatexIndent/Item.pm2
-rw-r--r--support/latexindent/LatexIndent/Lines.pm3
-rw-r--r--support/latexindent/LatexIndent/LogFile.pm67
-rw-r--r--support/latexindent/LatexIndent/Logger.pm1
-rw-r--r--support/latexindent/LatexIndent/ModifyLineBreaks.pm1
-rw-r--r--support/latexindent/LatexIndent/Sentence.pm13
-rw-r--r--support/latexindent/LatexIndent/TrailingComments.pm3
-rw-r--r--support/latexindent/LatexIndent/Version.pm4
-rw-r--r--support/latexindent/LatexIndent/Wrap.pm3
-rw-r--r--support/latexindent/README2
-rw-r--r--support/latexindent/defaultSettings.yaml3
-rw-r--r--support/latexindent/documentation/latexindent-yaml-schema.json2
-rw-r--r--support/latexindent/documentation/latexindent.pdfbin1060430 -> 1062880 bytes
-rw-r--r--support/latexindent/documentation/latexindent.tex18
-rw-r--r--support/latexindent/documentation/sec-appendices.tex131
-rw-r--r--support/latexindent/documentation/sec-default-user-local.tex2
-rw-r--r--support/latexindent/documentation/sec-how-to-use.tex48
-rw-r--r--support/latexindent/documentation/subsec-one-sentence-per-line.tex8
-rw-r--r--support/latexindent/documentation/subsec-text-wrap.tex81
-rw-r--r--support/latexindent/documentation/title.tex4
-rwxr-xr-xsupport/latexindent/latexindent.pl11
-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
54 files changed, 5534 insertions, 1092 deletions
diff --git a/FILES.byname b/FILES.byname
index 96aa5cd1b4..e86e9635c6 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5212,7 +5212,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2022/03/24 | 104877 | FILES.last07days
+2022/03/25 | 86820 | 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
@@ -209289,11 +209289,11 @@
2021/03/05 | 76099 | macros/latex/contrib/dashundergaps/l3doc-TUB.cls
2021/03/05 | 557 | macros/latex/contrib/dashundergaps/README.md
2021/03/05 | 1093453 | macros/latex/contrib/dashundergaps.zip
-2017/01/06 | 238060 | macros/latex/contrib/dataref/doc/dataref-doc.pdf
-2017/01/06 | 29228 | macros/latex/contrib/dataref/doc/dataref-doc.tex
-2017/01/06 | 1884 | macros/latex/contrib/dataref/README.md
-2017/01/06 | 27858 | macros/latex/contrib/dataref/tex/dataref.sty
-2017/01/06 | 253142 | macros/latex/contrib/dataref.zip
+2022/03/25 | 260049 | macros/latex/contrib/dataref/doc/dataref-doc.pdf
+2022/03/25 | 29689 | macros/latex/contrib/dataref/doc/dataref-doc.tex
+2022/03/25 | 1884 | macros/latex/contrib/dataref/README.md
+2022/03/25 | 30202 | macros/latex/contrib/dataref/tex/dataref.sty
+2022/03/25 | 270713 | macros/latex/contrib/dataref.zip
2019/09/27 | 15003 | macros/latex/contrib/datatool/CHANGES
2019/09/27 | 1190542 | macros/latex/contrib/datatool/datatool-code.pdf
2019/09/27 | 838016 | macros/latex/contrib/datatool/datatool.dtx
@@ -221060,14 +221060,14 @@
2011/03/25 | 3337 | macros/latex/contrib/oubraces/oubraces.sty
2011/03/25 | 7895 | macros/latex/contrib/oubraces/oubraces.tex
2011/03/25 | 62501 | macros/latex/contrib/oubraces.zip
-2020/08/21 | 204301 | macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.pdf
-2020/08/21 | 22748 | macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.tex
-2020/08/21 | 1243 | macros/latex/contrib/oup-authoring-template/manifest.txt
-2020/08/21 | 114735 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.cls
-2020/08/21 | 362414 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.pdf
-2020/08/21 | 45341 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.tex
-2020/08/21 | 1057 | macros/latex/contrib/oup-authoring-template/README
-2020/08/28 | 539974 | macros/latex/contrib/oup-authoring-template.zip
+2022/03/18 | 205399 | macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.pdf
+2022/03/18 | 22674 | macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.tex
+2022/03/19 | 1243 | macros/latex/contrib/oup-authoring-template/manifest.txt
+2022/03/22 | 125853 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.cls
+2022/03/21 | 179738 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.pdf
+2022/03/22 | 46243 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.tex
+2022/03/18 | 1057 | macros/latex/contrib/oup-authoring-template/README
+2022/03/25 | 355415 | macros/latex/contrib/oup-authoring-template.zip
2010/05/16 | 252731 | macros/latex/contrib/outline/outline.pdf
2008/10/07 | 3626 | macros/latex/contrib/outline/outline-sample.tex
2008/10/07 | 2540 | macros/latex/contrib/outline/outline.sty
@@ -223504,13 +223504,22 @@
2009/01/24 | 37840 | macros/latex/contrib/qtree/qtree.sty
2009/01/24 | 625 | macros/latex/contrib/qtree/README
2009/01/24 | 224630 | macros/latex/contrib/qtree.zip
-2020/11/03 | 58256 | macros/latex/contrib/quantumarticle/quantumarticle.cls
-2020/11/03 | 291173 | macros/latex/contrib/quantumarticle/quantumarticle.pdf
-2019/12/11 | 24396 | macros/latex/contrib/quantumarticle/quantumarticle.tex
-2020/11/03 | 434991 | macros/latex/contrib/quantumarticle/quantum-template.pdf
-2020/11/03 | 18255 | macros/latex/contrib/quantumarticle/quantum-template.tex
-2020/11/03 | 7579 | macros/latex/contrib/quantumarticle/README.md
-2020/11/05 | 724198 | macros/latex/contrib/quantumarticle.zip
+2022/03/24 | 47088 | macros/latex/contrib/quantumarticle/example-plot.pdf
+2022/03/25 | 58266 | macros/latex/contrib/quantumarticle/quantumarticle.cls
+2022/03/24 | 291173 | macros/latex/contrib/quantumarticle/quantumarticle.pdf
+2022/03/25 | 24396 | macros/latex/contrib/quantumarticle/quantumarticle.tex
+2022/03/25 | 15316 | macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.bib
+2022/03/24 | 261448 | macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.pdf
+2022/03/25 | 17289 | macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.tex
+2022/03/25 | 44755 | macros/latex/contrib/quantumarticle/quantum.bst
+2022/03/24 | 435047 | macros/latex/contrib/quantumarticle/quantum-template.pdf
+2022/03/25 | 18431 | macros/latex/contrib/quantumarticle/quantum-template.tex
+2022/03/25 | 36389 | macros/latex/contrib/quantumarticle/quantumview.cls
+2022/03/25 | 1428 | macros/latex/contrib/quantumarticle/quantumview-template.bib
+2022/03/24 | 264391 | macros/latex/contrib/quantumarticle/quantumview-template.pdf
+2022/03/25 | 3846 | macros/latex/contrib/quantumarticle/quantumview-template.tex
+2022/03/25 | 8033 | macros/latex/contrib/quantumarticle/README.md
+2022/03/25 | 1324351 | macros/latex/contrib/quantumarticle.zip
2016/09/28 | 13334 | macros/latex/contrib/quicktype/QT.png
2016/09/28 | 121926 | macros/latex/contrib/quicktype/Quicktype.pdf
2016/09/28 | 48326 | macros/latex/contrib/quicktype/QuicktypeSample.pdf
@@ -273190,87 +273199,87 @@
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
-2022/03/13 | 18495 | support/latexindent/defaultSettings.yaml
-2022/03/13 | 633 | support/latexindent/documentation/cmhlistings.tex
-2022/03/13 | 7161 | support/latexindent/documentation/figure-schematic.png
-2022/03/13 | 1879 | support/latexindent/documentation/figure-schematic.tex
-2022/03/13 | 1060430 | support/latexindent/documentation/latexindent.pdf
-2022/03/13 | 23944 | support/latexindent/documentation/latexindent.tex
-2022/03/13 | 54383 | support/latexindent/documentation/latexindent-yaml-schema.json
-2022/03/13 | 44096 | support/latexindent/documentation/logo.png
-2022/03/13 | 1664 | support/latexindent/documentation/logo.tex
-2022/03/13 | 22208 | support/latexindent/documentation/sec-appendices.tex
-2022/03/13 | 1676 | support/latexindent/documentation/sec-conclusions-know-limitations.tex
-2022/03/13 | 74148 | support/latexindent/documentation/sec-default-user-local.tex
-2022/03/13 | 2109 | support/latexindent/documentation/sec-demonstration.tex
-2022/03/13 | 15950 | support/latexindent/documentation/sec-fine-tuning.tex
-2022/03/13 | 23057 | support/latexindent/documentation/sec-how-to-use.tex
-2022/03/13 | 10829 | support/latexindent/documentation/sec-indent-config-and-settings.tex
-2022/03/13 | 7951 | support/latexindent/documentation/sec-introduction.tex
-2022/03/13 | 585 | support/latexindent/documentation/sec-references.tex
-2022/03/13 | 21610 | support/latexindent/documentation/sec-replacements.tex
-2022/03/13 | 8026 | support/latexindent/documentation/sec-the-line-switch.tex
-2022/03/13 | 2997 | support/latexindent/documentation/sec-the-m-switch.tex
-2022/03/13 | 5715 | support/latexindent/documentation/subsec-combine-text-wrap-para-line-breaks.tex
-2022/03/13 | 14024 | support/latexindent/documentation/subsec-commands-and-their-options.tex
-2022/03/13 | 1887 | support/latexindent/documentation/subsec-noAdditionalIndent-indentRules.tex
-2022/03/13 | 21765 | support/latexindent/documentation/subsec-one-sentence-per-line.tex
-2022/03/13 | 66118 | support/latexindent/documentation/subsec-poly-switches.tex
-2022/03/13 | 20146 | support/latexindent/documentation/subsec-text-wrap.tex
-2022/03/13 | 5958 | support/latexindent/documentation/subsubsec-commands-with-arguments.tex
-2022/03/13 | 16560 | support/latexindent/documentation/subsubsec-environments-and-their-arguments.tex
-2022/03/13 | 3433 | support/latexindent/documentation/subsubsec-environments-with-items.tex
-2022/03/13 | 5266 | support/latexindent/documentation/subsubsec-headings.tex
-2022/03/13 | 4855 | support/latexindent/documentation/subsubsec-ifelsefi.tex
-2022/03/13 | 7199 | support/latexindent/documentation/subsubsec-no-add-remaining-code-blocks.tex
-2022/03/13 | 3831 | support/latexindent/documentation/subsubsec-special.tex
-2022/03/13 | 5717 | support/latexindent/documentation/test-default-settings.tex
-2022/03/13 | 1477 | support/latexindent/documentation/title.tex
-2022/03/13 | 61715 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
-2022/03/13 | 23660 | support/latexindent/LatexIndent/Arguments.pm
-2022/03/13 | 6645 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
-2022/03/13 | 4662 | support/latexindent/LatexIndent/BlankLines.pm
-2022/03/13 | 12661 | support/latexindent/LatexIndent/Braces.pm
-2022/03/13 | 5011 | support/latexindent/LatexIndent/Check.pm
-2022/03/13 | 10347 | support/latexindent/LatexIndent/Command.pm
-2022/03/13 | 19906 | support/latexindent/LatexIndent/Document.pm
-2022/03/13 | 1483 | support/latexindent/LatexIndent/DoubleBackSlash.pm
-2022/03/13 | 5969 | support/latexindent/LatexIndent/Else.pm
-2022/03/13 | 6742 | support/latexindent/LatexIndent/Environment.pm
-2022/03/13 | 9812144 | support/latexindent/latexindent.exe
-2022/03/13 | 11640 | support/latexindent/LatexIndent/FileContents.pm
-2022/03/13 | 6984 | support/latexindent/LatexIndent/FileExtension.pm
-2022/03/13 | 45755 | support/latexindent/LatexIndent/GetYamlSettings.pm
-2022/03/13 | 10802 | support/latexindent/LatexIndent/Heading.pm
-2022/03/13 | 12430 | support/latexindent/LatexIndent/HiddenChildren.pm
-2022/03/13 | 3378 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
-2022/03/13 | 9537 | support/latexindent/LatexIndent/IfElseFi.pm
-2022/03/13 | 20565 | support/latexindent/LatexIndent/Indent.pm
-2022/03/13 | 6560 | support/latexindent/LatexIndent/Item.pm
-2022/03/13 | 5306 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
-2022/03/13 | 9243 | support/latexindent/LatexIndent/Lines.pm
-2022/03/13 | 9775 | support/latexindent/LatexIndent/LogFile.pm
-2022/03/13 | 2188 | support/latexindent/LatexIndent/Logger.pm
-2022/03/13 | 7214 | support/latexindent/LatexIndent/MandatoryArgument.pm
-2022/03/13 | 16614 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
-2022/03/13 | 1558 | support/latexindent/latexindent-module-installer.pl
-2022/03/13 | 4270 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
-2022/03/13 | 6483 | support/latexindent/LatexIndent/OptionalArgument.pm
-2022/03/13 | 2795 | support/latexindent/latexindent.pl
-2022/03/13 | 2662 | support/latexindent/LatexIndent/Preamble.pm
-2022/03/13 | 3614 | support/latexindent/LatexIndent/Replacement.pm
-2022/03/13 | 4355 | support/latexindent/LatexIndent/RoundBrackets.pm
-2022/03/13 | 19848 | support/latexindent/LatexIndent/Sentence.pm
-2022/03/13 | 13969 | support/latexindent/LatexIndent/Special.pm
-2022/03/13 | 2492 | support/latexindent/LatexIndent/Switches.pm
-2022/03/13 | 3340 | support/latexindent/LatexIndent/Tokens.pm
-2022/03/13 | 6676 | support/latexindent/LatexIndent/TrailingComments.pm
-2022/03/13 | 5771 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
-2022/03/13 | 27286 | support/latexindent/LatexIndent/Verbatim.pm
-2022/03/13 | 833 | support/latexindent/LatexIndent/Version.pm
-2022/03/13 | 15139 | support/latexindent/LatexIndent/Wrap.pm
-2022/03/13 | 1874 | support/latexindent/README
-2022/03/13 | 6115024 | support/latexindent.zip
+2022/03/25 | 18529 | support/latexindent/defaultSettings.yaml
+2022/03/25 | 633 | support/latexindent/documentation/cmhlistings.tex
+2022/03/25 | 7161 | support/latexindent/documentation/figure-schematic.png
+2022/03/25 | 1879 | support/latexindent/documentation/figure-schematic.tex
+2022/03/25 | 1062880 | support/latexindent/documentation/latexindent.pdf
+2022/03/25 | 23944 | support/latexindent/documentation/latexindent.tex
+2022/03/25 | 54383 | support/latexindent/documentation/latexindent-yaml-schema.json
+2022/03/25 | 44096 | support/latexindent/documentation/logo.png
+2022/03/25 | 1664 | support/latexindent/documentation/logo.tex
+2022/03/25 | 27122 | support/latexindent/documentation/sec-appendices.tex
+2022/03/25 | 1676 | support/latexindent/documentation/sec-conclusions-know-limitations.tex
+2022/03/25 | 74182 | support/latexindent/documentation/sec-default-user-local.tex
+2022/03/25 | 2109 | support/latexindent/documentation/sec-demonstration.tex
+2022/03/25 | 15950 | support/latexindent/documentation/sec-fine-tuning.tex
+2022/03/25 | 24812 | support/latexindent/documentation/sec-how-to-use.tex
+2022/03/25 | 10829 | support/latexindent/documentation/sec-indent-config-and-settings.tex
+2022/03/25 | 7951 | support/latexindent/documentation/sec-introduction.tex
+2022/03/25 | 585 | support/latexindent/documentation/sec-references.tex
+2022/03/25 | 21610 | support/latexindent/documentation/sec-replacements.tex
+2022/03/25 | 8026 | support/latexindent/documentation/sec-the-line-switch.tex
+2022/03/25 | 2997 | support/latexindent/documentation/sec-the-m-switch.tex
+2022/03/25 | 5715 | support/latexindent/documentation/subsec-combine-text-wrap-para-line-breaks.tex
+2022/03/25 | 14024 | support/latexindent/documentation/subsec-commands-and-their-options.tex
+2022/03/25 | 1887 | support/latexindent/documentation/subsec-noAdditionalIndent-indentRules.tex
+2022/03/25 | 22088 | support/latexindent/documentation/subsec-one-sentence-per-line.tex
+2022/03/25 | 66118 | support/latexindent/documentation/subsec-poly-switches.tex
+2022/03/25 | 20053 | support/latexindent/documentation/subsec-text-wrap.tex
+2022/03/25 | 5958 | support/latexindent/documentation/subsubsec-commands-with-arguments.tex
+2022/03/25 | 16560 | support/latexindent/documentation/subsubsec-environments-and-their-arguments.tex
+2022/03/25 | 3433 | support/latexindent/documentation/subsubsec-environments-with-items.tex
+2022/03/25 | 5266 | support/latexindent/documentation/subsubsec-headings.tex
+2022/03/25 | 4855 | support/latexindent/documentation/subsubsec-ifelsefi.tex
+2022/03/25 | 7199 | support/latexindent/documentation/subsubsec-no-add-remaining-code-blocks.tex
+2022/03/25 | 3831 | support/latexindent/documentation/subsubsec-special.tex
+2022/03/25 | 5717 | support/latexindent/documentation/test-default-settings.tex
+2022/03/25 | 1477 | support/latexindent/documentation/title.tex
+2022/03/25 | 61982 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
+2022/03/25 | 23660 | support/latexindent/LatexIndent/Arguments.pm
+2022/03/25 | 7187 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
+2022/03/25 | 4662 | support/latexindent/LatexIndent/BlankLines.pm
+2022/03/25 | 12661 | support/latexindent/LatexIndent/Braces.pm
+2022/03/25 | 5011 | support/latexindent/LatexIndent/Check.pm
+2022/03/25 | 10347 | support/latexindent/LatexIndent/Command.pm
+2022/03/25 | 21892 | support/latexindent/LatexIndent/Document.pm
+2022/03/25 | 1483 | support/latexindent/LatexIndent/DoubleBackSlash.pm
+2022/03/25 | 5969 | support/latexindent/LatexIndent/Else.pm
+2022/03/25 | 6742 | support/latexindent/LatexIndent/Environment.pm
+2022/03/25 | 9813840 | support/latexindent/latexindent.exe
+2022/03/25 | 11640 | support/latexindent/LatexIndent/FileContents.pm
+2022/03/25 | 8075 | support/latexindent/LatexIndent/FileExtension.pm
+2022/03/25 | 45755 | support/latexindent/LatexIndent/GetYamlSettings.pm
+2022/03/25 | 10802 | support/latexindent/LatexIndent/Heading.pm
+2022/03/25 | 12430 | support/latexindent/LatexIndent/HiddenChildren.pm
+2022/03/25 | 3378 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
+2022/03/25 | 9537 | support/latexindent/LatexIndent/IfElseFi.pm
+2022/03/25 | 20565 | support/latexindent/LatexIndent/Indent.pm
+2022/03/25 | 6585 | support/latexindent/LatexIndent/Item.pm
+2022/03/25 | 5306 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
+2022/03/25 | 9316 | support/latexindent/LatexIndent/Lines.pm
+2022/03/25 | 12434 | support/latexindent/LatexIndent/LogFile.pm
+2022/03/25 | 2231 | support/latexindent/LatexIndent/Logger.pm
+2022/03/25 | 7214 | support/latexindent/LatexIndent/MandatoryArgument.pm
+2022/03/25 | 16615 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
+2022/03/25 | 1558 | support/latexindent/latexindent-module-installer.pl
+2022/03/25 | 4270 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
+2022/03/25 | 6483 | support/latexindent/LatexIndent/OptionalArgument.pm
+2022/03/25 | 2984 | support/latexindent/latexindent.pl
+2022/03/25 | 2662 | support/latexindent/LatexIndent/Preamble.pm
+2022/03/25 | 3614 | support/latexindent/LatexIndent/Replacement.pm
+2022/03/25 | 4355 | support/latexindent/LatexIndent/RoundBrackets.pm
+2022/03/25 | 19924 | support/latexindent/LatexIndent/Sentence.pm
+2022/03/25 | 13969 | support/latexindent/LatexIndent/Special.pm
+2022/03/25 | 2492 | support/latexindent/LatexIndent/Switches.pm
+2022/03/25 | 3340 | support/latexindent/LatexIndent/Tokens.pm
+2022/03/25 | 6703 | support/latexindent/LatexIndent/TrailingComments.pm
+2022/03/25 | 5771 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
+2022/03/25 | 27286 | support/latexindent/LatexIndent/Verbatim.pm
+2022/03/25 | 833 | support/latexindent/LatexIndent/Version.pm
+2022/03/25 | 15183 | support/latexindent/LatexIndent/Wrap.pm
+2022/03/25 | 1874 | support/latexindent/README
+2022/03/25 | 6116855 | 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
@@ -298508,7 +298517,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2022/03/24 | 648433 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/03/25 | 648433 | 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
@@ -300075,9 +300084,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/03/12 | 39680 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2022/03/12 | 43633 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/03/24 | 271477 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/03/24 | 1438082 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/03/24 | 1328878 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/03/25 | 271519 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/03/25 | 1438051 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/03/25 | 1327840 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/03/12 | 13516 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2022/03/12 | 14387 | 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
@@ -300301,191 +300310,191 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2022/03/24 | 648367 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/03/24 | 51556 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/03/24 | 57329 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/03/24 | 1021845 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/03/24 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/03/24 | 28794 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/03/24 | 31519 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/03/24 | 30145 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/03/24 | 35241 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/03/24 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/03/24 | 65055 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/03/24 | 86757 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2022/03/24 | 95282 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/03/24 | 68872 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/03/24 | 77066 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/03/24 | 27247 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/03/24 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/03/24 | 332412 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/03/24 | 394369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/03/24 | 32954 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/03/24 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/03/24 | 51484 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/03/24 | 57268 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/03/24 | 244960 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/03/24 | 270299 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/03/24 | 179875 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2022/03/24 | 196115 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/03/24 | 92916 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2022/03/24 | 103091 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/03/24 | 21312 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/03/24 | 24119 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/03/24 | 481496 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/03/24 | 46065 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/03/24 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/03/24 | 285711 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/03/24 | 326659 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/03/24 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/03/24 | 45824 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/03/24 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/03/24 | 135376 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/03/24 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/03/24 | 1454761 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/03/24 | 99814 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/03/24 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/03/24 | 43645 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/03/24 | 48823 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/03/24 | 25105 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/03/24 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/03/24 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/03/24 | 63308 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/03/24 | 135947 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/03/24 | 155498 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/03/24 | 73476 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/03/24 | 78973 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/03/24 | 72012 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/03/24 | 81458 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/03/24 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2022/03/24 | 296037 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/03/24 | 22146 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/03/24 | 25058 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/03/24 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/03/24 | 112587 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/03/24 | 64541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/03/24 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/03/24 | 96630 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/03/24 | 115655 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/03/24 | 38425 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/03/24 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/03/24 | 484369 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/03/24 | 565928 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/03/24 | 203835 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/03/24 | 247332 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/03/24 | 152029 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2022/03/24 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/03/24 | 95431 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/03/24 | 109477 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/03/24 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2022/03/24 | 18368 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/03/24 | 28421 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/03/24 | 30541 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/03/24 | 631280 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/03/24 | 681940 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/03/24 | 532450 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/03/24 | 598229 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/03/24 | 477845 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2022/03/24 | 528017 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/03/24 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/03/24 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/03/24 | 1752145 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/03/24 | 1982084 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/03/24 | 68007 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/03/24 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/03/24 | 27589 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/03/24 | 32133 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/03/24 | 7751 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/03/24 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/03/24 | 190504 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2022/03/24 | 208807 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/03/24 | 251128 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/03/24 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/03/24 | 99254 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/03/24 | 104555 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/03/24 | 126532 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2022/03/24 | 139101 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/03/24 | 288200 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/03/24 | 325268 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/03/24 | 199829 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/03/24 | 181515 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/03/24 | 49768 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/03/24 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/03/24 | 31410 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/03/24 | 35166 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/03/24 | 38559 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/03/24 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/03/24 | 43360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/03/24 | 47922 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/03/24 | 45740 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/03/24 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/03/24 | 197033 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/03/24 | 213275 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/03/24 | 36047 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2022/03/24 | 41181 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/03/24 | 755740 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/03/24 | 824369 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/03/24 | 200395 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/03/24 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/03/24 | 210276 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/03/24 | 245095 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/03/24 | 79024 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/03/24 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/03/24 | 1181124 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/03/24 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/03/24 | 20183 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/03/24 | 23943 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/03/24 | 31586 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/03/24 | 37373 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/03/24 | 64708 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/03/24 | 72884 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/03/24 | 50797 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/03/24 | 58662 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/03/24 | 693067 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/03/24 | 758954 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/03/24 | 1357072 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/03/24 | 1501237 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/03/24 | 42816 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2022/03/24 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/03/24 | 57617 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/03/24 | 63739 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/03/24 | 25550 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/03/24 | 27635 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/03/24 | 16559 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/03/24 | 18491 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/03/24 | 64488 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/03/24 | 71003 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/03/24 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/03/24 | 173006 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/03/24 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/03/24 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/03/24 | 100485 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2022/03/24 | 107704 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2022/03/24 | 2694876 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/03/24 | 2820684 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/03/24 | 55284 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/03/24 | 62378 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/03/24 | 37114 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/03/24 | 41203 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/03/24 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/03/24 | 34051 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/03/24 | 67703 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/03/24 | 73527 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/03/24 | 316241 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/03/24 | 351696 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/03/24 | 55756 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/03/24 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/03/24 | 591568 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/03/24 | 629428 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/03/24 | 39724 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/03/24 | 43221 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/03/24 | 271534 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/03/24 | 1438461 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/03/24 | 1328178 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/03/24 | 13511 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/03/24 | 14410 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/03/25 | 648367 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/03/25 | 51557 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/03/25 | 57330 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/03/25 | 1021844 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/03/25 | 1156463 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/03/25 | 28798 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/03/25 | 31519 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/03/25 | 30145 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/03/25 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/03/25 | 56617 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/03/25 | 65053 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/03/25 | 86758 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/03/25 | 95281 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/03/25 | 68871 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/03/25 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/03/25 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/03/25 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/03/25 | 332412 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/03/25 | 394370 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/03/25 | 32954 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/03/25 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/03/25 | 51484 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/03/25 | 57269 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/03/25 | 244960 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/03/25 | 270300 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/03/25 | 179875 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/03/25 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/03/25 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/03/25 | 103090 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/03/25 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/03/25 | 24120 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/03/25 | 481496 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/03/25 | 46065 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/03/25 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/03/25 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/03/25 | 326660 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/03/25 | 41306 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/03/25 | 45825 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/03/25 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/03/25 | 135375 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/03/25 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/03/25 | 1454760 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/03/25 | 99816 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/03/25 | 113051 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/03/25 | 43644 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/03/25 | 48823 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/03/25 | 25105 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/03/25 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/03/25 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/03/25 | 63309 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/03/25 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/03/25 | 155499 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/03/25 | 73477 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/03/25 | 78973 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/03/25 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/03/25 | 81459 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/03/25 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/03/25 | 296037 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/03/25 | 22145 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/03/25 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/03/25 | 97201 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/03/25 | 112587 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/03/25 | 64541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/03/25 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/03/25 | 96631 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/03/25 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/03/25 | 38425 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/03/25 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/03/25 | 484369 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/03/25 | 565929 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/03/25 | 203836 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/03/25 | 247332 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/03/25 | 152028 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/03/25 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/03/25 | 95431 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/03/25 | 109478 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/03/25 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/03/25 | 18368 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/03/25 | 28420 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/03/25 | 30541 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/03/25 | 631280 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/03/25 | 681938 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/03/25 | 532452 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/03/25 | 598230 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/03/25 | 477846 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/03/25 | 528016 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/03/25 | 93955 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/03/25 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/03/25 | 1752144 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/03/25 | 1982080 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/03/25 | 68007 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/03/25 | 74068 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/03/25 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/03/25 | 32132 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/03/25 | 7753 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/03/25 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/03/25 | 190503 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/03/25 | 208806 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/03/25 | 251127 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/03/25 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/03/25 | 99256 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/03/25 | 104554 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/03/25 | 126532 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/03/25 | 139101 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/03/25 | 288199 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/03/25 | 325268 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/03/25 | 199828 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/03/25 | 181513 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/03/25 | 49769 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/03/25 | 55566 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/03/25 | 31410 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/03/25 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/03/25 | 38558 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/03/25 | 43915 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/03/25 | 43360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/03/25 | 47922 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/03/25 | 45741 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/03/25 | 52325 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/03/25 | 197034 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/03/25 | 213278 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/03/25 | 36047 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/03/25 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/03/25 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/03/25 | 824370 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/03/25 | 200395 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/03/25 | 202834 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/03/25 | 210275 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/03/25 | 245094 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/03/25 | 79025 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/03/25 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/03/25 | 1181124 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/03/25 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/03/25 | 20183 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/03/25 | 23945 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/03/25 | 31587 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/03/25 | 37372 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/03/25 | 64707 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/03/25 | 72885 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/03/25 | 50798 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/03/25 | 58661 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/03/25 | 693067 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/03/25 | 758955 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/03/25 | 1357070 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/03/25 | 1501237 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/03/25 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/03/25 | 52478 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/03/25 | 57617 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/03/25 | 63739 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/03/25 | 25551 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/03/25 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/03/25 | 16559 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/03/25 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/03/25 | 64489 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/03/25 | 71006 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/03/25 | 156962 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/03/25 | 173006 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/03/25 | 58664 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/03/25 | 67253 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/03/25 | 100485 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/03/25 | 107705 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/03/25 | 2694874 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/03/25 | 2820686 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/03/25 | 55284 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/03/25 | 62380 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/03/25 | 37115 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/03/25 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/03/25 | 28688 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/03/25 | 34051 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/03/25 | 67704 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/03/25 | 73527 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/03/25 | 316242 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/03/25 | 351696 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/03/25 | 55757 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/03/25 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/03/25 | 591569 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/03/25 | 629429 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/03/25 | 39726 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/03/25 | 43225 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/03/25 | 271553 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/03/25 | 1437938 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/03/25 | 1328455 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/03/25 | 13513 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/03/25 | 14410 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2022/03/24 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/03/25 | 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
@@ -300946,7 +300955,7 @@
2022/02/22 | 6917 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2022/03/24 | 997 | systems/win32/miktex/tm/packages/pr.ini
+2022/03/25 | 997 | 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
@@ -302745,7 +302754,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2022/03/25 | 186 | timestamp
+2022/03/26 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 5aad2222c1..0d46e9038c 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 96958de3c1..e369d87788 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,192 +1,295 @@
-2022/03/24 | 99814 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/03/24 | 997 | systems/win32/miktex/tm/packages/pr.ini
-2022/03/24 | 99254 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/03/24 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/03/24 | 96630 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/03/24 | 95431 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/03/24 | 95282 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/03/24 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/03/24 | 92916 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2022/03/24 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/03/24 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/03/24 | 86757 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2022/03/24 | 824369 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/03/24 | 81458 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/03/24 | 79024 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/03/24 | 78973 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/03/24 | 7751 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/03/24 | 77066 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/03/24 | 758954 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/03/24 | 755740 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/03/24 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/03/24 | 73527 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/03/24 | 73476 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/03/24 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/03/24 | 72884 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/03/24 | 72012 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/03/24 | 71003 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/03/24 | 693067 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/03/24 | 68872 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/03/24 | 681940 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/03/24 | 68007 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/03/24 | 67703 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/03/24 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/03/24 | 65055 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/03/24 | 648433 | systems/win32/miktex/tm/packages/files.csv.lzma
-2022/03/24 | 648367 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/03/24 | 64708 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/03/24 | 64541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/03/24 | 64488 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/03/24 | 63739 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/03/24 | 63308 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/03/24 | 631280 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/03/24 | 629428 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/03/24 | 62378 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/03/24 | 598229 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/03/24 | 591568 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/03/24 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/03/24 | 58662 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/03/24 | 57617 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/03/24 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/03/24 | 57329 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/03/24 | 57268 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/03/24 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/03/24 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/03/24 | 565928 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/03/24 | 55756 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/03/24 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/03/24 | 55284 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/03/24 | 532450 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/03/24 | 528017 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/03/24 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/03/24 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/03/24 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/03/24 | 51556 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/03/24 | 51484 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/03/24 | 50797 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/03/24 | 49768 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/03/24 | 48823 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/03/24 | 484369 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/03/24 | 481496 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/03/24 | 47922 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/03/24 | 477845 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2022/03/24 | 46065 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/03/24 | 45824 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/03/24 | 45740 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/03/24 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/03/24 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/03/24 | 43645 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/03/24 | 43360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/03/24 | 43221 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/03/24 | 42816 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2022/03/24 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/03/24 | 41203 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/03/24 | 41181 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/03/24 | 39724 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/03/24 | 394369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/03/24 | 38559 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/03/24 | 38425 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/03/24 | 37373 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/03/24 | 37114 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/03/24 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/03/24 | 36047 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2022/03/24 | 35241 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/03/24 | 351696 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/03/24 | 35166 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/03/24 | 34051 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/03/24 | 332412 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/03/24 | 32954 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/03/24 | 326659 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/03/24 | 325268 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/03/24 | 32133 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/03/24 | 316241 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/03/24 | 31586 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/03/24 | 31519 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/03/24 | 31410 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/03/24 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/03/24 | 30541 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/03/24 | 30145 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/03/24 | 296037 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/03/24 | 288200 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/03/24 | 28794 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/03/24 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/03/24 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/03/24 | 285711 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/03/24 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/03/24 | 28421 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/03/24 | 2820684 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/03/24 | 27635 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/03/24 | 27589 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/03/24 | 27247 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/03/24 | 271534 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/03/24 | 271477 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/03/24 | 270299 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/03/24 | 2694876 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/03/24 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2022/03/24 | 25550 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/03/24 | 251128 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/03/24 | 25105 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/03/24 | 25058 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/03/24 | 247332 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/03/24 | 245095 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/03/24 | 244960 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/03/24 | 24119 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/03/24 | 23943 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/03/24 | 22146 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/03/24 | 213275 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/03/24 | 21312 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/03/24 | 210276 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/03/24 | 208807 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/03/24 | 203835 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/03/24 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/03/24 | 20183 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/03/24 | 200395 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/03/24 | 199829 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/03/24 | 1982084 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/03/24 | 197033 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/03/24 | 196115 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/03/24 | 190504 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2022/03/24 | 18491 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/03/24 | 18368 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/03/24 | 181515 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/03/24 | 179875 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2022/03/24 | 1752145 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/03/24 | 173006 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/03/24 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/03/24 | 16559 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/03/24 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2022/03/24 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/03/24 | 155498 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/03/24 | 152029 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2022/03/24 | 1501237 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/03/24 | 1454761 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/03/24 | 14410 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2022/03/24 | 1438461 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/03/24 | 1438082 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/03/24 | 139101 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/03/24 | 135947 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/03/24 | 1357072 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/03/24 | 135376 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/03/24 | 13511 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/03/24 | 1328878 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2022/03/24 | 1328178 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/03/24 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/03/24 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/03/24 | 126532 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2022/03/24 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/03/24 | 1181124 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/03/24 | 115655 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/03/24 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/03/24 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2022/03/24 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/03/24 | 112587 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/03/24 | 109477 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/03/24 | 107704 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2022/03/24 | 104555 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/03/24 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/03/24 | 103091 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/03/24 | 1021845 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/03/24 | 100485 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/03/25 | 99816 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/03/25 | 997 | systems/win32/miktex/tm/packages/pr.ini
+2022/03/25 | 99256 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/03/25 | 9813840 | support/latexindent/latexindent.exe
+2022/03/25 | 97201 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/03/25 | 96631 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/03/25 | 95431 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/03/25 | 9537 | support/latexindent/LatexIndent/IfElseFi.pm
+2022/03/25 | 95281 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/03/25 | 93955 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/03/25 | 9316 | support/latexindent/LatexIndent/Lines.pm
+2022/03/25 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/03/25 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/03/25 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/03/25 | 86758 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/03/25 | 833 | support/latexindent/LatexIndent/Version.pm
+2022/03/25 | 824370 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/03/25 | 81459 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/03/25 | 8075 | support/latexindent/LatexIndent/FileExtension.pm
+2022/03/25 | 8033 | macros/latex/contrib/quantumarticle/README.md
+2022/03/25 | 8026 | support/latexindent/documentation/sec-the-line-switch.tex
+2022/03/25 | 7951 | support/latexindent/documentation/sec-introduction.tex
+2022/03/25 | 79025 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/03/25 | 78973 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/03/25 | 7753 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/03/25 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/03/25 | 758955 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/03/25 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/03/25 | 74182 | support/latexindent/documentation/sec-default-user-local.tex
+2022/03/25 | 74068 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/03/25 | 73527 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/03/25 | 73477 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/03/25 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/03/25 | 72885 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/03/25 | 7214 | support/latexindent/LatexIndent/MandatoryArgument.pm
+2022/03/25 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/03/25 | 7199 | support/latexindent/documentation/subsubsec-no-add-remaining-code-blocks.tex
+2022/03/25 | 7187 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
+2022/03/25 | 7161 | support/latexindent/documentation/figure-schematic.png
+2022/03/25 | 71006 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/03/25 | 693067 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/03/25 | 68871 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/03/25 | 681938 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/03/25 | 68007 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/03/25 | 67704 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/03/25 | 6742 | support/latexindent/LatexIndent/Environment.pm
+2022/03/25 | 67253 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/03/25 | 6703 | support/latexindent/LatexIndent/TrailingComments.pm
+2022/03/25 | 66118 | support/latexindent/documentation/subsec-poly-switches.tex
+2022/03/25 | 6585 | support/latexindent/LatexIndent/Item.pm
+2022/03/25 | 65053 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/03/25 | 648433 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/03/25 | 6483 | support/latexindent/LatexIndent/OptionalArgument.pm
+2022/03/25 | 648367 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/03/25 | 64707 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/03/25 | 64541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/03/25 | 64489 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/03/25 | 63739 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/03/25 | 633 | support/latexindent/documentation/cmhlistings.tex
+2022/03/25 | 63309 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/03/25 | 631280 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/03/25 | 629429 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/03/25 | 62380 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/03/25 | 61982 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
+2022/03/25 | 6116855 | support/latexindent.zip
+2022/03/25 | 598230 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/03/25 | 5969 | support/latexindent/LatexIndent/Else.pm
+2022/03/25 | 5958 | support/latexindent/documentation/subsubsec-commands-with-arguments.tex
+2022/03/25 | 591569 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/03/25 | 58664 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/03/25 | 58661 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/03/25 | 585 | support/latexindent/documentation/sec-references.tex
+2022/03/25 | 58266 | macros/latex/contrib/quantumarticle/quantumarticle.cls
+2022/03/25 | 5771 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
+2022/03/25 | 57617 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/03/25 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/03/25 | 57330 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/03/25 | 57269 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/03/25 | 5717 | support/latexindent/documentation/test-default-settings.tex
+2022/03/25 | 5715 | support/latexindent/documentation/subsec-combine-text-wrap-para-line-breaks.tex
+2022/03/25 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/03/25 | 56617 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/03/25 | 565929 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/03/25 | 55757 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/03/25 | 55566 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/03/25 | 55284 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/03/25 | 54383 | support/latexindent/documentation/latexindent-yaml-schema.json
+2022/03/25 | 532452 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/03/25 | 5306 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
+2022/03/25 | 528016 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/03/25 | 5266 | support/latexindent/documentation/subsubsec-headings.tex
+2022/03/25 | 52478 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/03/25 | 52325 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/03/25 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/03/25 | 51557 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/03/25 | 51484 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/03/25 | 50798 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/03/25 | 5011 | support/latexindent/LatexIndent/Check.pm
+2022/03/25 | 49769 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/03/25 | 48823 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/03/25 | 4855 | support/latexindent/documentation/subsubsec-ifelsefi.tex
+2022/03/25 | 484369 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/03/25 | 481496 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/03/25 | 47922 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/03/25 | 477846 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/03/25 | 4662 | support/latexindent/LatexIndent/BlankLines.pm
+2022/03/25 | 46065 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/03/25 | 45825 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/03/25 | 45755 | support/latexindent/LatexIndent/GetYamlSettings.pm
+2022/03/25 | 45741 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/03/25 | 44755 | macros/latex/contrib/quantumarticle/quantum.bst
+2022/03/25 | 44096 | support/latexindent/documentation/logo.png
+2022/03/25 | 43915 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/03/25 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/03/25 | 43644 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/03/25 | 4355 | support/latexindent/LatexIndent/RoundBrackets.pm
+2022/03/25 | 43360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/03/25 | 43225 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/03/25 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/03/25 | 4270 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
+2022/03/25 | 41306 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/03/25 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/03/25 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/03/25 | 39726 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/03/25 | 394370 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/03/25 | 38558 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/03/25 | 3846 | macros/latex/contrib/quantumarticle/quantumview-template.tex
+2022/03/25 | 38425 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/03/25 | 3831 | support/latexindent/documentation/subsubsec-special.tex
+2022/03/25 | 37372 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/03/25 | 37115 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/03/25 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/03/25 | 36389 | macros/latex/contrib/quantumarticle/quantumview.cls
+2022/03/25 | 3614 | support/latexindent/LatexIndent/Replacement.pm
+2022/03/25 | 36047 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/03/25 | 355415 | macros/latex/contrib/oup-authoring-template.zip
+2022/03/25 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/03/25 | 351696 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/03/25 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/03/25 | 3433 | support/latexindent/documentation/subsubsec-environments-with-items.tex
+2022/03/25 | 34051 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/03/25 | 3378 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
+2022/03/25 | 3340 | support/latexindent/LatexIndent/Tokens.pm
+2022/03/25 | 332412 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/03/25 | 32954 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/03/25 | 326660 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/03/25 | 325268 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/03/25 | 32132 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/03/25 | 316242 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/03/25 | 31587 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/03/25 | 31519 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/03/25 | 31410 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/03/25 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/03/25 | 30541 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/03/25 | 30202 | macros/latex/contrib/dataref/tex/dataref.sty
+2022/03/25 | 30145 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/03/25 | 2997 | support/latexindent/documentation/sec-the-m-switch.tex
+2022/03/25 | 2984 | support/latexindent/latexindent.pl
+2022/03/25 | 29689 | macros/latex/contrib/dataref/doc/dataref-doc.tex
+2022/03/25 | 296037 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/03/25 | 288199 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/03/25 | 28798 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/03/25 | 28688 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/03/25 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/03/25 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/03/25 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/03/25 | 28420 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/03/25 | 2820686 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/03/25 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/03/25 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/03/25 | 27286 | support/latexindent/LatexIndent/Verbatim.pm
+2022/03/25 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/03/25 | 271553 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/03/25 | 271519 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/03/25 | 27122 | support/latexindent/documentation/sec-appendices.tex
+2022/03/25 | 270713 | macros/latex/contrib/dataref.zip
+2022/03/25 | 270300 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/03/25 | 2694874 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/03/25 | 2662 | support/latexindent/LatexIndent/Preamble.pm
+2022/03/25 | 260049 | macros/latex/contrib/dataref/doc/dataref-doc.pdf
+2022/03/25 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/03/25 | 25551 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/03/25 | 251127 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/03/25 | 25105 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/03/25 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/03/25 | 2492 | support/latexindent/LatexIndent/Switches.pm
+2022/03/25 | 24812 | support/latexindent/documentation/sec-how-to-use.tex
+2022/03/25 | 247332 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/03/25 | 245094 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/03/25 | 244960 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/03/25 | 24396 | macros/latex/contrib/quantumarticle/quantumarticle.tex
+2022/03/25 | 24120 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/03/25 | 23945 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/03/25 | 23944 | support/latexindent/documentation/latexindent.tex
+2022/03/25 | 23660 | support/latexindent/LatexIndent/Arguments.pm
+2022/03/25 | 2231 | support/latexindent/LatexIndent/Logger.pm
+2022/03/25 | 22145 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/03/25 | 22088 | support/latexindent/documentation/subsec-one-sentence-per-line.tex
+2022/03/25 | 21892 | support/latexindent/LatexIndent/Document.pm
+2022/03/25 | 21610 | support/latexindent/documentation/sec-replacements.tex
+2022/03/25 | 213278 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/03/25 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/03/25 | 2109 | support/latexindent/documentation/sec-demonstration.tex
+2022/03/25 | 210275 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/03/25 | 208806 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/03/25 | 20565 | support/latexindent/LatexIndent/Indent.pm
+2022/03/25 | 203836 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/03/25 | 202834 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/03/25 | 20183 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/03/25 | 20053 | support/latexindent/documentation/subsec-text-wrap.tex
+2022/03/25 | 200395 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/03/25 | 199828 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/03/25 | 19924 | support/latexindent/LatexIndent/Sentence.pm
+2022/03/25 | 1982080 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/03/25 | 197034 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/03/25 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/03/25 | 190503 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/03/25 | 1887 | support/latexindent/documentation/subsec-noAdditionalIndent-indentRules.tex
+2022/03/25 | 1884 | macros/latex/contrib/dataref/README.md
+2022/03/25 | 1879 | support/latexindent/documentation/figure-schematic.tex
+2022/03/25 | 1874 | support/latexindent/README
+2022/03/25 | 18529 | support/latexindent/defaultSettings.yaml
+2022/03/25 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/03/25 | 18431 | macros/latex/contrib/quantumarticle/quantum-template.tex
+2022/03/25 | 18368 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/03/25 | 181513 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/03/25 | 179875 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/03/25 | 1752144 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/03/25 | 173006 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/03/25 | 17289 | macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.tex
+2022/03/25 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/03/25 | 1676 | support/latexindent/documentation/sec-conclusions-know-limitations.tex
+2022/03/25 | 1664 | support/latexindent/documentation/logo.tex
+2022/03/25 | 16615 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
+2022/03/25 | 16560 | support/latexindent/documentation/subsubsec-environments-and-their-arguments.tex
+2022/03/25 | 16559 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/03/25 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/03/25 | 15950 | support/latexindent/documentation/sec-fine-tuning.tex
+2022/03/25 | 156962 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/03/25 | 1558 | support/latexindent/latexindent-module-installer.pl
+2022/03/25 | 155499 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/03/25 | 15316 | macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.bib
+2022/03/25 | 152028 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/03/25 | 15183 | support/latexindent/LatexIndent/Wrap.pm
+2022/03/25 | 1501237 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/03/25 | 1483 | support/latexindent/LatexIndent/DoubleBackSlash.pm
+2022/03/25 | 1477 | support/latexindent/documentation/title.tex
+2022/03/25 | 1454760 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/03/25 | 14410 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/03/25 | 1438051 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/03/25 | 1437938 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/03/25 | 1428 | macros/latex/contrib/quantumarticle/quantumview-template.bib
+2022/03/25 | 14024 | support/latexindent/documentation/subsec-commands-and-their-options.tex
+2022/03/25 | 13969 | support/latexindent/LatexIndent/Special.pm
+2022/03/25 | 139101 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/03/25 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/03/25 | 1357070 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/03/25 | 135375 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/03/25 | 13513 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/03/25 | 1328455 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/03/25 | 1327840 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/03/25 | 1324351 | macros/latex/contrib/quantumarticle.zip
+2022/03/25 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/03/25 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/03/25 | 12661 | support/latexindent/LatexIndent/Braces.pm
+2022/03/25 | 126532 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/03/25 | 12434 | support/latexindent/LatexIndent/LogFile.pm
+2022/03/25 | 12430 | support/latexindent/LatexIndent/HiddenChildren.pm
+2022/03/25 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/03/25 | 1181124 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/03/25 | 11640 | support/latexindent/LatexIndent/FileContents.pm
+2022/03/25 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/03/25 | 1156463 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/03/25 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/03/25 | 113051 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/03/25 | 112587 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/03/25 | 109478 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/03/25 | 10829 | support/latexindent/documentation/sec-indent-config-and-settings.tex
+2022/03/25 | 10802 | support/latexindent/LatexIndent/Heading.pm
+2022/03/25 | 107705 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/03/25 | 1062880 | support/latexindent/documentation/latexindent.pdf
+2022/03/25 | 104554 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/03/25 | 10347 | support/latexindent/LatexIndent/Command.pm
+2022/03/25 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/03/25 | 103090 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/03/25 | 1021844 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/03/25 | 100485 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/03/24 | 47088 | macros/latex/contrib/quantumarticle/example-plot.pdf
+2022/03/24 | 435047 | macros/latex/contrib/quantumarticle/quantum-template.pdf
+2022/03/24 | 291173 | macros/latex/contrib/quantumarticle/quantumarticle.pdf
+2022/03/24 | 264391 | macros/latex/contrib/quantumarticle/quantumview-template.pdf
+2022/03/24 | 261448 | macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.pdf
2022/03/23 | 995423 | graphics/pgf/contrib/figchild/figchild.pdf
2022/03/23 | 884626 | graphics/pgf/contrib/istgame.zip
2022/03/23 | 5882 | graphics/pgf/contrib/figchild/capa.tex
@@ -255,6 +358,7 @@
2022/03/22 | 46911 | systems/texlive/tlnet/tlpkg/translations/messages.pot
2022/03/22 | 46614 | macros/latex/contrib/bfh-ci/doc/DEMO-BFHSciPoster.pdf
2022/03/22 | 4641 | support/make4ht/domfilters/make4ht-aeneas.lua
+2022/03/22 | 46243 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.tex
2022/03/22 | 4612 | macros/latex/contrib/bfh-ci/README.md
2022/03/22 | 4603 | macros/latex/contrib/bfh-ci/tex/bfh-layout-boxes.cfg
2022/03/22 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -400,6 +504,7 @@
2022/03/22 | 128796 | macros/latex/contrib/uni-titlepage/titlepage-Markus-2.pdf
2022/03/22 | 127997 | macros/latex/contrib/uni-titlepage/titlepage-Spacer.pdf
2022/03/22 | 12754 | support/make4ht/formats/make4ht-odt.lua
+2022/03/22 | 125853 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.cls
2022/03/22 | 1257 | macros/luatex/latex/letgut/tex/letgut.dbx
2022/03/22 | 1221 | macros/luatex/latex/letgut/doc/latexmkrc
2022/03/22 | 1215 | support/make4ht/filters/make4ht-svg-height.lua
@@ -621,6 +726,7 @@
2022/03/21 | 18915 | macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
2022/03/21 | 186077 | support/TeX4ht/source/ChangeLog
2022/03/21 | 185307 | macros/latex/contrib/projlib/ProjLib.dtx
+2022/03/21 | 179738 | macros/latex/contrib/oup-authoring-template/oup-authoring-template.pdf
2022/03/21 | 177482 | language/japanese/zxjafont.zip
2022/03/21 | 17094 | biblio/citation-style-language/citeproc-util.lua
2022/03/21 | 1686 | macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -878,6 +984,7 @@
2022/03/19 | 1382 | support/texdoc/script/texdoc.tlu
2022/03/19 | 132 | macros/latex/contrib/thuthesis/thuthesis-author-year.cbx
2022/03/19 | 1320 | support/texdoc/script/texdoclib.tlu
+2022/03/19 | 1243 | macros/latex/contrib/oup-authoring-template/manifest.txt
2022/03/19 | 1199311 | macros/unicodetex/latex/njuthesis.zip
2022/03/19 | 1146496 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
2022/03/19 | 10624 | support/texdoc/script/texdoclib-score.tlu
@@ -886,193 +993,3 @@
2022/03/19 | 10317 | macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerfontthemetrigon.dtx
2022/03/19 | 1008818 | macros/latex/contrib/thuthesis/thuthesis.pdf
2022/03/19 | 10001 | macros/latex/contrib/thuthesis/ref/refs.bib
-2022/03/18 | 9881 | macros/luatex/generic/luaotfload/fontloader-fonts-gbn.lua
-2022/03/18 | 981511 | macros/luatex/generic/luaotfload/fontloader-reference.lua
-2022/03/18 | 97961 | macros/latex/contrib/media9/pdfbase.sty
-2022/03/18 | 97368 | systems/texlive/tlnet/archive/latexmk.r62768.tar.xz
-2022/03/18 | 94451 | macros/luatex/generic/luaotfload/fontloader-font-otr.lua
-2022/03/18 | 93699 | macros/xetex/generic/xetexko/xetexko.sty
-2022/03/18 | 92210 | macros/luatex/generic/luaotfload/fontloader-font-cff.lua
-2022/03/18 | 912 | macros/luatex/generic/luaotfload/fontloader-fonts-mis.lua
-2022/03/18 | 9093 | macros/xetex/generic/xetexko/ChangeLog
-2022/03/18 | 8840 | macros/luatex/generic/luaotfload/luaotfload-loaders.lua
-2022/03/18 | 88304 | macros/latex/contrib/gzt/doc/french/denis.png
-2022/03/18 | 879568 | macros/luatex/generic/luaotfload/fontloader-2022-02-24.lua
-2022/03/18 | 8597 | macros/luatex/generic/luaotfload/filegraph.tex
-2022/03/18 | 8568980 | systems/texlive/tlnet/archive/pdfmanagement-testphase.doc.r62764.tar.xz
-2022/03/18 | 8548 | macros/luatex/generic/luaotfload/shaper-demo-graphite.pdf
-2022/03/18 | 8469 | macros/luatex/generic/luaotfload/shaper-demo.pdf
-2022/03/18 | 83445 | macros/latex/contrib/easybook/easybook.tex
-2022/03/18 | 8134 | macros/latex/contrib/gzt/source/gzt-logo.pdf
-2022/03/18 | 80025 | macros/latex/contrib/create-theorem/create-theorem.sty
-2022/03/18 | 7904 | macros/luatex/generic/luaotfload/fontloader-font-oti.lua
-2022/03/18 | 77694 | macros/luatex/generic/luaotfload/luaotfload-conf.pdf
-2022/03/18 | 76968 | macros/luatex/generic/luaotfload/luaotfload-tool.pdf
-2022/03/18 | 7589 | macros/luatex/generic/luaotfload/luaotfload-unicode.lua
-2022/03/18 | 7528 | macros/luatex/generic/luaotfload/luaotfload-tounicode.lua
-2022/03/18 | 75141 | macros/latex/contrib/easybook/easybook.dtx
-2022/03/18 | 7473523 | install/macros/latex/contrib/media9.tds.zip
-2022/03/18 | 7468233 | macros/latex/contrib/media9.zip
-2022/03/18 | 740148 | systems/texlive/tlnet/archive/caption.doc.r62758.tar.xz
-2022/03/18 | 735 | macros/luatex/generic/luaotfload/luaotfload.conf.example
-2022/03/18 | 7260 | macros/luatex/generic/luaotfload/fontloader-fonts-ext.lua
-2022/03/18 | 7152 | systems/texlive/tlnet/archive/pyluatex.r62766.tar.xz
-2022/03/18 | 699 | macros/luatex/generic/luaotfload/scripts-demo.tex
-2022/03/18 | 6866 | macros/luatex/generic/luaotfload/fontloader-font-afk.lua
-2022/03/18 | 6809 | macros/luatex/generic/luaotfload/luaotfload-case.lua
-2022/03/18 | 676 | macros/latex/contrib/create-theorem/README.md
-2022/03/18 | 668 | macros/xetex/generic/xetexko/xetexko-hanging.sty
-2022/03/18 | 6644 | macros/luatex/generic/luaotfload/fontloader-l-string.lua
-2022/03/18 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220318.zip.md5
-2022/03/18 | 65279 | macros/luatex/generic/luaotfload/fontloader-font-otj.lua
-2022/03/18 | 647 | macros/xetex/generic/xetexko/xetexko-vertical.sty
-2022/03/18 | 646 | macros/latex/contrib/gzt/doc/french/sections/fixed-footnotes.tex
-2022/03/18 | 64282 | macros/luatex/generic/luaotfload/fontloader-font-ttf.lua
-2022/03/18 | 641 | macros/xetex/generic/xetexko/xetexko-space.sty
-2022/03/18 | 6405 | macros/luatex/generic/luaotfload/fontloader-l-lua.lua
-2022/03/18 | 639 | macros/xetex/generic/xetexko/xetexko-josa.sty
-2022/03/18 | 639 | macros/xetex/generic/xetexko/xetexko-font.sty
-2022/03/18 | 632900 | macros/latex/contrib/easybook.zip
-2022/03/18 | 63211 | macros/luatex/generic/luaotfload/fontloader-font-con.lua
-2022/03/18 | 6317 | macros/luatex/generic/luaotfload/luaotfload-status.lua
-2022/03/18 | 6309 | macros/luatex/generic/luaotfload/luaotfload-szss.lua
-2022/03/18 | 60390 | macros/latex/contrib/gzt/doc/french/sections/gztarticle.tex
-2022/03/18 | 59668 | systems/texlive/tlnet/archive/caption.r62758.tar.xz
-2022/03/18 | 591566 | macros/latex/contrib/easybook/easybook.pdf
-2022/03/18 | 5885 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.tex
-2022/03/18 | 57342 | macros/luatex/generic/luaotfload/fontloader-fonts-lig.lua
-2022/03/18 | 569292 | macros/latex/contrib/gzt/doc/english/gzt-code.pdf
-2022/03/18 | 5671 | macros/latex/contrib/gzt/doc/french/sections/notations.tex
-2022/03/18 | 5502 | macros/luatex/generic/luaotfload/fontloader-font-cid.lua
-2022/03/18 | 546057 | macros/latex/contrib/gzt/doc/french/gzt-fr.pdf
-2022/03/18 | 54080 | macros/luatex/generic/luaotfload/luaotfload-tool.lua
-2022/03/18 | 5388 | macros/luatex/generic/luaotfload/fontloader-data-con.lua
-2022/03/18 | 52 | macros/luatex/generic/luaotfload/luaotfload-blacklist.cnf
-2022/03/18 | 511846677 | systems/mac/mactex/mactex-MacTeXtras-20220318.zip
-2022/03/18 | 50540 | systems/texlive/tlnet/archive/pdfmanagement-testphase.r62764.tar.xz
-2022/03/18 | 4956 | macros/luatex/generic/luaotfload/luaotfload-dvi.lua
-2022/03/18 | 494195 | macros/luatex/generic/luaotfload/luaotfload-latex.pdf
-2022/03/18 | 491448 | systems/texlive/tlnet/archive/latexmk.doc.r62768.tar.xz
-2022/03/18 | 48728 | macros/luatex/generic/luaotfload/fontloader-basics-chr.lua
-2022/03/18 | 4722928 | systems/texlive/tlnet/archive/genealogytree.doc.r62760.tar.xz
-2022/03/18 | 46322 | macros/luatex/generic/luaotfload/fontloader-util-str.lua
-2022/03/18 | 457960 | systems/texlive/tlnet/archive/lwarp.source.r62762.tar.xz
-2022/03/18 | 42240 | macros/luatex/generic/luaotfload/luaotfload-harf-plug.lua
-2022/03/18 | 41758 | macros/luatex/generic/luaotfload/fontloader-l-table.lua
-2022/03/18 | 41303 | macros/luatex/generic/luaotfload/fontloader-l-unicode.lua
-2022/03/18 | 4050 | macros/luatex/generic/luaotfload/luaotfload-harf-var-t2-writer.lua
-2022/03/18 | 4047 | macros/luatex/generic/luaotfload/luaotfload-fallback.lua
-2022/03/18 | 40007 | macros/luatex/generic/luaotfload/filegraph.pdf
-2022/03/18 | 39492 | macros/xetex/generic/xetexko/hanjaexa_hangul.tab
-2022/03/18 | 38742 | macros/luatex/generic/luaotfload/fontloader-l-lpeg.lua
-2022/03/18 | 385 | macros/latex/contrib/gzt/doc/french/sections/todo.tex
-2022/03/18 | 3846 | support/texlogfilter/texlogfilter.html
-2022/03/18 | 3821 | macros/luatex/generic/luaotfload/fontloader-fonts-def.lua
-2022/03/18 | 3784 | macros/luatex/generic/luaotfload/README.md
-2022/03/18 | 3747996 | macros/latex/contrib/media9/doc/media9.pdf
-2022/03/18 | 3693 | macros/luatex/generic/luaotfload/fontloader-font-imp-italics.lua
-2022/03/18 | 3674 | macros/luatex/generic/luaotfload/fontloader-fonts-syn.lua
-2022/03/18 | 361 | macros/luatex/generic/luaotfload/fontloader-l-function.lua
-2022/03/18 | 36032 | macros/xetex/generic/xetexko/xetexko-doc.tex
-2022/03/18 | 3580 | macros/luatex/generic/luaotfload/fontloader-font-imp-ligatures.lua
-2022/03/18 | 3537 | macros/xetex/generic/xetexko/README
-2022/03/18 | 35340 | systems/texlive/tlnet/archive/genealogytree.r62760.tar.xz
-2022/03/18 | 34922 | macros/luatex/generic/luaotfload/fontloader-font-ott.lua
-2022/03/18 | 34476 | macros/luatex/generic/luaotfload/fontloader-font-otc.lua
-2022/03/18 | 340885 | macros/xetex/generic/xetexko.zip
-2022/03/18 | 3406 | macros/luatex/generic/luaotfload/fontloader-font-imp-tex.lua
-2022/03/18 | 33960 | macros/luatex/generic/luaotfload/fontloader-font-otl.lua
-2022/03/18 | 33149 | macros/luatex/generic/luaotfload/luaotfload-features.lua
-2022/03/18 | 3287334 | macros/luatex/generic/luaotfload/luaotfload-characters.lua
-2022/03/18 | 32597 | macros/luatex/generic/luaotfload/luaotfload-auxiliary.lua
-2022/03/18 | 31349 | macros/luatex/generic/luaotfload/fontloader-font-one.lua
-2022/03/18 | 31223 | macros/luatex/generic/luaotfload/luaotfload-configuration.lua
-2022/03/18 | 31007 | macros/luatex/generic/luaotfload/luaotfload-parsers.lua
-2022/03/18 | 3056628 | systems/texlive/tlnet/archive/lwarp.doc.r62762.tar.xz
-2022/03/18 | 289 | macros/latex/contrib/gzt/doc/english/README-TRANSLATION.md
-2022/03/18 | 2867 | support/texlogfilter/README
-2022/03/18 | 275 | macros/luatex/generic/luaotfload/luaotfload-main.lua
-2022/03/18 | 267 | macros/latex/contrib/functional/README.txt
-2022/03/18 | 2667 | macros/luatex/generic/luaotfload/fontloader-font-vfc.lua
-2022/03/18 | 2656 | macros/latex/contrib/gzt/doc/french/gzt-fr.tex
-2022/03/18 | 2625 | macros/luatex/generic/luaotfload/fontloader-fonts-enc.lua
-2022/03/18 | 260637 | macros/xetex/generic/xetexko/xetexko-doc.pdf
-2022/03/18 | 2582 | macros/luatex/generic/luaotfload/luaotfload-suppress.lua
-2022/03/18 | 2549 | macros/luatex/generic/luaotfload/fontloader-l-math.lua
-2022/03/18 | 25336 | macros/luatex/generic/luaotfload/luaotfload-filelist.lua
-2022/03/18 | 25264 | macros/luatex/generic/luaotfload/fontloader-font-ocl.lua
-2022/03/18 | 2506 | macros/luatex/generic/luaotfload/luaotfload-scripts.lua
-2022/03/18 | 23399 | macros/luatex/generic/luaotfload/fontloader-fonts-tfm.lua
-2022/03/18 | 23238 | macros/luatex/generic/luaotfload/fontloader-font-oto.lua
-2022/03/18 | 230866 | macros/latex/contrib/gzt/source/gzt.dtx
-2022/03/18 | 22496 | systems/texlive/tlnet/archive/hyphen-base.r62756.tar.xz
-2022/03/18 | 22303 | macros/latex/contrib/create-theorem/create-theorem-doc.tex
-2022/03/18 | 22186 | macros/luatex/generic/luaotfload/fontloader-l-file.lua
-2022/03/18 | 21858 | macros/luatex/generic/luaotfload/luaotfload-diagnostics.lua
-2022/03/18 | 21673 | macros/luatex/generic/luaotfload/scripts-demo.pdf
-2022/03/18 | 21480 | macros/luatex/generic/luaotfload/NEWS
-2022/03/18 | 212700 | systems/texlive/tlnet/archive/lwarp.r62762.tar.xz
-2022/03/18 | 211320 | systems/texlive/tlnet/archive/caption.source.r62758.tar.xz
-2022/03/18 | 20268 | macros/luatex/generic/luaotfload/luaotfload-letterspace.lua
-2022/03/18 | 20038 | macros/luatex/generic/luaotfload/luaotfload-harf-var-ttf.lua
-2022/03/18 | 19944 | macros/luatex/generic/luaotfload/fontloader-font-def.lua
-2022/03/18 | 19746 | macros/luatex/generic/luaotfload/luaotfload-init.lua
-2022/03/18 | 1957410 | install/macros/luatex/generic/luaotfload.tds.zip
-2022/03/18 | 19570 | macros/luatex/generic/luaotfload/fontloader-font-map.lua
-2022/03/18 | 1956919 | macros/luatex/generic/luaotfload.zip
-2022/03/18 | 191 | macros/luatex/generic/luaotfload/shaper-demo-graphite.tex
-2022/03/18 | 19106 | macros/latex/contrib/create-theorem/LICENSE
-2022/03/18 | 18970 | macros/luatex/generic/luaotfload/luaotfload-harf-define.lua
-2022/03/18 | 18717 | macros/luatex/generic/luaotfload/fontloader-font-onr.lua
-2022/03/18 | 18714 | macros/luatex/generic/luaotfload/COPYING
-2022/03/18 | 186209 | macros/luatex/generic/luaotfload/fontloader-font-ots.lua
-2022/03/18 | 1850 | macros/luatex/generic/luaotfload/fontloader-l-boolean.lua
-2022/03/18 | 18411 | macros/luatex/generic/luaotfload/fontloader-font-ota.lua
-2022/03/18 | 18378 | macros/luatex/generic/luaotfload/luaotfload.conf.rst
-2022/03/18 | 182 | macros/luatex/generic/luaotfload/shaper-demo.tex
-2022/03/18 | 1812 | macros/xetex/generic/xetexko/hanjacom_hangul.tab
-2022/03/18 | 1812 | macros/luatex/generic/luaotfload/luaotfload.sty
-2022/03/18 | 1794 | macros/luatex/generic/luaotfload/fontloader-font-ini.lua
-2022/03/18 | 16794 | macros/luatex/generic/luaotfload/luaotfload.conf.5
-2022/03/18 | 16675 | macros/luatex/generic/luaotfload/luaotfload-latex.tex
-2022/03/18 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220318.zip.sha512
-2022/03/18 | 161574 | macros/latex/contrib/media9/media9.sty
-2022/03/18 | 16116 | macros/luatex/generic/luaotfload/luaotfload-tool.rst
-2022/03/18 | 15954 | macros/luatex/generic/luaotfload/luaotfload-colors.lua
-2022/03/18 | 15662 | macros/latex/contrib/media9/ChangeLog
-2022/03/18 | 154203 | macros/luatex/generic/luaotfload/fontloader-font-dsp.lua
-2022/03/18 | 15196 | macros/luatex/generic/luaotfload/fontloader-reference-load-order.lua
-2022/03/18 | 15068 | macros/luatex/generic/luaotfload/luaotfload-multiscript.lua
-2022/03/18 | 1449 | macros/luatex/generic/luaotfload/fontloader-font-lua.lua
-2022/03/18 | 1434 | macros/latex/contrib/gzt/doc/french/gzt-fr.bib
-2022/03/18 | 143362 | macros/latex/contrib/functional/functional.tex
-2022/03/18 | 1432 | macros/latex/contrib/gzt/doc/french/sections/packages-charges.tex
-2022/03/18 | 14279 | macros/luatex/generic/luaotfload/luaotfload-harf-var-cff2.lua
-2022/03/18 | 137635 | macros/latex/contrib/create-theorem.zip
-2022/03/18 | 13565 | macros/luatex/generic/luaotfload/luaotfload.lua
-2022/03/18 | 13525 | macros/luatex/generic/luaotfload/fontloader-font-shp.lua
-2022/03/18 | 134114 | macros/luatex/generic/luaotfload/luaotfload-database.lua
-2022/03/18 | 13006 | support/texlogfilter.zip
-2022/03/18 | 1295287 | install/macros/latex/contrib/gzt.tds.zip
-2022/03/18 | 12829 | macros/luatex/generic/luaotfload/luaotfload-tool.1
-2022/03/18 | 12745 | macros/luatex/generic/luaotfload/fontloader-basics-gen.lua
-2022/03/18 | 12704 | macros/luatex/generic/luaotfload/fontloader-font-imp-effects.lua
-2022/03/18 | 126052 | systems/texlive/tlnet/archive/pdfmanagement-testphase.source.r62764.tar.xz
-2022/03/18 | 125412 | macros/xetex/generic/xetexko/hanja_hangul.tab
-2022/03/18 | 1238774 | macros/latex/contrib/gzt.zip
-2022/03/18 | 123300 | systems/texlive/tlnet/archive/csplain.r62772.tar.xz
-2022/03/18 | 123210 | macros/luatex/generic/luaotfload/fontloader-font-oup.lua
-2022/03/18 | 12224 | macros/luatex/generic/luaotfload/luaotfload-notdef.lua
-2022/03/18 | 11988 | macros/luatex/generic/luaotfload/fontloader-l-io.lua
-2022/03/18 | 11940 | support/texlogfilter/texlogfilter
-2022/03/18 | 118105 | macros/luatex/generic/luaotfload/fontloader-font-osd.lua
-2022/03/18 | 117509 | macros/latex/contrib/create-theorem/create-theorem-doc.pdf
-2022/03/18 | 11474 | macros/luatex/generic/luaotfload/fontloader-util-fil.lua
-2022/03/18 | 11323 | macros/luatex/generic/luaotfload/luaotfload-log.lua
-2022/03/18 | 10984 | macros/luatex/generic/luaotfload/luaotfload-resolvers.lua
-2022/03/18 | 1077 | macros/latex/contrib/gzt/README.md
-2022/03/18 | 102502 | macros/luatex/generic/luaotfload/luaotfload-glyphlist.lua
-2022/03/18 | 10207 | macros/luatex/generic/luaotfload/fontloader-basics-nod.lua
-2022/03/18 | 100622 | macros/luatex/generic/luaotfload/luaotfload-main.tex
-2022/03/18 | 1004 | macros/luatex/generic/luaotfload/luaotfload-embolden.lua
-2022/03/18 | 100036 | systems/texlive/tlnet/archive/pyluatex.doc.r62766.tar.xz
diff --git a/macros/latex/contrib/dataref/doc/dataref-doc.pdf b/macros/latex/contrib/dataref/doc/dataref-doc.pdf
index ec64e4c97a..6e1da0af9a 100644
--- a/macros/latex/contrib/dataref/doc/dataref-doc.pdf
+++ b/macros/latex/contrib/dataref/doc/dataref-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/dataref/doc/dataref-doc.tex b/macros/latex/contrib/dataref/doc/dataref-doc.tex
index d50200f57a..8041e40e3a 100644
--- a/macros/latex/contrib/dataref/doc/dataref-doc.tex
+++ b/macros/latex/contrib/dataref/doc/dataref-doc.tex
@@ -15,7 +15,7 @@
% This work consists of the files dataref.tex and dataref.sty
\documentclass{ltxdoc}
-\usepackage[usagereport]{dataref}[2017/01/06]
+\usepackage[usagereport]{dataref}[2019/02/01]
\EnableCrossrefs
\CodelineIndex
@@ -83,6 +83,7 @@ include all dead mice before.}
Right brace \} Tilde \~}
+ \changes{v0.7}{2019/02/15}{Fix math backends, \cmd{\drefinput}}
\changes{v0.6}{2016/11/15}{Units, Unit Scaling, general overhaul}
\changes{v0.4}{2015/04/21}{Remove Spurious Whitespaces}
\changes{v0.1}{2013/12/06}{Initial version}
@@ -296,10 +297,11 @@ It is a value-typed PGF key, so operations like
\Macro{\drefinput[\meta{prefix}]\{\meta{filename}\}}
-Uses \cmd{\input} to read the file. During the processing of this file
-\option{prefix} is set to the given value. This is useful to include
-several files that resulted from different experiments but include
-equal datapoint keys.
+Reads in the given \TeX/dataref file with the given key prefix. Therefore, all included \cmd{\drefset} commands are define their keys with the given prefix.
+This is useful to include several files that resulted from different experiments but include equal datapoint keys.
+
+This command uses \cmd{\subimport} from the \texttt{import} package to read the file.
+Hence, if there is an \cmd{\drefinput} in an included file, it search its filename relative to its own directory.\footnote{In former versions, \cmd{\drefinput} relied directly on \cmd{\input} and, therefore, the filename was interpreted relative to the root file.}.
\subsection{Referencing Datapoints}
diff --git a/macros/latex/contrib/dataref/tex/dataref.sty b/macros/latex/contrib/dataref/tex/dataref.sty
index bb6f013032..2eb4931c17 100644
--- a/macros/latex/contrib/dataref/tex/dataref.sty
+++ b/macros/latex/contrib/dataref/tex/dataref.sty
@@ -1,4 +1,4 @@
-%% Copyright 2013-2017 Christian Dietrich
+%% Copyright 2013-2022 Christian Dietrich
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -15,7 +15,7 @@
%% This work consists of the files dataref.dtx and dataref.ins
%% and the derived file dataref.sty.
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{dataref}[2017/01/06 v0.6 dataref]
+\ProvidesPackage{dataref}[2022/03/25 v0.7 dataref]
\ifx\drefloaded\undefined
\let\drefloaded=\relax
@@ -33,6 +33,9 @@
\RequirePackage{iftex}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
+\RequirePackage{import}
+
+
\SetupKeyvalOptions{
family=dref,
@@ -49,11 +52,14 @@
% Load & Store Layer
+% \dref@xdef is only used in \dref@set
+\let\dref@xdef=\xdef % \dref@xdef is overridden in case of listadd
+
\def\dref@set#1#2#3{%
\edef\dref@set@path{#3}%
\edef\dref@set@value{#2}%
\expandafter\pgfkeys@temptoks\expandafter{\dref@set@value}%
- \expandafter\xdef%
+ \expandafter\dref@xdef%
\csname pgfk@\dref@datapath\dref@set@path\endcsname%
{\the\pgfkeys@temptoks}%
% Setting the Unit is a little bit more tricky
@@ -85,6 +91,16 @@
}%
}
+% List Looping. We define this upfront, as we have to build a pgfk@
+% name here. The @loop@do macro is a helper to invoke list/do with the
+% list element. dref@loop uses the etoolbox for looping feature.
+\def\dref@loop@do#1{\drefkeys{list/do={#1}}}
+\def\dref@loop#1{%
+ \forlistcsloop{\dref@loop@do}{%
+ pgfk@\dref@datapath #1%
+ }%
+}
+
\def\drefifdefined#1{%
\pgfkeysifdefined{\dref@datapath\drefprefix #1}%{then}{else}
}
@@ -107,7 +123,7 @@
.search also={/pgf/number format},
% The @init action is used to initialize all other actions
@[/.code={\begingroup%
- \pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}% No more dimensions too large
+ % /pgf/fpu: \pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}% No more dimensions too large
\def\drefunit{}% At first we are unitless
\aftergroup\edef%
\aftergroup\drefresult%
@@ -186,7 +202,13 @@
\aftergroup\drefresult%
\aftergroup}}
},
- %
+ % List Keys
+ list/append/.code={\let\dref@xdef=\listxadd},
+ % Apply loop/do for every item
+ list/loop/.code={%
+ \dref@loop{\drefprefix #1}
+ },
+ % Various Keys
debug/.is if=dref@debug,
ignoremissing/.is if=dref@ignoremissing,
defaultvalue/.store in=\dref@defaultvalue,
@@ -300,11 +322,27 @@
\drefkeys{@[, @init, value={#3}, #1, save={#2}, @set, @]}%
}
+\def\dref@splitpath@helper#1/#2\@nnil{%
+ \ifx&#2&% Basename found
+ \def\dref@basename{#1}\let\@next\relax%
+ \else% Another Dirname
+ \edef\dref@dirname{\dref@dirname #1/}%
+ \def\@next{\dref@splitpath@helper#2\@nnil}%
+ \fi%
+ \@next%
+}
+\def\dref@splitpath#1{%
+ % Splits path into \dref@dirname and \dref@basename
+ \def\dref@dirname{}%
+ \dref@splitpath@helper #1/\@nnil%
+}
+
\newcommand{\drefinput}[2][]{%
- \begingroup
- \drefkeys{prefix/.append={#1}}
- \input{data/#2}
- \endgroup
+ \begingroup%
+ \drefkeys{prefix/.append={#1}}%
+ \dref@splitpath{#2}%
+ \subimport{\dref@dirname}{\dref@basename}%
+ \endgroup%
}
@@ -460,6 +498,51 @@
\def\dref@parser@end#1#2\@nnil{}
\csdef{dref@parser@@}{\dref@parser@end}
+\newif\ifdrefbadmath
+\newif\ifdref@xfp
+\IfFileExists{xfp.sty}{\dref@xfptrue}{\dref@xfpfalse}
+
+% For LuaLaTeX: use the lua math engine
+\ifLuaTeX
+ \drefbadmathfalse%
+ \def\drefmathparse#1{%
+ \edef\pgfmathresult{\directlua{%
+ abs=math.abs ;
+ result = (#1);
+ if result == false then
+ tex.print(0);
+ elseif result == true then
+ tex.print(1);
+ else
+ tex.print(string.format(string.char(37).."s", result))
+ end
+ }}}%
+% We use the FP Library of expl3. This seems to work better for
+% floating numbers and for integers
+\else \ifdref@xfp
+ \RequirePackage{xfp}
+ \drefbadmathfalse%
+ \ExplSyntaxOn% we want to do tests % Usepackage xfp
+ \cs_set_eq:NN \dref@fpeval \fp_eval:n%
+ \ExplSyntaxOff%
+ \def\drefmathparse#1{%
+ \edef\pgfmathresult{\dref@fpeval{#1}}%
+ }%
+%% Fallback to PGFMath
+\else
+ \drefbadmathtrue%
+ \def\drefmathparse#1{%
+ \pgfkeys{/pgf/fpu,/pgf/fpu/output format=fixed}%
+ \pgfmathparse{#1}%
+ }%
+ \dref@warning{****************************************************}%
+ \dref@warning{Dataref will use bad math library (/pgf/fpu). Be aware%
+ of floating point rounding errors}%
+ \dref@warning{****************************************************}%
+ \fi
+\fi
+
+
\drefkeys{
@init/.append style={%
@calc/.code={},%
@@ -467,19 +550,20 @@
@calc pgf/.style={
@calc/.append code={%
\dref@parser{#1}{\dref@calc@@ready}%
- \pgfmathparse{\dref@calc@@ready}%
+ \drefmathparse{\dref@calc@@ready}%
\dref@debug{#1 -> \dref@calc@@ready = \pgfmathresult}%
\edef\drefresult{\pgfmathresult}%
- }
+ }
}
}
+
\protected\def\drefcalc{\@ifstar\drefcalc@starred\drefcalc@unstarred}
\newcommand{\drefcalc@unstarred}[2][]{% Unstarred
\drefkeys{@[,@init, print=default, @calc pgf={#2}, #1, @calc, @print, @set,%
@annotate={\textbackslash drefcalc[#1]\{#2\}},@]}%
}
-\newcommand{\drefcalc@starred}[2][]{ % Starred
+\newcommand{\drefcalc@starred}[2][]{% Starred
\drefkeys{@[,@init, @calc pgf={#2}, #1, @calc, @set,%
@annotate={\textbackslash \drefcalc*[#1]\{#2\}},@]%
}%
@@ -722,7 +806,7 @@
\else%
\dref@error{Assertion failed: #1}%
\fi%
- \else
+ \else%
\dref@warning{Assertion holds: #1}%
\fi%
\endgroup%
@@ -738,7 +822,7 @@
@calc pgf={100 * (\drefresult)},
},
percent of/.style={
- factor of=#1, percent,
+ factor of={#1}, percent,
@calc/.append code={\def\drefunit{}},
},
scale by/.style={
@@ -904,10 +988,10 @@
\def\do####1{%
\edef\dref@unit@key{/dref/units/\expandafter\detokenize\expandafter{\drefunit} to \detokenize{####1}}%
\pgfkeys{\dref@unit@key/.get=\dref@unit@factor}%
- \pgfmathparse{\@@score{\drefunit@bestvalue} < \@@score{\drefresult \dref@unit@factor}}%
+ \drefmathparse{\@@score{\drefunit@bestvalue} < \@@score{\drefresult \dref@unit@factor}}%
%\typeout{\drefunit \pgfmathresult \detokenize{####1}}%
\ifdim\pgfmathresult pt=1.0 pt%
- \pgfmathparse{(\drefresult) \dref@unit@factor}%
+ \drefmathparse{(\drefresult) \dref@unit@factor}%
\edef\drefunit@bestvalue{\pgfmathresult}%
\def\drefunit@best{####1}%
%\typeout{\expandafter\detokenize\expandafter{\drefunit} to
diff --git a/macros/latex/contrib/oup-authoring-template/README b/macros/latex/contrib/oup-authoring-template/README
index 9226d6cecd..6b4d3f1adc 100644
--- a/macros/latex/contrib/oup-authoring-template/README
+++ b/macros/latex/contrib/oup-authoring-template/README
@@ -16,7 +16,7 @@ latex oup-authoring-template-doc.tex
Also, oup-authoring-template-doc.pdf is available in the doc directory.
-Copyright 2020 OXFORD UNIVERSITY PRESS.
+Copyright 2022 OXFORD UNIVERSITY PRESS.
Documentation and supporting packages are released under the
LATEX Project Public Licence, either version 1.3 or any later
diff --git a/macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.pdf b/macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.pdf
index fdeebcf01a..7700efec48 100644
--- a/macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.pdf
+++ b/macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.tex b/macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.tex
index d4e6eedc8a..8e118966b4 100644
--- a/macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.tex
+++ b/macros/latex/contrib/oup-authoring-template/doc/oup-authoring-template-doc.tex
@@ -38,9 +38,21 @@ OUP Journals---Authoring template}
\tableofcontents
\section{Introduction }
-Oxford University Press has developed this authoring template to help authors in preparing articles. Authors are encouraged to use this template to produce \LaTeX\ manuscripts which conform to OUP Journal styles. This document is a manual for authors to help using this template during article preparation. It features general guidelines and contains descriptions regarding various elements that can be used while preparing manuscripts. Authors are requested to refer to the file ``readme.pdf'' for details of files available for reference.
-
-Please utilize the OUP authoring template to the maximum, rather than adding further packages. If you need extra structural mark-up, please provide a note to the compositor on the same. Packages that only ``enhance'' the layout are not recommended. The same applies to newly introduced macros. Please concentrate on logical mark-up instead of formatting. This will ease the production process and avoids misinterpretation of your \LaTeX\ code.
+Oxford University Press has developed this authoring template to
+help authors in preparing articles. Authors are encouraged to use
+this template to produce \LaTeX\ manuscripts which conform to OUP
+Journal styles. This document is a manual for authors to help using
+this template during article preparation. It features general
+guidelines and contains descriptions regarding various elements that
+can be used while preparing manuscripts. Authors are requested to
+refer to the file ``readme'' for details of files available for
+reference.
+
+Please utilize the OUP authoring template to the maximum, rather
+than adding further packages or macros if possible. Please use
+semantic mark-up instead of formatting markup where there is a
+choice, for instance using \verb+\emph+ rather than \verb+\it+ or
+\verb+\textit+ to indicate emphasis.
This documentation is not intended to give an introduction to \LaTeX. For questions concerning \TeX\ systems/installations or the \LaTeX\ mark-up language in general, please visit \url{http://tug.ctan.org/} or any other \TeX\ user group worldwide. The essential reference for \LaTeX\ is Mittelbach F., Goossens M. (2004) \textit{The \LaTeX\ Companion. 2nd edn.}, but there are many other good books about \LaTeX.
@@ -53,8 +65,17 @@ This documentation is not intended to give an introduction to \LaTeX. For questi
\url{https://www.overleaf.com/learn}
\end{itemize}
-\section{How to start and prepare your article }
-It is assumed that you possess basic knowledge of \LaTeX. Unless using \LaTeX\ online (for example via Overleaf.com) ensure that you have \LaTeX2e version installed on your computer. We suggest employing a recent \TeX installation: the most important distribution at the time of writing being MiK\TeX\ 2.9. You are provided with a class file ``oup-authoring-template.cls''. This template can be kept with your manuscript files. Note that the class file depends on the following packages which are standard and are available along with \LaTeX installation:
+\vfill\eject
+
+\section{How to start and prepare your article}
+It is assumed that you possess basic knowledge of \LaTeX. Unless
+using \LaTeX\ online (for example via Overleaf.com) ensure that you
+have \LaTeX2e version installed on your computer. We suggest
+employing a recent \TeX installation. You are provided with a class
+file ``oup-authoring-template.cls''. This template can be kept with
+your manuscript files. Note that the class file depends on the
+following packages which are standard and are available along with
+\LaTeX installation:
\begin{center}\begin{tabular}{|l|l|l|l|l|}\hline
graphicx & multirow & amsmath & amssymb & amsfonts \\\hline
@@ -66,7 +87,7 @@ algorithmicx & algpseudocode & listings & url & crop \\\hline
Apart from the above-listed packages, the following additional packages are used in the class file for providing add-on functionalities to the template:
\begin{center}\begin{tabular}{|c|c|c|c|c|}\hline
-subfloat & subfig & appendix & hyperref & footnote \\\hline
+subfloat & subfig & tikz & hyperref & footnote \\\hline
mathrsfs & natbib & wrapfig & amsthm & apacite \\\hline
\end{tabular}\end{center}
@@ -81,10 +102,15 @@ To learn more about the underlying packages, please read the respective document
Based on your journal style, we would suggest you to use the corresponding sample template file to start your manuscript preparation; other templates available in the package can be removed. Please save a copy of the template file before you start editing the file as per your requirement. These samples contain the lines for calling class files, the preamble area, and the start/end of document where major sample elements required for an article are placed. Comments are included for each element and are self-explanatory. You can add your actual manuscript content in place of these sample elements. The standard structure of each element for an article is explained in detail in the following sections.
-To use OUP authoring template, put all the package files in your working directory, edit the file ``sample template file'' in your preferred text editor, and run \LaTeX\ as usual. The resulting layout is similar but not identical to the layout of the final article.
+To use the OUP authoring template, put all the package files in your
+working directory, edit the file ``sample template file'' in your
+preferred text editor, and run \LaTeX\ as usual. The resulting
+layout is similar but not identical to the layout of the final
+article.
Please note that you are not responsible for any final page layout. It is not necessary (and is even sometimes undesirable) to do any fine-tuning with commands like \verb+\break+, \verb+\pagebreak+, \verb+\vspace+, \verb+\clearpage+, etc. Please use semantic mark-up as far as possible and avoid additional formatting commands.
+\vfill\eject
\section{Package features and some important settings}
@@ -174,12 +200,17 @@ This tag contains two parameters, first one is optional and the second argument
\item The other tags listed below are self-explanatory. Note the `received', `revised' and `accepted' dates are placeholders for the final publication: these can be left blank:
-{\tabcolsep3pt\fontsize{7}{10}\selectfont\begin{tabular}{|l|l|l|l|l|} \hline
-\verb+\orgdiv{. . .}+ & \verb+\orgname{. . .}+ & \verb+\orgaddress{. . .}+ & \verb+\country{. . .}+ & \verb+\postcode{. . .}+ \\ \hline
-\verb+\street{. . .}+ & \verb+\city{. . .}+ & \verb+\state{. . .}+ & \verb+\abstract{. . .}+ & \verb+\keywords{. . .}+ \\ \hline
-\verb+\received{. . .}+ & \verb+\revised{. . .}+ & \verb+\accepted{. . .}+ & & \\ \hline
+{\tabcolsep3pt\fontsize{7}{10}\selectfont\begin{tabular}{|l|l|l|l|l|}
+\hline \verb+\orgdiv{. . .}+ & \verb+\orgname{. . .}+ &
+\verb+\orgaddress{. . .}+ & \verb+\country{. . .}+ &
+\verb+\postcode{. . .}+ \\ \hline \verb+\street{. . .}+ &
+\verb+\city{. . .}+ & \verb+\state{. . .}+ & \verb+\abstract{. . .}+
+& \verb+\keywords{. . .}+ \\ \hline \verb+\received{. . .}+ &
+\verb+\revised{. . .}+ & \verb+\accepted{. . .}+ & & \\ \hline
\end{tabular}}
+\item \verb+\ORCID{...}+-- provide ORCID link with logo inside this tag.
+
\item \verb+\maketitle+---this tag is mandatory to print the front matter elements in the output.
\end{enumerate}
@@ -205,10 +236,13 @@ The template allows four levels of headings in different styles:
\subsection{Mathematical formulae}
-As ``amsmath'' package provides various features for displayed equations and other mathematical constructs and you are strongly encouraged to use the mark-ups provided by this package. If possible, avoid using manual skips to align an equation.
+As the ``amsmath'' package provides various features for displayed
+equations and other mathematical constructs and you are strongly
+encouraged to use the mark-ups provided by this package. If
+possible, avoid using manual skips to align an equation.
\subsection{Figures and Tables}
-The standard interface for graphic inclusion is the \verb+\includegraphics+ command provided by the graphicx package. The ``draft'' option provided by this package locally switches to draft mode, i.e. does not include the graphic, but leaves the correct space, and prints the filename. This option may be used to save the processing time during compilation. Note that the \verb+\graphicspath+ command allows you to declare one or more folders where the graphicx package looks for the image files; hence, it is not necessary to write the path into each \verb+\includegraphics+ command.
+The standard interface for graphic inclusion is the \verb+\includegraphics+ command provided by the graphicx package. The ``draft'' option provided by this package locally switches to draft mode, i.e. does not include the graphic, but leaves the correct space, and prints the filename. This option may be used to save the processing time during compilation. Note that the \verb+\graphicspath+ command allows you to declare one or more folders where the graphicx package looks for the image files; hence, it is not necessary to write the path into each \verb+\includegraphics+ command.
The format used for numbered ``figures/tables'' is similar to the basic \LaTeX\ format:
@@ -285,20 +319,23 @@ To span rotated tables across columns in double column layout:
The default list commands available in \LaTeX\ can be used to set different types of lists:
\begin{enumerate}
-\item numbered: \verb+\begin{enumerate}...\end{enumerate}+
-\item[] first level—Arabic numerals;
-\item[]second level—lowercase alphabet;
-\item[]third level—lowercase roman numerals;
-\item unnumbered: \verb+\begin{unlist}...\end{unlist}+
-\item custom list: \verb+\begin{itemize}...\end{itemize}+
-\item[]first level—bulleted;
-\item[]second level—bulleted.
+\item numbered: \verb+\begin{enumerate}...\end{enumerate}+
+\item[] first level Arabic numerals;
+\item[]second level lowercase alphabet;
+\item[]third level lowercase roman numerals;
+\item unnumbered: \verb+\begin{unlist}...\end{unlist}+
+\item custom list: \verb+\begin{itemize}...\end{itemize}+
+\item[]first level bulleted;
+\item[]second level bulleted.
\end{enumerate}
Nested lists are allowed for numbered and custom lists.
\subsection{Theorem-like environments}
-For theorem like environments, we require ``amsthm'' package. There are three types of predefined theorem styles—thmstyleone, thmstyletwo, and thmstylethree. The below table shows the output details for each style:
+For theorem-like environments, we require the ``amsthm'' package.
+There are three types of predefined theorem styles: thmstyleone,
+thmstyletwo, and thmstylethree. The below table shows the output
+details for each style:
\begin{center}\begin{tabular}{|l|p{22pc}|}
\hline thmstyleone &Numbered, theorem head in bold font and theorem text in italic style\\
\hline
@@ -416,9 +453,9 @@ Revision State & Revision Date & Version Number & Revision History\\
\hline
00 & 16 March, 2020 & Version 1.0 & \\
\hline
+ 01 & 18 March, 2022 & Version 1.1 & \\
+ \hline
\end{tabular}
-
-
\end{document}
diff --git a/macros/latex/contrib/oup-authoring-template/manifest.txt b/macros/latex/contrib/oup-authoring-template/manifest.txt
index 139c288b0b..62725201ad 100644
--- a/macros/latex/contrib/oup-authoring-template/manifest.txt
+++ b/macros/latex/contrib/oup-authoring-template/manifest.txt
@@ -1,5 +1,5 @@
%%
-%% Copyright 2020 OXFORD UNIVERSITY PRESS
+%% Copyright 2022 OXFORD UNIVERSITY PRESS
%%
%% This file is part of the 'oup-authoring-template Bundle'.
%% ---------------------------------------------
diff --git a/macros/latex/contrib/oup-authoring-template/oup-authoring-template.cls b/macros/latex/contrib/oup-authoring-template/oup-authoring-template.cls
index 52a0142230..86c58a3979 100644
--- a/macros/latex/contrib/oup-authoring-template/oup-authoring-template.cls
+++ b/macros/latex/contrib/oup-authoring-template/oup-authoring-template.cls
@@ -1,5 +1,5 @@
%%
-%% Copyright 2020 OXFORD UNIVERSITY PRESS
+%% Copyright 2022 OXFORD UNIVERSITY PRESS
%%
%% This file is part of the 'oup-authoring-template Bundle'.
%% ---------------------------------------------
@@ -17,10 +17,11 @@
%% Template article for OXFORD UNIVERSITY PRESS's document class `oup-authoring-template'
%% with bibliographic references
%%
+%% Version 1.1, updated to reflect changes to OUP’s official page designs, 2022.
\newcommand\classname{oup-authoring-template}
-\newcommand\lastmodifieddate{2020/02/18}
-\newcommand\versionnumber{1.0}
+\newcommand\lastmodifieddate{2022/03/18}
+\newcommand\versionnumber{1.1}
\NeedsTeXFormat{LaTeX2e}[2001/06/01]
\ProvidesClass{\classname}[\lastmodifieddate\space\versionnumber]
@@ -35,13 +36,14 @@
\newif\if@medium\global\@mediumfalse
\newif\if@small\global\@smallfalse
%
+\newif\if@numbib \@numbibtrue
\newif\if@unnumsec\global\@unnumsecfalse
\newif\if@final\global\@finalfalse
\newif\if@weblink\@weblinkfalse
\newif\if@proof\global\@prooffalse%
\if@compatibility\else
-\DeclareOption{namedate}{\PassOptionsToPackage{authoryear,round}{natbib}}
+\DeclareOption{namedate}{\PassOptionsToPackage{authoryear,round}{natbib}\global\@numbibfalse}
\DeclareOption{draft}{\PassOptionsToPackage{draft}{graphicx}}
\DeclareOption{b4paper}{\PassOptionsToPackage{b4}{crop}}
\DeclareOption{centre}{\PassOptionsToPackage{center}{crop}}
@@ -68,7 +70,7 @@
\if@modern
\if@large
\setlength{\paperheight}{278.83truemm}
- \setlength{\paperwidth}{215.78truemm}
+ \setlength{\paperwidth}{209.78truemm}
\else
\if@medium
\setlength{\paperheight}{245.96truemm}
@@ -515,12 +517,12 @@
\setlength\headsep{8\p@}
\setlength\footskip{16\p@}
\setlength\maxdepth{.5\topskip}
- \setlength\textwidth{171.5mm}
+ \setlength\textwidth{178mm}
\setlength\textheight{60\baselineskip}
\setlength\marginparsep{3\p@}
\setlength\marginparpush{3\p@}
\setlength\marginparwidth{35\p@}
- \setlength\oddsidemargin{5.25pc}
+ \setlength\oddsidemargin{4pc}
\addtolength\oddsidemargin{-1in}
\setlength\@tempdima{\paperwidth}
\addtolength\@tempdima{-\textwidth}
@@ -634,12 +636,12 @@
\setlength\headsep{17.7\p@}
\setlength\footskip{16\p@}
\setlength\maxdepth{.5\topskip}
- \setlength\textwidth{337pt}
+ \setlength\textwidth{360pt}
\setlength\textheight{45\baselineskip}
\setlength\marginparsep{3\p@}
\setlength\marginparpush{3\p@}
\setlength\marginparwidth{35\p@}
- \setlength\oddsidemargin{4.45pc}
+ \setlength\oddsidemargin{3.75pc}
\addtolength\oddsidemargin{-1in}
\setlength\@tempdima{\paperwidth}
\addtolength\@tempdima{-\textwidth}
@@ -813,25 +815,43 @@
\if@modern
\if@small
\def\@oddfoot{{
- \hbox to \textwidth{\parbox{\textwidth}{\sffamilyfontcn
+ \hbox to
+ \textwidth{\parbox{\textwidth}{\hspace*{1pt}\vspace*{3pt}\newline\rule{332pt}{.5pt}\vspace*{1pt}\newline\sffamilyfontcn%
\fontsize{7}{9}\fontshape{n}\selectfont\raggedright \copyright\space The Author \@copyrightyear. Published by Oxford University Press. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com%
\hfill\small\sffamilyfontbold\thepage}}%
}}%
\def\@evenfoot{{
- \hbox to \textwidth{\parbox{\textwidth}{\sffamilyfontcn\thepage\hfill
+ \hbox to \textwidth{\parbox{\textwidth}{\hspace*{1pt}\vspace*{3pt}\newline\rule{332pt}{.5pt}\vspace*{1pt}\newline\sffamilyfontcn\thepage\hfill
\fontsize{7}{9}\fontshape{n}\selectfont\raggedright \copyright\space The Author \@copyrightyear. Published by Oxford University Press. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com}%
}}}%
\else
+ \if@medium
\def\@oddfoot{{
- \hbox to \textwidth{\sffamilyfontcn
+ \hbox to
+ \textwidth{\parbox{428pt}{\hspace*{1pt}\vspace*{3pt}\newline\rule{428pt}{.5pt}\vspace*{1pt}\newline\sffamilyfontcn%
\fontsize{7}{9}\fontshape{n}\selectfont \copyright\space The Author \@copyrightyear. Published by Oxford University Press. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com%
- \hfill\small\sffamilyfontbold\thepage}%
+ \hfill\small\sffamilyfontbold\thepage}}%
}}%
\def\@evenfoot{{
- \hbox to \textwidth{\sffamilyfontcn\thepage\hfill
+ \hbox to
+ \textwidth{\parbox{428pt}{\hspace*{1pt}\vspace*{3pt}\newline\rule{428pt}{.5pt}\vspace*{1pt}\newline%
+\sffamilyfontcn\thepage\hfill
\fontsize{7}{9}\fontshape{n}\selectfont \copyright\space The Author \@copyrightyear. Published by Oxford University Press. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com}%
+ }}}%
+\else%
+ \def\@oddfoot{{
+ \hbox to
+ \textwidth{\parbox{\textwidth}{\hspace*{1pt}\vspace*{3pt}\newline\rule{506pt}{.5pt}\vspace*{1pt}\newline\sffamilyfontcn%
+ \fontsize{7}{9}\fontshape{n}\selectfont \copyright\space The Author \@copyrightyear. Published by Oxford University Press. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com%
+ \hfill\small\sffamilyfontbold\thepage}}%
}}%
- \fi
+ \def\@evenfoot{{
+ \hbox to
+ \textwidth{\parbox{\textwidth}{\hspace*{1pt}\vspace*{3pt}\newline\rule{506pt}{.5pt}\vspace*{1pt}\newline%
+\sffamilyfontcn\thepage\hfill
+ \fontsize{7}{9}\fontshape{n}\selectfont \copyright\space The Author \@copyrightyear. Published by Oxford University Press. All rights reserved. For permissions, please e-mail: journals.permissions@oup.com}%
+ }}}%
+ \fi\fi
\else
\if@traditional
\if@large
@@ -1070,18 +1090,10 @@
\def\keywords#1{\g@addto@macro\@abstract{%
\if@modern%
- \if@medium\vspace*{6pt}\else%
- \vspace*{12pt}\fi%
+ \vspace*{6pt}%
\else%
\if@traditional
- \if@large
- \vspace*{12pt}
- \else
- \if@medium
\vspace*{12pt}
- \else
- \fi
- \fi
\else
\vspace*{8pt}
\fi
@@ -1104,7 +1116,7 @@
\def\@boxedtext{}
\def\boxedtext{\@@boxedtext}%
-\newcommand{\@@boxedtext}[1]{\def\@boxedtext{\ifx#1\@empty\else\fbox{\parbox{.97\textwidth}{\textbf{Key Messages}\par#1\vspace{-8pt}}}\fi}}
+\newcommand{\@@boxedtext}[1]{\def\@boxedtext{\ifx#1\@empty\else\removelastskip\vskip-2pc\fbox{\parbox{.97\textwidth}{\textbf{Key Messages}\par#1\vspace{-8pt}}}\par\vskip2pc\fi}}
\def\orgdiv#1{#1}
\def\orgname#1{#1}
@@ -1146,6 +1158,7 @@
\newcommand\maketitle{\par
\begingroup
+\def\@latex@warning@no@line##1{}%
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
\long\def\@makefntext##1{\parindent 3mm\noindent
@@ -1244,8 +1257,8 @@
\fi\fi
\else
\if@contemporary
- \if@large\vspace*{27.2pt}\else
- \if@medium\vspace*{21pt}\else
+ \if@large\vspace*{15.2pt}\else
+ \if@medium\vspace*{15.2pt}\else
\vspace*{21pt}
\fi\fi
\else
@@ -1256,7 +1269,7 @@
\if@modern%
\if@large%
\hbox to \textwidth{\raisebox{5pt}[0pt]{%
- \parbox[b]{416pt}{\raggedleft{{\sffamilyfontcnitalic\fontsize{8bp}{12}\selectfont \@journaltitle}, \sffamilyfontcn\@copyrightyear, \thepage--\thelastpage}\\[1pt]
+ \parbox[b]{416pt}{\raggedright{{\sffamilyfontcnitalic\fontsize{8bp}{12}\selectfont \@journaltitle}, \sffamilyfontcn\@copyrightyear, \thepage--\thelastpage}\\[1pt]
{\sffamilyfontcn doi: \@DOI}\\[1pt]
{\ifx\@access\@empty
\else
@@ -1305,7 +1318,7 @@
\else
\if@traditional
\if@large
- \hbox to \textwidth{\raisebox{18pt}[0pt]{%
+ \hbox to \textwidth{\raisebox{0pt}[0pt]{%
\parbox[b]{416pt}{{{\fontsize{9.5bp}{10}\selectfont\itshape \@journaltitle\rm\ Vol. \@vol, No. \@issue, pp. \thepage--\thelastpage}}\\[-1.5pt]
{\fontsize{9.5bp}{10}\selectfont doi: \@DOI}\\[-1.5pt]
{\ifx\@access\@empty
@@ -1319,7 +1332,7 @@
\hfill{\color{black!20}\rule{45pt}{55pt}}}
\else
\if@medium
- \hbox to \textwidth{\raisebox{18pt}[0pt]{%
+ \hbox to \textwidth{\raisebox{0pt}[0pt]{%
\parbox[b]{350pt}{{{\fontsize{9.5bp}{10}\selectfont\itshape \@journaltitle\rm\ Vol. \@vol, No. \@issue, pp. \thepage--\thelastpage}}\\[-.5pt]
{\fontsize{9.5bp}{10}\selectfont doi: \@DOI}\\[-1.5pt]
{\ifx\@access\@empty
@@ -1331,7 +1344,7 @@
}}%
\hfill{\color{black!20}\rule{45pt}{55pt}}}
\else
- \hbox to \textwidth{\raisebox{18pt}[0pt]{%
+ \hbox to \textwidth{\raisebox{0pt}[0pt]{%
\parbox[b]{250pt}{{{\fontsize{9.5bp}{10}\selectfont\itshape \@journaltitle\rm\ \@copyrightyear, \@vol, \thepage--\thelastpage}}\\[-.5pt]
{\fontsize{9.5bp}{10}\selectfont doi: \@DOI}\\[-1.5pt]
{\ifx\@access\@empty
@@ -1348,51 +1361,51 @@
\if@contemporary
\if@large
\hbox to \textwidth{{\color{black!20}\rule{45pt}{55pt}}\hfill
- \raisebox{-3.7pt}[0pt]{%
- \parbox[b]{416pt}{{{\fontsize{8bp}{10}\selectfont\itshape\hspace*{178pt} \@journaltitle,\rm\ \@copyrightyear, pp. \thepage--\thelastpage}}\\[-.5pt]
- \hspace*{181pt}{\color{black!15}\rule{288.5pt}{2pt}}\\[1.6pt]
- {\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \textbf{\color{jnlclr}doi: \@DOI}}\\[-.9pt]
+ \raisebox{-3.7pt}[0pt]{\hfill%
+ \parbox[b]{416pt}{\raggedleft{{\fontsize{8bp}{10}\selectfont\itshape\hspace*{178pt} \@journaltitle,\rm\ \@copyrightyear, pp. \thepage--\thelastpage}}\\[-.5pt]
+ \hspace*{181pt}{\color{black!15}\rule{184pt}{2pt}}\\[1.6pt]
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \textbf{\color{jnlclr}doi: \@DOI}}\\[-.9pt]
{\ifx\@access\@empty
\else
- {\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \@access}\fi}
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \@access}\fi}
\vskip-.9pt
{\ifx\@appnotes\@empty
\else
- {\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \@appnotes}\\[-.9pt]\fi}
- \hspace*{181pt}{\color{black!15}\rule{288.5pt}{2pt}}\\%[1.6pt]
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \@appnotes}\\[-.9pt]\fi}
+% \hspace*{181pt}{\color{black!15}\rule{288.5pt}{2pt}}\\%[1.6pt]
}}%
}
\else
\if@medium
\hbox to \textwidth{{\color{black!20}\rule{45pt}{55pt}}\hfill
- \raisebox{-8pt}[0pt]{%
- \parbox[b]{416pt}{{{\fontsize{8bp}{10}\selectfont\itshape\hspace*{178pt} \@journaltitle,\rm\ \@copyrightyear, pp. \thepage--\thelastpage}}\\[-.5pt]
- \hspace*{181pt}{\color{black!15}\rule{257pt}{2pt}}\\[1.6pt]
- {\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \textbf{\color{jnlclr}doi: \@DOI}}\\[-.9pt]
+ \raisebox{-8pt}[0pt]{\hfill%
+ \parbox[b]{416pt}{\raggedleft{{\fontsize{8bp}{10}\selectfont\itshape\hspace*{178pt} \@journaltitle,\rm\ \@copyrightyear, pp. \thepage--\thelastpage}}\\[-.5pt]
+ \hspace*{181pt}{\color{black!15}\rule{184pt}{2pt}}\\[1.6pt]
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \textbf{\color{jnlclr}doi: \@DOI}}\\[-.9pt]
{\ifx\@access\@empty
\else
- {\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \@access}\fi}
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \@access}\fi}
\vskip-.9pt
{\ifx\@appnotes\@empty
\else
- {\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \@appnotes}\\[-.9pt]\fi}
- \hspace*{181pt}{\color{black!15}\rule{257pt}{2pt}}\\%[1.6pt]
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{178pt} \@appnotes}\\[-.9pt]\fi}
+% \hspace*{181pt}{\color{black!15}\rule{257pt}{2pt}}\\%[1.6pt]
}}%
}
\else
\hbox to \textwidth{{\color{black!20}\rule{45pt}{55pt}}\hfill
- \raisebox{-8pt}[0pt]{%
- \parbox[b]{416pt}{{{\fontsize{8bp}{10}\selectfont\itshape\hspace*{108pt} \@journaltitle,\rm\ \@copyrightyear, pp. \thepage--\thelastpage}}\\[-.5pt]
- \hspace*{111pt}{\color{black!15}\rule{234pt}{2pt}}\\[1.6pt]
- {\fontsize{6.5bp}{8}\selectfont\hspace*{108pt} \textbf{\color{jnlclr}doi: \@DOI}}\\[-.9pt]
+ \raisebox{-8pt}[0pt]{\hfill%
+ \parbox[b]{290pt}{\raggedleft{{\fontsize{8bp}{10}\selectfont\itshape\hspace*{80pt} \@journaltitle,\rm\ \@copyrightyear, pp. \thepage--\thelastpage}}\\[-.5pt]
+ \hspace*{80pt}{\color{black!15}\rule{184pt}{2pt}}\\[1.6pt]
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{80pt} \textbf{\color{jnlclr}doi: \@DOI}}\\[-.9pt]
{\ifx\@access\@empty
\else
- {\fontsize{6.5bp}{8}\selectfont\hspace*{108pt} \@access}\fi}
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{80pt} \@access}\fi}
\vskip-.9pt
{\ifx\@appnotes\@empty
\else
- {\fontsize{6.5bp}{8}\selectfont\hspace*{108pt} \@appnotes}\\[-.9pt]\fi}
- \hspace*{111pt}{\color{black!15}\rule{234pt}{2pt}}\\%[1.6pt]
+ {\hfill\fontsize{6.5bp}{8}\selectfont\hspace*{80pt} \@appnotes}\\[-.9pt]\fi}
+% \hspace*{111pt}{\color{black!15}\rule{234pt}{2pt}}\\%[1.6pt]
}}%
}
\fi
@@ -1403,9 +1416,9 @@
\fi
\if@modern\vskip2pt\else\if@traditional\if@large\vskip-1.7pt\else\if@medium\vskip.7pt\else\vskip-2pt\fi\fi\else\fi\fi
\if@modern%
- \if@large\noindent\rule{415pt}{2\p@}\else%
- \if@medium\noindent\rule{\textwidth}{2\p@}\else%
- \if@small\noindent\rule{\textwidth}{2\p@}\else%
+ \if@large\noindent\rule{\textwidth}{1\p@}\else%
+ \if@medium\noindent\rule{\textwidth}{1\p@}\else%
+ \if@small\noindent\rule{\textwidth}{1\p@}\else%
\fi\fi\fi%
\else%
\if@traditional
@@ -1415,7 +1428,7 @@
\fi\fi
\else
\if@contemporary
- \if@large\vspace*{55pt}\else%
+ \if@large\vspace*{25pt}\else%
\if@medium\vspace*{25pt}\else%
\if@small\vspace*{25pt}\else%
\fi\fi\fi%
@@ -1448,7 +1461,7 @@
\fi%
\fi%
% Title below space
- \if@modern\if@medium\vspace{8.8\p@}\else\if@small\vspace{7.8\p@}\else\vspace{8.8\p@}\fi\fi\else%
+ \if@modern\if@medium\vspace{8.8\p@}\else\if@small\vspace{7.8\p@}\else\vspace{6\p@}\fi\fi\else%
\if@traditional%
\if@large\vspace{4.8\p@}\else\if@medium\vspace{4.8\p@}\else\vspace{8\p@}\fi\fi
\else%
@@ -1470,9 +1483,9 @@
\fi
\fi
% Author below space
- \if@modern\if@medium\vspace{3\p@}\else\if@small\vspace{3.5\p@}\else\vspace{9\p@}\fi\fi\else
+ \if@modern\if@medium\vspace{3\p@}\else\if@small\vspace{3.5\p@}\else\vspace{3\p@}\fi\fi\else
\if@traditional%
- \if@large\vspace{21\p@}\else\if@medium\vspace{10\p@}\else\vspace{10\p@}\fi\fi
+ \if@large\vspace{10\p@}\else\if@medium\vspace{10\p@}\else\vspace{4\p@}\fi\fi
\else
\if@contemporary\vspace{4\p@}\else
\fi\fi\fi
@@ -1490,7 +1503,7 @@
\fi
\fi
% Address below space
- \if@modern\vspace{6\p@}\else\fi
+ \if@modern\vspace{6\p@}\else\if@traditional\vspace{6\p@}\else\fi\fi
% Correspondence author here
\if@modern
{\sffamilyfontcn\if@large\fontsize{8.5}{12}\selectfont\else\if@medium\fontsize{8}{11.5}\selectfont\else\if@small\fontsize{8.5}{12}\selectfont\else\fontsize{8.5}{12}\selectfont\fi\fi\fi\raggedright \@corresp \par}%
@@ -1529,7 +1542,7 @@
\fi
% History below space
\if@modern\vspace{14\p@}\else
- \if@traditional\if@large\vspace{33\p@}\else\if@medium\vspace{20\p@}\else\vspace{4\p@}\fi\fi\else
+ \if@traditional\if@large\vspace{24\p@}\else\if@medium\vspace{20\p@}\else\vspace{24\p@}\fi\fi\else
\if@contemporary\vspace*{8.5pt}\else\fi\fi\fi
% Abstract here
\if@modern%
@@ -1539,27 +1552,31 @@
\if@traditional%
\if@large
{\fontsize{10bp}{12}\fontseries{b}\selectfont\leftskip0pt plus1fill\rightskip0pt plus1fill \uppercase{Abstract}\par}
- \vskip2.5pt
+ \vskip4pt
\else
\if@medium
{\fontsize{10bp}{12}\fontseries{b}\selectfont\leftskip0pt plus1fill\rightskip0pt plus1fill \uppercase{Abstract}\par}
- \vskip2.5pt
+ \vskip4pt
\else
{\fontsize{10bp}{12}\fontseries{b}\selectfont\leftskip0pt plus1fill\rightskip0pt plus1fill \uppercase{Abstract}\par}
- \vskip1.5pt
+ \vskip4pt
\fi
\fi
\else
\if@contemporary
\if@large
- {\color{jnlruleclr}\rule{542pt}{2pt}}\vspace*{12.35pt}\par{\fontsize{11.5bp}{12}\fontseries{b}\selectfont\leftskip0pt\rightskip0pt plus1fill {\color{jnlclr} Abstract}\par}
+ %{\color{jnlruleclr}\rule{542pt}{2pt}}
+\vspace*{12.35pt}\par
+{\fontsize{11.5bp}{12}\fontseries{b}\selectfont\leftskip0pt\rightskip0pt plus1fill {\color{jnlclr} Abstract}\par}
\vskip5.5pt
\else
\if@medium
- {\color{jnlruleclr}\rule{484pt}{2pt}}\vspace*{12.35pt}\par{\fontsize{11.5bp}{12}\fontseries{b}\selectfont\leftskip0pt\rightskip0pt plus1fill {\color{jnlclr} Abstract}\par}
+ %{\color{jnlruleclr}\rule{484pt}{2pt}}
+\vspace*{12.35pt}\par{\fontsize{11.5bp}{12}\fontseries{b}\selectfont\leftskip0pt\rightskip0pt plus1fill {\color{jnlclr} Abstract}\par}
\vskip5.5pt
\else
- {\color{jnlruleclr}\rule{390pt}{2pt}}\vspace*{12.35pt}\par{\fontsize{11.5bp}{12}\fontseries{b}\selectfont\leftskip0pt\rightskip0pt plus1fill {\color{jnlclr} Abstract}\par}
+ %{\color{jnlruleclr}\rule{390pt}{2pt}}
+\vspace*{12.35pt}\par{\fontsize{11.5bp}{12}\fontseries{b}\selectfont\leftskip0pt\rightskip0pt plus1fill {\color{jnlclr} Abstract}\par}
\vskip5.5pt
\fi
\fi
@@ -1572,7 +1589,7 @@
\if@small\begin{minipage}[t]{\textwidth}\else\begin{minipage}[t]{415pt}\fi
\else
\if@traditional%
- \hfil\if@large\begin{minipage}[t]{408pt}\else\if@medium\begin{minipage}[t]{360pt}\else\begin{minipage}[t]{312pt}\fi\fi\hspace*{12pt}
+ \hfil\if@large\begin{minipage}[t]{\textwidth}\else\if@medium\begin{minipage}[t]{\textwidth}\else\begin{minipage}[t]{\textwidth}\fi\fi%\hspace*{12pt}
\else
\if@contemporary
\if@large\begin{minipage}[t]{\textwidth}\else\begin{minipage}[t]{\textwidth}\fi
@@ -1608,12 +1625,12 @@
\@abstract
\if@contemporary
\if@large
- \vspace*{6.5pt}\par{\color{jnlruleclr}\rule{542pt}{2pt}}
+\vspace*{12pt}\par% \vspace*{6.5pt}\par{\color{jnlruleclr}\rule{542pt}{2pt}}
\else
\if@medium
- \vspace*{6.5pt}\par{\color{jnlruleclr}\rule{484pt}{2pt}}
+ \vspace*{6.5pt}\par%{\color{jnlruleclr}\rule{484pt}{2pt}}
\else
- \vspace*{6.5pt}\par{\color{jnlruleclr}\rule{390pt}{2pt}}
+ \vspace*{6.5pt}\par%{\color{jnlruleclr}\rule{390pt}{2pt}}
\fi
\fi
\else\par\fi}
@@ -1626,9 +1643,12 @@
%
\vspace{13.5\p@}%
\if@modern
- \if@medium\noindent\rule{\textwidth}{2\p@}\else
- \if@small\noindent\rule{\textwidth}{2\p@}\else
- \noindent\rule{415pt}{2\p@}\fi\fi
+ \if@medium\noindent%\rule{\textwidth}{2\p@}
+\else
+ \if@small\noindent%\rule{\textwidth}{2\p@}
+\else
+ \noindent%\rule{415pt}{2\p@}
+\fi\fi
\else
\if@traditional
\else
@@ -1667,7 +1687,7 @@
\fi\fi\fi%
\else%
\if@contemporary
- \fontsize{10bp}{12}\fontseries{b}\selectfont\leftskip0pt\rightskip0pt plus1fill\color{jnlclr}
+ \fontsize{11bp}{13}\selectfont\fontseries{b}\leftskip0pt\rightskip0pt plus1fill\color{jnlclr}
\else
\fi
\fi%
@@ -1683,7 +1703,9 @@
\if@small\fontsize{10bp}{12}\fontseries{b}\selectfont\leftskip0pt plus1fill\rightskip0pt plus1fill\else
\fi\fi\fi%
\else%
- \fi%
+ \if@contemporary
+ \fontsize{10bp}{12}\selectfont\fontseries{b}\leftskip0pt\rightskip0pt plus1fill
+ \else\fi\fi%
\fi}
\def\subsubsecsize{%
@@ -1696,7 +1718,9 @@
\if@small\normalfont\mathversion{bold}\fontsize{10bp}{12}\selectfont\bfseries\else
\fi\fi\fi%
\else%
- \fi%
+ \if@contemporary
+ \fontsize{9bp}{11}\selectfont\itshape\leftskip0pt\rightskip0pt plus1fill
+ \else\fi\fi%
\fi}
\def\section{%
@@ -1706,12 +1730,12 @@
\def\subsection{%
\@startsection{subsection}{2}{\z@}
- {-11\p@ plus -2\p@}{\if@traditional.4\p@\else4\p@\fi}
+ {-11\p@ plus -2\p@}{\if@traditional.4\p@\else2\p@\fi}
{\reset@font\raggedright\subsecsize}}
\def\subsubsection{%
\@startsection{subsubsection}{3}{\z@}
- {-11\p@ plus -1\p@}{0.001em}
+ {-11\p@ plus -1\p@}{0.1em}
{\reset@font\raggedright\subsubsecsize}}
\def\textcolon{\text{\rm :}}
@@ -1719,8 +1743,8 @@
\def\paragraph{%
\@startsection{paragraph}{4}{\z@}
{-6\p@}
- {-.4em}
- {\reset@font\itshape}}
+ {0.1em}
+ {\reset@font\normalsize}}
\def\@startsection#1#2#3#4#5#6{%
\if@noskipsec \leavevmode \fi
@@ -2163,6 +2187,16 @@
\RequirePackage{natbib}
+%\renewcommand\NAT@force@numbers{%
+% \ifNAT@numbers\else
+% \PackageError{natbib}{Bibliography not compatible with author-year
+% citations.\MessageBreak
+% Press <return> to continue in numerical citation style}
+% {Check the bibliography entries for non-compliant syntax,\MessageBreak
+% or select author-year BibTeX style, e.g. plainnat}%
+% \global\NAT@numberstrue\fi}
+\def\NAT@force@numbers{\if@numbib\global\NAT@numberstrue\else\global\NAT@numbersfalse\fi}%
+
\if@modern\if@medium\def\bibfont{\fontsize{7.5bp}{10}\selectfont}\else\fi\else\fi
\renewcommand\@biblabel[1]{#1.\hfill\hspace*{3pt}}
@@ -2216,7 +2250,11 @@
\flushbottom
\frenchspacing
\ps@headings
-\twocolumn
+
+\if@small%
+\else%
+\twocolumn%
+\fi%
% Screen PDF compatability
\newcommand{\medline}[1]{%
@@ -2383,7 +2421,8 @@
\renewcommand{\dag}{{\mathversion{normal}$^{\dagger}$}}
%% Additional Packages
-\RequirePackage{subfloat,subfig}
+\RequirePackage[countmax]{subfloat}%,subfig
+\usepackage{anyfontsize}%
\RequirePackage{multirow}
\RequirePackage{footnote}
\RequirePackage{url}
@@ -2393,9 +2432,319 @@
\RequirePackage{algorithmicx}%
\RequirePackage{algpseudocode}%
\RequirePackage{listings}%
-\RequirePackage{appendix}
+
+%% Appendix Macro Begins %%%
+
+\newif\if@chapter@pp\@chapter@ppfalse
+\newif\if@knownclass@pp\@knownclass@ppfalse
+\@ifundefined{chapter}{%
+ \@ifundefined{section}{}{\@knownclass@pptrue}}{%
+ \@chapter@pptrue\@knownclass@pptrue}
+\providecommand{\phantomsection}{}
+\newcounter{@pps}
+ \renewcommand{\the@pps}{\alph{@pps}}
+\newif\if@pphyper
+ \@pphyperfalse
+\AtBeginDocument{%
+ \@ifpackageloaded{hyperref}{\@pphypertrue}{}}
+
+\newif\if@dotoc@pp\@dotoc@ppfalse
+\newif\if@dotitle@pp\@dotitle@ppfalse
+\newif\if@dotitletoc@pp\@dotitletoc@ppfalse
+\newif\if@dohead@pp\@dohead@ppfalse
+\newif\if@dopage@pp\@dopage@ppfalse
+\DeclareOption{toc}{\@dotoc@pptrue}
+\DeclareOption{title}{\@dotitle@pptrue}
+\DeclareOption{titletoc}{\@dotitletoc@pptrue}
+\DeclareOption{header}{\@dohead@pptrue}
+\DeclareOption{page}{\@dopage@pptrue}
+\ProcessOptions\relax
+\newcommand{\@ppendinput}{}
+\if@knownclass@pp\else
+ \PackageWarningNoLine{appendix}%
+ {There is no \protect\chapter\space or \protect\section\space command.\MessageBreak
+ The appendix package will not be used}
+ \renewcommand{\@ppendinput}{\endinput}
+\fi
+\@ppendinput
+
+\newcommand{\appendixtocon}{\@dotoc@pptrue}
+\newcommand{\appendixtocoff}{\@dotoc@ppfalse}
+\newcommand{\appendixpageon}{\@dopage@pptrue}
+\newcommand{\appendixpageoff}{\@dopage@ppfalse}
+\newcommand{\appendixtitleon}{\@dotitle@pptrue}
+\newcommand{\appendixtitleoff}{\@dotitle@ppfalse}
+\newcommand{\appendixtitletocon}{\@dotitletoc@pptrue}
+\newcommand{\appendixtitletocoff}{\@dotitletoc@ppfalse}
+\newcommand{\appendixheaderon}{\@dohead@pptrue}
+\newcommand{\appendixheaderoff}{\@dohead@ppfalse}
+\newcounter{@ppsavesec}
+\newcounter{@ppsaveapp}
+\setcounter{@ppsaveapp}{0}
+\newcommand{\@ppsavesec}{%
+ \if@chapter@pp \setcounter{@ppsavesec}{\value{chapter}} \else
+ \setcounter{@ppsavesec}{\value{section}} \fi}
+\newcommand{\@pprestoresec}{%
+ \if@chapter@pp \setcounter{chapter}{\value{@ppsavesec}} \else
+ \setcounter{section}{\value{@ppsavesec}} \fi}
+\newcommand{\@ppsaveapp}{%
+ \if@chapter@pp \setcounter{@ppsaveapp}{\value{chapter}} \else
+ \setcounter{@ppsaveapp}{\value{section}} \fi}
+\newcommand{\restoreapp}{%
+ \if@chapter@pp \setcounter{chapter}{\value{@ppsaveapp}} \else
+ \setcounter{section}{\value{@ppsaveapp}} \fi}
+\providecommand{\appendixname}{Appendix}
+\newcommand{\appendixtocname}{Appendices}
+\newcommand{\appendixpagename}{Appendices}
+\newcommand{\appendixpage}{%
+ \if@chapter@pp \@chap@pppage \else \@sec@pppage \fi
+}
+\newcommand{\clear@ppage}{%
+ \if@openright\cleardoublepage\else\clearpage\fi}
+
+\newcommand{\@chap@pppage}{%
+ \clear@ppage
+ \thispagestyle{plain}%
+ \if@twocolumn\onecolumn\@tempswatrue\else\@tempswafalse\fi
+ \null\vfil
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \Huge \bfseries \appendixpagename\par}%
+ \if@dotoc@pp
+ \addappheadtotoc
+ \fi
+ \vfil\newpage
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi
+}
+
+\newcommand{\@sec@pppage}{%
+ \par
+ \addvspace{4ex}%
+ \@afterindentfalse
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \huge \bfseries \appendixpagename%
+ \markboth{}{}\par}%
+ \if@dotoc@pp
+ \addappheadtotoc
+ \fi
+ \nobreak
+ \vskip 3ex
+ \@afterheading
+}
+
+\newif\if@pptocpage
+ \@pptocpagetrue
+\newcommand{\noappendicestocpagenum}{\@pptocpagefalse}
+\newcommand{\appendicestocpagenum}{\@pptocpagetrue}
+\newcommand{\addappheadtotoc}{%
+ \phantomsection
+ \if@chapter@pp
+ \if@pptocpage
+ \addcontentsline{toc}{chapter}{\appendixtocname}%
+ \else
+ \if@pphyper
+ \addtocontents{toc}%
+ {\protect\contentsline{chapter}{\appendixtocname}{}{\@currentHref}}%
+ \else
+ \addtocontents{toc}%
+ {\protect\contentsline{chapter}{\appendixtocname}{}}%
+ \fi
+ \fi
+ \else
+ \if@pptocpage
+ \addcontentsline{toc}{section}{\appendixtocname}%
+ \else
+ \if@pphyper
+ \addtocontents{toc}%
+ {\protect\contentsline{section}{\appendixtocname}{}{\@currentHref}}%
+ \else
+ \addtocontents{toc}%
+ {\protect\contentsline{section}{\appendixtocname}{}}%
+ \fi
+ \fi
+ \fi
+}
+
+\providecommand{\theH@pps}{\alph{@pps}}
+
+\newcommand{\@resets@pp}{\par
+ \@ppsavesec
+ \stepcounter{@pps}
+ \setcounter{section}{0}%
+ \if@chapter@pp
+ \setcounter{chapter}{0}%
+ \renewcommand\@chapapp{\appendixname}%
+ \renewcommand\thechapter{\@Alph\c@chapter}%
+ \else
+ \setcounter{subsection}{0}%
+ \renewcommand\thesection{\@Alph\c@section}%
+ \fi
+ \if@pphyper
+ \if@chapter@pp
+ \renewcommand{\theHchapter}{\theH@pps.\Alph{chapter}}%
+ \else
+ \renewcommand{\theHsection}{\theH@pps.\Alph{section}}%
+ \fi
+ \xdef\Hy@chapapp{\Hy@appendixstring}%
+ \fi
+ \restoreapp
+}
+
+\newenvironment{appendices}{%
+ \@resets@pp
+ \if@dotoc@pp
+ \if@dopage@pp % both page and toc
+ \if@chapter@pp % chapters
+ \clear@ppage
+ \fi
+ \appendixpage
+ \else % toc only
+ \if@chapter@pp % chapters
+ \clear@ppage
+ \fi
+ \addappheadtotoc
+ \fi
+ \else
+ \if@dopage@pp % page only
+ \appendixpage
+ \fi
+ \fi
+ \if@chapter@pp
+ \if@dotitletoc@pp \@redotocentry@pp{chapter} \fi
+ \else
+ \if@dotitletoc@pp \@redotocentry@pp{section} \fi
+ \if@dohead@pp
+ \def\sectionmark##1{%
+ \if@twoside
+ \markboth{\@formatsecmark@pp{##1}}{}
+ \else
+ \markright{\@formatsecmark@pp{##1}}{}
+ \fi}
+ \fi
+ \if@dotitle@pp
+ \def\sectionname{\appendixname}
+ \def\@seccntformat##1{\@ifundefined{##1name}{}{\csname ##1name\endcsname\ }%
+ \csname the##1\endcsname\quad}
+ \fi
+ \fi}{%
+ \@ppsaveapp\@pprestoresec}
+
+\newcommand{\setthesection}{\thechapter.\Alph{section}}
+\newcommand{\setthesubsection}{\thesection.\Alph{subsection}}
+
+\newcommand{\@resets@ppsub}{\par
+ \stepcounter{@pps}
+ \if@chapter@pp
+ \setcounter{section}{0}
+ \renewcommand{\thesection}{\setthesection}
+ \else
+ \setcounter{subsection}{0}
+ \renewcommand{\thesubsection}{\setthesubsection}
+ \fi
+ \if@pphyper
+ \if@chapter@pp
+ \renewcommand{\theHsection}{\theH@pps.\setthesection}%
+ \else
+ \renewcommand{\theHsubsection}{\theH@pps.\setthesubsection}%
+ \fi
+ \xdef\Hy@chapapp{\Hy@appendixstring}%
+ \fi
+}
+
+\newenvironment{subappendices}{%
+ \@resets@ppsub
+ \if@chapter@pp
+ \if@dotitletoc@pp \@redotocentry@pp{section} \fi
+ \if@dotitle@pp
+ \def\sectionname{\appendixname}
+ \def\@seccntformat##1{\@ifundefined{##1name}{}{\csname ##1name\endcsname\ }%
+ \csname the##1\endcsname\quad}
+ \fi
+ \else
+ \if@dotitletoc@pp \@redotocentry@pp{subsection} \fi
+ \if@dotitle@pp
+ \def\subsectionname{\appendixname}
+ \def\@seccntformat##1{\@ifundefined{##1name}{}{\csname ##1name\endcsname\ }%
+ \csname the##1\endcsname\quad}
+ \fi
+ \fi}{}
+
+\newcommand{\@formatsecmark@pp}[1]{%
+ \MakeUppercase{\appendixname\space
+ \ifnum \c@secnumdepth >\z@
+ \thesection\quad
+ \fi
+ #1}}
+\newcommand{\@redotocentry@pp}[1]{%
+ \let\oldacl@pp=\addcontentsline
+ \def\addcontentsline##1##2##3{%
+ \def\@pptempa{##1}\def\@pptempb{toc}%
+ \ifx\@pptempa\@pptempb
+ \def\@pptempa{##2}\def\@pptempb{#1}%
+ \ifx\@pptempa\@pptempb
+\oldacl@pp{##1}{##2}{\appendixname\space ##3}%
+ \else
+ \oldacl@pp{##1}{##2}{##3}%
+ \fi
+ \else
+ \oldacl@pp{##1}{##2}{##3}%
+ \fi}
+}
+
+%%% Appendix Macro Ends %%
+
+
\RequirePackage[hidelinks]{hyperref}
+\RequirePackage{tikz}
+
+\usetikzlibrary{svg.path}
+
+\definecolor{orcidlogocol}{HTML}{A6CE39}
+\tikzset{
+ orcidlogo/.pic={
+ \fill[orcidlogocol] svg{M256,128c0,70.7-57.3,128-128,128C57.3,256,0,198.7,0,128C0,57.3,57.3,0,128,0C198.7,0,256,57.3,256,128z};
+ \fill[white] svg{M86.3,186.2H70.9V79.1h15.4v48.4V186.2z}
+ svg{M108.9,79.1h41.6c39.6,0,57,28.3,57,53.6c0,27.5-21.5,53.6-56.8,53.6h-41.8V79.1z M124.3,172.4h24.5c34.9,0,42.9-26.5,42.9-39.7c0-21.5-13.7-39.7-43.7-39.7h-23.7V172.4z}
+ svg{M88.7,56.8c0,5.5-4.5,10.1-10.1,10.1c-5.6,0-10.1-4.6-10.1-10.1c0-5.6,4.5-10.1,10.1-10.1C84.2,46.7,88.7,51.3,88.7,56.8z};
+ }
+}
+
+%% Reciprocal of the height of the svg whose source is above. The
+%% original generates a 256pt high graphic; this macro holds 1/256.
+\newcommand{\@OrigHeightRecip}{0.00390625}
+
+%% We will compute the current X height to make the logo the right height
+\newlength{\@curXheight}
+
+\DeclareRobustCommand\ORCID[1]{%
+\texorpdfstring{%
+\setlength{\@curXheight}{\fontcharht\font`X}%
+\href{https://orcid.org/#1}{\XeTeXLinkBox{\mbox{%
+\begin{tikzpicture}[yscale=-\@OrigHeightRecip*\@curXheight,
+xscale=\@OrigHeightRecip*\@curXheight,transform shape]
+\pic{orcidlogo};
+\end{tikzpicture}%
+}}}}{}}
+
+\def \@fpsadddefault {%
+ \edef \@fps {\@fps\csname fps@\@captype \endcsname}%
+}
+
+
%% End here %%
\endinput
diff --git a/macros/latex/contrib/oup-authoring-template/oup-authoring-template.pdf b/macros/latex/contrib/oup-authoring-template/oup-authoring-template.pdf
index 1f488e966e..cffa87e82d 100644
--- a/macros/latex/contrib/oup-authoring-template/oup-authoring-template.pdf
+++ b/macros/latex/contrib/oup-authoring-template/oup-authoring-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/oup-authoring-template/oup-authoring-template.tex b/macros/latex/contrib/oup-authoring-template/oup-authoring-template.tex
index aa774c2523..58459bacef 100644
--- a/macros/latex/contrib/oup-authoring-template/oup-authoring-template.tex
+++ b/macros/latex/contrib/oup-authoring-template/oup-authoring-template.tex
@@ -1,5 +1,5 @@
%%
-%% Copyright 2020 OXFORD UNIVERSITY PRESS
+%% Copyright 2022 OXFORD UNIVERSITY PRESS
%%
%% This file is part of the 'oup-authoring-template Bundle'.
%% ---------------------------------------------
@@ -62,7 +62,7 @@
\journaltitle{Journal Title Here}
\DOI{DOI HERE}
-\copyrightyear{2019}
+\copyrightyear{2022}
\pubyear{2019}
\access{Advance Access Publication Date: Day Month Year}
\appnotes{Paper}
@@ -77,7 +77,7 @@
\author[2]{Second Author}
\author[3]{Third Author}
\author[3]{Fourth Author}
-\author[4]{Fifth Author}
+\author[4]{Fifth Author\ORCID{0000-0000-0000-0000}}
\authormark{Author Name et al.}
@@ -98,8 +98,8 @@
%\textbf{Motivation:} .\\
%\textbf{Results:} .\\
%\textbf{Availability:} .\\
-%\textbf{Contact:} \href{name@bio.com}{name@bio.com}\\
-%\textbf{Supplementary information:} Supplementary data are available at \textit{Briefings in Bioinformatics}
+%\textbf{Contact:} \href{name@email.com}{name@email.com}\\
+%\textbf{Supplementary information:} Supplementary data are available at \textit{Journal Name}
%online.}
\abstract{Abstracts must be able to stand alone and so cannot contain citations to
@@ -120,52 +120,28 @@ as plain as possible.}
\section{Introduction}
The introduction introduces the context and summarizes the manuscript. It is importantly to clearly state the contributions
-of this piece of work. The potential offered to policy makers by data-driven research is greater than it ever has been.
-Increasing volumes of data, faster technology, and evolving techniques and methodology enable us to process ever more data faster,
-providing the opportunity to focus and evaluate policies to deliver more effectively and economically at a time when efficient use
-of public money is paramount.
-
-More data can now be analyzed faster enabling researchers to explore more and more complex interactions. Data across a wide spectrum from open data\footnote{\url{https://data.gov.uk/}} that can be downloaded, through licensed data,\footnote{\url{https://www.ukdataservice.ac.uk/}} to sensitive personal data can now contribute to our understanding of health, social, and economic outcomes.
-
-The United Kingdom has a long tradition of safe data use by researchers. In the 50 years that the UK
-Data Archive has been making data available for social and economic research, there have been no
-damaging disclosures of personal information by academic researchers\footnote{That is not to say that there have been no breaches---researchers using data for a project they are not licensed for or passing data
-to unlicensed colleagues---however, this, as far as we are aware of, has never caused harm to individuals or entities in the data.}. While increasing use of detailed and sometimes sensitive
-data can contribute valuable insights for targeting policies, we cannot be
-complacent. In order to support our policy needs and continue to use data safely and effectively, we
-need a research infrastructure that protects data confidentiality while enabling researchers to undertake
-innovative research.
+of this piece of work. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+This is an example of a new parapgraph with a numbered footnote\footnote{\url{https://data.gov.uk/}} and a second footnote marker.\footnote{Example of footnote text.}
+
+
\section{This is an example for first level head - section head}\label{sec2}
-Once data are disseminated, whatever contractual or other obligations are placed on those receiving the
-data, the data are effectively out of a data providers' control. Data providers must be certain that the data
-disseminated do not provide a risk of disclosure necessitating a reduction in the detail available.
-Data providers must be certain that the data disseminated do not provide a risk of disclosure necessitating
-a reduction in the detail available, or they are constrained to using a resource intensive auditing regime,
-and are likely to discover any data misuse only after it has happened (refer Section~\ref{sec5}).
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum (refer Section~\ref{sec5}).
\subsection{This is an example for second level head - subsection head}\label{subsec1}
-Once data are disseminated, whatever contractual or other obligations are placed on those receiving the
-data, the data are effectively out of a data providers' control. Data providers must be certain that the data
-disseminated do not provide a risk of disclosure necessitating a reduction in the detail available, or they are
-constrained to using a resource intensive auditing regime, and are likely to discover any data misuse only
-after it has happened.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\subsubsection{This is an example for third level head - subsubsection head}\label{subsubsec1}
-Once data are disseminated, whatever contractual or other obligations are placed on those receiving the
-data, the data are effectively out of a data providers' control. Data providers must be certain that the data
-disseminated do not provide a risk of disclosure necessitating a reduction in the detail available, or they are
-constrained to using a resource intensive auditing regime, and are likely to discover any data misuse only
-after it has happened.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
+eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. %Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\paragraph{This is an example for fourth level head - paragraph head}
-Once data are disseminated, whatever contractual or other obligations are placed on those receiving the data, the data
-are effectively out of a data providers' control. The United Kingdom has a long tradition of safe data use by researchers.
-The United Kingdom has a long tradition of safe data use by researchers.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\section{This is an example for first level head}\label{sec3}
@@ -173,35 +149,28 @@ The United Kingdom has a long tradition of safe data use by researchers.
\subsubsection{This is an example for third level head - subsubsection head}\label{subsubsec2}
-In the 50 years that the UK Data Archive has been making data available for social and economic research, there have been no
-damaging disclosures of personal information by academic researchers. While increasing use of detailed and sometimes sensitive
-data can contribute valuable insights for targeting policies, we cannot be
-complacent. In order to support our policy needs and continue to use data safely and effectively, we
-need a research infrastructure that data confidentiality while enabling researchers to undertake
-innovative research.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\paragraph{This is an example for fourth level head - paragraph head}
-A first step toward protecting sensitive data is to keep control of it, to disseminate access, not data. Data
-providers internationally are increasing, moving toward systems in which researchers remotely accessed.
-
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
\section{Equations}\label{sec4}
-Equations in \LaTeX{} can either be inline or on-a-line by itself. For
-inline equations use the \verb+$...$+ commands. Eg: The equation
+Equations in \LaTeX{} can either be inline or set as display equations. For
+inline equations use the \verb+$...$+ commands. Eg: the equation
$H\psi = E \psi$ is written via the command \verb+$H \psi = E \psi$+.
-For on-a-line by itself equations (with auto generated equation numbers)
+For display equations (with auto generated equation numbers)
one can use the equation or eqnarray environments:
\begin{equation}
-\|\tilde{X}(k)\|^2 \leq\frac{\sum\limits_{i=1}^{p}\left\|\tilde{Y}_i(k)\right\|^2+\sum\limits_{j=1}^{q}\left\|\tilde{Z}_j(k)\right\|^2 }{p+q}.\label{eq1}
+\|\tilde{X}(k)\|^2 \leq\frac{\sum\limits_{i=1}^{p}\left\|\tilde{Y}_i(k)\right\|^2+\sum\limits_{j=1}^{q}\left\|\tilde{Z}_j(k)\right\|^2 }{p+q},\label{eq1}
\end{equation}
where,
\begin{align}
D_\mu &= \partial_\mu - ig \frac{\lambda^a}{2} A^a_\mu \nonumber \\
-F^a_{\mu\nu} &= \partial_\mu A^a_\nu - \partial_\nu A^a_\mu + g f^{abc} A^b_\mu A^a_\nu\label{eq2}
+F^a_{\mu\nu} &= \partial_\mu A^a_\nu - \partial_\nu A^a_\mu + g f^{abc} A^b_\mu A^a_\nu.\label{eq2}
\end{align}
Notice the use of \verb+\nonumber+ in the align environment at the end
of each line, except the last, so as not to produce equation numbers on
@@ -211,7 +180,7 @@ should only be used at the last line of an align environment where
\begin{equation}
Y_\infty = \left( \frac{m}{\textrm{GeV}} \right)^{-3}
\left[ 1 + \frac{3 \ln(m/\textrm{GeV})}{15}
- + \frac{\ln(c_2/5)}{15} \right]
+ + \frac{\ln(c_2/5)}{15} \right].
\end{equation}
The class file also supports the use of \verb+\mathbb{}+, \verb+\mathscr{}+ and
\verb+\mathcal{}+ commands. As such \verb+\mathbb{R}+, \verb+\mathscr{R}+
@@ -219,11 +188,17 @@ and \verb+\mathcal{R}+ produces $\mathbb{R}$, $\mathscr{R}$ and $\mathcal{R}$
respectively (refer Subsubsection~\ref{subsubsec3}).
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
+eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
+eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
+eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
+
\section{Tables}\label{sec5}
Tables can be inserted via the normal table and tabular environment. To put
-footnotes inside tables one has to 12pt use the additional ``tablenotes" environment
+footnotes inside tables one has to Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. use the additional ``tablenotes" environment
enclosing the tabular environment. The footnote appears just below the table
itself (refer Tables~\ref{tab1} and \ref{tab2}).
@@ -253,7 +228,7 @@ row 3 & data 7 & data 8 & data 9$^{2}$\\
\end{verbatim}
-Lengthy tables which doesn't fit in textwidth should be set as rotated table. For this, we need to use \verb+\begin{sidewaystable}...+ \verb+\end{sidewaystable}+ instead of\break \verb+\begin{table}...+ \verb+\end{table}+ environment.
+Lengthy tables which do not fit within textwidth should be set as rotated tables. For this, we need to use \verb+\begin{sidewaystable}...+ \verb+\end{sidewaystable}+ instead of\break \verb+\begin{table}...+ \verb+\end{table}+ environment.
\begin{table}[!t]
@@ -274,7 +249,7 @@ row 3 & data 7 & data 8 & data 9$^{2}$ \\
\end{tablenotes}
\end{table}
-\begin{table*}[h]
+\begin{table*}[t]
\caption{Example of a lengthy table which is set to full textwidth.\label{tab2}}
\tabcolsep=0pt%%
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lcccccc@{\extracolsep{\fill}}}
@@ -308,17 +283,17 @@ Element 4 & 500 A & 961 & $922\pm10$ & 900 A & 1268 & $1092\pm40$ \\
\botrule
\end{tabular*}
\begin{tablenotes}%
-\item Note: This is an example of table footnote this is an example of table footnote this is an example of table footnote this is an example of~table footnote this is an example of table footnote
-\item[$^{1}$] This is an example of table footnote
+\item Note: This is an example of a table footnote this is an example of a table footnote this is an example of a table footnote this is an example of a table footnote this is an example of a table footnote
+\item[$^{1}$] This is an example of a table footnote
\end{tablenotes}
\end{sidewaystable}
\section{Figures}\label{sec6}
-As per the \LaTeX\ standards one has to use eps images for \verb+latex+ compilation and \verb+pdf/jpg/png+ images for
-\verb+pdflatex+ compilation. This is one of the major difference between \verb+latex+
-and \verb+pdflatex+. The images should be single page documents. The command for inserting images
+As per display \LaTeX\ standards one has to use eps images for \verb+latex+ compilation and \verb+pdf/jpg/png+ images for
+\verb+pdflatex+ compilation. This is one of the major differences between \verb+latex+
+and \verb+pdflatex+. The images should be single-page documents. The command for inserting images
for \verb+latex+ and \verb+pdflatex+ can be generalized. The package used to insert images in \verb+latex/pdflatex+ is the
graphicx package. Figures can be inserted via the normal figure environment as shown in the below example:
@@ -326,13 +301,13 @@ graphicx package. Figures can be inserted via the normal figure environment as s
\begin{figure}[!t]%
\centering
{\color{black!20}\rule{213pt}{37pt}}
-\caption{This is a widefig. This is an example of long caption this is an example of long caption this is an example of long caption this is an example of long caption}\label{fig1}
+\caption{This is a widefig. This is an example of a long caption this is an example of a long caption this is an example of a long caption this is an example of a long caption}\label{fig1}
\end{figure}
\begin{figure*}[!t]%
\centering
{\color{black!20}\rule{438pt}{74pt}}
-\caption{This is a widefig. This is an example of long caption this is an example of long caption this is an example of long caption this is an example of long caption}\label{fig2}
+\caption{This is a widefig. This is an example of a long caption this is an example of a long caption this is an example of a long caption this is an example of a long caption}\label{fig2}
\end{figure*}
@@ -346,12 +321,14 @@ graphicx package. Figures can be inserted via the normal figure environment as s
Test text here.
-For sample purpose, we have included the width of images in the optional argument of \verb+\includegraphics+ tag. Please ignore this. Lengthy figures which doesn't fit in textwidth should be set as rotated mode. For rotated figures, we need to use \verb+\begin{sidewaysfigure}+ \verb+...+ \verb+\end{sidewaysfigure}+ instead of \verb+\begin{figure}+ \verb+...+ \verb+\end{figure}+ environment.
+For sample purposes, we have included the width of images in the
+optional argument of \verb+\includegraphics+ tag. Please ignore this.
+Lengthy figures which do not fit within textwidth should be set in rotated mode. For rotated figures, we need to use \verb+\begin{sidewaysfigure}+ \verb+...+ \verb+\end{sidewaysfigure}+ instead of the \verb+\begin{figure}+ \verb+...+ \verb+\end{figure}+ environment.
\begin{sidewaysfigure}%
\centering
{\color{black!20}\rule{610pt}{102pt}}
-\caption{This is an example for sideways figure. This is an example of long caption this is an example of long caption this is an example of long caption this is an example of long caption}\label{fig3}
+\caption{This is an example for a sideways figure. This is an example of a long caption this is an example of a long caption this is an example of a long caption this is an example of a long caption}\label{fig3}
\end{sidewaysfigure}
@@ -372,9 +349,9 @@ For this, one has to use the below format:
\end{verbatim}
-We need to refer above listed package documentations for more details before setting \verb+algorithm+ environment.
-To set program codes, one has to use \verb+program+, package. We need to use \verb+\begin{program}+ \verb+...+
-\verb+\end{program}+ environment to set program codes. A fast exponentiation procedure:
+You may need to refer to the above-listed package documentations for more details before setting an \verb+algorithm+ environment.
+To set program codes, one has to use the \verb+program+ package. We need to use the \verb+\begin{program}+ \verb+...+
+\verb+\end{program}+ environment to set program codes.
\begin{algorithm}[!t]
\caption{Calculate $y = x^n$}\label{algo1}
@@ -401,12 +378,12 @@ To set program codes, one has to use \verb+program+, package. We need to use \ve
\end{algorithmic}
\end{algorithm}
-Similarly, for \verb+listings+, one has to use \verb+listings+ package. \verb+\begin{lstlisting}+ \verb+...+ \verb+\end{lstlisting}+ environment is used to set environments similar to \verb+verbatim+ environment. Refer \verb+lstlisting+, package documentation for more details on this.
+Similarly, for \verb+listings+, one has to use the \verb+listings+ package. The \verb+\begin{lstlisting}+ \verb+...+ \verb+\end{lstlisting}+ environment is used to set environments similar to the \verb+verbatim+ environment. Refer to the \verb+lstlisting+ package documentation for more details on this.
\begin{minipage}{\hsize}%
\lstset{language=Pascal}% Set your language (you can change the language for each code-block optionally)
-\begin{lstlisting}[frame=single,framexleftmargin=-1pt,framexrightmargin=-17pt,framesep=12pt,linewidth=0.98\textwidth]% Start your code-block
+\begin{lstlisting}[frame=single,framexleftmargin=-1pt,framexrightmargin=-17pt,framesep=12pt,linewidth=0.98\textwidth]
for i:=maxint to 0 do
begin
{ do nothing }
@@ -419,7 +396,7 @@ Write('Pascal keywords.');
\section{Cross referencing}\label{sec8}
-Environments such as figure, table, equation, align can have a label
+Environments such as figure, table, equation, and align can have a label
declared via the \verb+\label{#label}+ command. For figures and table
environments one should use the \verb+\label{}+ command inside or just
below the \verb+\caption{}+ command. One can then use the
@@ -528,7 +505,7 @@ Here, one note is like the standard, two make pre- and post-notes.)
\noindent
-Additional citation possibilities (both author-year and numerical modes)
+Additional citation possibilities (both author-year and numerical modes):
{%
@@ -544,8 +521,8 @@ Additional citation possibilities (both author-year and numerical modes)
\noindent
-Note: full author lists depends on whether the bib style supports them;
-if not, the abbreviated list is printed even when full requested.
+Note: full author lists depend on whether the bib style supports them;
+if not, the abbreviated list is printed even when full is requested.
\noindent
For names like della Robbia at the start of a sentence, use
@@ -560,15 +537,16 @@ For names like della Robbia at the start of a sentence, use
\noindent
-The following is an example for \verb+\cite{...}+: \cite{rahman2019centroidb}. Another example for \verb+\citep{...}+: \citep{bahdanau2014neural,imboden2018cardiorespiratory,motiian2017unified,american2013acsm,murphy2012machine,ji20123d}.
+The following is an example for \verb+\cite{...}+: \cite{rahman2019centroidb}. Another example for \verb+\citep{...}+: \citep{bahdanau2014neural,imboden2018cardiorespiratory,motiian2017unified,murphy2012machine,ji20123d}.
Sample cites here \cite{krizhevsky2012imagenet,horvath2018dna} and \cite{pyrkov2018quantitative}, \cite{wang2018face}, \cite{lecun2015deep,zhang2018fine,ravi2016deep}.
\section{Lists}\label{sec9}
-List in \LaTeX{} can be of three types: numbered, bulleted and unnumbered. ``enumerate'' environment produces numbered list,
-``itemize'' environment produces bulleted list and ``unlist'' environment produces unnumbered list.
-In each environments, new entry is added via the \verb+\item+ command.
+List in \LaTeX{} can be of three types: numbered, bulleted and unnumbered. The ``enumerate'' environment produces a numbered list, the
+``itemize'' environment produces a bulleted list and the ``unlist''
+environment produces an unnumbered list.
+In each environment, a new entry is added via the \verb+\item+ command.
\begin{enumerate}[1.]
\item This is the 1st item
@@ -600,8 +578,8 @@ description creates unnumbered lists.
\item Numbered lists continue.
\end{enumerate}
-List in \LaTeX{} can be of three types: enumerate, itemize and description.
-In each environments, new entry is added via the \verb+\item+ command.
+Lists in \LaTeX{} can be of three types: enumerate, itemize and description.
+In each environment, a new entry is added via the \verb+\item+ command.
\begin{itemize}
\item First level bulleted list. This is the 1st item
@@ -630,10 +608,9 @@ Example for unnumbered list items:
\item sample unnumberd list text. Sample unnumberd list text. Sample unnumberd list text. Sample unnumberd list text. Sample unnumberd list text. Sample unnumberd list text. Sample unnumberd list text.
\end{unlist}
-\section{Examples for theorem like environments}\label{sec10}
+\section{Examples for theorem-like environments}\label{sec10}
-For theorem like environments, we require \verb+amsthm+ package. There are three types of predefined theorem styles
-exists - \verb+thmstyleone+, \verb+thmstyletwo+ and \verb+thmstylethree+
+For theorem-like environments, we require the \verb+amsthm+ package. There are three types of predefined theorem styles - \verb+thmstyleone+, \verb+thmstyletwo+ and \verb+thmstylethree+ (check your journal's instructions page in case a specific style is required).
\medskip
\noindent\begin{tabular}{|l|p{13pc}|}
@@ -683,7 +660,7 @@ amet, consectetuer adipiscing elit. In hac habitasse platea dictumst.
Example definition text. Example definition text. Example definition text. Example definition text. Example definition text. Example definition text. Example definition text. Example definition text.
\end{definition}
-Apart from the above styles, we have \verb+\begin{proof}+ \verb+...+ \verb+\end{proof}+ environment - with proof head in italic style and body text in roman font with an open square at the end of each proof environment.
+Apart from the above styles, we have the \verb+\begin{proof}+ \verb+...+ \verb+\end{proof}+ environment - with the proof head in italic style and the body text in roman font with an open square at the end of each proof environment.
\begin{proof}Example for proof text. Example for proof text. Example for proof text. Example for proof text. Example for proof text. Example for proof text. Example for proof text. Example for proof text. Example for proof text. Example for proof text.
\end{proof}
@@ -697,7 +674,7 @@ Example for proof text. Example for proof text. Example for proof text. Example
\end{proof}
\noindent
-For quote environment, one has to use\newline \verb+\begin{quote}...\end{quote}+
+For a quote environment, one has to use\newline \verb+\begin{quote}...\end{quote}+
\begin{quote}
Quoted text example. Aliquam porttitor quam a lacus. Praesent vel arcu ut tortor cursus volutpat. In vitae pede quis diam bibendum placerat. Fusce elementum
convallis neque. Sed dolor orci, scelerisque ac, dapibus nec, ultricies ut, mi. Duis nec dui quis leo sagittis commodo.
@@ -731,7 +708,7 @@ urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris.
\subsubsection{Subsubsection title of first appendix}\label{subsubsec3}
-Example for Unnumbered figure:
+Example for an unnumbered figure:
\begin{figure}[!h]
\centering
@@ -756,6 +733,23 @@ vehicula libero dui cursus dui. Mauris tempor ligula sed lacus. Duis cursus enim
\caption{This is an example for appendix figure\label{fig4}}
\end{figure}
+\begin{table}[t]%
+\begin{center}
+\begin{minipage}{.52\columnwidth}
+\caption{This is an example of Appendix table showing food requirements of army, navy and airforce\label{tab4}}%
+\begin{tabular}{@{}lcc@{}}%
+\toprule
+col1 head & col2 head & col3 head \\
+\midrule
+col1 text & col2 text & col3 text \\
+col1 text & col2 text & col3 text \\
+col1 text & col2 text & col3 text \\
+\botrule
+\end{tabular}
+\end{minipage}
+\end{center}
+\end{table}
+
\subsection{Subsection title of second appendix}\label{subsec5}
Sed commodo posuere pede. Mauris ut est. Ut quis purus. Sed ac odio. Sed vehicula hendrerit sem. Duis non odio.
@@ -778,26 +772,10 @@ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibu
felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec
vehicula augue eu neque.
-\begin{table}[t]%
-\begin{center}
-\begin{minipage}{.52\columnwidth}
-\caption{This is an example of Appendix table showing food requirements of army, navy and airforce\label{tab4}}%
-\begin{tabular}{@{}lcc@{}}%
-\toprule
-col1 head & col2 head & col3 head \\
-\midrule
-col1 text & col2 text & col3 text \\
-col1 text & col2 text & col3 text \\
-col1 text & col2 text & col3 text \\
-\botrule
-\end{tabular}
-\end{minipage}
-\end{center}
-\end{table}
-Example for an equation inside appendix:
+Example for an equation inside the appendix:
\begin{align}
- p &= \frac{\gamma^{2} - (n_{C} -1)H}{(n_{C} - 1) + H - 2\gamma} \label{1eq:hybobo:pfromgH} \\
+ p &= \frac{\gamma^{2} - (n_{C} -1)H}{(n_{C} - 1) + H - 2\gamma}, \label{1eq:hybobo:pfromgH} \\
\theta &= \frac{(\gamma - H)^{2}(\gamma - n_{C} -1)^{2}}{(n_{C} - 1 + H - 2\gamma)^{2}} \label{2eq:hybobo:tfromgH}\; .
\end{align}
@@ -810,7 +788,7 @@ a nulla. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur
urna. Nulla ullamcorper vestibulum turpis. Pellentesque cursus luctus mauris
\begin{equation}
\mathcal{L} = i \bar{\psi} \gamma^\mu D_\mu \psi
- - \frac{1}{4} F_{\mu\nu}^a F^{a\mu\nu} - m \bar{\psi} \psi
+ - \frac{1}{4} F_{\mu\nu}^a F^{a\mu\nu} - m \bar{\psi} \psi.
\label{eq26}
\end{equation}
@@ -844,6 +822,8 @@ ac quam. Sed diam turpis, molestie vitae, placerat a, molestie nec, leo. Maecena
at, accumsan nec, suscipit a, ipsum. Morbi blandit ligula feugiat magna. Nunc eleifend consequat lorem. Sed lacinia
nulla vitae enim. Pellentesque tincidunt purus vel magna. Integer non enim. Praesent euismod nunc eu purus. Donec
bibendum quam in tellus. Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum
+pellentesque felis eu massa. Donec
+bibendum quam in tellus. Nullam cursus pulvinar lectus. Donec et mi. Nam vulputate metus eu enim. Vestibulum
pellentesque felis eu massa.
%% Example for unnumbered table inside appendix
@@ -867,7 +847,7 @@ col1 text & col2 text & col3 text \\
\end{appendices}
\section{Competing interests}
-There is NO Competing Interest.
+No competing interest is declared.
\section{Author contributions statement}
@@ -980,7 +960,7 @@ Ke~Zhang, Na~Liu, Xingfang Yuan, Xinyao Guo, Ce~Gao, and Zhenbing Zhao.
%% sample for biography with author's image
-\begin{biography}{{\color{black!20}\rule{77pt}{77pt}}}{\author{Author Name.} This is sample author biography text. The values provided in the optional argument is meant for sample purpose. There is no need to include the width and height of an image in the optional argument for live articles. This is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text.}
+\begin{biography}{{\color{black!20}\rule{77pt}{77pt}}}{\author{Author Name.} This is sample author biography text. The values provided in the optional argument are meant for sample purposes. There is no need to include the width and height of an image in the optional argument for live articles. This is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text this is sample author biography text.}
\end{biography}
%% sample for biography without author's image
diff --git a/macros/latex/contrib/quantumarticle/README.md b/macros/latex/contrib/quantumarticle/README.md
index ddfb27ca2c..1661c55bae 100644
--- a/macros/latex/contrib/quantumarticle/README.md
+++ b/macros/latex/contrib/quantumarticle/README.md
@@ -2,13 +2,15 @@
# LaTeX document class for Quantum
-This is version 5.1 of `quantumarticle`, the document class for typesetting articles in Quantum - the open journal for quantum science.
+This is version 6.0 of `quantumarticle`, the document class for typesetting articles in Quantum - the open journal for quantum science.
[Click here](https://raw.githubusercontent.com/quantum-journal/quantum-journal/master/quantumarticle.cls) to download the latest stable version.
[More information](https://raw.githubusercontent.com/quantum-journal/quantum-journal/master/quantum-template.pdf) on using quantumarticle and on typesetting manuscripts for Quantum can be found in the accompanying template.
-[Documentation](https://raw.githubusercontent.com/quantum-journal/quantum-journal/master/quantumarticle.pdf) of all class options is also provided.
+[Extra information on the Quantum bibstyle](https://raw.githubusercontent.com/quantum-journal/quantum-journal/master/quantum-bibliographystyle-demo.pdf) can be found in the bibstyle demo.
+
+[Documentation](https://raw.githubusercontent.com/quantum-journal/quantum-journal/master/quantumarticle.pdf) of all class options is also provided.
## Installation and usage
@@ -48,14 +50,20 @@ The `quantumarticle` class tries to be **maximally compatible** with existing do
## Beta features
-In addition, this document class come bundled with two new extras (currently in beta phase):
+In addition, this document class comes bundled with two new extras (currently in beta phase):
-1. The quantum-plots.ipynb Jupyter notebook and matplotlib style for effortlessly producing professional looking plots in python.
+1. The quantum-lyx-template.lyx LyX layout, which allows you to generate the LaTeX source of your quantumarticle manuscript with the LyX document processor.
-2. The quantum-lyx-template.lyx LxY layout, which allow you to generate the LaTeX source of your quantumarticle manuscript with the LyX document processor.
+2. The quantum.bst bibliography style for BibTeX, see the corresponding demo for usage details.
## Changelog
+### New in v6.0
+
+* introduced the Quantum bibstyle `quantum.bst` together with the demo file `quantum-bibliographystyle-demo`
+* Removed the quantum-plots package, which is superseeded by [rsmf](https://pypi.org/project/rsmf/)
+* Fixed typo in allowfontchangeintitle option
+
### New in v5.1
* fix for workaround in ltxgrid no longer being necessary and, on the contrary, causing an error under TeXLive 2020, with revtex/ltygrid 4.2e/4.2d
@@ -75,18 +83,18 @@ In addition, this document class come bundled with two new extras (currently in
* enforce that users put `\pdfoutput=1` (as recommended by the arXiv) to prevent problems with multi-line hyper links
* improved error messages
* fixed a bug that lead to the title not being centered with the `titlepage` option
-* better layout of titles
+* better layout of titles
* fixed various bugs in option processing
* the document class is now documented in `quantumarticle.pdf`
* introduced the plotting notebook `quantum-plots.ipynb` as a beta feature
* introduced the LyX template `quantum-lyx-template.lyx` as a beta feature
-
## Contributors
-Developed by: Christian Gogolin, Christopher Granade, Johannes J. Meyer, and Victor V. Albert
+Developed by: Christian Gogolin, Cassandra Granade, Johannes J. Meyer, and Victor V. Albert
-With contributions from: Shahnawaz Ahmed, Andrey Rakhubovsky, liantze, and Abhinav Deshpande
+With contributions from: Shahnawaz Ahmed, Andrey Rakhubovsky, liantze,
+Abhinav Deshpande, and David Wierichs
## Contributing
@@ -98,7 +106,7 @@ Improvements submitted as pull requests against the `develop` branch are very mu
## Copyright
-Copyright 2017, 2018, 2019, 2020
+Copyright 2017, 2018, 2019, 2020, 2021, 2022
Verein zur Förderung des Open Access Publizierens in den Quantenwissenschaften
(http://quantum-journal.org/about/)
@@ -113,4 +121,4 @@ http://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
-[comment]: # (To submit to the overleaf galary: push, open the project, go to Journals and Services and click Submit to Overleaf Gallery. To submit to sharelatex: write them an email)
+[comment]: # (To submit to the overleaf gallery: push, open the project, go to Journals and Services and click Submit to Overleaf Gallery. To submit to sharelatex: write them an email)
diff --git a/macros/latex/contrib/quantumarticle/example-plot.pdf b/macros/latex/contrib/quantumarticle/example-plot.pdf
new file mode 100644
index 0000000000..2022a1c61c
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/example-plot.pdf
Binary files differ
diff --git a/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.bib b/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.bib
new file mode 100644
index 0000000000..142854b4f9
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.bib
@@ -0,0 +1,533 @@
+preamble{"\DoNotMakeWarningsErrors"}
+preamble{"\MakeDoiLinksExplicit"}
+
+@article{andreas_test_case,
+ title = {Toolbox for Reconstructing Quantum Theory from Rules on Information Acquisition},
+ author = {H\"{o}hn, Philipp A.},
+ year = {2017},
+ month = dec,
+ volume = {1},
+ pages = {38},
+ doi = {10.22331/q-2017-12-14-38},
+ archivePrefix = {arXiv},
+ eprint = {1412.8323},
+ eprinttype = {arxiv},
+ journal = {Quantum}
+}
+
+@article{article_doi_eprint_url_code,
+ doi = {10.22331/q-2017-04-25-1},
+ url = {https://doi.org/10.22331/q-2017-04-25-1},
+ author = {McKague, Matthew},
+ issn = {2521-327X},
+ publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},
+ journal = {{Quantum}},
+ volume = {1},
+ pages = {1},
+ month = apr,
+ year = {2017},
+ title = {Self-testing in parallel with {CHSH}},
+ code = {https://github.com/tony-blake/Hybrid-x509-s},
+ archivePrefix = {arXiv},
+ eprint = {1609.09584}
+}
+
+@article{article_doi_eprint_url,
+ doi = {10.22331/q-2017-04-25-1},
+ url = {https://doi.org/10.22331/q-2017-04-25-1},
+ title = {Self-testing in parallel with {CHSH}},
+ author = {McKague, Matthew},
+ journal = {{Quantum}},
+ issn = {2521-327X},
+ publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},
+ volume = {1},
+ pages = {1},
+ month = apr,
+ year = {2017},
+ eprint = {1609.09584}
+}
+
+@article{article_eprint_url_code,
+ url = {https://doi.org/10.22331/q-2017-04-25-1},
+ title = {Self-testing in parallel with {CHSH}},
+ author = {McKague, Matthew},
+ year = {2017},
+ eprint = {1609.09584},
+ code={https://github.com/tony-blake/Hybrid-x509-s},
+ journal = {{Quantum}},
+ volume = {1},
+ pages = {1}
+}
+
+@article{article_eprint_url,
+ url = {https://doi.org/10.22331/q-2017-04-25-1},
+ title = {Self-testing in parallel with {CHSH}},
+ author = {McKague, Matthew},
+ year = {2017},
+ eprint = {1609.09584},
+ journal = {{Quantum}},
+ volume = {1},
+ pages = {1}
+}
+
+@article{article_url_code,
+ url = {https://doi.org/10.22331/q-2017-04-25-1},
+ title = {Self-testing in parallel with {CHSH}},
+ author = {McKague, Matthew},
+ year = {2017},
+ code = {https://github.com/tony-blake/Hybrid-x509-s},
+ journal = {{Quantum}},
+ volume = {1},
+ pages = {1}
+}
+
+@article{article_url_code_shorturl,
+ url = {https://doi.org/10.22331/q-2017-04-25-1},
+ shorturl = {10.22331/q-2017-04-25-1},
+ title = {Self-testing in parallel with {CHSH}},
+ author = {McKague, Matthew},
+ year = {2017},
+ code = {https://github.com/tony-blake/Hybrid-x509-s},
+ journal = {{Quantum}},
+ volume = {1},
+ pages = {1}
+}
+
+@article{article_url,
+ url = {https://doi.org/10.22331/q-2017-04-25-1},
+ title = {Self-testing in parallel with {CHSH}},
+ author = {McKague, Matthew},
+ year = {2017},
+ journal = {{Quantum}},
+ volume = {1},
+ pages = {1}
+}
+
+@repository{repo_code_url,
+ title={Right-size my figures},
+ author={Johannes Jakob Meyer},
+ code={https://github.com/johannesjmeyer/rsmf},
+ url={https://github.com/johannesjmeyer/rsmf}
+}
+
+@repository{repo_code_year,
+ title={Right-size my figures},
+ year={2021},
+ author={Johannes Jakob Meyer},
+ commit={1fcb463},
+ code={https://github.com/johannesjmeyer/rsmf}
+}
+
+@repository{repo_code_year_version,
+ title={Right-size my figures},
+ year={2021},
+ author={Johannes Jakob Meyer},
+ version={v0.1},
+ code={https://github.com/johannesjmeyer/rsmf}
+}
+
+@repository{repo_url,
+ author={Johannes Jakob Meyer},
+ url={https://github.com/johannesjmeyer/rsmf}
+}
+
+@repository{repo_code_year_commit,
+ author={David Wierichs},
+ code={https://github.com/quantum-journal/quantum-journal/pull/123/commits/1fcb463b560fbcd93843cc7c9aefb8ccecf8089e},
+ commit={1fcb463},
+ year={2021}
+}
+
+@website{web_author_code,
+ author={The Wiki-authors},
+ title={Wikipedia},
+ url={https://wikipedia.com},
+ code={https://github.com/wikimedia/mediawiki}
+}
+
+@website{web_author,
+ author={The Wiki-authors},
+ title={Wikipedia},
+ url={https://wikipedia.com}
+}
+
+@website{web_author_date,
+ author={The Wiki-authors},
+ title={Wikipedia},
+ url={https://wikipedia.com},
+ urldate={12.07.2019}
+}
+
+@website{web_code,
+ title={Wikipedia},
+ url={https://wikipedia.com},
+ code={https://github.com/wikimedia/mediawiki}
+}
+
+@website{web,
+ title={Wikipedia},
+ url={https://wikipedia.com}
+}
+
+% Some other test cases
+
+% directly from the arxiv- just changed into article
+@article{mendez2021dissipation,
+ title={Dissipation in 2D degenerate gases with non-vanishing rest mass},
+ author={A. R. Mendez and A. L. Garcia-Perciante and G. Chacon-Acosta},
+ year={2021},
+ eprint={2110.03402},
+ archivePrefix={arXiv},
+ primaryClass={cond-mat.quant-gas}
+}
+
+% arxiv via zotero
+@article{mendez2021dissipation_2,
+ title = {Dissipation in 2D degenerate gases with non-vanishing rest mass},
+ url = {http://arxiv.org/abs/2110.03402},
+ journaltitle = {{arXiv}:2110.03402 [cond-mat.quant-gas]},
+ author={A. R. Mendez and A. L. Garcia-Perciante and G. Chacon-Acosta},
+ urldate = {2021-10-09},
+ date = {2021-10-06},
+ eprinttype = {arxiv},
+ eprint = {2110.03402},
+ keywords = {Computer Science - Machine Learning, Quantum Physics}
+}
+
+% via zotero
+@article{holevo2012quantum,
+ title = {Quantum channels and their entropic characteristics},
+ volume = {75},
+ issn = {0034-4885, 1361-6633},
+ url = {http://stacks.iop.org/0034-4885/75/i=4/a=046001?key=crossref.c00c20a2d90f601c3579a72385e32b76},
+ doi = {10.1088/0034-4885/75/4/046001},
+ pages = {046001},
+ number = {4},
+ journaltitle = {Reports on Progress in Physics},
+ author = {Holevo, A S and Giovannetti, V},
+ urldate = {2018-10-22},
+ date = {2012-04-01},
+ langid = {english}
+}
+
+% data from crossref
+@article{Holevo_2012,
+ doi = {10.1088/0034-4885/75/4/046001},
+ url = {https://doi.org/10.1088%2F0034-4885%2F75%2F4%2F046001},
+ year = 2012,
+ month = {mar},
+ publisher = {{IOP} Publishing},
+ volume = {75},
+ number = {4},
+ pages = {046001},
+ author = {A S Holevo and V Giovannetti},
+ title = {Quantum channels and their entropic characteristics},
+ journal = {Reports on Progress in Physics}
+}
+
+% data from web of science
+@article{akers2020simple,
+ title = {Simple holographic models of black hole evaporation},
+ issn = {1029-8479},
+ doi = {10.1007/JHEP08(2020)032},
+ number = {8},
+ journaltitle = {{JOURNAL} {OF} {HIGH} {ENERGY} {PHYSICS}},
+ author = {Akers, Chris and Engelhardt, Netta and Harlow, Daniel},
+ date = {2020-08-06},
+ note = {Place: {ONE} {NEW} {YORK} {PLAZA}, {SUITE} 4600, {NEW} {YORK}, {NY}, {UNITED} {STATES}
+Publisher: {SPRINGER}
+Type: Article},
+ keywords = {{AdS}-{CFT} Correspondence, Black Holes, Models of Quantum Gravity}
+}
+
+@article{katariya2021geometric,
+ title = {Geometric distinguishability measures limit quantum channel estimation and discrimination},
+ volume = {20},
+ issn = {1573-1332},
+ url = {https://doi.org/10.1007/s11128-021-02992-7},
+ doi = {10.1007/s11128-021-02992-7},
+ pages = {78},
+ number = {2},
+ journaltitle = {Quantum Information Processing},
+ shortjournal = {Quantum Inf Process},
+ author = {Katariya, Vishal and Wilde, Mark M.},
+ urldate = {2021-04-29},
+ date = {2021-02-22},
+ langid = {english}
+}
+
+@article{katariya2021geometric_2,
+ title = {Geometric distinguishability measures limit quantum channel estimation and discrimination},
+ author = {Katariya, Vishal and Wilde, Mark M},
+ journal = {Quantum Information Processing},
+ volume = {20},
+ number = {2},
+ pages = {1--170},
+ year = {2021},
+ url = {https://doi.org/10.1007/s11128-021-02992-7},
+ publisher = {Springer}
+}
+
+@inproceedings{liang2019fisher-rao,
+ title = {Fisher-Rao Metric, Geometry, and Complexity of Neural Networks},
+ eventtitle = {The 22nd International Conference on Artificial Intelligence and Statistics},
+ pages = {9},
+ booktitle = {The 22nd International Conference on Artificial Intelligence and Statistics},
+ author = {Liang, Tengyuan and Poggio, Tomaso and Rakhlin, Alexander and Stokes, James},
+ date = {2019},
+ url = {http://proceedings.mlr.press/v89/liang19a/liang19a.pdf},
+ eprint = {1711.01530},
+ langid = {english}
+}
+
+@incollection{jain2010guaranteed,
+ title = {Guaranteed Rank Minimization via Singular Value Projection},
+ url = {http://papers.nips.cc/paper/3904-guaranteed-rank-minimization-via-singular-value-projection.pdf},
+ pages = {937--945},
+ booktitle = {Advances in Neural Information Processing Systems 23},
+ publisher = {Curran Associates, Inc.},
+ author = {Jain, Prateek and Meka, Raghu and Dhillon, Inderjit S.},
+ editor = {Lafferty, J. D. and Williams, C. K. I. and Shawe-Taylor, J. and Zemel, R. S. and Culotta, A.},
+ urldate = {2019-06-11},
+ date = {2010}
+}
+
+% preamble{"\MakeDoiLinksExplicit"}
+
+@misc{misc_arxiv,
+ title={Dissipation in 2D degenerate gases with non-vanishing rest mass},
+ author={A. R. Mendez and A. L. Garcia-Perciante and G. Chacon-Acosta},
+ year={2021},
+ eprint={2110.03402},
+ archivePrefix={arXiv},
+ primaryClass={cond-mat.quant-gas}
+}
+
+@misc{misc_note,
+ note = {Indeed, only a note was provided for this reference}
+}
+
+@misc{misc_correspondence,
+ title={Purple became very popular after this.},
+ author={Christian Gogolin},
+ note={Private correspondence}
+}
+
+@book{book_author_doi_url,
+ doi = {10.1017/cbo9780511976667},
+ url = {https://doi.org/10.1017/cbo9780511976667},
+ year = {2009},
+ publisher = {Cambridge University Press},
+ author = {Michael A. Nielsen and Isaac L. Chuang},
+ title = {Quantum Computation and Quantum Information}
+}
+
+@book{book_author_url_edition,
+ url = {https://doi.org/10.1017/cbo9780511976667},
+ year = {2009},
+ publisher = {Cambridge University Press},
+ author = {Michael A. Nielsen and Isaac L. Chuang},
+ title = {Quantum Computation and Quantum Information},
+ edition = {10th {A}nniversary}
+}
+
+@book{book_editor_doi,
+ doi = {10.1017/cbo9780511976667},
+ year = {2009},
+ publisher = {Cambridge University Press},
+ chapter = {1},
+ pages = {70},
+ editor = {Simon Capelin},
+ title = {Quantum Computation and Quantum Information}
+}
+@book{book_editor_doi2,
+ doi = {10.1017/cbo9780511976667},
+ year = {2009},
+ publisher = {Cambridge University Press},
+ volume = {1},
+ pages = {70},
+ editor = {Simon Capelin},
+ title = {Quantum Computation and Quantum Information}
+}
+
+@inbook{inbook_author_doi_url_chapter,
+ doi = {10.1017/cbo9780511976667},
+ url = {https://doi.org/10.1017/cbo9780511976667},
+ year = {2009},
+ chapter = {3},
+ publisher = {Cambridge University Press},
+ author = {Michael A. Nielsen and Isaac L. Chuang},
+ title = {Quantum Computation and Quantum Information}
+}
+
+@inbook{inbook_author_doi_url_chapter_pages,
+ doi = {10.1017/cbo9780511976667},
+ url = {https://doi.org/10.1017/cbo9780511976667},
+ year = {2009},
+ chapter = {3},
+ pages = {120--169},
+ publisher = {Cambridge University Press},
+ author = {Michael A. Nielsen and Isaac L. Chuang},
+ title = {Quantum Computation and Quantum Information}
+}
+
+@inbook{inbook_author_doi_url_volume_chapter_pages,
+ doi = {10.1017/cbo9780511976667},
+ url = {https://doi.org/10.1017/cbo9780511976667},
+ year = {2009},
+ chapter = {3},
+ volume = {1},
+ pages = {120--169},
+ publisher = {Cambridge University Press},
+ author = {Michael A. Nielsen and Isaac L. Chuang},
+ title = {Quantum Computation and Quantum Information}
+}
+
+@misc{article_arxiv,
+ title={Decoding the Entanglement Structure of Monitored Quantum Circuits},
+ author={Beni Yoshida},
+ year={2021},
+ eprint={2109.08691},
+ archivePrefix={arXiv},
+ primaryClass={quant-ph}
+}
+
+@booklet{booklet,
+ title = {The title of the booklet},
+ author = {Laura Caxton},
+ howpublished = {How it was published},
+ address = {The address of the publisher},
+ month = 7,
+ year = 1993,
+ note = {An optional note}
+}
+
+@unpublished{unpublished,
+ author = {Petra Marcheford},
+ title = {The title of the unpublished work},
+ note = {A note is required to provide context},
+ month = 7,
+ year = 1993
+}
+
+% The following two entries are not meant to be used but were
+% used to verify statements in the template.
+article{article_trailing_comma,
+ author={Matthew McKague},
+ doi = {10.1017/cbo9780511976667},
+ year={2017},
+ journal={Quantum},
+ volume={1},
+ title={Self-testing in parallel with {CHSH}},
+}
+
+article{article_missing_comma,
+ author={Matthew McKague},
+ doi = {10.1017/cbo9780511976667},
+ year={2017},
+ journal={Quantum},
+ volume={1}
+ title={Self-testing in parallel with {CHSH}}
+}
+
+@incollection{incollection,
+ author = {Lex Farindon},
+ title = {Title of part of the collection},
+ booktitle = {Title of the collection},
+ publisher = {The name of the publisher},
+ year = {1993},
+ editor = {An editor},
+ volume = 4,
+ series = 5,
+ chapter = 8,
+ pages = {201-213},
+ address = {The address of the publisher},
+ edition = 3,
+ month = 7,
+}
+
+@conference{conference,
+ author = {Zoe Draper},
+ title = {Title of part of the conference},
+ booktitle = {Title of the conference},
+ year = 1993,
+ editor = {The editor},
+ volume = 4,
+ series = 5,
+ pages = 213,
+ address = {The address of the publisher},
+ month = 7,
+ organization = {The organization},
+ publisher = {The publisher},
+ url = {https://ecosia.org},
+ note = {An optional note}
+}
+
+@conference{inproceedings,
+ author = {Mark Hammington},
+ title = {The title of the work},
+ booktitle = {The title of the proceedings},
+ year = 1993,
+ editor = {The editor},
+ volume = 4,
+ series = 5,
+ pages = 213,
+ month = 7,
+ url = {10.1351/pac199264060907},
+ publisher = {The publisher}
+}
+
+@techreport{CoplenKrouse,
+ author = {Tyler B. Coplen and H. R. Krouse and John Karl Böhlke},
+ doi = {10.1351/pac199264060907},
+ url = {https://doi.org/10.1351/pac199264060907},
+ title = {{R}eporting of nitrogen-isotope abundances},
+ journal = {Pure and Applied Chemistry},
+ number = {6},
+ institution = {{I}nternational {U}nion of {P}ure and {A}pplied {C}hemistry},
+ volume = {64},
+ year = {1992},
+ pages = {907--908},
+ type = {Custom type TR}
+}
+
+@manual{manual,
+ title = {The title of the manual},
+ author = {Alex Scottson},
+ organization = {The organization},
+ address = {The address of the publisher},
+ edition = 3,
+ month = 7,
+ year = 1993
+}
+
+@mastersthesis{mastersthesis,
+ author = {Kilian Harwood},
+ title = {The title of the thesis},
+ school = {The school of the thesis},
+ year = 1993,
+ address = {The address of the publisher},
+ month = 7
+}
+
+@phdthesis{phdthesis,
+ author = {Gottesman, Daniel Eric},
+ title = {{S}tabilizer {C}odes and {Q}uantum {E}rror {C}orrection},
+ school = {{C}alifornia {I}nstitute of {T}echnology},
+ year = {1997},
+ doi = {10.7907/rzr7-dt72}
+}
+
+@proceedings{proceedings,
+ title = {The title of the proceedings},
+ year = 1993,
+ editor = {Sarah Kidwelly},
+ volume = 4,
+ series = 5,
+ address = {The address of the publisher},
+ month = 7,
+ organization = {The organization},
+ url = {xkcd.com},
+ publisher = {The name of the publisher}
+}
+
diff --git a/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.pdf b/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.pdf
new file mode 100644
index 0000000000..ce57ea2cd9
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.tex b/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.tex
new file mode 100644
index 0000000000..62cd5d9ffa
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/quantum-bibliographystyle-demo.tex
@@ -0,0 +1,267 @@
+\documentclass[a4paper,twocolumn,11pt]{quantumarticle}
+\pdfoutput=1
+\usepackage[utf8]{inputenc}
+\usepackage[english]{babel}
+\usepackage[T1]{fontenc}
+\usepackage[numbers]{natbib}
+\usepackage{listings}
+
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{hyperref}
+\usepackage[resetlabels]{multibib}
+
+\newcites{article}{article references}
+\newcites{book}{book references}
+\newcites{misc}{misc references}
+\newcites{repo}{repository references}
+\newcites{web}{website references}
+\newcites{other}{Other references}
+
+\begin{document}
+\title{Template demonstrating the quantum bibstyle}
+
+\author{David~Wierichs}
+\affiliation{Institute for Theoretical Physics, University of Cologne, Germany}
+\author{Johannes~Jakob~Meyer}
+\affiliation{Dahlem Center for Complex Quantum Systems, Freie Universit\"{a}t Berlin, 14195 Berlin, Germany}
+\affiliation{QMATH, Department of Mathematical Sciences, University of Copenhagen, 2100 Copenhagen, Denmark}
+
+\maketitle
+
+\section{Overview}\label{sec:overview}
+
+We use the opportunity of talking about bibtex entries to give an overview of the available reference classes:
+
+\begin{center}
+\begin{tabular}{ll}
+ \texttt{article} & Section \ref{sec:article}\\
+ \texttt{book} & Section \ref{sec:book}\\
+ \texttt{repository} & Section \ref{sec:repo}\\
+ \texttt{website} & Section \ref{sec:web}\\
+ \texttt{misc} & Section \ref{sec:misc}\\
+ Other classes & Section \ref{sec:other}\\
+ \hspace{0.8cm}\texttt{booklet} & Section \ref{sec:booklet}\\
+ \hspace{0.8cm}\texttt{inbook} & Section \ref{sec:inbook}\\
+ \hspace{0.8cm}\texttt{incollection} & Section \ref{sec:incollection}\\
+ \hspace{0.8cm}\texttt{inproceedings} & Section \ref{sec:inproceedings}\\
+ \hspace{0.8cm}\texttt{conference} & Section \ref{sec:conference}\\
+ \hspace{0.8cm}\texttt{manual} & Section \ref{sec:manual}\\
+ \hspace{0.8cm}\texttt{mastersthesis}\&\texttt{phdthesis} & Section \ref{sec:theses}\\
+ \hspace{0.8cm}\texttt{proceedings} & Section \ref{sec:proceedings}\\
+ \hspace{0.8cm}\texttt{techreport} & Section \ref{sec:techreport}\\
+ \hspace{0.8cm}\texttt{unpublished} & Section \ref{sec:unpublished}\\
+\end{tabular}
+\end{center}
+
+All of these reference classes are available in standard bibtex style files as well, with the exception of \texttt{repository} and \texttt{website}.
+Of course there may be other style files supporting reference classes with the same name, but the implementation in quantum.bst will not be based on any of those.
+In Sec.~\ref{sec:customization} we describe a few minimal options for customization of the quantum bibstyle.
+
+
+\section{Reference class \texttt{article}}\label{sec:article}
+For the \texttt{article} class, the \texttt{title} is printed in quotation marks. The \texttt{journal} is not reformatted, the \texttt{volume} printed in \textbf{bold font}. We also include the \texttt{pages} if present and the \texttt{year} in round brackets ().
+\texttt{doi} links are always included if given, the same holds for \texttt{eprint}. Only if neither of these two fields is given do we use the \texttt{url} to provide a hyperlink to the article.
+If the custom field \texttt{shorturl} is provided, it is used to manually pretty-print the URL.
+This can be useful if a URL contains long character strings, particularly if they are not human-readable.
+The \texttt{url} field is used as linked URL, that is \texttt{shorturl} only changes the printed appearance
+and not the function of the hyperlink.
+Code repositories are linked whenever provided via the \texttt{code} field, which is a non-standard field in
+quantum.bst.
+
+Examples:
+
+\begin{tabular}{ccccc}
+ \texttt{doi}& \texttt{eprint} & \texttt{url} & \texttt{code} & result \\
+ $\checkmark$ & $\checkmark$ & $\checkmark\big / \times$ & $\checkmark$ & \citearticle{article_doi_eprint_url_code} \\
+ $\checkmark$ & $\checkmark$ & $\checkmark\big / \times$ & $\times$ & \citearticle{article_doi_eprint_url} \\
+ $\times$ & $\checkmark$ & $\checkmark\big / \times$ & $\checkmark$ & \citearticle{article_eprint_url_code} \\
+ $\times$ & $\checkmark$ & $\checkmark\big / \times$ & $\times$ & \citearticle{article_eprint_url} \\
+ $\times$ & $\times$ & $\checkmark$ & $\checkmark$ & \citearticle{article_url_code} \\
+ $\times$ & $\times$ & $\checkmark$ (\texttt{shorturl}) & $\checkmark$ & \citearticle{article_url_code_shorturl} \\
+ $\times$ & $\times$ & $\checkmark$ & $\times$ & \citearticle{article_url} \\
+\end{tabular}
+
+Note that in particular article citations via a URL alone are not recommended. If you want to cite a website or code repository, please use the respective reference classes \texttt{website} or \texttt{repository} (see below).
+
+If an \texttt{article} citation only has an arXiv id but no journal reference, the journal title is skipped accordingly \citearticle{article_arxiv}.
+
+\bibliographystylearticle{quantum}
+\bibliographyarticle{quantum-bibliographystyle-demo}
+
+\section{Reference class \texttt{book}}\label{sec:book}
+For the reference class \texttt{book}, the \texttt{title}, the \texttt{year}, the \texttt{publisher} as well as \emph{either} the \texttt{author} \emph{or} the \texttt{editor} field must be given.
+The \texttt{volume}, \texttt{number} and \texttt{series}, the (publisher) \texttt{address}, the \texttt{edition} as well as links in the fields \texttt{doi}, \texttt{eprint} and \texttt{url} are optional.
+The order in which links are printed is the same as for \texttt{article}, see Sec.~\ref{sec:article}.
+Some example \texttt{book} references are \citebook{book_author_doi_url, book_author_url_edition, book_editor_doi, book_editor_doi2}.
+
+\bibliographystylebook{quantum}
+\bibliographybook{quantum-bibliographystyle-demo}
+
+\section{Reference class \texttt{repository}}\label{sec:repo}
+For the custom \texttt{repository} reference class, the \texttt{author} field is used if given but is not required (in contrast to the \texttt{article} class).
+If the repository address is given via \texttt{code} (strongly recommended), a properly formatted repository name is printed and links to the given address, including potentially version-, branch- or even commit-specific links.
+If no \texttt{code} entry is given, \texttt{url} is used as address instead, without any formatting of the printed text; Either \texttt{code} or \texttt{url} have to be provided.
+
+\begin{tabular}{ccc}
+ \texttt{code}& \texttt{url} & result \\
+ $\checkmark$ & $\checkmark\big / \times$ &\citerepo{repo_code_url} \\
+ $\times$ & $\checkmark$ &\citerepo{repo_url} \\
+ $\times$ & $\times$ & invalid \\
+\end{tabular}
+
+Providing a year is optional, a title is \emph{not} considered even if given \citerepo{repo_code_year}.
+Note that if you want both a \texttt{url} and a \texttt{code} link to be displayed, you can use the \texttt{website} reference class presented below for that.
+
+To specify the version of a software repository, use the new \texttt{version} field, see \citerepo{repo_code_year_version}. Even more specifically, the commit hash can be given via the \texttt{commit} field, like in \citerepo{repo_code_year_commit}. Note, however, that no check is performed between the provided \texttt{code} url and the \texttt{commit} or \texttt{version} fields, so that users have to assert consistency between these fields.
+
+\bibliographystylerepo{quantum}
+\bibliographyrepo{quantum-bibliographystyle-demo}
+
+\section{Reference class \texttt{website}}\label{sec:web}
+For the new custom reference class \texttt{website}, we require a \texttt{title} and a \texttt{url} which are both printed always.
+\texttt{author} is optional and printed if given, the same holds for \texttt{code}, which is formatted as repository link like for \texttt{repository}. If you want to provide \texttt{code} but not \texttt{url}, the reference class \texttt{repository} (see above) is made for you.
+
+\begin{tabular}{ccc}
+ \texttt{author} & \texttt{code} & result \\
+ $\checkmark$ & $\checkmark$ &\citeweb{web_author_code} \\
+ $\times$ & $\checkmark$ &\citeweb{web_code} \\
+ $\checkmark$ & $\times$ &\citeweb{web_author} \\
+ $\times$ & $\times$ &\citeweb{web} \\
+\end{tabular}
+
+An access date can be given via either \texttt{date} or \texttt{urldate}, as in \citeweb{web_author_date}, with \texttt{urldate} taking precedence over \texttt{date}.
+
+\bibliographystyleweb{quantum}
+\bibliographyweb{quantum-bibliographystyle-demo}
+
+\section{Reference class \texttt{misc}}\label{sec:misc}
+The reference class \texttt{misc} is meant to be used for miscellaneous entries that do not fall into any of the provided categories.
+As such, \texttt{misc} entries display the generic properties \texttt{author}, \texttt{title}, \texttt{howpublished}, \texttt{date}, \texttt{eprint} and \texttt{note}, the only requirement being at least one of these fields to be provided and non-empty.
+As the reference class \texttt{article} covers the case of preprint articles, the \texttt{misc} class was modified to refer back to \texttt{article} if \texttt{archivePrefix} is set to ``arxiv'' or an anyhow capitalized version thereof \emph{and} \texttt{primaryClass} is provided.
+
+We provide some examples, not covering all cases, because \texttt{misc} is very flexible and there are many possibilities.
+\begin{itemize}
+ \item A citation that actually is an article on the arXiv: \citemisc{misc_arxiv}
+ \item A footnote-like reference only containing a note: \citemisc{misc_note}
+ \item A reference to a private correspondence: \citemisc{misc_correspondence}
+\end{itemize}
+
+\bibliographystylemisc{quantum}
+\bibliographymisc{quantum-bibliographystyle-demo}
+
+\section{Other reference classes}\label{sec:other}
+\subsection{Reference class \texttt{booklet}}\label{sec:booklet}
+The reference class \texttt{booklet} allows for rather flexible references, focusing on information of publishing:
+The only required field is the \texttt{title}, optional fields are \texttt{author}, \texttt{howpublished}, \texttt{address}, \texttt{year/date}, an \texttt{eprint} reference, and finally a custom \texttt{note} \citeother{booklet}.
+
+\subsection{Reference class \texttt{inbook}}\label{sec:inbook}
+
+The reference class \texttt{inbook} is an alias for \texttt{book} and will produce the same output.
+The only difference is that that \texttt{chapter}, \texttt{pages}, or both are \emph{required} for \texttt{inbook}.
+Examples would be Refs.~\citeother{inbook_author_doi_url_chapter, inbook_author_doi_url_chapter_pages, inbook_author_doi_url_volume_chapter_pages}.
+
+\subsection{Reference class \texttt{incollection}}\label{sec:incollection}
+The reference class \texttt{incollection} requires the fields \texttt{author}, \texttt{title}, \texttt{booktitle}, \texttt{publisher} and \texttt{year}.
+Optional entries are \texttt{doi}, \texttt{editor}, \texttt{volume}, \texttt{chapter}, \texttt{pages}, \texttt{number}, \texttt{series}, \texttt{address}, \texttt{edition}, and \texttt{eprint}. This class mostly behaves like \texttt{book} but references a collection of which the referenced item is part.
+\citeother{incollection}
+
+\subsection{Reference class \texttt{inproceedings}}\label{sec:inproceedings}
+The reference class \texttt{inproceedings} requires the fields \texttt{author}, \texttt{title}, \texttt{booktitle}, \texttt{publisher} and \texttt{year}.
+Optional entries are \texttt{doi}, \texttt{editor}, \texttt{volume}, \texttt{chapter}, \texttt{pages}, \texttt{number}, \texttt{series}, \texttt{address}, \texttt{edition}, and \texttt{eprint}. This class mostly behaves like \texttt{book} but references a collection of which the referenced item is part.
+\citeother{inproceedings, conference, liang2019fisher-rao}
+
+\subsection{Reference class \texttt{conference}}\label{sec:conference}
+This class is an alias for \texttt{inproceedings}.
+
+\subsection{Reference class \texttt{manual}}\label{sec:manual}
+The reference class \texttt{manual} only requires a \texttt{title}. It uses the optional fields \texttt{author}, \texttt{organization}, \texttt{address}, \texttt{edition}, \texttt{year}, and \texttt{eprint} \citeother{manual}.
+
+\subsection{Reference classes \texttt{mastersthesis} and \texttt{phdthesis}}\label{sec:theses}
+Both thesis reference classes are identical up to the note that remarks the type of thesis. They require the fields \texttt{author}, \texttt{title}, \texttt{school}, \texttt{year} and allow optionally for \texttt{address} and \texttt{eprint} as well as a \texttt{doi}.
+
+\citeother{mastersthesis, phdthesis}
+
+\subsection{Reference class \texttt{proceedings}}\label{sec:proceedings}
+The reference class \texttt{proceedings} can be used to cite full proceedings instead of a single contribution therein.
+Required fields are \texttt{title} and \texttt{year} and the class makes use of \texttt{editor}, \texttt{organization}, \texttt{volume}, \texttt{number}, \texttt{series}, \texttt{address}, \texttt{publisher}, \texttt{organization}, \texttt{doi}, and \texttt{eprint} \citeother{proceedings}.
+
+\subsection{Reference class \texttt{techreport}}\label{sec:techreport}
+The reference class \texttt{techreport} requires the fields \texttt{author}, \texttt{title}, \texttt{institution}, and \texttt{year}.
+In addition, the fields \texttt{address}, \texttt{eprint}, \texttt{doi}, \texttt{number}, and \texttt{type} (to specify the kind of technical report further) may be provided \citeother{CoplenKrouse}.
+
+\subsection{Reference class \texttt{unpublished}}\label{sec:unpublished}
+The reference class \texttt{unpublished} requires the \texttt{author}, \texttt{title}, and \texttt{note} fields.
+Optionally, a \texttt{year/date} as well as an \texttt{eprint} reference may be provided.
+\citeother{unpublished}
+
+\bibliographystyleother{quantum}
+\bibliographyother{quantum-bibliographystyle-demo}
+
+\section{Customization}\label{sec:customization}
+
+\paragraph{Warnings raise Errors}
+By default, the quantum bibstyle tries to catch as many bibtex warnings and raises a proper compiling error if any warnings are found. This is to avoid silent bibtex warnings that yield partial reference outputs while hiding the warnings raised by bibtex in the \texttt{.blg} file.
+Note that not all warnings are caught, though. In particular, syntax errors like a missing comma in a \texttt{bibitem}, which cause bibtex to interrupt for that item alone, are only caught if they lead to required fields being missing.
+
+An example for a caught mistake is
+{\small
+\begin{verbatim}
+@article{article_missing_comma,
+ author={Matthew McKague},
+ doi={10.1017/cbo9780511976667},
+ year={2017},
+ journal={Quantum},
+ volume={1}
+ title={Self-testing in parallel with {CHSH}}
+}
+\end{verbatim}
+}
+Here, the missing comma after \texttt{volume={1}} would make bibtex abort the processing of the item, leading
+to the \texttt{title} field, which is required, being missed.
+In contrast, the following would not be caught:
+{\small
+\begin{verbatim}
+@article{article_trailing_comma,
+ author={Matthew McKague},
+ doi={10.1017/cbo9780511976667},
+ year={2017},
+ journal={Quantum},
+ volume={1},
+ title={Self-testing in parallel with {CHSH}},
+}
+\end{verbatim}
+}
+The additional comma in the \texttt{title} line raises an internal bibtex warning, which the bibstyle file cannot catch. While in this case no harm is done, there are errors that are not caught but simultaneously lead to incomplete output.
+
+If you want to turn off these errors raised from bibtex warnings, include the entry
+\begin{verbatim*}
+@preamble{"\DoNotMakeWarningsErrors"}
+\end{verbatim*}
+anywhere in the \emph{bibliography} (i.e. the \texttt{.bib} file) like one would include a reference.
+
+\emph{Note:} Commenting the above \texttt{@preamble} entry out via \texttt{\%} will \emph{not} deactivate it as bibtex does not attribute commenting functionality to \texttt{\%}. Instead, you can simply remove the leading \texttt{@}, as is currently done in the \texttt{.bib} file accompanying this document (\texttt{quantum\_bst\_demo.bib}).
+
+\paragraph{Explicit DOI links}
+By default, and if the entry \texttt{doi} is provided for a \texttt{bibitem}, the quantum bibstyle will link to the DOI via the \texttt{journal/volume/issue} part of the citation for articles and via the a) \texttt{volume/chapter/pages} or b) \texttt{number/series} or c) \texttt{publisher} part for books, with a) taking precedence if provided over b) taking precedence if provided over c).
+This behaviour can be changed to output explicit DOI links instead. To do so, include the entry
+\begin{verbatim*}
+@preamble{"\MakeDoiLinksExplicit"}
+\end{verbatim*}
+anywhere in the \emph{bibliography} (i.e. the \texttt{.bib} file) like one would include a reference.
+
+\paragraph{Compression}
+By default, the quantum bibstyle prints the numbers for all references separately and does not compress
+a range of citations, like so: [1, 6, 7, 8, 11, 12, 13, 14].
+This has the advantage of making all references explicitly accessible from the citation position and enables readers to find all occurrences of a given reference.
+If you prefer to compress citations (like so: [1, 6-8, 11-14]), simply add
+\begin{verbatim*}
+\PassOptionsToPackage{compress}{natbib}
+\end{verbatim*}
+to the preamble \emph{before} including
+\begin{verbatim*}
+\usepackage[numbers]{natbib}
+\end{verbatim*}
+where the option \texttt{numbers} is required to make the bibliography style work.
+
+\end{document}
diff --git a/macros/latex/contrib/quantumarticle/quantum-template.pdf b/macros/latex/contrib/quantumarticle/quantum-template.pdf
index fb7abea17b..7c571036dd 100644
--- a/macros/latex/contrib/quantumarticle/quantum-template.pdf
+++ b/macros/latex/contrib/quantumarticle/quantum-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/quantumarticle/quantum-template.tex b/macros/latex/contrib/quantumarticle/quantum-template.tex
index 7b6b14263d..6f6eda81dc 100644
--- a/macros/latex/contrib/quantumarticle/quantum-template.tex
+++ b/macros/latex/contrib/quantumarticle/quantum-template.tex
@@ -27,7 +27,7 @@
\author{Marcus Huber}
\affiliation{Institute for Quantum Optics \& Quantum Information (IQOQI), Austrian Academy of Sciences, Boltzmanngasse 3, Vienna A-1090, Austria}
\orcid{0000-0003-1985-4623}
-\author{Christopher Granade}
+\author{Cassandra Granade}
\affiliation{Microsoft Research, Quantum Architectures and Computation Group, Redmond, WA 98052, USA}
\author{Johannes Jakob Meyer}
\affiliation{Dahlem Center for Complex Quantum Systems, Freie Universität Berlin, 14195 Berlin, Germany}
@@ -64,7 +64,7 @@ On the contrary, by giving the \texttt{accepted=YYYY-MM-DD} option, with \texttt
\caption{Every figure must have an informative caption and a number.
The caption can be placed above, below, or to the side of the figure, as you see fit.
The same applies for tables, boxes, and other floating elements.
- Quantum provides a Jupyter notebook to create plots that integrate seamlessly with \texttt{quantumarticle}, described in Section \ref{sec:plots}.
+ Plots that integrate seamlessly with \texttt{quantumarticle} can be obtained through the Python package rsmf, as described in Section~\ref{sec:plots}.
Figures spanning multiple columns can by typeset with the usual \texttt{figure*} environment.}
\label{fig:figure1}
\end{figure}
@@ -105,6 +105,8 @@ Citations to other works should appear in the References section at the end of t
\end{theorem}
This can be achieved in several ways, depending on how you are formatting your bibliography.
+This is done easiest using the custom bibliography style for Quantum,
+please refer to its separate demo for details (\texttt{quantum\_bst\_demo.pdf}).
Suppose the DOI of an article \cite{examplecitation} that you want to cite is \texttt{10.22331/idonotexist}.
If you are formatting your bibliography manually, you can cite this work using the following in your \texttt{thebibliography} environment:
\begin{verbatim}
@@ -141,15 +143,16 @@ All special characters must be input via their respective LaTeX commands.
If you are using BibTeX, you can load the \texttt{natbib} package by putting
\begin{verbatim}
-\usepackage[numbers,sort&compress]{natbib}
+\usepackage[numbers]{natbib}
\end{verbatim}
-in the preamble of your document and then use the \texttt{plainnat} citation style by including your BibTeX bibliography \texttt{mybibliography.bib} where you want the bibliography to appear as follows:
+in the preamble of your document and then use the \texttt{quantum} citation style by including your BibTeX bibliography \texttt{mybibliography.bib} where you want the bibliography to appear as follows:
\begin{verbatim}
-\bibliographystyle{plainnat}
+\bibliographystyle{quantum}
\bibliography{mybibliography}
\end{verbatim}
The quantumarticle class automatically detects that the \texttt{natbib} package was loaded and redefines the \texttt{\textbackslash{}doi} command to create hyperlinks.
This is likely the easiest option if you are converting from another document class.
+The \texttt{quantum.bst} bibliography style is currently a beta feature and feedback is very much appreciated. Please open a \href{https://github.com/quantum-journal/quantum-journal/issues}{github issue} or write an email to \href{mailto:latex@quantum-journal.org}{latex@quantum-journal.org} if you come across any bugs or possible improvements.
If you want to use BibLaTeX, you can instead add
\begin{verbatim}
@@ -181,8 +184,8 @@ The only two requirements are that citations must uniquely identify the cited wo
\section{Plots}
\label{sec:plots}
-Quantum provides a \href{https://jupyter.org/}{Jupyter notebook} based on the widely used \href{https://matplotlib.org/}{matplotlib} library that greatly simplifies the creation of plots that integrate seamlessly with the \texttt{quantumarticle} document class. This is intended as a service to the authors, is \textit{not} mandatory, and currently in beta stage. You can download the \href{https://raw.githubusercontent.com/quantum-journal/quantum-journal/master/quantum-plots.ipynb}{quantum-plots.ipynb} notebook and accompanying \href{https://raw.githubusercontent.com/quantum-journal/quantum-journal/master/quantum-plots.mplstyle}{quantum-plots.mplstyle} file from the \href{https://github.com/quantum-journal/quantum-journal}{quantumarticle GitHub repository}. You only need to specify the font size and paper format that were passed as options to \texttt{quantumarticle} to get plots with fitting font sizes and dimensions.
-We strongly encourage authors to use the vector based PDF format for plots.
+We strongly encourage authors to use the vector based PDF format for plots. The Python package \href{https://pypi.org/project/rsmf/}{rsmf} (``right-size my figures'') together with the widely used plotting library \href{https://matplotlib.org/}{matplotlib} can be used to create plots that integrate seamlessly with the \texttt{quantumarticle} document class. In the Quantum \href{https://github.com/quantum-journal/quantum-journal/}{GitHub repository}, you find the script \href{https://raw.githubusercontent.com/quantum-journal/quantum-journal/master/example-plot.py}{example-plot.py} that shows how these tools were used to create Figure~\ref{fig:figure1}.
+
\begin{theorem}[Be mindful of the colorblind]
About 4\% of the worlds population are affected by some form of color vision deficiency or color blindness.
@@ -240,8 +243,8 @@ Alternatively you can use a format similar to that of the \texttt{authblk} packa
\author[2]{Author 3}
\author[1,3]{Author 4}
\affil[1]{Affiliation 1}
-\affil[2]{Affiliation 1}
-\affil[3]{Affiliation 1}
+\affil[2]{Affiliation 2}
+\affil[3]{Affiliation 3}
\end{verbatim}
\section{LyX layout}
@@ -253,7 +256,7 @@ The quantumarticle document class comes bundled with a \href{https://raw.githubu
\label{sec:version}
This is quantumarticle version v\quantumarticleversion.
-\bibliographystyle{plain}
+\bibliographystyle{quantum}
\begin{thebibliography}{9}
\bibitem{examplecitation}
Name Surname,
@@ -276,11 +279,17 @@ This is quantumarticle version v\quantumarticleversion.
-\onecolumn\newpage
+\onecolumn
\appendix
\section{First section of the appendix}
Quantum allows the usage of appendices.
+If you want your appendices to appear in \texttt{onecolumn} mode but the rest of the
+document in \texttt{twocolumn} mode, you can insert the command
+\texttt{\textbackslash{}onecolumn\textbackslash{}newpage} or just
+\texttt{\textbackslash{}onecolumn} before
+\texttt{\textbackslash{}appendix}.
+
\subsection{Subsection}
Ideally, the command \texttt{\textbackslash{}appendix} should be put before the appendices to get appropriate section numbering.
@@ -291,8 +300,6 @@ Equations continue to be numbered sequentially.
\end{equation}
You are free to change this in case it is more appropriate for your article, but a consistent and unambiguous numbering of sections and equations must be ensured.
-If you want your appendices to appear in \texttt{onecolumn} mode but the rest of the document in \texttt{twocolumn} mode, you can insert the command \texttt{\textbackslash{}onecolumn\textbackslash{}newpage} before \texttt{\textbackslash{}appendix}.
-
\section{Problems and Bugs}
In case you encounter problems using the quantumarticle class please analyze the error message carefully and look for help online; \href{http://tex.stackexchange.com/}{http://tex.stackexchange.com/} is an excellent resource.
If you cannot resolve a problem, please open a bug report in our bug-tracker under \href{https://github.com/quantum-journal/quantum-journal/issues}{https://github.com/quantum-journal/quantum-journal/issues}.
diff --git a/macros/latex/contrib/quantumarticle/quantum.bst b/macros/latex/contrib/quantumarticle/quantum.bst
new file mode 100644
index 0000000000..8a39e901cd
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/quantum.bst
@@ -0,0 +1,1789 @@
+% This is the BibTeX style file for the Quantum journal.
+% It is based on hyperabbrv.bst, and the extensions by Aram Harrow
+% (see https://github.com/harrow/arxiv-bibstyle) and Andrew Comech
+% (see https://www.math.tamu.edu/~comech/tools/bibtex-doi-eprint/).
+%
+% In addition to added arxiv and DOI hyperlinks, the file style incorporates design
+% choices made for Quantum journal, in particular in the light of online availability.
+% Furthermore, this file style introduces some custom reference classes as well as
+% custom entry fields.
+
+ENTRY
+ { address
+ archivePrefix
+ author
+ booktitle
+ chapter
+ code
+ commit
+ date
+ doi
+ edition
+ editor
+ eprint
+ howpublished
+ institution
+ journal
+ journaltitle
+ key
+ month
+ note
+ nolink
+ number
+ organization
+ pages
+ primaryClass
+ publisher
+ school
+ series
+ shortjournal
+ shorturl
+ title
+ type
+ url
+ urldate
+ version
+ volume
+ year
+ }
+ {}
+ {}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Variables and state descriptors
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+INTEGERS
+ {
+ % These are state describing integers to control
+ % punctuation, capitalization, and line breaks
+ output.state
+ before.all
+ mid.sentence
+ after.sentence
+ after.block
+
+ multiresult
+ doi.linked
+
+ % Counters
+ length
+ namesleft
+ numnames
+ found.slashes
+ number.label
+ longest.label.width
+
+ % Config integers
+ % - whether to print out DOI links explicitly or add the link to parts of the
+ % citation itself.
+ explicit.doi.links
+ % - whether to raise compilation errors from (many) BibTeX warnings
+ warnings.are.errors
+
+ % pointers
+ nameptr
+ ptr
+ }
+
+STRINGS { s t m longest.label label }
+
+FUNCTION {init.state.consts}
+{ % Initialize the global state describing integeres for punctuation
+ % Args:
+ % Returns:
+ #0 'before.all :=
+ #1 'mid.sentence :=
+ #2 'after.sentence :=
+ #3 'after.block :=
+}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Custom warning
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {my.warning}
+{ % Print cited element in bibliography with error message in red.
+ % If warnings.are.errors (default:True), raise a \PackageError
+ % Args: str - Warning message
+ % Returns:
+ 'm :=
+ "{\color{red}{ This bibitem caused a BibTeX warning: " m * " entry.}}" *
+ warnings.are.errors
+ { "\PackageError{quantum.bst}{The bibitem " *
+ cite$ *
+ " caused a BibTeX warning}" *
+ "{By default, quantum.bst handles BibTeX warnings like compilation " *
+ "errors. Please refer to the bibliography style demo for details and options.}" *
+ }
+ 'skip$
+ if$
+ write$
+ m cite$ * warning$
+}
+
+FUNCTION {my.warning.newline}
+{ % Print cited element in bibliography with error message in red.
+ % If warnings.are.errors (default:True), raise a \PackageError
+ % This function includes a newline in the bibliography to ensure
+ % that the error message for missing links is formatted correctly.
+ % Args: str - Second line of warning message
+ % str - First line of warning message
+ % Returns:
+ 's :=
+ 'm :=
+ "{\color{red}{ This bibitem caused a BibTeX warning: " m * "}}" *
+ write$
+ newline$
+ "{\color{red}{" s * " entry.}}" *
+ warnings.are.errors
+ { "\PackageError{quantum.bst}{The bibitem " *
+ cite$ *
+ " caused a BibTeX warning}" *
+ "{By default, quantum.bst handles BibTeX warnings like compilation " *
+ "errors. Please refer to the bibliography style demo for details.}" *
+ }
+ 'skip$
+ if$
+ write$
+ m cite$ * warning$
+}
+
+FUNCTION {my.crossref.warning}
+{ % Print cited crossref element in bibliography with error message in red.
+ % If warnings.are.errors (default:True), raise a \PackageError
+ % Args: str - Warning message
+ % Returns:
+ 'm :=
+ warnings.are.errors
+ { "{\color{red} This bibitem caused a crossref-BibTeX warning: need "
+ m * " to crossref.}\PackageError{quantum.bst}{The crossref bibitem " *
+ cite$ *
+ " caused a BibTeX warning}" *
+ "{By default, quantum.bst handles BibTeX warnings like compilation " *
+ "errors. Please refer to the bibliography style demo for details.}" *
+ write$
+ }
+ 'skip$
+ if$
+ "need " m * " for " * cite$ * " to crossref " * crossref * warning$
+}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Boolean functions
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {not}
+{ % Logical NOT of a "Boolean"
+ % Args: int - Boolean to negate
+ % Returns: int - negated Boolean
+ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ % Logical AND between two "Booleans"
+ % Args: int - First Boolean to combine
+ % int - Second Boolean to combine
+ % Returns: int - logical AND of input Booleans
+ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ % Logical OR between two "Booleans"
+ % Args: int - First Boolean to combine
+ % int - Second Boolean to combine
+ % Returns: int - logical OR of input Booleans
+ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% String manipulation
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {string.length}
+{ % Count the length of a string
+ % Args: str - String to count
+ % Returns: int - Length of input string
+ #1 'length :=
+ % Increase the length by 1 until the substring of the current length is the full string
+ {duplicate$ duplicate$ #1 length substring$ = not}
+ {length #1 + 'length :=}
+ while$
+ % Pop the string and return the length
+ pop$ length
+}
+
+FUNCTION {contains.substring}
+{ % Check whether a substring is contained in a string
+ % Args: str - Substring to find in larger string
+ % str - String to find the substring in
+ % Returns: int("Boolean") - whether the substring is contained in the string
+ 's :=
+ 't :=
+ % Count the length of the substring
+ s string.length 'length :=
+ % cut away starting characters of the string until it is empty or the substring is found
+ { t empty$ not }
+ % Check whether the current string starts with the substring
+ { t #1 length substring$ s =
+ { % If yes, empty the string and return #1
+ "" 't :=
+ #1
+ }
+ { % If not, delete the first character of the string
+ t #2 global.max$ substring$ 't :=
+ % If the string is empty, return #0
+ t empty$
+ { #0 }
+ 'skip$
+ if$
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {chop.word}
+{ % Chop the beginning of a string if it matches a given second string
+ % Args: str - String to chop
+ % int - Length of substring to match
+ % str - Substring to match
+ % Returns: str - (Potentially) chopped string
+ 's :=
+ 'length :=
+ s #1 length substring$ =
+ { s length #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Elementary output functions
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {output.nonnull}
+{ % Output a string that is guaranteed not to be empty
+ % Args: str - String to process
+ % Returns:
+ % The written output via write$ depends on the position in a sentence or block,
+ % as stored in outpute.state, which is updated accordingly.
+ 's :=
+ output.state mid.sentence =
+ 'write$
+ { output.state after.block =
+ { add.period$ write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ mid.sentence 'output.state :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ % Output a string if it is not empty
+ % Args: str - String to check and output
+ % Returns:
+ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ % Check whether a string is empty, output it if it is not, and raise a my.warning if it is.
+ % Args: str - Describing string of argument that is checked to provide a useful error message
+ % str - String to check and output if it is not empty
+ % Returns:
+ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * my.warning }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {no.output.check}
+{ % Check whether a string is empty and raise a my.warning if it is.
+ % Args: str - Describing string of argument that is checked to provide a useful error message
+ % str - String to check
+ % Returns:
+ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * my.warning }
+ 'skip$
+ if$
+}
+
+FUNCTION {no.output.check.links}
+{ % Check whether a string is empty and raise a my.warning.newline if it is.
+ % Args: str - Describing string of argument that is checked to provide a useful error message
+ % str - String to check
+ % Returns:
+ % The separate handling from no.output.check is the special warning message that contains
+ % special characters, requiring us to use my.warning.newline. In addition, if the field
+ % `nolink` is not missing (it may be empty though), the warning is not raised.
+ 't :=
+ duplicate$ empty$ nolink missing$ and
+ { pop$ "empty " t * ". " *
+ "If none of these fields is applicable for the cited work you can include the field " *
+ "\verb|`nolink = {}`| in its bib"
+ my.warning.newline
+ }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ % Write the current buffer and the header for a new bibitem to the bbl file and
+ % updates the output.state
+ % Args: str - Current buffer is written to the bbl file
+ % Returns: str - An empty string
+ newline$
+ % Write the header for a new bibitem
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {fin.entry}
+{ % Finalize an entry by appending a period if appropriate and writing to the bbl file
+ % Args: str - Current string to write to the bbl file
+ % Returns:
+ add.period$
+ write$
+ newline$
+}
+
+FUNCTION {new.block}
+{ % Start a new block in an entry, setting the output.state accordingly
+ % Args:
+ % Returns:
+ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ % Start a new sentence in an entry, setting the output.state accordingly
+ % Args:
+ % Returns:
+ output.state after.block =
+ output.state before.all =
+ or
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+}
+
+FUNCTION {new.block.checka}
+{ % Start a new block in an entry if the input string is not empty
+ % Args: str - String to decide whether a new block is started
+ % Returns:
+ empty$
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.block.checkb}
+{ % Start a new block in an entry if any of two input strings are not empty
+ % Args: str - Second string to decide whether a new block is started
+ % str - First string to decide whether a new block is started
+ % Returns:
+ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.block
+ if$
+}
+
+FUNCTION {new.sentence.checka}
+{ % Start a new sentence in an entry if the input string is not empty
+ % Args: str - String to decide whether a new sentence is started
+ % Returns:
+ empty$
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {new.sentence.checkb}
+{ % Start a new sentence in an entry if any of two input strings are not empty
+ % Args: str - Second string to decide whether a new sentence is started
+ % str - First string to decide whether a new sentence is started
+ % Returns:
+ empty$
+ swap$ empty$
+ and
+ 'skip$
+ 'new.sentence
+ if$
+}
+
+FUNCTION {field.or.null}
+{ % Replace an empty field or string by the empty string ""
+ % Args: str - Field or string to check and replace
+ % Returns: str - The input string if it was not empty, else ""
+ % This function does nothing on strings, it just replaces empty (but defined)
+ % fields by the empty string in order to allow for string comparisons and other operations
+ % that are not defined on empty (non-string) fields.
+ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {tie.or.space.connect}
+{ % Connect two strings with a space or a non-breaking ~
+ % Args: str - Second string to connect. If it is shorter than 3 characters, a ~ is used
+ % str - First string to connect.
+ % Returns: str - The connected strings.
+ duplicate$ text.length$ #3 <
+ { % Use a ~ if the second string is shorter than 3 characters
+ "~"
+ }
+ { % Use a space else
+ " "
+ }
+ if$
+ % Bring the strings in the order (first string, connector, second string) and merge them
+ swap$ * *
+}
+
+FUNCTION {init.longest.label}
+{ % Initializes globally used variables to determine the longest label in the bibliography
+ % Args:
+ % Returns:
+ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ % Update the longest.label.width and the longest.label, as measured by width$
+ % Args:
+ % Returns:
+ % Note that this function does not require any input from the bilbiography items,
+ % but only depends on the number of items.
+ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Entry formatting
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {boldfont}
+{ % Add a bold font formatting string to a string (if it is not empty)
+ % Args: str - The string to format in bold font
+ % Returns: str - The input string wrapped in a formatting string for bold font
+ % Only add the formatting string to a non-empty string
+ duplicate$ empty$
+ { pop$ "" }
+ { "{\bf " swap$ * "}" * }
+ if$
+}
+
+FUNCTION {format.names}
+{ % Format a given string with names
+ % Args: str - The string with names
+ % Returns: str - The formatted names
+ 's :=
+ % initialize pointer, counter for names and counter for names to handle left
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ % Iterate over names
+ { namesleft #0 > }
+ { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { % After the first name, include connecting characters
+ namesleft #1 >
+ { % If there is more than the current name left, use a comma
+ ", " * t *
+ }
+ { % If there is only the current name left, use "and" or "et al."
+ numnames #2 >
+ { % Add a comma before "and" if there were more than two names
+ "," *
+ }
+ 'skip$
+ if$
+ t "others" =
+ { % Replace "and others" by "et~al."
+ " et~al." *
+ }
+ { " and " * t * }
+ if$
+ }
+ if$
+ }
+ { % Simply write the first name to buffer
+ t
+ }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {format.authors}
+{ % Apply format.names to the author field and return it
+ % Args:
+ % Returns: str - author field formatted via format.names
+ % If the author field is empty, the empty string is returned instead.
+ author empty$
+ { "" }
+ { author format.names }
+ if$
+}
+
+FUNCTION {format.editors}
+{ % Apply format.names to the editor field, add a remark "editor(s)" to it, and return it
+ % Args:
+ % Returns: str - editor field formatted via format.names, with ", editor(s)" appended.
+ % If the editor field is empty, the empty string is returned instead.
+ editor empty$
+ { "" }
+ {
+ editor format.names
+ ", editor" *
+ % Add plural "s" if multiple editors are given
+ editor num.names$ #1 >
+ { "s" * }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.title}
+{ % Wrap the title in quotation marks and change its capitalization.
+ % Args:
+ % Returns: str - title field wrapped in quotation marks with new capitalization
+ % Note that change.case$ together with the option "t" removes all capitalization
+ % of text that is not in curly braces, except for the very first character.
+ title empty$
+ { "" }
+ { "``" title "t" change.case$ * "''" * }
+ if$
+}
+
+FUNCTION { format.arxiv.hyperlink }
+{ % Extract the arXiv handle from a string, removing a leading "arXiv"
+ % Args: str - The string to extract the handle from
+ % Returns: str - The extracted arXiv handle
+ % If the string starts with "arxiv:" or "arxiv" (or any capitalized version of these),
+ % the length-9 handle is extracted, otherwise the original string is returned.
+ duplicate$ #1 #6 substring$ "l" change.case$ "arxiv:" =
+ { #7 #9 substring$ }
+ { duplicate$ #1 #5 substring$ "l" change.case$ "arxiv" =
+ { #6 #9 substring$ }
+ 'skip$
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.eprint}
+{ % Format the eprint link, including the hyperlink and the link text.
+ % Args:
+ % Returns: str - Hyperlink to extracted arxiv reference
+ eprint empty$
+ { "" }
+ { archivePrefix empty$
+ { primaryClass empty$
+ { "arXiv" }
+ { primaryClass }
+ if$
+ }
+ { archivePrefix }
+ if$
+ " \href{http://arxiv.org/abs/"
+ eprint format.arxiv.hyperlink *
+ "}{" *
+ swap$ *
+ ":" *
+ eprint #1 #5 substring$ "arXiv" =
+ { eprint #7 #15 substring$ * }
+ { eprint * }
+ if$
+ "}" *
+ }
+ if$
+}
+
+FUNCTION {add.doi.link}
+{ % Add a hyperlink referring to a DOI reference to a string, using the doi field.
+ % Args: str - String to add the hyperlink to
+ % Returns: str - Input string with hyperlink added
+ "\href{https://dx.doi.org/" doi * "}{" * swap$ * "}" *
+}
+
+FUNCTION {n.dashify}
+{ % Replace single dashes by double dashes
+ % Args: str - Input string to be modified
+ % Returns: str - Input string with single dashes replaced by double dashes
+ 't :=
+ ""
+ % Iterate over the characters in the string
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ {
+ t #1 #2 substring$ "--" = not
+ { % If the current `t` starts with a "-" but not with "--", replace
+ % the single dash with "--" and cut the leading dash from `t`
+ "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { % If the current `t` starts with a "--", add all dashes in the
+ % current `t` to the output string without any replacement
+ { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { % If the current `t` does not start with a dash, simply move the first
+ % character to the output string.
+ t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {format.year}
+{ % Format the year of an entry
+ % Args:
+ % Returns: str - Formatted year in brackets
+ % If the year field is empty, the year is extracted from the date field, assuming
+ % that it starts with the year.
+ year empty$
+ { date empty$
+ { "" }
+ { "~(" date #1 #4 substring$ * ")" * }
+ if$
+ }
+ { "~(" year * ")" * }
+ if$
+}
+
+FUNCTION {format.urldate}
+{ % Format the date on which a URL was accessed
+ % Args:
+ % Returns: str - The formatted date in brackets with a remark "accessed:"
+ % The urldate field preceeds the date field.
+ urldate empty$
+ { date empty$
+ { "" }
+ { "(accessed:~" date * ")" * }
+ if$
+ }
+ { "(accessed:~" urldate * ")" * }
+ if$
+}
+
+FUNCTION {format.chapter}
+{ % Format the chapter field for an entry
+ % Args: int - "Boolean" indicating whether the "Chapter" should be turned to lower case
+ % Returns: str - The formatted chapter with leading "Chapter" string.
+ % If the field `type` is not empty, it is used instead of the generic "Chapter".
+ type empty$
+ { "Chapter" }
+ { type }
+ if$
+ swap$
+ { "l" change.case$ }
+ 'skip$
+ if$
+ chapter tie.or.space.connect
+}
+
+FUNCTION {multi.page.check}
+{ % Check whether a string indicates multiple pages
+ % Args: str - The string describing a page or multiple pages
+ % Returns: int - "Boolean" indicating whether the string describes multiple pages
+ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { % Check whether the first character in the current `t` is one of "-", "," or "+"
+ t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { % Remove the first character from the current `t`
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ % Format the pages field of an entry
+ % Args: int - "Boolean" indicating whether to capitalize the word "page(s)"
+ % Returns: str - The formatted pages field, including the word "page(s)"
+ { "p" }
+ { "P" }
+ if$
+ pages multi.page.check
+ { "ages" * pages n.dashify tie.or.space.connect }
+ { "age" * pages tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.bvol.series}
+{ % Format the book volume and the series of an entry
+ % Args:
+ % Returns: str - The volume and series field formatted into one string.
+ % Raises a warning if the field `number` is present in addition to `volume`.
+ volume empty$
+ { "" }
+ { mid.sentence output.state =
+ { "v" }
+ { "V" }
+ if$
+ "olume" * volume tie.or.space.connect
+ series empty$
+ 'skip$
+ { " of " * series * }
+ if$
+ number empty$
+ 'skip$
+ { "can't use both volume and number fields in " * my.warning }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.bvol.chap.pages}
+{ % Format the book volume, series and the chapter and pages of an entry
+ % Args:
+ % Returns: str - The volume and series field formatted into one string.
+ % This function wraps the previously defined functions format.bvol.series,
+ % format.chapter, and format.pages into one.
+ format.bvol.series
+ chapter empty$
+ 'skip$
+ { duplicate$ empty$
+ { #0 }
+ { ", " *
+ #1
+ }
+ if$
+ format.chapter *
+ }
+ if$
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { #0 }
+ { ", " *
+ #1
+ }
+ if$
+ format.pages *
+ }
+ if$
+}
+
+FUNCTION {format.number.series}
+{ % Format the number and the series of an entry
+ % Args:
+ % Returns: str - The number and series field formatted into one string.
+ % The returned string is empty if the `volume` field is not empty.
+ % Raises a warning if the field `series` is empty.
+ volume empty$
+ { number empty$
+ { series field.or.null }
+ { output.state mid.sentence =
+ { "number" }
+ { "Number" }
+ if$
+ number tie.or.space.connect
+ series empty$
+ { "there's a number but no series in " my.warning }
+ { " in " * series * }
+ if$
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+FUNCTION {format.edition}
+{ % Format the edition field of an entry
+ % Args:
+ % Returns: str - The edition of the entry with "edition" comment, if it
+ % is not contained in the field itself already.
+ edition empty$
+ { "" }
+ { output.state mid.sentence =
+ { edition "l" change.case$ }
+ { edition "t" change.case$ }
+ if$
+ edition "edition" contains.substring
+ 'skip$
+ { " edition" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.vol.pages}
+{ % Format the volume and pages for an article entry
+ % Args:
+ % Returns: The volume and page numbers as a single string
+ volume field.or.null boldfont
+ pages empty$
+ 'skip$
+ { duplicate$ empty$
+ { pop$ mid.sentence output.state = format.pages }
+ { " " swap$ * ", " * pages n.dashify * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.chapter.pages}
+{ % Format the chapter and pages for an entry
+ % Args:
+ % Returns: str - chapter and pages description in one string
+ chapter empty$
+ { #0 format.pages }
+ {
+ mid.sentence output.state =
+ format.chapter
+ pages empty$
+ 'skip$
+ { ", " * #1 format.pages * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.in.ed.booktitle}
+{ % Format the booktitle together with editors of an entry
+ % Args:
+ % Returns: The booktitle for an entry contained in the book.
+ booktitle empty$
+ { "" }
+ { editor empty$
+ { "In " booktitle * }
+ { "In " format.editors * ", " * booktitle * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ % Checks whether all relevant fields for a misc entry are empty
+ % Args:
+ % Returns:
+ % Raises a warning if all fields are empty
+ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$
+ and and and and and
+ % Only warn for entries that actually have a key
+ key empty$ not and
+ { "all relevant fields are empty in " my.warning }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ % Replace a string with the type field if given, and add a DOI link
+ % Args: str - String to add the DOI link to, or to replace by the `type` field.
+ % Returns: str - Input string or `type` string if present, with DOI link.
+ type empty$
+ 'skip$
+ { pop$
+ type "t" change.case$
+ }
+ if$
+ doi missing$
+ explicit.doi.links
+ or
+ 'skip$
+ { add.doi.link }
+ if$
+}
+
+FUNCTION {format.tr.number}
+{ % Format the number of a technical report and add the remark "Technical Report"
+ % or the `type` field if present.
+ % Args:
+ % Returns: str - `type` field or "Technical Report" together with the `number` field
+ type empty$
+ { "Technical Report" }
+ 'type
+ if$
+ number empty$
+ { "t" change.case$ }
+ { number tie.or.space.connect }
+ if$
+}
+
+FUNCTION {get.journal}
+{ % Obtain the journal from either journal, journaltitle or shortjournal,
+ % in that order of priority
+ % Args:
+ % Returns: str - The name of the journal.
+ journal missing$
+ {
+ journaltitle missing$
+ {
+ shortjournal missing$
+ { "" }
+ { shortjournal }
+ if$
+ }
+ { journaltitle }
+ if$
+ }
+ { journal }
+ if$
+}
+
+FUNCTION {format.article.crossref}
+{ % Fomat a cross-reference of an article
+ % Args:
+ % Returns: str - Crossref entry for an article incl. citation
+ key empty$
+ { get.journal empty$
+ { "key or journal" my.crossref.warning
+ ""
+ }
+ { "In {\em " get.journal * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.crossref.editor}
+{ % Fomat the editors for a cross-reference to a book, collection or proceedings
+ % Args:
+ % Returns: str - Editors names formatted for a cross-reference.
+ editor #1 "{vv~}{ll}" format.name$
+ editor num.names$ duplicate$
+ #2 >
+ { pop$ " et~al." * }
+ { #2 <
+ 'skip$
+ { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { " et~al." * }
+ { " and " * editor #2 "{vv~}{ll}" format.name$ * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.book.crossref}
+{ % Fomat a cross-reference to a book
+ % Args:
+ % Returns: str - Crossref entry to a book incl. citation
+ volume empty$
+ { "volume" my.crossref.warning
+ "In "
+ }
+ { "Volume" volume tie.or.space.connect
+ " of " *
+ }
+ if$
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { series empty$
+ { "editor, key, or series" my.crossref.warning
+ "" *
+ }
+ { "{\em " * series * "\/}" * }
+ if$
+ }
+ { key * }
+ if$
+ }
+ { format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {format.incoll.inproc.crossref}
+{ % Fomat a cross-reference for an entry from a collection or proceedings
+ % Args:
+ % Returns: str - Crossref entry to the collection/proceedings incl. citation.
+ editor empty$
+ editor field.or.null author field.or.null =
+ or
+ { key empty$
+ { booktitle empty$
+ { "editor, key, or booktitle" my.crossref.warning
+ ""
+ }
+ { "In {\em " booktitle * "\/}" * }
+ if$
+ }
+ { "In " key * }
+ if$
+ }
+ { "In " format.crossref.editor * }
+ if$
+ " \cite{" * crossref * "}" *
+}
+
+FUNCTION {extract.repo}
+{ % Obtain the repository name from the `code` field
+ % Args:
+ % Returns: str - The repository name to print
+ % Look for registered formatting of github repos and remove them
+ "github.com/" #11
+ "www.github.com/" #15
+ "https://github.com/" #19
+ code
+ chop.word
+ chop.word
+ chop.word
+ % Extract the part of the repository name until the second slash
+ 't :=
+ #0 'found.slashes :=
+ #1 'ptr :=
+ { ptr t text.length$ < #2 found.slashes > and}
+ {t ptr #1 substring$ "/" =
+ { found.slashes #1 + 'found.slashes := }
+ 'skip$
+ if$
+ ptr #1 + 'ptr := }
+ while$
+ % Return only the part up to the second slash from above
+ #2 found.slashes =
+ { t #1 ptr #2 - substring$ }
+ { t #1 ptr substring$ }
+ if$
+}
+
+FUNCTION {format.version}
+{ % Format the `version` field of an entry with `code` field
+ % Args:
+ % Returns: str - The version with a "v" abbreviation
+ version empty$
+ { "" }
+ {
+ "v" version #1 #1 substring$ =
+ { " " version * }
+ { " v" version * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.commit}
+{ % Format the `commit` field of an entry with `code` field
+ % Args:
+ % Returns: str - The commit field with the remark "commit"
+ commit empty$
+ { "" }
+ { " commit:" commit #1 #7 substring$ * }
+ if$
+}
+
+FUNCTION {format.code}
+{ % Format the `code` field
+ % Args:
+ % Returns: str - The `code` field with version and commit,
+ % including a link to the repository
+ code empty$
+ { "" }
+ { " code:~\href{" code * "}{" * extract.repo * format.version * format.commit * "}" * }
+ if$
+}
+
+FUNCTION {format.url}
+{ % Format a url
+ % Args:
+ % Returns: str - The `shorturl` (preferred) or `url` field including a link
+ % The "https" part is removed from the printed string of the hyperlink
+ shorturl empty$
+ { url empty$
+ { "" }
+ { " url:~\href{" url * "}{" * "https://" #8 url chop.word * "}" * }
+ if$
+ }
+ { " url:~\href{" url * "}{" * "https://" #8 shorturl chop.word * "}" * }
+ if$
+}
+
+FUNCTION {check.links}
+{ % Check that one of the fields providing a hyperlink is present and raise a warning if not
+ % Args:
+ % Returns:
+ % The fields of which one should be present are `doi`, `eprint` and
+ % `url`. Setting the (empty) field `nolink={}` suppresses this warning.
+ doi missing$ eprint missing$ and
+ { format.url "doi, eprint and url" no.output.check.links pop$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {output.links}
+{ % Output the links of an entry
+ % Args:
+ % Returns:
+ new.block
+ explicit.doi.links
+ { % If explicit DOI links are set via the config, output it
+ % explicitly (if it's not missing)
+ doi missing$
+ 'skip$
+ { " doi:~" doi add.doi.link * output
+ new.block
+ }
+ if$
+ }
+ 'skip$ % Without explicit DOI links, it has already been added to another string.
+ if$
+ % Add eprint link
+ format.eprint output
+ doi missing$ eprint missing$ and
+ { % If the DOI and the eprint link are missing, add the `url` field hyperlink
+ new.block
+ format.url output
+ }
+ 'skip$
+ if$
+ new.block
+ % Add the code hyperlink
+ format.code output
+}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Interpretation of bib entries
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {is.arxiv.article}
+{ % Determine whether an article class is an arxiv article only.
+ % Args:
+ % Returns: int - "Boolean" indicating whether the entry is an arxiv article only
+ % The article is considered an arxiv article only if
+ % - get.journal delivers an empty string and the `archivePrefix` field matches "arxiv"
+ % (up to capitalization)
+ % - "arxiv" (or a capitalized version of it) is present in the output of get.journal
+ % If the output of get.journal is empty and the `archivePrefix` field is present but not
+ % known, a warning is raised.
+ get.journal empty$
+ { archivePrefix missing$
+ { #0 }
+ { archivePrefix "l" change.case$ "arxiv" =
+ { #1 }
+ { "The `archivePrefix' " archivePrefix * " is not supported for entry" * my.warning
+ #0
+ }
+ if$
+ }
+ if$
+ }
+ { get.journal "l" change.case$ "arxiv" contains.substring
+ { #1 }
+ { #0 }
+ if$
+ }
+ if$
+}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Raw citation classes that are aliased in the public citation classes
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {arxiv.article}
+{ % Format an arxiv-only article
+ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ crossref missing$
+ {
+ format.year "year" output.check
+ new.block
+ check.links
+ output.links
+ }
+ { format.article.crossref output.nonnull
+ #1 format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {std.article}
+{ % Format a standard published article
+ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ crossref missing$
+ { new.block
+ get.journal "journal, shortjournal and journaltitle" no.output.check
+ format.vol.pages *
+ doi missing$
+ explicit.doi.links
+ or
+ 'skip$
+ { add.doi.link }
+ if$
+ output
+ format.year "year" output.check
+ new.block
+ check.links
+ output.links
+ }
+ { format.article.crossref output.nonnull
+ #1 format.pages output
+ }
+ if$
+ fin.entry
+}
+
+FUNCTION {std.misc}
+{ % Format a standard misc entry
+ output.bibitem
+ format.authors output
+ title howpublished new.block.checkb
+ format.title output
+ howpublished new.block.checka
+ howpublished output
+ format.year output
+ format.eprint output
+ new.block
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {thesis.start}
+{ % Format the first part of a thesis entry
+ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+}
+
+FUNCTION {thesis.end}
+{ % Format the second (and last) part of a thesis entry
+ new.block
+ school "school" output.check
+ new.block
+ address output
+ format.year "year" output.check
+ new.block
+ output.links
+ fin.entry
+}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Recognized citation classes
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {article}
+{ is.arxiv.article
+ 'arxiv.article
+ 'std.article
+ if$
+}
+
+FUNCTION {conditional.doi.link}
+{ duplicate$ empty$
+ doi missing$
+ explicit.doi.links
+ doi.linked
+ or or or
+ 'skip$
+ { add.doi.link
+ #1 'doi.linked :=
+ }
+ if$
+}
+
+FUNCTION {book}
+{ output.bibitem
+ author empty$
+ { format.editors "author and editor" output.check }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ #0 'doi.linked :=
+ crossref missing$
+ { format.bvol.chap.pages
+ conditional.doi.link output
+ new.block
+ format.number.series
+ conditional.doi.link output
+ new.sentence
+ publisher "publisher" no.output.check
+ conditional.doi.link output
+ new.sentence
+ address output
+ }
+ { format.chapter.pages output
+ new.block
+ format.book.crossref output.nonnull
+ }
+ if$
+ format.year "year" output.check
+ new.block
+ format.edition output
+ check.links
+ output.links
+ fin.entry
+}
+
+FUNCTION {repository}
+{ output.bibitem
+ format.authors output
+ format.year output
+ new.block
+ code empty$
+ { format.url "url" output.check }
+ { format.code output }
+ if$
+ fin.entry
+}
+
+FUNCTION {website}
+{ output.bibitem
+ author empty$
+ 'skip$
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.title "title" output.check
+ new.block
+ format.url "url" output.check
+ new.block
+ code empty$
+ 'skip$
+ { format.code output
+ new.block
+ }
+ if$
+ format.urldate output
+ note output
+ fin.entry
+}
+
+FUNCTION {misc}
+{ is.arxiv.article
+ 'arxiv.article
+ 'std.misc
+ if$
+}
+
+FUNCTION {inbook}
+{
+ format.chapter.pages empty$
+ { "`inbook' requires chapter or pages, otherwise use `book'" my.warning }
+ 'skip$
+ if$
+ book
+}
+
+FUNCTION {proceedings}
+{ output.bibitem
+ editor empty$
+ { organization output }
+ { format.editors output.nonnull }
+ if$
+ new.block
+ format.title "title" no.output.check
+ doi missing$
+ explicit.doi.links
+ or
+ 'skip$
+ { add.doi.link }
+ if$
+ output
+ new.block
+ format.bvol.series output
+ format.number.series output
+ new.block
+ address empty$
+ { editor empty$
+ { publisher new.sentence.checka }
+ { organization publisher new.sentence.checkb
+ organization output
+ }
+ if$
+ new.block
+ publisher output
+ format.year "year" output.check
+ }
+ { address output.nonnull
+ format.year "year" output.check
+ new.sentence
+ editor empty$
+ 'skip$
+ { organization output }
+ if$
+ new.block
+ publisher output
+ }
+ if$
+ new.block
+ check.links
+ output.links
+ fin.entry
+}
+
+FUNCTION {booklet}
+{ output.bibitem
+ format.authors output
+ new.block
+ format.title "title" output.check
+ howpublished new.block.checka
+ howpublished output
+ address new.block.checka
+ address output
+ format.year output
+ output.links
+ new.block
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ note "note" output.check
+ format.year output
+ format.eprint output
+ fin.entry
+}
+
+FUNCTION {incollection}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ #0 'doi.linked :=
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ new.block
+ format.bvol.chap.pages
+ conditional.doi.link output
+ new.block
+ format.number.series
+ conditional.doi.link output
+ new.sentence
+ publisher "publisher" no.output.check
+ conditional.doi.link
+ address missing$
+ 'skip$
+ { ", " * address * }
+ if$
+ output
+ format.year "year" output.check
+ new.block
+ format.edition output
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.chapter.pages output
+ }
+ if$
+ new.block
+ output.links
+ fin.entry
+}
+
+FUNCTION {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ #0 'doi.linked :=
+ crossref missing$
+ { format.in.ed.booktitle "booktitle" output.check
+ new.block
+ format.bvol.chap.pages
+ conditional.doi.link output
+ new.block
+ format.number.series
+ conditional.doi.link output
+ address empty$
+ { organization publisher new.sentence.checkb
+ organization output
+ publisher output
+ format.year "year" output.check
+ }
+ { address output.nonnull
+ format.year "year" output.check
+ new.sentence
+ organization output
+ new.sentence
+ publisher output
+ }
+ if$
+ }
+ { format.incoll.inproc.crossref output.nonnull
+ format.pages output
+ }
+ if$
+ new.block
+ check.links
+ output.links
+ fin.entry
+}
+
+FUNCTION {conference} { inproceedings }
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ new.block
+ format.tr.number
+ doi missing$
+ explicit.doi.links
+ or
+ 'skip$
+ { add.doi.link }
+ if$
+ output.nonnull
+ new.block
+ institution "institution" output.check
+ address output
+ format.year "year" output.check
+ output.links
+ fin.entry
+}
+
+FUNCTION {manual}
+{ output.bibitem
+ author empty$
+ { organization empty$
+ 'skip$
+ { organization output.nonnull
+ new.block
+ address output
+ }
+ if$
+ }
+ { format.authors output.nonnull }
+ if$
+ new.block
+ format.title "title" output.check
+ author empty$
+ { organization empty$
+ { address new.block.checka
+ address output
+ }
+ 'skip$
+ if$
+ }
+ { organization address new.block.checkb
+ organization output
+ new.block
+ address output
+ }
+ if$
+ new.block
+ format.edition output
+ format.year output
+ output.links
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ thesis.start
+ "Master's thesis" format.thesis.type output.nonnull
+ thesis.end
+}
+
+FUNCTION {phdthesis}
+{ thesis.start
+ "PhD thesis" format.thesis.type output.nonnull
+ thesis.end
+}
+
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Default citation type
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {default.type} { article }
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% Macros/aliases
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+MACRO {jan} {"Jan."}
+
+MACRO {feb} {"Feb."}
+
+MACRO {mar} {"Mar."}
+
+MACRO {apr} {"Apr."}
+
+MACRO {may} {"May"}
+
+MACRO {jun} {"June"}
+
+MACRO {jul} {"July"}
+
+MACRO {aug} {"Aug."}
+
+MACRO {sep} {"Sept."}
+
+MACRO {oct} {"Oct."}
+
+MACRO {nov} {"Nov."}
+
+MACRO {dec} {"Dec."}
+
+MACRO {acmcs} {"ACM Comput. Surv."}
+
+MACRO {acta} {"Acta Inf."}
+
+MACRO {cacm} {"Commun. ACM"}
+
+MACRO {ibmjrd} {"IBM J. Res. Dev."}
+
+MACRO {ibmsj} {"IBM Syst.~J."}
+
+MACRO {ieeese} {"IEEE Trans. Softw. Eng."}
+
+MACRO {ieeetc} {"IEEE Trans. Comput."}
+
+MACRO {ieeetcad}
+ {"IEEE Trans. Comput.-Aided Design Integrated Circuits"}
+
+MACRO {ipl} {"Inf. Process. Lett."}
+
+MACRO {jacm} {"J.~ACM"}
+
+MACRO {jcss} {"J.~Comput. Syst. Sci."}
+
+MACRO {scp} {"Sci. Comput. Programming"}
+
+MACRO {sicomp} {"SIAM J. Comput."}
+
+MACRO {tocs} {"ACM Trans. Comput. Syst."}
+
+MACRO {tods} {"ACM Trans. Database Syst."}
+
+MACRO {tog} {"ACM Trans. Gr."}
+
+MACRO {toms} {"ACM Trans. Math. Softw."}
+
+MACRO {toois} {"ACM Trans. Office Inf. Syst."}
+
+MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."}
+
+MACRO {tcs} {"Theoretical Comput. Sci."}
+
+READ
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% BIBLIOGRAPHY HEADER AND FOOTER
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+FUNCTION {begin.bib}
+{ % Print the beginning of the bibliography to the .bbl file. Also set the
+ % "Booleans" for the global config of DOI link printing and handling of warnings.
+ #0 'explicit.doi.links :=
+ #1 'warnings.are.errors :=
+ preamble$ empty$
+ 'skip$
+ { preamble$ "MakeDoiLinksExplicit" contains.substring
+ { #1 'explicit.doi.links :=
+ "\newcommand{\MakeDoiLinksExplicit}{}" write$ newline$
+ }
+ { #0 'explicit.doi.links := }
+ if$
+ preamble$ "DoNotMakeWarningsErrors" contains.substring
+ { #0 'warnings.are.errors :=
+ "\newcommand{\DoNotMakeWarningsErrors}{}" write$ newline$
+ }
+ { #1 'warnings.are.errors := }
+ if$
+ preamble$ write$ newline$
+ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" * write$ newline$
+}
+
+FUNCTION {end.bib}
+{ % Print the ending of the bibliography to the .bbl file.
+ newline$
+ "\end{thebibliography}" write$ newline$
+}
+
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+% EXECUTION
+% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
+
+% Initialize global constants indicating the positions in an entry
+EXECUTE {init.state.consts}
+
+% Initialize global variables for the longest label
+EXECUTE {init.longest.label}
+
+% Determine the longest label that will be needed
+ITERATE {longest.label.pass}
+
+% Begin the library and handle the preamble
+EXECUTE {begin.bib}
+
+% Create all bibliography entries
+ITERATE {call.type$}
+
+% Finalize the library
+EXECUTE {end.bib}
diff --git a/macros/latex/contrib/quantumarticle/quantumarticle.cls b/macros/latex/contrib/quantumarticle/quantumarticle.cls
index 355be71dbb..c5ae1a8ccd 100644
--- a/macros/latex/contrib/quantumarticle/quantumarticle.cls
+++ b/macros/latex/contrib/quantumarticle/quantumarticle.cls
@@ -3,7 +3,7 @@
%% it provides the quantumarticle class for typesetting articles in
%% Quantum - the open journal for quantum science
%%
-%% Copyright 2016,2017,2018,2019,2020
+%% Copyright 2016,2017,2018,2019,2020,2021,2022
%% Verein zur Förderung des Open Access Publizierens in den Quantenwissenschaften
%% (https://quantum-journal.org/about/)
%%
@@ -19,9 +19,9 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\def\quantumarticleversion{5.1}
+\def\quantumarticleversion{6.0}
\ProvidesClass{quantumarticle}
-[2020/10/27 v\quantumarticleversion
+[2021/12/07 v\quantumarticleversion
class for Quantum - the open journal for quantum science (https://quantum-journal.org)]
\RequirePackage{xkeyval}
\RequirePackage{etoolbox}
diff --git a/macros/latex/contrib/quantumarticle/quantumview-template.bib b/macros/latex/contrib/quantumarticle/quantumview-template.bib
new file mode 100644
index 0000000000..b97ca97196
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/quantumview-template.bib
@@ -0,0 +1,43 @@
+%% This is a sample bibliography demonstrating how citations with
+%% appropriate links to the DOI and arXiv version can be achieved.
+
+@book{Nielsen_Chuang_2000,
+ author= {Nielsen, Michael A. and Chuang, Isaac L.},
+ title = {{Quantum Computation and Quantum Information}},
+ publisher = {Cambridge University Press},
+ address = {Cambridge, U.K.},
+ nolink = {},
+ year = {2000}
+}
+
+@article{Preskill2018,
+ author = {Preskill, John},
+ title = {{Quantum Computing in the NISQ era and beyond}},
+ journal = {Quantum},
+ year = {2018},
+ volume = {2},
+ pages = {79},
+ archiveprefix = {arXiv},
+ primaryclass = {quant-ph},
+ eprint = {2007.01307}
+}
+
+@article{AcinBrussLewensteinSanpera2001,
+ author = {Ac{\'i}n, Antonio and Bru{\ss}, Dagmar and Lewenstein, Maciej and Sanpera, Anna},
+ title = {{Classification of Mixed Three-Qubit States}},
+ journal = {Phys. Rev. Lett.},
+ volume = {87},
+ pages = {040401},
+ year = {2001},
+ doi = {10.1103/PhysRevLett.87.040401},
+ archiveprefix = {arXiv},
+ eprint = {quant-ph/0103025}
+}
+
+@article{SchwarzhansLockErkerFriisHuber2020,
+ title = {Autonomous Temporal Probability Concentration: Clockworks and the Second Law of Thermodynamics},
+ author = {Schwarzhans, Emanuel and Lock, Maximilian P. E. and Erker, Paul and Friis, Nicolai and Huber, Marcus},
+ year = {2020},
+ archiveprefix = {arXiv},
+ eprint = {2007.01307},
+}
diff --git a/macros/latex/contrib/quantumarticle/quantumview-template.pdf b/macros/latex/contrib/quantumarticle/quantumview-template.pdf
new file mode 100644
index 0000000000..824686ef7a
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/quantumview-template.pdf
Binary files differ
diff --git a/macros/latex/contrib/quantumarticle/quantumview-template.tex b/macros/latex/contrib/quantumarticle/quantumview-template.tex
new file mode 100644
index 0000000000..1c9a6614ac
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/quantumview-template.tex
@@ -0,0 +1,68 @@
+\documentclass{quantumview}
+\usepackage[utf8]{inputenc}
+\usepackage[english]{babel}
+\usepackage[T1]{fontenc}
+\usepackage{amsmath}
+\usepackage{hyperref}
+\usepackage{fixltx2e}
+\usepackage[numbers,sort&compress]{natbib}
+
+\begin{document}
+
+\title{Template demonstrating the quantumview document class}
+
+\author{Johannes Jakob Meyer}
+\affiliation{Dahlem Center for Complex Quantum Systems, Freie Universität Berlin, 14195 Berlin, Germany}
+\affiliation{QMATH, Department of Mathematical Sciences, K{\o}benhavns Universitet, 2100 K{\o}benhavn \O, Denmark}
+\orcid{0000-0003-1533-8015}
+
+\maketitle
+
+\section{Introduction}
+Quantum Views is Quantum's venue for perspectives, views, editorials and other opinion pieces. The publishing process is different from that of regular articles in Quantum because Views are published as \emph{HTML only}, and need not be uploaded to the arXiv.
+
+Quantum provides the quantumview documentclass to enable authors of Views to use their common LaTeX environment to prepare their contributions. The editors at Quantum can then generate the HTML output by supplying the \texttt{html} option.
+
+\section{Supported Formatting Options}
+The documentclass natively supports the following operations:
+
+\paragraph{Text formatting} The following text formats are supported:
+\emph{emphasis}, \textit{italic}, \textbf{bold}, \texttt{typewriter}, \textsuperscript{superscript} and \textsubscript{subscript}.
+
+\paragraph{Sectioning} Sectioning -- if needed -- can be performed using the regular \texttt{{\textbackslash}section}, \texttt{{\textbackslash}subsection}, \texttt{{\textbackslash}subsubsection} and \texttt{{\textbackslash}paragraph} commands. These will be converted to HTML header tags and therefore not show section numbers in the final HTML.
+
+\paragraph{Citations and Bibliography} You can cite references using the regular \texttt{{\textbackslash}cite} command. For example, here is some text citing a textbook~\cite{Nielsen_Chuang_2000}, a journal article~\cite{Preskill2018}, a newer preprint~\cite{SchwarzhansLockErkerFriisHuber2020} and a journal article whose preprint has an arXiv identifier in old format~\cite{AcinBrussLewensteinSanpera2001}.
+
+Please see quantumview-template.bib for an example of how to provide bibliographic information to BibLaTeX in a way that yields a suitable bibliography with DOI links.
+In both Quantum and Quantum Views all citations to cited works that have a DOI must include a hyperlink to the DOI of the work.
+
+\paragraph{Formulas} You are free to use inline math $\mathcal{Z} - \pi = \nabla \Gamma$ and both the \texttt{equation}
+\begin{equation}
+ \int_0^1 \mathrm{d}x \, |\psi(x)\rangle \! \langle \psi(x)|= \hat{O}^2
+\end{equation}
+and \texttt{align} environment
+\begin{align}
+ \oint_C = \mathcal{Z}^2.
+\end{align}
+As formulas are directly rendered on the webpage, \emph{you can not use custom commands and libraries}. If you are unsure wether or not the command you want to use is supported, please consult the MathJax documentation. You should thus refrain from using the \texttt{{\textbackslash}label} and \texttt{{\textbackslash}ref} commands.
+
+\paragraph{Lists} You are free to use both \texttt{itemize} for unordered lists,
+\begin{itemize}
+ \item Item 1 lorem ipsum
+ \item Item 2
+\end{itemize}
+and \texttt{enumerate} for ordered lists:
+\begin{enumerate}
+ \item Item 1
+ \item Item 2
+\end{enumerate}
+Note that further modifiers, \emph{e.g.}\ for roman numbering and additional packages like \texttt{enumerate} are not supported.
+
+\section{Copy-Editing Tools}
+The quantumview document class also provides commands that are useful in copy-editing. These are \texttt{{\textbackslash}corr} for \corr{correctons}{corrections} and \texttt{{\textbackslash}ins} \ins{for insertions}.
+
+\bibliography{quantumview-template}
+\bibliographystyle{quantum}
+
+
+\end{document}
diff --git a/macros/latex/contrib/quantumarticle/quantumview.cls b/macros/latex/contrib/quantumarticle/quantumview.cls
new file mode 100644
index 0000000000..0b06f66ede
--- /dev/null
+++ b/macros/latex/contrib/quantumarticle/quantumview.cls
@@ -0,0 +1,1004 @@
+%%
+%% This is file `quantumview.cls',
+%% it provides the quantumview class for typesetting perspective articles in
+%% Quantum - the open journal for quantum science
+%%
+%% Copyright 2020, 2021
+%% Verein zur Förderung des Open Access Publizierens in den Quantenwissenschaften
+%% (https://quantum-journal.org/about/)
+%%
+%% It is derived from `quantumarticle.cls' available from Quantum.
+%%
+%% It 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 2005/12/01 or later.
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\def\quantumviewversion{5.1}
+\ProvidesClass{quantumview}
+[2020/10/27 v\quantumviewversion
+class for Quantum - the open journal for quantum science (https://quantum-journal.org)]
+\RequirePackage{xkeyval}
+\RequirePackage{etoolbox}
+
+\newcommand*\@ptsize{}
+
+\newtoggle{@restonecol}
+
+\newtoggle{@html}
+\togglefalse{@html}
+\DeclareOptionX{html}{\toggletrue{@html}}
+
+\setlength\paperheight{297mm}%
+\setlength\paperwidth{210mm}
+
+\renewcommand*\@ptsize{1}
+
+\ProcessOptionsX
+
+\input{size1\@ptsize.clo}
+
+\newcommand{\@tag}[2]{<#1>#2</#1>}
+
+\RequirePackage{soul}
+\newcommand{\corr}[2]{\textcolor{red}{\st{#1}}\textcolor{blue}{#2}}
+\newcommand{\ins}[1]{\textcolor{red}{#1}}
+
+\iftoggle{@html}{\renewcommand*\familydefault{\ttdefault}}{}
+
+\AtBeginDocument{
+ % avoid bitmap fonts by loading lmodern or at least checking for cm-super
+ \IfFileExists{lmodern.sty}{
+ \RequirePackage{lmodern}
+ }{}
+ % Define a revtex-style openone symbol
+ \IfFileExists{bbm.sty}{
+ \RequirePackage{bbm}
+ \DeclareRobustCommand\openone{\mathbbm{1}}
+ }{
+ \IfFileExists{dsfont.sty}{
+ \RequirePackage{dsfont}
+ \DeclareRobustCommand\openone{\mathds{1}}
+ }{
+ % This uses a similar technique to {revtex4-1}'s openone,
+ % namely two overstruck numeral 1s, but implemented using mboxes
+ % and math kerning as suggested by The Comprehensive LaTeX Symbol List.
+ \DeclareRobustCommand\openone{{\mbox{\small1}\mkern-5.5mu1}}
+ }
+ }
+ \RequirePackage{xcolor}
+ \definecolor{quantumviolet}{HTML}{53257F} %Quantum violet
+ \definecolor{quantumgray}{HTML}{555555} %Quantum gray
+ \iftoggle{@html}{
+ \RequirePackage{verbatim}
+ \RequirePackage[draft]{graphicx}
+ }{}
+}
+
+
+\AfterEndPreamble{
+ \iftoggle{@html}{
+ % remove stry hyphens in HTML
+ \righthyphenmin=62
+ \lefthyphenmin=62
+ % convert other commands
+ \renewcommand{\emph}[1]{\@tag{em}{#1}}
+ \renewcommand{\textit}[1]{\@tag{i}{#1}}
+ \renewcommand{\textbf}[1]{\@tag{b}{#1}}
+ \renewcommand{\texttt}[1]{\@tag{tt}{#1}}
+ \renewcommand{\textsuperscript}[1]{\@tag{sup}{#1}}
+ \renewcommand{\textsubscript}[1]{\@tag{sub}{#1}}
+ \renewcommand{\cite}[1]{{\textbackslash}cite\{\detokenize{#1}\}}
+ \renewcommand{\label}[1]{{\textbackslash}label\{\detokenize{#1}\}}
+ \renewcommand{\ref}[1]{{\textbackslash}ref\{\detokenize{#1}\}}
+ \renewcommand{\section}[1]{\noindent\@tag{h2}{#1}\\ }
+ \renewcommand{\subsection}[1]{\noindent\@tag{h3}{#1}\\ }
+ \renewcommand{\subsubsection}[1]{\noindent\@tag{h4}{#1}\\ }
+ \renewcommand{\paragraph}[1]{\par ~\\\noindent<br/>\@tag{b}{#1}}
+ \renewenvironment{equation}
+ {\endgraf \noindent {\textbackslash}begin\{equation\} \verbatim}
+ {\endverbatim {\textbackslash}end\{equation\} \endgraf}
+ \renewenvironment{align}
+ {\endgraf \noindent {\textbackslash}begin\{align\} \verbatim}
+ {\endverbatim {\textbackslash}end\{align\} \endgraf}
+ \renewenvironment{eqnarray}
+ {\endgraf \noindent {\textbackslash}begin\{eqnarray\} \verbatim}
+ {\endverbatim {\textbackslash}end\{eqnarray\} \endgraf}
+ % This solution for itemize and enumerate is due to David Carlisle from tex.stackexchange
+ \def\itemize{%
+ \par\noindent <ul>\let\zz\relax
+ \let\olditem\item
+ \def\item{\zz\par\indent<li>\def\zz{\ifhmode\unskip\fi</li>\par}}
+ }
+ \def\enditemize{\zz\endgraf\noindent</ul>\par \let\item\olditem}
+ \def\enumerate{%
+ \par\noindent <ol>\let\zz\relax
+ \let\olditem\item
+ \def\item{\zz\par\indent<li>\def\zz{\ifhmode\unskip\fi</li>\par}}
+ }
+ \def\endenumerate{\zz\endgraf\noindent</ol>\par \let\item\olditem}
+
+ \def\@@addnewlinebetween#1{#1 \\ \noindent }
+ \def\@affiliationsonly{\forlistloop{\@@addnewlinebetween}{\affiliations}}
+ \renewcommand{\@maketitle}{%
+ \noindent {\footnotesize Title:} \\
+ \noindent {\@title} \\
+ \noindent {\footnotesize Author:} \\
+ \noindent \@authorsonly \\
+ \noindent {\footnotesize Affiliations:} \\
+ \noindent \@affiliationsonly
+ \par\noindent\rule{\textwidth}{0.4pt}
+ \vspace{1.5em}
+ }
+ \renewcommand{\bibliography}[1]{~}
+ % convert links
+ \renewcommand{\href}[2]{<a href="#1">#2</a>}
+}{}
+}
+
+\setcounter{topnumber}{2}
+\renewcommand*\topfraction{.7}
+\setcounter{bottomnumber}{1}
+\renewcommand*\bottomfraction{.3}
+\setcounter{totalnumber}{3}
+\renewcommand*\textfraction{.2}
+\renewcommand*\floatpagefraction{.5}
+\setcounter{dbltopnumber}{2}
+\renewcommand*\dbltopfraction{.7}
+\renewcommand*\dblfloatpagefraction{.5}
+
+\def\ps@headings{%
+\let\@oddfoot\@empty
+\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+\let\@mkboth\markboth
+\def\sectionmark##1{%
+ \markright {\MakeUppercase{%
+ \ifnumgreater{\c@secnumdepth}{\m@ne}
+ {\thesection\quad}
+ {}
+ ##1}}%
+ }%
+}%
+
+\def\ps@myheadings{%
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\thepage\hfil\slshape\leftmark}%
+ \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
+ \let\@mkboth\@gobbletwo
+ \let\sectionmark\@gobble
+ \let\subsectionmark\@gobble
+}
+
+
+\newcommand\maketitle{\par
+\begingroup
+\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+\long\def\@makefntext##1{\parindent 1em\noindent
+\hb@xt@1.8em{%
+\hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+\global\@topnum\z@ % Prevents figures from going at top of page.
+\@maketitle
+\thispagestyle{fancy}%\@thanks
+\endgroup
+\setcounter{footnote}{0}%
+\global\let\thanks\relax
+\global\let\maketitle\relax
+\global\let\@maketitle\relax
+% \global\let\@thanks\@empty
+% \global\let\@author\@empty
+% \global\let\@date\@empty
+% \global\let\@title\@empty
+\global\let\title\relax
+\global\let\author\relax
+\global\let\date\relax
+\global\let\and\relax
+}
+
+\def\@maketitle{%
+ \sffamily
+ \null
+ \let \footnote \thanks
+ \noindent%
+ \begin{minipage}{\textwidth}%
+ \noindent{\huge\hyphenpenalty=5000 \@printtitle\par}%
+ \end{minipage}%
+ \vskip 1.5em%
+ \begin{flushleft}%
+ \noindent \@printauthors
+ \end{flushleft}%
+ \vskip 1em%
+ \noindent\@printaffiliations
+ \vskip 0em%
+ \ifdefempty{\@date}{}{\noindent{\footnotesize\color{quantumgray}\@date}}%
+ \par
+ \vskip 1.5em
+ \makeatletter%
+ \begingroup
+ \hypersetup{%
+ pdftitle={\detokenize\expandafter{\@title}},
+ pdfauthor={\@authorsonly},
+ pdfkeywords={\@keywords},
+ pdfcreator={LaTeX with hyperref package and class quantumview \csname ver@quantumview.cls\endcsname},
+ }%
+ \endgroup
+ \makeatother%
+}
+
+\setcounter{secnumdepth}{3}
+\newcounter {part}
+\newcounter {section}
+\newcounter {subsection}[section]
+\newcounter {subsubsection}[subsection]
+\newcounter {paragraph}[subsubsection]
+\newcounter {subparagraph}[paragraph]
+\renewcommand*\thepart {\@Roman\c@part}
+\renewcommand*\thesection {\@arabic\c@section}
+\renewcommand*\thesubsection {\thesection.\@arabic\c@subsection}
+\renewcommand*\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
+\renewcommand*\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
+\renewcommand*\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
+\newcommand\part{%
+ \ifbool{@noskipsec}{\leavevmode}{}
+ \par
+ \addvspace{4ex}%
+ \boolfalse{@afterindent}
+ \secdef\@part\@spart}
+
+\def\@part[#1]#2{%
+\ifnumgreater{\c@secnumdepth}{\m@ne}
+ {\refstepcounter{part}\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}}
+ {\addcontentsline{toc}{part}{#1}}
+{\parindent \z@ \raggedright
+\interlinepenalty \@M
+\normalfont
+\ifnumgreater{\c@secnumdepth}{\m@ne}{\Large\bfseries \partname\nobreakspace\thepart\par\nobreak}{}
+\huge \bfseries #2%
+\markboth{}{}\par}%
+\nobreak
+\vskip 3ex
+\@afterheading%
+}
+
+\def\@spart#1{%
+ {\parindent \z@ \raggedright
+ \interlinepenalty \@M
+ \normalfont
+ \huge \bfseries #1\par}%
+ \nobreak
+ \vskip 3ex
+ \@afterheading}
+
+\newcommand*\section{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\normalfont\Large\sffamily}}
+
+\newcommand*\subsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\large\sffamily}}
+
+\newcommand*\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\normalfont\normalsize\sffamily}}
+
+\newcommand*\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {3.25ex \@plus1ex \@minus.2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+
+\newcommand*\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
+ {3.25ex \@plus1ex \@minus .2ex}%
+ {-1em}%
+ {\normalfont\normalsize\bfseries}}
+
+\setlength\leftmargini{2.5em}
+\leftmargin \leftmargini
+\setlength\leftmarginii {2.2em}
+\setlength\leftmarginiii {1.87em}
+\setlength\leftmarginiv {1.7em}
+
+\setlength\leftmarginv {1em}
+\setlength\leftmarginvi {1em}
+
+\setlength \labelsep {.5em}
+\setlength \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+\@beginparpenalty -\@lowpenalty
+\@endparpenalty -\@lowpenalty
+\@itempenalty -\@lowpenalty
+\renewcommand*\theenumi{\@arabic\c@enumi}
+\renewcommand*\theenumii{\@alph\c@enumii}
+\renewcommand*\theenumiii{\@roman\c@enumiii}
+\renewcommand*\theenumiv{\@Alph\c@enumiv}
+\newcommand*\labelenumi{\theenumi.}
+\newcommand*\labelenumii{(\theenumii)}
+\newcommand*\labelenumiii{\theenumiii.}
+\newcommand*\labelenumiv{\theenumiv.}
+\renewcommand*\p@enumii{\theenumi}
+\renewcommand*\p@enumiii{\theenumi(\theenumii)}
+\renewcommand*\p@enumiv{\p@enumiii\theenumiii}
+\newcommand*\labelitemi{\textbullet}
+\newcommand*\labelitemii{\normalfont\bfseries \textendash}
+\newcommand*\labelitemiii{\textasteriskcentered}
+\newcommand*\labelitemiv{\textperiodcentered}
+\newenvironment{description}
+{\list{}{\labelwidth\z@ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}}
+{\endlist}
+\newcommand*\descriptionlabel[1]{\hspace\labelsep
+ \normalfont\bfseries #1}
+
+\newenvironment{abstract}{%
+ \ifdefempty{\maketitle}{\relax{}}{\maketitle}
+ \vskip 1em \quotation%
+}
+{
+ \endquotation\vskip 2em%
+}
+
+\newenvironment{verse}
+{\let\\\@centercr
+ \list{}{\itemsep \z@
+ \itemindent -1.5em%
+ \listparindent\itemindent
+ \rightmargin \leftmargin
+ \advance\leftmargin 1.5em}%
+ \item\relax}
+{\endlist}
+
+\newenvironment{quotation}
+{\list{}{\listparindent 1.5em%
+ \itemindent \listparindent
+ \rightmargin \leftmargin
+ \parsep \z@ \@plus\p@}%
+ \item\relax}
+{\endlist}
+
+\newenvironment{quote}
+{\list{}{\rightmargin\leftmargin}%
+ \item\relax}
+{\endlist}
+
+\newcommand*\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@Alph\c@section}}
+\setlength\arraycolsep{5\p@}
+\setlength\tabcolsep{6\p@}
+\setlength\arrayrulewidth{.4\p@}
+\setlength\doublerulesep{2\p@}
+\setlength\tabbingsep{\labelsep}
+\skip\@mpfootins = \skip\footins
+\setlength\fboxsep{3\p@}
+\setlength\fboxrule{.4\p@}
+\renewcommand*\theequation {\@arabic\c@equation}
+\newcounter{figure}
+\renewcommand*\thefigure {\@arabic\c@figure}
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{\figurename\nobreakspace\thefigure}
+
+\newenvironment{figure}
+{\@float{figure}}
+{\end@float}
+
+\newenvironment{figure*}
+{\@dblfloat{figure}}
+{\end@dblfloat}
+
+\newcounter{table}
+\renewcommand*\thetable{\@arabic\c@table}
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{\tablename\nobreakspace\thetable}
+
+\newenvironment{table}
+{\@float{table}}
+{\end@float}
+
+\newenvironment{table*}
+{\@dblfloat{table}}
+{\end@dblfloat}
+
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
+\setlength\abovecaptionskip{10\p@}
+\setlength\belowcaptionskip{0\p@}
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{#1: #2}%
+ \ifdimgreater{\wd\@tempboxa}{\hsize}
+ {#1: #2\par}
+ {\global\boolfalse{@minipage}
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}}%
+ \vskip\belowcaptionskip}
+
+\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
+\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
+
+\newcommand*\@pnumwidth{1.55em}
+\newcommand*\@tocrmarg{2.55em}
+\newcommand*\@dotsep{4.5}
+\setcounter{tocdepth}{3}
+
+% We use a trick from Ivan Andrus (https://stackoverflow.com/a/2785740)
+% to hide the "\section*{Contents}" command from the table of contents
+% to avoid getting an ugly duplication of the Contents header inside
+% the table itself.
+%
+% This trick consists of temporarily redefining \addcontentsline to
+% do nothing during the expansion of the arguments to \tocless.
+\newcommand{\nocontentsline}[3]{}
+\newcommand{\tocless}[2]{\bgroup\let\addcontentsline=\nocontentsline#1{#2}\egroup}
+\newcommand\tableofcontents{%
+ \tocless{\section*}{\contentsname
+ \@mkboth{%
+ \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
+ \@starttoc{toc}%
+}
+
+\newcommand*\l@part[2]{%
+ \ifnumgreater{\c@tocdepth}{-2}{\relax
+ \addpenalty\@secpenalty
+ \addvspace{2.25em \@plus\p@}%
+ \setlength\@tempdima{3em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ {\leavevmode
+ \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
+ \nobreak
+ \endgroup
+ }{}%
+}
+
+\newcommand*\l@section[2]{%
+ \ifnumgreater{\c@tocdepth}{\z@}{
+ \addpenalty\@secpenalty
+ \addvspace{1.0em \@plus\p@}%
+ \setlength\@tempdima{1.5em}%
+ \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \bfseries
+ \advance\leftskip\@tempdima
+ \hskip -\leftskip
+ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
+ \endgroup
+ }{}%
+}
+
+\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
+\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
+\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
+\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
+
+\newcommand\listoffigures{%
+ \section*{\listfigurename}%
+ \@mkboth{\MakeUppercase\listfigurename}%
+ {\MakeUppercase\listfigurename}%
+ \@starttoc{lof}%
+}
+
+\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+\newcommand\listoftables{%
+ \section*{\listtablename}%
+ \@mkboth{%
+ \MakeUppercase\listtablename}%
+ {\MakeUppercase\listtablename}%
+ \@starttoc{lot}%
+}
+
+\let\l@table\l@figure
+% Declare a new \acknowledgements command for {revtex4-1}
+% compatability.
+\newcommand*{\acknowledgmentsname}{Acknowledgments}
+\newcommand{\acknowledgments}[1]{%
+ \section*{\acknowledgmentsname}%
+ #1%
+}
+
+\newdimen\bibindent
+\setlength\bibindent{1.5em}
+
+\newenvironment{thebibliography}[1]
+{%
+ \section*{\refname}%
+ \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand*\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m
+ \setlength{\itemsep}{0pt plus 0.3ex}
+}
+{\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+
+\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
+\let\@openbib@code\@empty
+
+\newenvironment{theindex}{%
+ \toggletrue{@restonecol}
+ \twocolumn[\section*{\indexname}]%
+ \@mkboth{\MakeUppercase\indexname}%
+ {\MakeUppercase\indexname}%
+ \thispagestyle{fancy}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \columnseprule \z@
+ \columnsep 35\p@
+ \let\item\@idxitem%
+}
+{
+ \iftoggle{@restonecol}
+ {\onecolumn}
+ {\clearpage}
+}
+
+\newcommand\@idxitem{\par\hangindent 40\p@}
+\newcommand\subitem{\@idxitem \hspace*{20\p@}}
+\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
+\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
+
+\renewcommand*\footnoterule{%
+ \kern-3\p@
+ \hrule\@width.4\columnwidth
+ \kern2.6\p@}
+
+\newcommand*\@makefntext[1]{%
+\parindent 1em%
+\noindent
+\hb@xt@1.8em{\hss\@makefnmark}#1}
+
+\newcommand*\contentsname{Contents}
+\newcommand*\listfigurename{List of Figures}
+\newcommand*\listtablename{List of Tables}
+\newcommand*\refname{References}
+\newcommand*\indexname{Index}
+\newcommand*\figurename{Figure}
+\newcommand*\tablename{Table}
+\newcommand*\partname{Part}
+\newcommand*\appendixname{Appendix}
+\newcommand*\abstractname{Abstract}
+
+\def\today{\ifcase\month\or
+ January\or February\or March\or April\or May\or June\or
+ July\or August\or September\or October\or November\or December\fi
+ \space\number\day, \number\year}
+\setlength\columnsep{20\p@}
+\setlength\columnseprule{0\p@}
+\setlength{\footnotesep}{\baselineskip}
+\RequirePackage{fancyhdr}
+\pagestyle{fancy}
+\renewcommand{\headrule}{}
+\renewcommand{\footrule}{\vbox to 0pt{\hbox to\headwidth{\color{quantumgray}\leaders\hrule\hfil}\vss}}
+\fancyhf{}
+
+\pagenumbering{arabic}
+\raggedbottom
+\onecolumn
+
+%title
+\def\@printtitle{%
+ {%
+ \edef\@titleexpanded{\detokenize\expandafter{\@title}}%
+ \iftoggle{@xstring}%
+ {\saveexploremode\exploregroups\StrSubstitute{\@titleexpanded}{ }{\%20}[\@titleforurl]\restoreexploremode}%
+ {\gdef\@titleforurl{\@titleexpanded}}%
+ \href{https://quantum-journal.org/?s=\@titleforurl\&reason=title-click}{%
+ \color{quantumviolet}{%
+ \@printtitletextwithappropriatefontsize\unskip%
+ }%
+ }%
+ }%
+}
+% In the macro below we compute the appropriate font size of the title.
+% We use \Huge if the title fits on one line and \huge if it extends over more
+% than one line in font size \Huge
+\def\@titleatfontsize#1{%
+ #1%
+ \begingroup%
+ \raggedright%
+ \def\selectfont{\ClassError{quantumview}{When submitting to Quantum, you are not supposed to use \string\textbf{}, \string\bf, \string\textit{} or other font formating commands inside \string\title{}. Please remove all such commands from your \string\title{}. If you really have to change the font for some part of the title you can turn off this error by giving the option allowfontchangeintitle}{}}%solution from https://tex.stackexchange.com/questions/347596/disallowing-textbf-it-sffamily-in-argument-of-macro-or-environment
+ \@title%
+ \endgroup%
+}%
+
+\def\@printtitletextwithappropriatefontsize{%
+ \newsavebox{\@titelsaveboxHuge}%
+ \savebox{\@titelsaveboxHuge}{%
+ \parbox[b]{\linewidth}{%
+ \@titleatfontsize{\Huge}%
+ }%
+ }%
+ \newsavebox{\@titelsaveboxHugeoneline}%
+ \savebox{\@titelsaveboxHugeoneline}{%
+ \@titleatfontsize{\Huge}%
+ }%
+ \newsavebox{\@titelsaveboxhhuge}%
+ \savebox{\@titelsaveboxhhuge}{%
+ \parbox[b]{\linewidth}{%
+ \@titleatfontsize{\huge}%
+ }%
+ }%
+ \ifdimgreater{\ht\@titelsaveboxHuge}{\ht\@titelsaveboxHugeoneline}
+ {\@titleatfontsize{\huge}%\usebox{\@titelsaveboxhhuge}% using huge because \the\ht\@titelsaveboxHuge{} is larger than \the\ht\@titelsaveboxHugeoneline{}
+ }
+ {\@titleatfontsize{\Huge}% using Huge because \the\ht\@titelsaveboxHuge{} is not larger than \the\ht\@titelsaveboxHugeoneline{}
+ }
+}
+
+%renew \title to allow for and ignore an optional argument
+\renewcommand{\title}[2][]{\gdef\@title{#2}}
+% author handling
+\newcounter{@authorcounter}
+\csdef{@authors}{}
+\renewcommand{\author}[2][]{%
+ \ifstrempty{#1}{%
+ \internal@author{#2}%
+ }{%
+ \internal@elseauthor{#1}{#2}
+ }%
+ \csdef{@authorname\the@authorcounter}{#2}%
+ \def\@currentauthornumber{\the@authorcounter}%
+}%
+\def\addauthortolabel#1#2{%
+ \ifcsdef{authorswithlabel#2}{}{\csdef{authorswithlabel#2}{}}%
+ \listcsxadd{authorswithlabel#2}{#1}}%
+\def\internal@elseauthor#1#2{%
+ \stepcounter{@authorcounter}
+ \ifcsdef{@authors}{}{\csdef{@authors}{}}%
+ \listadd{\@authors}{#2}%
+ \forcsvlist{\addauthortolabel{\the@authorcounter}}{#1}%
+ \ifbool{@startnewauthorgroup}{\csundef{@authorgroup}}{}%
+ \ifcsdef{@authorgroup}{}{\csdef{@authorgroup}{}}%
+ \listxadd{\@authorgroup}{\the@authorcounter}%
+ \boolfalse{@startnewauthorgroup}%
+}%
+\def\internal@author#1{%
+ \stepcounter{@authorcounter}
+ \ifcsdef{@authors}{}{\csdef{@authors}{}}%
+ \listadd{\@authors}{#1}%
+ \ifbool{@startnewauthorgroup}{\csundef{@authorgroup}}{}
+ \ifcsdef{@authorgroup}{}{\csdef{@authorgroup}{}}%
+ \listxadd{\@authorgroup}{\the@authorcounter}
+ \boolfalse{@startnewauthorgroup}
+}
+\def\@@spaceafter#1{#1 }
+\def\@@@comma{\def\@@@comma{,}}
+\def\@@commaspacebefore#1{\@@@comma{}#1}
+\def\@printauthor#1#2{\def\footnote{\ClassError{quantumview}{You must not put a \string\footnote{} command inside the argument of \string\author}{}}\mbox{\ifcsdef{author#1orcid}{\href{https://orcid.org/\csname author#1orcid\endcsname}{\color{black}#2}}{#2}}\ifnumcomp{\the@affiliationcounter}{>}{1}{\textsuperscript{\forlistcsloop{\@@commaspacebefore}{author#1affiliations}\unskip}}{}\ifnumcomp{#1}{<}{\the@authorcounter-1}{, }{\ifnumcomp{#1}{=}{\the@authorcounter-1}{\ifnumcomp{#1}{=}{1}{ and }{, and }}{}}}
+\def\@printauthors{%
+ \newcounter{@authornum}%
+ \large\forlistloop{\stepcounter{@authornum}%
+ \ifcsdef{author\the@authornum hasextras}{%
+ \insert\footins{\footnotesize%
+ % \interlinepenalty\interfootnotelinepenalty
+ % \splittopskip\footnotesep
+ % \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+ \hsize\dimexpr \linewidth\relax \@parboxrestore%
+ % \flushleft%
+ % \baselineskip=0pt%
+ \@printauthorextrainfo{\the@authornum}\vspace{0.5\baselineskip}%
+ }}{}%
+ \@printauthor\the@authornum}{\@authors}%
+}
+\def\@@addcommabetween#1{#1, }%this adds an ugly extra comma at the end but the variant below is not expandable and therefore leads to ugly warnings: https://tex.stackexchange.com/questions/50978/macro-to-extract-typeset-plain-text-from-a-command
+%\def\@@addcommabetween#1{\ifdef{\firstauthoronly}{, }{\def\firstauthoronly{\empty}}#1}
+\def\@authorsonly{\forlistloop{\@@addcommabetween}{\@authors}}
+% affiliation handling
+\newbool{@startnewauthorgroup}
+\newcounter{@affiliationcounter}
+\def\@addaffiliation#1#2{
+ \ifcsdef{author#2affiliations}{}{\csdef{author#2affiliations}{}}%
+ \listcsgadd{author#2affiliations}{#1}
+}
+\newcommand{\address}[2][]{\affiliation[#1]{#2}}
+
+%for compatibility with authblk
+\newcommand{\affil}[2][]{
+ \affiliation[#1]{#2}}
+\newcommand{\affiliation}[2][]{%
+ \ifstrempty{#1}{%
+ \internal@affiliation{#2}%
+ }{%
+ \elseinternal@affiliation{#1}{#2}
+ }}%
+\def\elseinternal@affiliation#1#2{%
+ \booltrue{@startnewauthorgroup}
+ \ifcsdef{affiliations}{}{\csdef{affiliations}{}}%
+ \expandafter\def\csname\detokenize{#2}\endcsname{#2}%
+ \stepcounter{@affiliationcounter}%
+ \listxadd{\affiliations}{\iftoggle{@html}{#2}{\detokenize{#2}}}%
+ \csxdef{affiliation\detokenize{#2}number}{\the@affiliationcounter{}}%
+ \ifcsdef{authorswithlabel#1}{%
+ \forlistcsloop{\@addaffiliation{\csname affiliation\detokenize{#2}number\endcsname}}{authorswithlabel#1}%
+ }{}%
+}
+\def\internal@affiliation#1{%
+ \booltrue{@startnewauthorgroup}
+ \ifcsdef{affiliations}{}{\csdef{affiliations}{}}%
+ \expandafter\def\csname\detokenize{#1}\endcsname{#1} %to handle special characters such as \'a and \l we create a macro whose name is the detokenized version of #1 and that expands to #1 and later call it in \@printaffiliation
+ \xifinlist{\detokenize{#1}}{\affiliations}{}{\stepcounter{@affiliationcounter}\listxadd{\affiliations}{\iftoggle{@html}{#1}{\detokenize{#1}}}\csxdef{affiliation\detokenize{#1}number}{\the@affiliationcounter{}}}%
+ \forlistloop{\@addaffiliation{\csname affiliation\detokenize{#1}number\endcsname}}{\@authorgroup}%
+}
+\def\@printaffiliation#1#2{\ifnumcomp{\the@affiliationcounter}{>}{1}{\llap{\textsuperscript{#1}}}{}\csname #2\endcsname\ifnumcomp{#1}{<}{\the@affiliationcounter}{\newline}{}}
+\def\@printaffiliations{%
+ \ifcsdef{affiliations}{}{\csdef{affiliations}{}}%
+ \newcounter{@affiliationnum}%
+ \ifnumcomp{\the@affiliationcounter}{>}{1}{%
+ \settowidth{\leftskip}{\footnotesize\textsuperscript{\the@affiliationcounter}}%
+ }{}%
+ {\footnotesize\color{quantumgray}%
+ \forlistloop{\stepcounter{@affiliationnum}\@printaffiliation\the@affiliationnum}{\affiliations}}%
+}
+%collaboration and altaffiliation
+\newcommand{\collaboration}[1]{\author{#1}}
+\newcommand{\altaffiliation}[2][]{\affiliation{#1#2}}
+
+% email, homepage, and thanks handling
+% be careful - this section is highly sensitive to the positioning of the % marks
+\def\@printauthorextrainfo#1{
+ \csname @authorname#1\endcsname:
+ \ifcsdef{author#1emails}
+ {%
+ \forlistcsloop{\@@spaceafter}{author#1emails}%
+ }
+ {}%
+ \ifcsdef{author#1homepages}
+ {%
+ \ifcsdef{author#1emails}
+ {\unskip, }
+ {}%
+ \forlistcsloop{\@@spaceafter}{author#1homepages}%
+ }
+ {}%
+ \ifcsdef{author#1thanks}
+ {%
+ \ifcsdef{author#1emails}
+ {%
+ \ifcsdef{author#1homepages}
+ {\unskip, }
+ {\unskip, }%
+ }
+ {%
+ \ifcsdef{author#1homepages}
+ {\unskip, }
+ {}%
+ }%
+ \forlistcsloop{\@@spaceafter}{author#1thanks}%
+ }
+ {}%
+}
+
+\newcommand{\email}[2][]{%
+ \ifcsdef{@currentauthornumber}{}{\ClassError{quantumview}{\string\email{} may only appear after the first \string\author{} command}{}}
+ \@email{#1}{\href{mailto:#2}{#2}}}
+\newcommand{\homepage}[2][]{%
+ \ifcsdef{@currentauthornumber}{}{\ClassError{quantumview}{\string\homepage{} may only appear after the first \string\author{} command}{}}
+ \@homepage{#1}{\href{#2}{#2}}}
+\renewcommand{\thanks}[2][]{%
+ \ifcsdef{@currentauthornumber}{}{\ClassError{quantumview}{\string\thanks{} may only appear after the first \string\author{} command}{}}
+ \@thanks{#1}{#2}}
+\newcommand{\orcid}[2][]{%
+ \ifcsdef{@currentauthornumber}{}{\ClassError{quantumview}{\string\orcid{} may only appear after the first \string\author{} command}{}}
+ \@orcid{#1}{#2}}
+\def\@email#1#2{%}
+ \@addemail{#1#2}{\@currentauthornumber}
+ \csdef{author\@currentauthornumber hasextras}{}
+}
+\def\@homepage#1#2{%
+ \ifcsdef{@currentauthornumber}{}{\def\@currentauthornumber{0}}%in case \homepage is called before the first author
+ \@addhomepage{#1#2}{\@currentauthornumber}
+ \csdef{author\@currentauthornumber hasextras}{}
+}
+\def\@thanks#1#2{%
+ \ifcsdef{@currentauthornumber}{}{\def\@currentauthornumber{0}}%in case \thanks is called before the first author
+ \@addthanks{#1#2}{\@currentauthornumber}
+ \csdef{author\@currentauthornumber hasextras}{}
+}
+\def\@orcid#1#2{%
+ \ifcsdef{@currentauthornumber}{}{\def\@currentauthornumber{0}}%in case \orcid is called before the first author
+ \@addorcid{#1#2}{\@currentauthornumber}
+}
+\def\@addemail#1#2{
+ \ifcsdef{author#2emails}{}{\csdef{author#2emails}{}}%
+ \listcsgadd{author#2emails}{#1}
+}
+\def\@addhomepage#1#2{
+ \ifcsdef{author#2homepages}{}{\csdef{author#2homepages}{}}%
+ \listcsgadd{author#2homepages}{#1}
+}
+\def\@addthanks#1#2{
+ \ifcsdef{author#2thanks}{}{\csdef{author#2thanks}{}}%
+ \listcsgadd{author#2thanks}{#1}
+}
+\def\@addorcid#1#2{
+ \csdef{author#2orcid}{#1}%
+}
+
+\newtoggle{@tikz}
+\IfFileExists{tikz.sty}{\toggletrue{@tikz}}{\togglefalse{@tikz}}
+
+\newtoggle{@xstring}
+\IfFileExists{xstring.sty}{\toggletrue{@xstring}}{\togglefalse{@xstring}}
+
+\AtBeginDocument{
+ \iftoggle{@xstring}
+ {\RequirePackage{xstring}}
+ {}
+ \iftoggle{@tikz}
+ {%
+ \RequirePackage{tikz}
+ \usetikzlibrary{calc}
+ \newlength{\@eQ}%Capital Q height
+ \newlength{\@w}%line width
+ \newlength{\@rl}%rounding length
+ \newlength{\@cw}%character width
+ \newlength{\@ch}%lower case character height
+ \newlength{\@cr}%corner radius
+ \newlength{\@sl}%<> slant
+ \newlength{\@xt}%<> x thickeness
+
+ \DeclareRobustCommand{\Quantum}{%
+ {\sffamily%\color{quantumviolet}%
+ \setlength{\@eQ}{\dimexpr\fontcharht\font`Q\relax}%
+ \setlength{\@w}{0.088\@eQ}%
+ \setlength{\@rl}{0.2\@eQ}%
+ \setlength{\@cw}{0.5\@eQ}%
+ \setlength{\@ch}{0.65\@eQ}%
+ \setlength{\@cr}{0.3\@w}%
+ \setlength{\@sl}{0.22\@eQ}%
+ \setlength{\@xt}{1.113588507968435\@w}%=math.sqrt(1/(1-pow(22./50.,2)))*\@w
+ \tikz[baseline,x=\@eQ,y=\@eQ,every node/.append style={fill=none,inner sep=0pt,outer sep=0pt,node distance=0},rounded corners=\@cr]{%
+ % <> leg in back
+ % \fill[] (0,0.5) -- ++(\@sl,0.5) -- ++(\@xt,0) -- ++(-\@sl,-0.5) -- ++(\@sl,-0.5) -- ++(-\@xt,0) -- cycle;
+ % \fill[xshift=.95\@eQ] (0,0.5) node (eastend) {} -- ++(-\@sl,0.5) -- ++(-\@xt,0) -- ++(\@sl,-0.5) -- ++(-\@sl,-0.5) -- ++(\@xt,0) -- cycle;
+ % \begin{scope}
+ % \clip[xshift=.95\@eQ,overlay] (0.5\@xt,0.5) -- ++(-\@sl,-0.5) -- (0,0) -- (0.5\@xt,0.5) ++(-2\@xt,0) -- ++(-\@sl,-0.5) -- ($(-2*\@sl,0)$) -- ++(\@sl,0.5) --cycle;
+ % \fill[xshift=.95\@eQ] (0,0) -- ++(-\@sl,0.5) -- ++(-\@xt,0) -- ++(\@sl,-0.5) -- cycle;
+ % \end{scope}
+ \node[overlay,anchor=base west,opacity=0] {Q};
+ % <> leg in front
+ \fill[] (0,0.5) -- ++(\@sl,0.5) -- ++(\@xt,0) -- ++(-\@sl,-0.5) -- ++(\@sl,-0.5) -- ++(-\@xt,0) -- cycle;
+ \begin{scope}[xshift=\@eQ]
+ \fill (0,0) -- ++(-\@sl,0.5) -- ++(-\@xt,0) -- ++(\@sl,-0.5) -- cycle;
+ \clip[overlay,rounded corners=0] (-1.34\@xt,0) -- ++(-\@sl,0.5) -- ++(0,-0.5) -- cycle (0.34\@xt,0) -- ++($2*(-\@sl,0.5)$) -- (0.5\@xt,1) --cycle;
+ \fill (0,0.5) node (eastend) {} -- ++(-\@sl,0.5) -- ++(-\@xt,0) -- ++(\@sl,-0.5) -- ++(-\@sl,-0.5) -- ++(\@xt,0) -- cycle;
+ \end{scope}
+ % u
+ \def\@u##1{%
+ \fill[##1] (0,\@ch) -- (0,1.06\@rl) to[out=-90,in=184,looseness=1.2,overlay] ($(\@cw-\@w,0)$) -- ($(\@cw,0)$) -- ++(0,\@ch) -- ++(-\@w,0) -- ++($(0,-\@ch) + (0,\@w)$) -- ($(\@cw-\@w,\@w)$) to[out=184,in=-90,looseness=1.1] ($(\@w,1.06\@rl)$) -- (\@w,\@ch) --cycle;}
+ \@u{shift={($(current bounding box.south east)+(0.172\@eQ,0)$)}}
+ \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {u};
+ % a
+ \fill[shift={($(current bounding box.south east)+(0.110\@eQ,0)$)}] (\@cw,0) -- ++($(0,\@ch)-(0,\@rl)$) to[out=90,in=0,looseness=1.22] ++($(-1.22\@rl,\@rl)$) -- ($(\@w,\@ch)$) -- ++(0,-\@w) -- ($(1.22\@rl,\@ch-\@w)$) to[out=0,in=90,looseness=1.3,rounded corners=0] ($(\@cw,\@ch)-(\@w,\@rl)$) -- ($(\@cw,0)-(\@w,-\@w)$) --
+ ($(\@rl,\@w)$) to[out=180,in=-100,looseness=0.95,rounded corners=0] ($(1.05\@w,0.33\@ch)$) to[out=80,in=176,looseness=1.0] ($(\@cw-\@w,0.47\@ch)$) to[rounded corners=0] ++(0,-\@cr) to[rounded corners=0] ++($(0,\@cr+\@w)$) to[out=176,in=0] ($(1.2\@rl,0.48\@ch)+(0,\@w)$) to[out=180,in=90,rounded corners=0] ($(0.05\@w,0.33\@ch)$) to[out=-90,in=180,looseness=1.1,rounded corners=0] ($(\@rl,0)$) -- cycle;
+ \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {a};
+ % \fill[shift={($(current bounding box.south east)+(0.110\@eQ,0)$)}] (\@cw,0) -- ++($(0,\@ch)-(0,\@rl)$) to[out=90,in=0,looseness=1.22] ++($(-1.22\@rl,\@rl)$) -- ($(\@w,\@ch-0.1\@w)$) -- ++(0.1\@w,-\@w) -- ($(1.22\@rl,\@ch-\@w)$) to[out=0,in=90,looseness=1.3,rounded corners=0] ($(\@cw,\@ch)-(\@w,\@rl)$) -- ($(\@cw,0)-(\@w,-\@w)$) --
+ % ($(\@rl,\@w)$) to[out=180,in=-100,looseness=0.95,rounded corners=0] ($(1.05\@w,0.33\@ch)$) to[out=80,in=176,looseness=1.0] ($(\@cw-\@w,0.47\@ch)$) to[rounded corners=0] ++(0,-\@cr) to[rounded corners=0] ++($(0,\@cr+\@w)$) to[out=176,in=0] ($(1.2\@rl,0.48\@ch)+(0,\@w)$) to[out=180,in=90,rounded corners=0] ($(0.05\@w,0.33\@ch)$) to[out=-90,in=180,looseness=1.1,rounded corners=0] ($(\@rl,0)$) -- cycle;
+ % \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {a};
+ %n
+ \fill[shift={($(current bounding box.south east)+(0.181\@eQ+\@cw,\@ch)$)},rotate=180] (0,\@ch) -- (0,\@rl) to[out=-90,in=180,looseness=1.22] ($(1.2\@rl,0)$) -- (\@cw,0) -- ++(0,\@ch) -- ++(-\@w,0) -- ++($(0,-\@ch) + (0,1.05\@w)$) to[out=182,in=-90,looseness=1.04] ($(\@w,\@rl)$) -- (\@w,\@ch) --cycle;
+ \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {n};
+ % t
+ \fill[shift={($(current bounding box.south east)+(0.111\@eQ,0)$)}]
+ (\@w,0.9) [rounded corners=0] -- (\@w,\@ch) [rounded corners=\@cr] -- (0,\@ch) -- ++(0,-\@w) to[rounded corners=0] ++(\@w,0) -- (\@w,\@rl) to[out=-90,in=180,looseness=1.3,overlay] ($(\@w+\@rl,-0.07\@w)$) to[overlay] ++($(0.64\@cw-\@w-\@rl,0)$) -- ++(0,\@w) -- ++($(\@w+\@rl-0.64\@cw,0)$) to[out=180,in=-90,looseness=1.4] ($(2\@w,\@rl)$) -- ++($(0,\@ch-\@rl-\@w)$) -- ($(0.64\@cw,\@ch-\@w)$) -- ++(0,\@w) to[rounded corners=0] (2\@w,\@ch) -- ($(2\@w,0.9)$) --cycle;
+ \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {t};
+ % u
+ \@u{shift={($(current bounding box.south east)+(0.125\@eQ,0)$)}}
+ % \fill[shift={($(current bounding box.south east)+(0.125\@eQ,0)$)}] (0,\@ch) -- (0,\@rl) to[out=-90,in=180] ($(\@rl,0)$) -- (\@cw,0) -- ++(0,\@ch) -- ++(-\@w,0) -- ++($(0,-\@ch) + (0,\@w)$) -- ($(\@rl,\@w)$) to[out=180,in=-90] ($(\@w,\@rl)$) -- (\@w,\@ch) --cycle;
+ \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {u};
+ % m
+ \fill[shift={($(current bounding box.south east)+(0.16\@eQ+1.93*\@cw-\@w,\@ch)$)},rotate=180] (0,\@ch) -- (0,\@rl) to[out=-90,in=180,looseness=1.2] ($(1.2\@rl,0)$) -- ($(1.93\@cw,0)-(\@w,0)$) -- ++(0,\@ch) -- ++(-\@w,0) -- ++($(0,-\@ch) + (0,1.05\@w)$) to[out=184,in=-4] ($(0.97\@cw,1.05\@w)+(0,0)$) -- ++($(0,-1.05\@w)+(0,\@ch)$) -- ++($(-\@w,0)$) -- ++($(0,-\@ch)+(0,1.05\@w)$) to[out=182,in=-90,looseness=1.04] ($(\@w,\@rl)$) -- (\@w,\@ch) --cycle;
+ \node[overlay,anchor=base east,opacity=0] at (current bounding box.south east) {m};
+ }}}
+ }
+ {%
+ \ClassWarning{quantumview}{The tikz package could not be found and the \string\Quantum command will not produce the Quantum logo, but fall back to outputting simply the text Quantum.}
+ \DeclareRobustCommand{\Quantum}{Quantum}
+ }
+}
+%elsearticle style extra header information
+\newcommand{\ead}[2][]{
+ \ifstrempty{#1}{
+ \email{#2}
+ }{
+ \iftoggle{@xstring}
+ {\IfStrEq{#1}{url}{\homepage{#2}}{\email{#2}}}
+ {email{#2}}
+ }
+}
+\AtEndPreamble{
+ \providecommand{\@elsearticlecommandsnotsupportederror}{\ClassError{quantumview}{The elsearticle style \string\cortext{}, \string\corref{}, \string\fntext{}, \string\fnref{}, \string\tnotetext{}, and \string\tnoteref{} commands are not supported by quantumview. Please refrain from using footnotes in the title part of your document and use the \string\tahnks{} command for author footnotes instead.}{}}
+ \providecommand{\cortext}[2][]{\@elsearticlecommandsnotsupportederror} %corresponding author information
+ \providecommand{\corref}[1]{\@elsearticlecommandsnotsupportederror} %corresponding author information reference
+ \providecommand{\fntext}[2][]{\@elsearticlecommandsnotsupportederror} %author footnote
+ \providecommand{\fnref}[1]{\@elsearticlecommandsnotsupportederror} %author footnot reference
+ \providecommand{\tnotetext}[2][]{\@elsearticlecommandsnotsupportederror} %title footnote
+ \providecommand{\tnoteref}[1]{\@elsearticlecommandsnotsupportederror} %title footnote reference
+}
+
+% set default options for hyperref to make links more pretty
+\PassOptionsToPackage{colorlinks=true,hyperindex}{hyperref}
+
+\PassOptionsToPackage{allcolors=quantumviolet}{hyperref}
+
+%enable DOIs if biblatex is used by default
+\PassOptionsToPackage{doi=true}{biblatex}
+
+\AtBeginDocument{%
+
+ \RequirePackage{hyperref}%
+
+ \@ifpackageloaded{natbib}{%
+ \setlength{\bibsep}{0pt plus 0.3ex}
+ \@ifpackageloaded{doi}{}{%
+ \providecommand{\doi}[1]{}
+ \renewcommand{\doi}[1]{\href{https://doi.org/\detokenize{#1}}{DOI: \detokenize{#1}}}%
+ }%
+ }{%
+ \@ifpackageloaded{biblatex}{
+ \DeclareFieldFormat{doi}{\mkbibacro{DOI}\addcolon\space\href{https://doi.org/\detokenize{#1}}{\detokenize{#1}}}
+ \setcounter{biburllcpenalty}{1000}
+ \setcounter{biburlucpenalty}{1000}
+ \setcounter{biburlnumpenalty}{1000}
+ }{}%
+ }
+}
+
+\def\@keywords{}
+\providecommand{\keywords}{}
+\renewcommand{\keywords}[1]{\def\@keywords{#1}}
+
+\newenvironment{acknowledgements}{\section*{Acknowledgements}}{}
+
+\AtBeginDocument{%
+ \providecommand\text[1]{
+ \ClassError{quantumview}{To use the \string\text{} command please load the mathtools package}{}
+ }
+}
+
+\PassOptionsToPackage{font={small,sf}}{caption}
+
+\AtEndPreamble{
+ \RequirePackage{caption}
+}
+
+\begingroup
+\catcode`\$=\active
+\protected\gdef$#1${\$\detokenize{#1}\$}
+\endgroup
+
+\iftoggle{@html}{
+ \AtBeginDocument{\catcode`\$=\active}
+}{}
+
+\endinput
+%%
+%% End of file `quantumview.cls'.
diff --git a/support/latexindent/LatexIndent/AlignmentAtAmpersand.pm b/support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
index 8f67d62c58..6607bf6c9d 100644
--- a/support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
+++ b/support/latexindent/LatexIndent/AlignmentAtAmpersand.pm
@@ -16,20 +16,18 @@ package LatexIndent::AlignmentAtAmpersand;
# For all communication, please visit: https://github.com/cmhughes/latexindent.pl
use strict;
use warnings;
-use utf8;
-use Unicode::GCString;
use Data::Dumper;
use Exporter qw/import/;
use List::Util qw/max min sum/;
use LatexIndent::TrailingComments qw/$trailingCommentRegExp/;
-use LatexIndent::Switches qw/$is_t_switch_active $is_tt_switch_active/;
+use LatexIndent::Switches qw/$is_t_switch_active $is_tt_switch_active %switches/;
use LatexIndent::GetYamlSettings qw/%mainSettings/;
use LatexIndent::Tokens qw/%tokens/;
use LatexIndent::LogFile qw/$logger/;
use LatexIndent::HiddenChildren qw/%familyTree/;
use LatexIndent::Verbatim qw/%verbatimStorage/;
our @ISA = "LatexIndent::Document"; # class inheritance, Programming Perl, pg 321
-our @EXPORT_OK = qw/align_at_ampersand find_aligned_block double_back_slash_else main_formatting individual_padding multicolumn_padding multicolumn_pre_check multicolumn_post_check dont_measure hidden_child_cell_row_width hidden_child_row_width /;
+our @EXPORT_OK = qw/align_at_ampersand find_aligned_block double_back_slash_else main_formatting individual_padding multicolumn_padding multicolumn_pre_check multicolumn_post_check dont_measure hidden_child_cell_row_width hidden_child_row_width get_column_width/;
our $alignmentBlockCounter;
our @cellStorage; # two-dimensional storage array containing the cell information
our @formattedBody; # array for the new body
@@ -38,6 +36,7 @@ our @maxColumnWidth;
our @maxDelimiterWidth;
sub find_aligned_block{
+
my $self = shift;
return unless (${$self}{body} =~ m/(?!<\\)%\*\h*\\begin\{/s);
@@ -246,7 +245,7 @@ sub align_at_ampersand{
# for the *previous* cell
my $spanningOffSet = ($spanning > 0 ? $spanning - 1 : 0);
${$cellStorage[$rowCounter][$columnCounter - $spanningOffSet]}{delimiter} = $1;
- ${$cellStorage[$rowCounter][$columnCounter - $spanningOffSet]}{delimiterLength} = Unicode::GCString->new($1)->columns();
+ ${$cellStorage[$rowCounter][$columnCounter - $spanningOffSet]}{delimiterLength} = &get_column_width($1);
# keep track of maximum delimiter width
$maxDelimiterWidth[$columnCounter - $spanningOffSet] =
@@ -273,7 +272,7 @@ sub align_at_ampersand{
# basic cell storage
$cellStorage[$rowCounter][$columnCounter]
- = ({width=>Unicode::GCString->new($column)->columns(),
+ = ({width=>&get_column_width($column),
entry=>$column,
type=>($numberOfAmpersands>0 ? "X" : "*"),
groupPadding=>0,
@@ -443,7 +442,7 @@ sub align_at_ampersand{
if( (${$self}{begin} eq '{' | ${$self}{begin} eq '[') and ${$self}{parentBegin}){
$lengthOfBegin = ${$self}{parentBegin}."{";
}
- ${$self}{indentation} = " " x Unicode::GCString->new($lengthOfBegin)->columns();
+ ${$self}{indentation} = " " x (&get_column_width($lengthOfBegin));
$logger->trace("Adjusting indentation of ${$self}{name} in AlignAtAmpersand routine") if($is_t_switch_active);
}
}
@@ -540,7 +539,7 @@ sub main_formatting {
# objective (2): calculate row width and update maximumRowWidth
# objective (2): calculate row width and update maximumRowWidth
# objective (2): calculate row width and update maximumRowWidth
- my $rowWidth = Unicode::GCString->new($tmpRow)->columns();
+ my $rowWidth = &get_column_width($tmpRow);
# possibly update rowWidth if there are hidden children; see test-cases/alignment/hidden-child1.tex and friends
$rowWidth = $self->hidden_child_row_width($tmpRow,$rowCount,$rowWidth) if(${$self}{measureHiddenChildren} or ${$self}{measureVerbatim});
@@ -1434,12 +1433,12 @@ sub hidden_child_cell_row_width{
if($bodyLineBreaks>0){
my $maxRowWidthWithinCell = 0;
foreach(split("\n",$tmpCellEntry)){
- my $currentRowWidth = Unicode::GCString->new($_)->columns();
+ my $currentRowWidth = &get_column_width($_);
$maxRowWidthWithinCell = $currentRowWidth if ($currentRowWidth > $maxRowWidthWithinCell );
}
${$cellStorage[$rowCounter][$columnCounter]}{width} = $maxRowWidthWithinCell;
} else {
- ${$cellStorage[$rowCounter][$columnCounter]}{width} = Unicode::GCString->new($tmpCellEntry)->columns();
+ ${$cellStorage[$rowCounter][$columnCounter]}{width} = &get_column_width($tmpCellEntry);
}
}
@@ -1481,7 +1480,7 @@ sub hidden_child_row_width{
if( (${$self}{begin} eq '{' | ${$self}{begin} eq '[') and ${$self}{parentBegin}){
$beginToMeasure = ${$self}{parentBegin}."{";
}
- $lengthOfBegin = Unicode::GCString->new($beginToMeasure)->columns();
+ $lengthOfBegin = &get_column_width($beginToMeasure);
$tmpRow = $beginToMeasure.$tmpRow if $rowCount == 0;
}
@@ -1492,7 +1491,7 @@ sub hidden_child_row_width{
for my $hiddenChildToMeasure (@{${$self}{measureHiddenChildren}}){
if($tmpRow=~m/(^.*)?$hiddenChildToMeasure/m and defined $familyTree{$hiddenChildToMeasure}{bodyForMeasure}){
my $partBeforeId = $1;
- my $lengthPartBeforeId = Unicode::GCString->new($partBeforeId)->columns();
+ my $lengthPartBeforeId = &get_column_width($partBeforeId);
foreach (@{$familyTree{$hiddenChildToMeasure}{ancestors}}){
if (${$_}{ancestorID} eq ${$self}{id}){
@@ -1536,17 +1535,17 @@ sub hidden_child_row_width{
my $maxRowWidth = 0;
foreach(split("\n",$tmpRow)){
- my $currentRowWidth = Unicode::GCString->new($_)->columns();
+ my $currentRowWidth = &get_column_width($_);
$maxRowWidth = $currentRowWidth if ($currentRowWidth > $maxRowWidth );
}
$rowWidth = $maxRowWidth;
} else {
- $rowWidth = Unicode::GCString->new($tmpRow)->columns();
+ $rowWidth = &get_column_width($tmpRow);
}
} elsif (!${${$self}{linebreaksAtEnd}}{begin}
and ${$cellStorage[0][0]}{type} eq "X"
and ${$cellStorage[0][0]}{measureThis}){
- $rowWidth = Unicode::GCString->new($tmpRow)->columns();
+ $rowWidth = &get_column_width($tmpRow);
}
# possibly draw ruler to log file
@@ -1567,7 +1566,7 @@ sub draw_ruler_to_logfile{
$logger->trace("*tmpRow:");
foreach(split("\n",$tmpRow)){
- my $currentRowWidth = Unicode::GCString->new($_)->columns();
+ my $currentRowWidth = &get_column_width($_);
$logger->trace("$_ \t(length: $currentRowWidth)");
}
@@ -1579,4 +1578,20 @@ sub draw_ruler_to_logfile{
$logger->trace($ruler);
}
+
+sub get_column_width{
+
+ my $stringToBeMeasured = $_[0];
+
+ # default length measurement
+ # credit/reference: https://perldoc.perl.org/perlunicook#%E2%84%9E-33:-String-length-in-graphemes
+ unless ($switches{GCString}){
+ my $count = 0;
+ while ($stringToBeMeasured =~ /\X/g) { $count++ }
+ return $count;
+ }
+
+ # if GCString actice, then use Unicode::GCString
+ return Unicode::GCString->new($stringToBeMeasured)->columns();
+}
1;
diff --git a/support/latexindent/LatexIndent/BackUpFileProcedure.pm b/support/latexindent/LatexIndent/BackUpFileProcedure.pm
index e74b3fd75f..bcc2bb0fb3 100644
--- a/support/latexindent/LatexIndent/BackUpFileProcedure.pm
+++ b/support/latexindent/LatexIndent/BackUpFileProcedure.pm
@@ -22,14 +22,14 @@ use LatexIndent::LogFile qw/$logger/;
use File::Basename; # to get the filename and directory path
use File::Copy; # to copy the original file to backup (if overwrite option set)
use Exporter qw/import/;
-our @EXPORT_OK = qw/create_back_up_file/;
+our @EXPORT_OK = qw/create_back_up_file check_if_different/;
# copy main file to a back up in the case of the overwrite switch being active
sub create_back_up_file{
my $self = shift;
- return unless($switches{overwrite});
+ return unless(${$self}{overwrite});
# if we want to over write the current file create a backup first
$logger->info("*Backup procedure (-w flag active):");
@@ -147,4 +147,21 @@ sub create_back_up_file{
exit(5);
}
}
+
+sub check_if_different{
+ my $self = shift;
+
+ if (${$self}{originalBody} eq ${$self}{body}){
+ $logger->info("*-wd switch active");
+ $logger->info("Original body matches indented body, NOT overwriting, no back up files created");
+ return;
+ }
+
+ # otherwise, continue
+ $logger->info("*-wd switch active");
+ $logger->info("Original body is *different* from indented body");
+ $logger->info("activating overwrite switch, -w");
+ ${$self}{overwrite}=1;
+ $self->create_back_up_file;
+}
1;
diff --git a/support/latexindent/LatexIndent/Document.pm b/support/latexindent/LatexIndent/Document.pm
index 2ad655a56a..34eb16919b 100644
--- a/support/latexindent/LatexIndent/Document.pm
+++ b/support/latexindent/LatexIndent/Document.pm
@@ -17,7 +17,7 @@ package LatexIndent::Document;
use strict;
use warnings;
use Data::Dumper;
-use utf8;
+use File::Basename; # to get the filename and directory path
use open ':std', ':encoding(UTF-8)';
# gain access to subroutines in the following modules
@@ -29,7 +29,7 @@ use LatexIndent::Lines qw/lines_body_selected_lines lines_verbatim_create_line_b
use LatexIndent::Replacement qw/make_replacements/;
use LatexIndent::GetYamlSettings qw/yaml_read_settings yaml_modify_line_breaks_settings yaml_get_indentation_settings_for_this_object yaml_poly_switch_get_every_or_custom_value yaml_get_indentation_information yaml_get_object_attribute_for_indentation_settings yaml_alignment_at_ampersand_settings %mainSettings /;
use LatexIndent::FileExtension qw/file_extension_check/;
-use LatexIndent::BackUpFileProcedure qw/create_back_up_file/;
+use LatexIndent::BackUpFileProcedure qw/create_back_up_file check_if_different/;
use LatexIndent::BlankLines qw/protect_blank_lines unprotect_blank_lines condense_blank_lines/;
use LatexIndent::ModifyLineBreaks qw/modify_line_breaks_body modify_line_breaks_end modify_line_breaks_end_after remove_line_breaks_begin adjust_line_breaks_end_parent verbatim_modify_line_breaks/;
use LatexIndent::Sentence qw/one_sentence_per_line/;
@@ -77,14 +77,72 @@ sub new{
sub latexindent{
my $self = shift;
+ my @fileNames = @{$_[0]};
+
+ my $check_switch_status_across_files = 0;
+
+ my $file_extension_status_across_files = 0;
+
+ # one-time operations
$self->store_switches;
- $self->process_switches;
+ ${$self}{fileName} = $fileNames[0];
+ $self->process_switches(\@fileNames);
$self->yaml_read_settings;
- $self->file_extension_check;
- $self->operate_on_file;
+
+ ${$self}{multipleFiles} = 1 if ( (scalar (@fileNames)) >1 );
+
+ my $fileCount = 0;
+
+ # per-file operations
+ foreach (@fileNames) {
+ $fileCount++;
+ if ( (scalar (@fileNames)) >1 ){
+ $logger->info("*Filename: $_ (".$fileCount." of ".(scalar (@fileNames)).")") ;
+ }
+ ${$self}{fileName} = $_;
+ ${$self}{cruftDirectory} = $switches{cruftDirectory}||(dirname ${$self}{fileName});
+
+ # file existence/extension checks
+ my $file_existence = $self->file_extension_check;
+ if ($file_existence>0){
+ $file_extension_status_across_files=$file_existence;
+ next
+ }
+
+ # overwrite and overwriteIfDifferent switches, per file
+ ${$self}{overwrite} = $switches{overwrite};
+ ${$self}{overwriteIfDifferent} = $switches{overwriteIfDifferent};
+
+ # the main operations
+ $self->operate_on_file;
+
+ # keep track of check status across files
+ $check_switch_status_across_files = 1 if ($is_check_switch_active and ${$self}{originalBody} ne ${$self}{body});
+ }
+
+ # check switch summary across multiple files
+ if ( $is_check_switch_active and (scalar (@fileNames)) >1 ){
+ if($check_switch_status_across_files){
+ $logger->info("*check switch across multiple files: differences to report from at least one file");
+ } else {
+ $logger->info("*check switch across multiple files: no differences to report");
+ }
+ }
+
+ # logging of existence check
+ if ($file_extension_status_across_files>2){
+ $logger->warn("*at least one of the files you specified does not exist or could not be read");
+ }
+
+ # output the log file information
+ $self->output_logfile();
+
+ if ($file_extension_status_across_files>2){
+ exit($file_extension_status_across_files);
+ }
# check switch active, and file changed, gives different exit code
- if ($is_check_switch_active and ${$self}{originalBody} ne ${$self}{body}){
+ if ($check_switch_status_across_files){
exit(1);
}
}
@@ -124,6 +182,7 @@ sub operate_on_file{
$self->put_verbatim_back_in (match=>"just-commands");
$self->make_replacements(when=>"after") if ($is_r_switch_active and !$is_rv_switch_active);
${$self}{body} =~ s/\r\n/\n/sg if $mainSettings{dos2unixlinebreaks};
+ $self->check_if_different if ${$self}{overwriteIfDifferent};
}
$self->output_indented_text;
return
@@ -152,23 +211,20 @@ sub output_indented_text{
$logger->info("*Output routine:");
# if -overwrite is active then output to original fileName
- if($switches{overwrite}) {
+ if(${$self}{overwrite}){
$logger->info("Overwriting file ${$self}{fileName}");
open(OUTPUTFILE,">",${$self}{fileName});
print OUTPUTFILE ${$self}{body};
close(OUTPUTFILE);
} elsif($switches{outputToFile}) {
- $logger->info("Outputting to file $switches{outputToFile}");
- open(OUTPUTFILE,">",$switches{outputToFile});
+ $logger->info("Outputting to file ${$self}{outputToFile}");
+ open(OUTPUTFILE,">",${$self}{outputToFile});
print OUTPUTFILE ${$self}{body};
close(OUTPUTFILE);
} else {
$logger->info("Not outputting to file; see -w and -o switches for more options.");
}
- # output the log file information
- $self->output_logfile();
-
# output to screen, unless silent mode
print ${$self}{body} unless $switches{silentMode};
diff --git a/support/latexindent/LatexIndent/FileExtension.pm b/support/latexindent/LatexIndent/FileExtension.pm
index a9ff031493..6dc2b69641 100644
--- a/support/latexindent/LatexIndent/FileExtension.pm
+++ b/support/latexindent/LatexIndent/FileExtension.pm
@@ -16,7 +16,6 @@ package LatexIndent::FileExtension;
# For all communication, please visit: https://github.com/cmhughes/latexindent.pl
use strict;
use warnings;
-use utf8;
use PerlIO::encoding;
use open ':std', ':encoding(UTF-8)';
use File::Basename; # to get the filename and directory path
@@ -65,22 +64,34 @@ sub file_extension_check{
}
}
unless($fileFound){
- $logger->fatal("*I couldn't find a match for $fileName in fileExtensionPreference (see defaultSettings.yaml)");
- foreach (@fileExtensions ){
- $logger->fatal("I searched for $fileName$_");
+ if (defined ${$self}{multipleFiles}){
+ $logger->warn("*I couldn't find a match for $fileName in fileExtensionPreference (see defaultSettings.yaml)");
+ $logger->warn("moving on, no indendation done for ${$self}{fileName}.");
+ return 3;
+ } else {
+ $logger->fatal("*I couldn't find a match for $fileName in fileExtensionPreference (see defaultSettings.yaml)");
+ foreach (@fileExtensions ){
+ $logger->fatal("I searched for $fileName$_");
+ }
+ $logger->fatal("but couldn't find any of them.\nConsider updating fileExtensionPreference.");
+ $logger->fatal("*Exiting, no indendation done.");
+ $self->output_logfile();
+ exit(3);
}
- $logger->fatal("but couldn't find any of them.\nConsider updating fileExtensionPreference.");
- $logger->fatal("*Exiting, no indendation done.");
- $self->output_logfile();
- exit(3);
}
} else {
# if the file has a recognised extension, check that the file exists
unless( -e $fileName ){
- $logger->fatal("*I couldn't find $fileName, are you sure it exists?");
- $logger->fatal("Exiting, no indendation done.");
- $self->output_logfile();
- exit(3);
+ if (defined ${$self}{multipleFiles}){
+ $logger->warn("*I couldn't find $fileName, are you sure it exists?");
+ $logger->warn("moving on, no indendation done for ${$self}{fileName}.");
+ return 3;
+ } else {
+ $logger->fatal("*I couldn't find $fileName, are you sure it exists?");
+ $logger->fatal("Exiting, no indendation done.");
+ $self->output_logfile();
+ exit(3);
+ }
}
}
}
@@ -93,15 +104,17 @@ sub file_extension_check{
$logger->info("*-o switch active: output file check");
+ ${$self}{outputToFile} = $switches{outputToFile};
+
if ($fileName eq "-" and $switches{outputToFile} =~ m/^\+/){
$logger->info("STDIN input mode active, -o switch is removing all + symbols");
- $switches{outputToFile} =~ s/\+//g;
+ ${$self}{outputToFile} =~ s/\+//g;
}
# the -o file name might begin with a + symbol
if($switches{outputToFile} =~ m/^\+(.*)/ and $1 ne "+"){
- $logger->info("-o switch called with + symbol at the beginning: $switches{outputToFile}");
- $switches{outputToFile} = ${$self}{baseName}.$1;
- $logger->info("output file is now: $switches{outputToFile}");
+ $logger->info("-o switch called with + symbol at the beginning: ${$self}{outputToFile}");
+ ${$self}{outputToFile} = ${$self}{baseName}.$1;
+ $logger->info("output file is now: ${$self}{outputToFile}");
}
my $strippedFileExtension = ${$self}{fileExtension};
@@ -109,20 +122,20 @@ sub file_extension_check{
$strippedFileExtension = "tex" if ($strippedFileExtension eq "");
# grab the name, directory, and extension of the output file
- my ($name, $dir, $ext) = fileparse($switches{outputToFile}, $strippedFileExtension);
+ my ($name, $dir, $ext) = fileparse(${$self}{outputToFile}, $strippedFileExtension);
# if there is no extension, then add the extension from the file to be operated upon
if(!$ext){
$logger->info("-o switch called with file name without extension: $switches{outputToFile}");
- $switches{outputToFile} = $name.($name=~m/\.\z/ ? q() : ".").$strippedFileExtension;
- $logger->info("Updated to $switches{outputToFile} as the file extension of the input file is $strippedFileExtension");
+ ${$self}{outputToFile} = $name.($name=~m/\.\z/ ? q() : ".").$strippedFileExtension;
+ $logger->info("Updated to ${$self}{outputToFile} as the file extension of the input file is $strippedFileExtension");
}
# the -o file name might end with ++ in which case we wish to search for existence,
# and then increment accordingly
$name =~ s/\.$//;
if($name =~ m/\+\+$/){
- $logger->info("-o switch called with file name ending with ++: $switches{outputToFile}");
+ $logger->info("-o switch called with file name ending with ++: ${$self}{outputToFile}");
$name =~ s/\+\+$//;
$name = ${$self}{baseName} if ($name eq "");
my $outputFileCounter = 0;
@@ -134,7 +147,7 @@ sub file_extension_check{
$fileName = $name.$outputFileCounter.".".$strippedFileExtension;
}
$logger->info("$fileName does not exist, and will be the output file");
- $switches{outputToFile} = $fileName;
+ ${$self}{outputToFile} = $fileName;
}
}
@@ -144,10 +157,16 @@ sub file_extension_check{
my $openFilePossible=1;
open(MAINFILE, $fileName) or ($openFilePossible=0);
if($openFilePossible==0){
- $logger->fatal("*$fileName exists, but could not open it");
- $logger->fatal("Exiting, no indendation done.");
- $self->output_logfile();
- exit(4);
+ if (defined ${$self}{multipleFiles}){
+ $logger->warn("*$fileName exists, but could not open it");
+ $logger->warn("moving on, no indendation done for $fileName");
+ return 4;
+ } else {
+ $logger->fatal("*$fileName exists, but could not open it");
+ $logger->fatal("Exiting, no indendation done.");
+ $self->output_logfile();
+ exit(4);
+ }
}
push(@lines,$_) while(<MAINFILE>);
close(MAINFILE);
@@ -163,9 +182,18 @@ sub file_extension_check{
${$self}{body} = join("",@lines);
}
- # necessary extra storage if check switch is active
- if ($is_check_switch_active){
+ # necessary extra storage if
+ #
+ # check switch is active
+ #
+ # or
+ #
+ # $switches{overwriteIfDifferent}
+ #
+ if ($is_check_switch_active or $switches{overwriteIfDifferent}){
${$self}{originalBody} = ${$self}{body};
}
+
+ return 0;
}
1;
diff --git a/support/latexindent/LatexIndent/Item.pm b/support/latexindent/LatexIndent/Item.pm
index d9b191d62f..315e2c35e0 100644
--- a/support/latexindent/LatexIndent/Item.pm
+++ b/support/latexindent/LatexIndent/Item.pm
@@ -35,6 +35,8 @@ our $itemRegExp;
sub construct_list_of_items{
my $self = shift;
+ $listOfItems = q();
+
# put together a list of the items
while( my ($item,$lookForThisItem)= each %{$mainSettings{itemNames}}){
$listOfItems .= ($listOfItems eq "")?"$item":"|$item" if($lookForThisItem);
diff --git a/support/latexindent/LatexIndent/Lines.pm b/support/latexindent/LatexIndent/Lines.pm
index edfe811564..d1ee631b08 100644
--- a/support/latexindent/LatexIndent/Lines.pm
+++ b/support/latexindent/LatexIndent/Lines.pm
@@ -30,6 +30,9 @@ sub lines_body_selected_lines {
# strip all space from lines switch
$switches{lines} =~ s/\h//sg;
+ # convert multiple - into single
+ $switches{lines} =~ s/-+/-/sg;
+
$logger->info("*-n,--lines switch is active, operating on lines $switches{lines}");
$logger->info("number of lines in file: ".($#lines+1));
$logger->info("*interpretting $switches{lines}");
diff --git a/support/latexindent/LatexIndent/LogFile.pm b/support/latexindent/LatexIndent/LogFile.pm
index 692bfddbdb..fa6df78828 100644
--- a/support/latexindent/LatexIndent/LogFile.pm
+++ b/support/latexindent/LatexIndent/LogFile.pm
@@ -61,6 +61,9 @@ usage: latexindent.pl [options] [file]
latexindent.pl -o=outputfile.tex myfile.tex
-w, --overwrite
overwrite the current file; a backup will be made, but still be careful
+ -wd, --overwriteIfDifferent
+ overwrite the current file IF the indented text is different from original;
+ a backup will be made, but still be careful
-s, --silent
silent mode: no output will be given to the terminal
-t, --trace
@@ -103,6 +106,9 @@ usage: latexindent.pl [options] [file]
only operate on selected lines; sample usage:
latexindent.pl --lines 3-5 myfile.tex
latexindent.pl --lines 3-5,7-10 myfile.tex
+ --GCString
+ loads the Unicode::GCString module for the align-at-ampersand routine
+ Note: this requires the Unicode::GCString module to be installed on your system
ENDQUOTE
;
exit(0);
@@ -110,6 +116,7 @@ ENDQUOTE
# if we've made it this far, the processing of switches and logging begins
my $self = shift;
+ my @fileNames = @{$_[0]};
$logger = LatexIndent::Logger->new();
@@ -134,7 +141,16 @@ ENDQUOTE
$logger->info($time);
if (${$self}{fileName} ne "-"){
- $logger->info("Filename: ${$self}{fileName}");
+ # multiple filenames or not
+ if ( (scalar (@fileNames)) >1 ){
+ $logger->info("Filenames:");
+ foreach (@fileNames) {
+ $logger->info(" $_");
+ }
+ $logger->info("total number of files: ".(scalar (@fileNames)));
+ } else {
+ $logger->info("Filename: ${$self}{fileName}");
+ }
} else {
$logger->info("Reading input from STDIN");
if (-t STDIN) {
@@ -155,7 +171,8 @@ ENDQUOTE
$logger->info("-tt|--ttrace: TTrace mode active (you have used either -tt or --ttrace)") if($switches{ttrace});
$logger->info("-s|--silent: Silent mode active (you have used either -s or --silent)") if($switches{silentMode});
$logger->info("-d|--onlydefault: Only defaultSettings.yaml will be used (you have used either -d or --onlydefault)") if($switches{onlyDefault});
- $logger->info("-w|--overwrite: Overwrite mode active, will make a back up of ${$self}{fileName} first") if($switches{overwrite});
+ $logger->info("-w|--overwrite: Overwrite mode active, will make a back up before overwriting") if($switches{overwrite});
+ $logger->info("-wd|--overwriteIfDifferent: will overwrite ONLY if indented text is different") if($switches{overwriteIfDifferent});
$logger->info("-l|--localSettings: Read localSettings YAML file") if($switches{readLocalSettings});
$logger->info("-y|--yaml: YAML settings specified via command line") if($switches{yaml});
$logger->info("-o|--outputfile: output to file") if($switches{outputToFile});
@@ -167,18 +184,58 @@ ENDQUOTE
$logger->info("-k|--check mode: will exit with 0 if document body unchanged, 1 if changed") if($switches{check});
$logger->info("-kv|--check mode verbose: as in check mode, but outputs diff to screen") if($switches{checkverbose});
$logger->info("-n|--lines mode: will only operate on specific lines $switches{lines}") if($switches{lines});
+ $logger->info("--GCString switch active, loading Unicode::GCString module") if($switches{GCString});
# check if overwrite and outputfile are active similtaneously
if($switches{overwrite} and $switches{outputToFile}){
- $logger->info("Options check, -w and -o specified\nYou have called latexindent.pl with both -o and -w\noutput to file) will take priority, and -w (over write) will be ignored");
+ $logger->info("*Options check: -w and -o specified");
+ $logger->info("You have called latexindent.pl with both -o and -w");
+ $logger->info("The -o switch will take priority, and -w (overwrite) will be ignored");
+ $switches{overwrite}=0;
+ }
+
+ # check if overwrite and outputfile are active similtaneously
+ if($switches{overwrite} and $switches{overwriteIfDifferent}){
+ $logger->info("*Options check: -w and -wd specified");
+ $logger->info("You have called latexindent.pl with both -w and -wd.");
+ $logger->info("The -wd switch will take priority, and -w (overwrite) will be ignored");
$switches{overwrite}=0;
}
- $logger->info("*Directory for backup files and $logfileName: ${$self}{cruftDirectory}");
+ # check if overwriteIfDifferent and outputfile are active similtaneously
+ if($switches{overwriteIfDifferent} and $switches{outputToFile}){
+ $logger->info("*Options check: -wd and -o specified");
+ $logger->info("You have called latexindent.pl with both -o and -wd");
+ $logger->info("The -o switch will take priority, and -wd (overwriteIfDifferent) will be ignored");
+ $switches{overwriteIfDifferent}=0;
+ }
+
+ # multiple files with the -o switch needs care
+ #
+ # example
+ #
+ # latexindent.pl *.tex -o myfile.tex
+ #
+ # would result in only the final file being written to myfile.tex
+ #
+ # So, if -o switch does *not* match having a + symbol at the beginning, then
+ # we ignore it, and turn it off
+ #
+ if ( (scalar @fileNames>1) and $switches{outputToFile} and ($switches{outputToFile} !~ m/^h*\+/) ){
+ $logger->warn("*-o switch specified as single file, but multiple files given as input");
+ $logger->warn("ignoring your specification -o $switches{outputToFile}");
+ $logger->warn("perhaps you migh specify it using, for example, -o=++ or -o=+myoutput");
+ $switches{outputToFile} =0;
+ }
+
+ $logger->info("*Directory for backup files and $logfileName:");
+ $logger->info("${$self}{cruftDirectory}");
# output location of modules
if($FindBin::Script eq 'latexindent.pl' or ($FindBin::Script eq 'latexindent.exe' and $switches{trace} )) {
- my @listOfModules = ('FindBin', 'YAML::Tiny', 'File::Copy', 'File::Basename', 'Getopt::Long','File::HomeDir','Unicode::GCString');
+ my @listOfModules = ('FindBin', 'YAML::Tiny', 'File::Copy', 'File::Basename', 'Getopt::Long','File::HomeDir');
+ push(@listOfModules,'Unicode::GCString') if $switches{GCString};
+
$logger->info("*Perl modules are being loaded from the following directories:");
foreach my $moduleName (@listOfModules) {
(my $file = $moduleName) =~ s|::|/|g;
diff --git a/support/latexindent/LatexIndent/Logger.pm b/support/latexindent/LatexIndent/Logger.pm
index d3f9d0f48d..ebad76a2d5 100644
--- a/support/latexindent/LatexIndent/Logger.pm
+++ b/support/latexindent/LatexIndent/Logger.pm
@@ -26,6 +26,7 @@ our @logFileLines;
sub info{
my $self = shift;
my $logfileline = shift;
+ return unless (defined $logfileline);
if ($logfileline =~ m/^\*/s){
$logfileline =~ s/^\*/INFO: /s;
$logfileline =~ s/^/ /mg;
diff --git a/support/latexindent/LatexIndent/ModifyLineBreaks.pm b/support/latexindent/LatexIndent/ModifyLineBreaks.pm
index 63f6c2d03f..4d3356183b 100644
--- a/support/latexindent/LatexIndent/ModifyLineBreaks.pm
+++ b/support/latexindent/LatexIndent/ModifyLineBreaks.pm
@@ -272,6 +272,7 @@ sub verbatim_modify_line_breaks{
${$self}{body} =~ s/\h*${$child}{id}/$trailingCharacterToken\n${$child}{id}/s;
}
}
+
# after text wrap poly-switch check
if ($input{when} eq "afterTextWrap"){
$logger->trace("*post text wrap poly-switch check for EndFinishesWithLineBreak") if $is_t_switch_active ;
diff --git a/support/latexindent/LatexIndent/Sentence.pm b/support/latexindent/LatexIndent/Sentence.pm
index 9370f55886..f2120ee7f8 100644
--- a/support/latexindent/LatexIndent/Sentence.pm
+++ b/support/latexindent/LatexIndent/Sentence.pm
@@ -192,18 +192,19 @@ sub one_sentence_per_line{
my $trailing = ($5?$5:q()).($6?$6:q()).($7?$7:q());
my $lineBreaksAtEnd = ($6? 1 : ($7?1:0) );
my $trailingComments = q();
- # remove trailing comments from within the body of the sentence
if (${$mainSettings{modifyLineBreaks}{oneSentencePerLine}}{removeSentenceLineBreaks}){
+ # remove trailing comments from within the body of the sentence
while($middle =~ m|$trailingCommentRegExp|){
$middle =~ s|\h*($trailingCommentRegExp)||s;
$trailingComments .= $1;
}
+ # remove line breaks from within a sentence
+ $middle =~ s|
+ (?!\A) # not at the *beginning* of a match
+ (\h*)\R # possible horizontal space, then line break
+ |$1?$1:" ";|esgx
}
- # remove line breaks from within a sentence
- $middle =~ s|
- (?!\A) # not at the *beginning* of a match
- (\h*)\R # possible horizontal space, then line break
- |$1?$1:" ";|esgx if ${$mainSettings{modifyLineBreaks}{oneSentencePerLine}}{removeSentenceLineBreaks};
+ $middle =~ s|\h{2,}| |sg if ${$mainSettings{modifyLineBreaks}{oneSentencePerLine}}{multipleSpacesToSingle};
$middle =~ s|$tokens{blanklines}\h*\R?|$tokens{blanklines}\n|sg;
$logger->trace("follows: $beginning") if $is_tt_switch_active;
$logger->trace("sentence: $middle") if $is_tt_switch_active;
diff --git a/support/latexindent/LatexIndent/TrailingComments.pm b/support/latexindent/LatexIndent/TrailingComments.pm
index 82ff154c87..8bab5bc130 100644
--- a/support/latexindent/LatexIndent/TrailingComments.pm
+++ b/support/latexindent/LatexIndent/TrailingComments.pm
@@ -54,6 +54,9 @@ sub add_comment_symbol{
sub remove_trailing_comments{
my $self = shift;
+
+ $commentCounter = 0;
+
$logger->trace("*Storing trailing comments")if $is_t_switch_active;
my $notPreceededBy = qr/${${$mainSettings{fineTuning}}{trailingComments}}{notPreceededBy}/;
diff --git a/support/latexindent/LatexIndent/Version.pm b/support/latexindent/LatexIndent/Version.pm
index 7727a270e9..dd996edb7f 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.16';
-our $versionDate = '2022-03-13';
+our $versionNumber = '3.17';
+our $versionDate = '2022-03-25';
1
diff --git a/support/latexindent/LatexIndent/Wrap.pm b/support/latexindent/LatexIndent/Wrap.pm
index a2b8383d94..45a30fb2d0 100644
--- a/support/latexindent/LatexIndent/Wrap.pm
+++ b/support/latexindent/LatexIndent/Wrap.pm
@@ -18,6 +18,7 @@ use strict;
use warnings;
use Text::Wrap;
use LatexIndent::Tokens qw/%tokens/;
+use LatexIndent::AlignmentAtAmpersand qw/get_column_width/;
use LatexIndent::TrailingComments qw/$trailingCommentRegExp/;
use LatexIndent::GetYamlSettings qw/%mainSettings/;
use LatexIndent::Switches qw/$is_t_switch_active $is_tt_switch_active $is_m_switch_active/;
@@ -266,7 +267,7 @@ sub text_wrap{
if($textWrapBlockStorageValue =~m/$verbatimID/s){
# measure length
- my $verbatimLength = Unicode::GCString->new($verbatimThing)->columns();
+ my $verbatimLength = &get_column_width($verbatimThing);
# create temporary ID, and check that it is not contained in the body
my $verbatimTmpID = join '' => map $set[rand @set], 1 .. $verbatimLength;
diff --git a/support/latexindent/README b/support/latexindent/README
index e84183e4ce..f14bb236a2 100644
--- a/support/latexindent/README
+++ b/support/latexindent/README
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- latexindent.pl, version 3.16, 2022-03-13
+ latexindent.pl, version 3.17, 2022-03-25
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 fabc5f5b6e..06da354c86 100644
--- a/support/latexindent/defaultSettings.yaml
+++ b/support/latexindent/defaultSettings.yaml
@@ -1,4 +1,4 @@
-# defaultSettings.yaml for latexindent.pl, version 3.16, 2022-03-13
+# defaultSettings.yaml for latexindent.pl, version 3.17, 2022-03-25
# a script that aims to
# beautify .tex, .sty, .cls files
#
@@ -494,6 +494,7 @@ modifyLineBreaks:
oneSentencePerLine:
manipulateSentences: 0
removeSentenceLineBreaks: 1
+ multipleSpacesToSingle: 1
textWrapSentences: 0 # setting to 1 disables main textWrap routine
sentenceIndent: ""
sentencesFollow:
diff --git a/support/latexindent/documentation/latexindent-yaml-schema.json b/support/latexindent/documentation/latexindent-yaml-schema.json
index 34c9354f75..27af878680 100644
--- a/support/latexindent/documentation/latexindent-yaml-schema.json
+++ b/support/latexindent/documentation/latexindent-yaml-schema.json
@@ -2,7 +2,7 @@
"$schema": "http://json-schema.org/schema",
"$id": "latexindent-yaml-schema.json",
"title": "latexindent.pl YAML schema",
- "description": "latexindent.pl YAML schema helper, V3.16 2022-03-13",
+ "description": "latexindent.pl YAML schema helper, V3.17 2022-03-25",
"type": "object",
"properties": {
"fileExtensionPreference": {
diff --git a/support/latexindent/documentation/latexindent.pdf b/support/latexindent/documentation/latexindent.pdf
index a6623c6b94..a3bdd29e7f 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 95fa9d694a..67c9dd83d0 100644
--- a/support/latexindent/documentation/latexindent.tex
+++ b/support/latexindent/documentation/latexindent.tex
@@ -462,55 +462,55 @@
\lstdefinestyle{textWrapOptions}{
style=yaml-LST,
- firstnumber=518,linerange={518-519},
+ firstnumber=519,linerange={519-520},
numbers=left,
}
\lstdefinestyle{textWrapOptionsAll}{
style=yaml-LST,
- firstnumber=518,linerange={518-540},
+ firstnumber=519,linerange={519-541},
numbers=left,
}
\lstdefinestyle{oneSentencePerLine}{
style=yaml-LST,
- firstnumber=494,linerange={494-517},
+ firstnumber=494,linerange={494-518},
numbers=left,
}
\lstdefinestyle{sentencesFollow}{
style=yaml-LST,
- firstnumber=499,linerange={499-507},
+ firstnumber=500,linerange={500-508},
numbers=left,
}
\lstdefinestyle{sentencesBeginWith}{
style=yaml-LST,
- firstnumber=508,linerange={508-511},
+ firstnumber=509,linerange={509-512},
numbers=left,
}
\lstdefinestyle{sentencesEndWith}{
style=yaml-LST,
- firstnumber=512,linerange={512-517},
+ firstnumber=513,linerange={513-518},
numbers=left,
}
\lstdefinestyle{modifylinebreaksEnv}{
style=yaml-LST,
- firstnumber=542,linerange={542-551},
+ firstnumber=543,linerange={543-552},
numbers=left,
}
\lstdefinestyle{replacements}{
style=yaml-LST,
- firstnumber=603,linerange={603-611},
+ firstnumber=604,linerange={604-612},
numbers=left,
}
\lstdefinestyle{fineTuning}{
style=yaml-LST,
- firstnumber=614,linerange={614-639},
+ firstnumber=615,linerange={615-640},
numbers=left,
}
diff --git a/support/latexindent/documentation/sec-appendices.tex b/support/latexindent/documentation/sec-appendices.tex
index 64f49180e9..2b3c9ecccc 100644
--- a/support/latexindent/documentation/sec-appendices.tex
+++ b/support/latexindent/documentation/sec-appendices.tex
@@ -12,9 +12,7 @@
use strict;
use warnings;
-use utf8;
use PerlIO::encoding;
-use Unicode::GCString;
use open ':std', ':encoding(UTF-8)';
use Text::Wrap;
use Text::Tabs;
@@ -63,7 +61,6 @@ sudo apt-get install curl
curl -L http://cpanmin.us | perl - App::cpanminus
cpanm YAML::Tiny
cpanm File::HomeDir
-cpanm Unicode::GCString
\end{commandshell}
\index{cpan}
@@ -74,7 +71,6 @@ sudo apt install perl
sudo cpan -i App::cpanminus
sudo cpanm YAML::Tiny
sudo cpanm File::HomeDir
-sudo cpanm Unicode::GCString
\end{commandshell}
or else by running, for example,
\begin{commandshell}
@@ -91,6 +87,12 @@ sudo apt install texlive-latex-recommended
\begin{commandshell}
sudo apt install texlive-extra-utils
\end{commandshell}
+ \paragraph{Arch-based distributions}
+ First install the dependencies
+ \begin{commandshell}
+sudo pacman -S perl cpanminus
+\end{commandshell}
+ then run the latexindent-module-installer.pl file located at helper-scripts/
\paragraph{Alpine}
If you are using Alpine, some \texttt{Perl} modules are not build-compatible with Alpine,
@@ -99,6 +101,7 @@ sudo apt install texlive-extra-utils
these details.
\begin{cmhlistings}[style=tcblatex,language=Bash]{\texttt{alpine-install.sh}}{lst:alpine-install}
+
# Installing perl
apk --no-cache add miniperl perl-utils
@@ -119,7 +122,6 @@ cpanm -n App::cpanminus
cpanm -n File::HomeDir
cpanm -n Params::ValidationCompiler
cpanm -n YAML::Tiny
-cpanm -n Unicode::GCString
\end{cmhlistings}
Users of NixOS might like to see
@@ -134,7 +136,6 @@ brew install cpanm
cpanm YAML::Tiny
cpanm File::HomeDir
-cpanm Unicode::GCString
\end{commandshell}
\subsubsection{Windows}
@@ -150,6 +151,28 @@ cpanm Unicode::GCString
latexindent.exe -t myfile.tex
\end{dosprompt}
+ \subsection{The GCString switch}\label{subsec:the-GCString}
+ If you find that the \texttt{lookForAlignDelims} (as in \cref{subsec:align-at-delimiters}) does not work correctly
+ for your language, then you may with to use the \texttt{Unicode::GCString} module \announce*{2022-03-25}{Unicode::GCString}.
+ \index{perl!Unicode GCString module}
+ \index{switches!--GCString demonstration}
+
+ This can be loaded by calling \texttt{latexindent.pl} with the \texttt{GCString} switch
+ as in
+ \begin{commandshell}
+latexindent.pl --GCString myfile.tex
+\end{commandshell}
+ In this case, you will need to have the \texttt{Unicode::GCString} installed in your
+ \texttt{perl} distribution by using, for example,
+ \begin{commandshell}
+cpanm YAML::Tiny
+\end{commandshell}
+
+ Note: this switch does \emph{nothing} for \texttt{latexindent.exe} which loads the module
+ by default. Users of \texttt{latexindent.exe} should not see any difference in behaviour
+ whether they use this switch or not, as \texttt{latexindent.exe} loads the
+ \texttt{Unicode::GCString} module.
+
\section{Updating the path variable}\label{sec:updating-path}
\texttt{latexindent.pl} has a few scripts (available at \cite{latexindent-home}) that can
update the \texttt{path} variables. Thank you to \cite{jasjuang} for this feature. If
@@ -208,6 +231,93 @@ echo %path%
To \emph{remove} the directory from your \lstinline!%path%!, run
\texttt{remove-from-path.bat} as administrator.
+ \section{Batches of files}\label{sec:batches}
+
+ You can \announce*{2022-03-25}{batches of files details} instruct \texttt{latexindent.pl}
+ to operate on multiple files. For example, the following calls are all valid
+ \begin{commandshell}
+latexindent.pl myfile1.tex
+latexindent.pl myfile1.tex myfile2.tex
+latexindent.pl myfile*.tex
+ \end{commandshell}
+
+ We note the following features of the script in relation to the switches detailed in
+ \cref{sec:how:to:use}.
+
+ \subsection{location of indent.log}
+ If the \texttt{-c} switch is \emph{not} active, then \texttt{indent.log} goes to the directory of the final file called.
+
+ If the \texttt{-c} switch \emph{is} active, then \texttt{indent.log} goes to the
+ specified directory.
+
+ \subsection{interaction with -w switch}
+ If the \texttt{-w} switch is active, as in
+ \begin{commandshell}
+latexindent.pl -w myfile*.tex
+\end{commandshell}
+ then files will be overwritten individually. Back-up files can be re-directed via the
+ \texttt{-c} switch.
+
+ \subsection{interaction with -o switch}
+ If \texttt{latexindent.pl} is called using the \texttt{-o} switch as in
+ \begin{commandshell}
+latexindent.pl myfile*.tex -o=my-output-file.tex
+ \end{commandshell}
+ and there are multiple files to operate upon, then the \texttt{-o} switch is ignored
+ because there is only \emph{one} output file specified.
+
+ More generally, if the \texttt{-o} switch does \emph{not} have a \texttt{+} symbol at the
+ beginning, then the \texttt{-o} switch will be ignored, and is turned it off.
+
+ For example
+ \begin{commandshell}
+latexindent.pl myfile*.tex -o=+myfile
+\end{commandshell}
+ \emph{will} work fine because \emph{each} \texttt{.tex} file will output to
+ \texttt{<basename>myfile.tex}
+
+ Similarly,
+ \begin{commandshell}
+latexindent.pl myfile*.tex -o=++
+\end{commandshell}
+ \emph{will} work because the `existence check/incrementation' routine will be applied.
+
+ \subsection{interaction with lines switch}
+ This behaves as expected by attempting to operate on the line numbers specified for each file. See
+ the examples in \cref{sec:line-switch}.
+
+ \subsection{interaction with check switches}
+ The exit codes for \texttt{latexindent.pl} are given in \vref{tab:exit-codes}.
+
+ When operating on multiple files with the check switch active, as in
+ \begin{commandshell}
+latexindent.pl myfile*.tex --check
+ \end{commandshell}
+ then
+ \begin{itemize}
+ \item exit code 0 means that the text from \emph{none} of the files has been changed;
+ \item exit code 1 means that the text from \emph{at least one} of the files been file changed.
+ \end{itemize}
+
+ The interaction with \texttt{checkv} switch is as in the check switch, but with verbose
+ output.
+
+ \subsection{when a file does not exist}
+ What happens if one of the files can not be operated upon?
+ \begin{itemize}
+ \item if at least one of the files does not exist and \texttt{latexindent.pl} has been called
+ to act upon multiple files, then the exit code is 3; note that \texttt{latexindent.pl}
+ will try to operate on each file that it is called upon, and will not exit with a fatal
+ message in this case;
+ \item if at least one of the files can not be read and \texttt{latexindent.pl} has been called
+ to act upon multiple files, then the exit code is 4; note that \texttt{latexindent.pl}
+ will try to operate on each file that it is called upon, and will not exit with a fatal
+ message in this case;
+ \item if \texttt{latexindent.pl} has been told to operate on multiple files, and some do not
+ exist and some cannot be read, then the exit code will be either 3 or 4, depending upon
+ which it scenario it encountered most recently.
+ \end{itemize}
+
\section{latexindent-yaml-schema.json}
\texttt{latexindent.pl}
@@ -279,7 +389,7 @@ conda run latexindent.pl -vv
\section{pre-commit}
- Users of \texttt{.git} may be interested \announce*{2022-01-21}{pre-commit for
+ Users of \texttt{.git} may be interested \announce{2022-01-21}{pre-commit for
latexindent.pl} in exploring the \texttt{pre-commit} tool \cite{pre-commithome}, which is
supported by \texttt{latexindent.pl}. Thank you to \cite{tdegeusprecommit} for
contributing this feature.
@@ -296,7 +406,7 @@ python3 -m pip install pre-commit
\end{commandshell}
I then updated my path via .bashrc so that it includes the line in
\cref{lst:bashrc-update}.
- \begin{cmhlistings}*[style=tcblatex,language=Bash]{\texttt{.bashrc} update}{lst:bashrc-update}
+ \begin{cmhlistings}[style=tcblatex,language=Bash]{\texttt{.bashrc} update}{lst:bashrc-update}
...
export PATH=$PATH:/home/cmhughes/.local/bin
\end{cmhlistings}
@@ -362,7 +472,7 @@ conda run latexindent.pl -s myfile.tex
\begin{example}
We use the local settings given in \cref{lst:.latexindent.yaml}.
- \begin{cmhlistings}*[style=tcblatex]{\texttt{.latexindent.yaml}}{lst:.latexindent.yaml}
+ \begin{cmhlistings}[style=tcblatex]{\texttt{.latexindent.yaml}}{lst:.latexindent.yaml}
onlyOneBackUp: 1
modifyLineBreaks:
@@ -389,8 +499,7 @@ latexindent.pl -l -m -s -w myfile.tex
was specified to only create one back-up file, as \texttt{git} typically takes care of
this when you use \texttt{pre-commit});
\item \texttt{-m} to modify line breaks; in addition to \texttt{-s} to suppress command-line
- output,
- and \texttt{-w} to format files in place.
+ output, and \texttt{-w} to format files in place.
\end{itemize}
\end{example}
diff --git a/support/latexindent/documentation/sec-default-user-local.tex b/support/latexindent/documentation/sec-default-user-local.tex
index 94fbdce46c..d49823eb52 100644
--- a/support/latexindent/documentation/sec-default-user-local.tex
+++ b/support/latexindent/documentation/sec-default-user-local.tex
@@ -354,7 +354,7 @@ removeTrailingWhitespace: 1
\texttt{afterProcessing} to the value you specify; see
\cref{lst:removeTrailingWhitespace-alt}.%
-\subsection{Aligning at delimiters}
+\subsection{Aligning at delimiters}\label{subsec:align-at-delimiters}
\yamltitle{lookForAlignDelims}*{fields}
This contains a list of code blocks that are operated upon in a special way by
\texttt{latexindent.pl} (see \cref{lst:aligndelims:basic}). In fact, the fields in
diff --git a/support/latexindent/documentation/sec-how-to-use.tex b/support/latexindent/documentation/sec-how-to-use.tex
index 944a38292c..2ff75c8b1f 100644
--- a/support/latexindent/documentation/sec-how-to-use.tex
+++ b/support/latexindent/documentation/sec-how-to-use.tex
@@ -1,5 +1,5 @@
% arara: pdflatex: { files: [latexindent]}
-\section{How to use the script}
+\section{How to use the script}\label{sec:how:to:use}
\texttt{latexindent.pl} ships as part of the \TeX Live distribution for
Linux and Mac users; \texttt{latexindent.exe} ships as part of the \TeX Live for Windows
users. These files are also available from github \cite{latexindent-home} should you wish
@@ -48,7 +48,7 @@ latexindent.pl --version
\flagbox{-vv, --vversion}
\index{switches!-vv, --vversion definition and details}
- \announce*{2022-01-08}{vversion switch}
+ \announce{2022-01-08}{vversion switch}
\begin{commandshell}
latexindent.pl -vv
latexindent.pl --vversion
@@ -74,6 +74,13 @@ latexindent.pl myfile.tex
\texttt{myfile.tex} will not be changed by \texttt{latexindent.pl} in any way using this
command.
+ You can \announce*{2022-03-25}{batches of files demonstration} instruct
+ \texttt{latexindent.pl} to operate on multiple (batches) of files, for example
+ \begin{commandshell}
+latexindent.pl myfile1.tex myfile2.tex
+\end{commandshell}
+ Full details are given in \vref{sec:batches}.
+
\flagbox{-w, --overwrite}
\index{switches!-w, --overwrite definition and details}
\index{backup files!overwrite switch, -w}
@@ -93,6 +100,24 @@ latexindent.pl myfile.tex --overwrite
touching your original file; an error message will be given asking you to check the
permissions of the backup file.
+\flagbox{-wd, --overwriteIfDifferent}
+ \index{switches!-wd, --overwriteIfDifferent definition and details}
+ \index{backup files!overwriteIfDifferent switch, -wd}
+ \announce*{2022-03-25}{overwriteIfDifferent switch}
+ \begin{commandshell}
+latexindent.pl -wd myfile.tex
+latexindent.pl --overwriteIfDifferent myfile.tex
+latexindent.pl myfile.tex --overwriteIfDifferent
+\end{commandshell}
+
+ This \emph{will} overwrite \texttt{myfile.tex} but only \emph{if the indented text is
+ different from the original}. If the indented text is \emph{not} different from the
+ original, then \texttt{myfile.tex} will \emph{not} be overwritten.
+
+ All other details from the \texttt{-w} switch are relevant here. If you call
+ \texttt{latexindent.pl} with both the \texttt{-wd} and the \texttt{-w} switch, then the
+ \texttt{-w} switch will be deactivated and the \texttt{-wd} switch takes priority.
+
\flagbox{-o=output.tex,--outputfile=output.tex}
\index{switches!-o, --output definition and details}
\begin{commandshell}
@@ -104,9 +129,12 @@ latexindent.pl --outputfile output.tex myfile.tex
This will indent \texttt{myfile.tex} and output it to \texttt{output.tex}, overwriting it
(\texttt{output.tex}) if it already exists\footnote{Users of version 2.* should note the
- subtle change in syntax}. Note that if \texttt{latexindent.pl} is called with both the
- \texttt{-w} and \texttt{-o} switches, then \texttt{-w} will be ignored and \texttt{-o}
- will take priority (this seems safer than the other way round).
+ subtle change in syntax}.
+
+ Note that if \texttt{latexindent.pl} is called with both the \texttt{-w} and \texttt{-o}
+ switches, then \texttt{-w} will be ignored and \texttt{-o} will take priority (this seems
+ safer than the other way round). The same is true for the \texttt{-wd} switch, and the
+ \texttt{-o} switch takes priority over it.
Note that using \texttt{-o} as above is equivalent to using
\begin{commandshell}
@@ -465,6 +493,16 @@ latexindent.pl -lines 5-8 myfile.tex
Complete demonstrations are given in \cref{sec:line-switch}.
+\flagbox{--GCString}
+ \index{switches!--GCString}
+ \begin{commandshell}
+latexindent.pl --GCString myfile.tex
+\end{commandshell}
+ \announce*{2022-03-25}{GCString switch} instructs \texttt{latexindent.pl} to load the
+ \texttt{Unicode::GCString} module. This should only be necessary if you find that the
+ alignment at ampersand routine (described in \cref{subsec:align-at-delimiters}) does not
+ work for your language. Further details are given in \cref{subsec:the-GCString}.
+
\subsection{From arara}\label{sec:arara}
Using \texttt{latexindent.pl} from the command line is fine for some folks, but others
may find it easier to use from \texttt{arara}; you can find the arara rule for
diff --git a/support/latexindent/documentation/subsec-one-sentence-per-line.tex b/support/latexindent/documentation/subsec-one-sentence-per-line.tex
index 37a57e8f1a..335990c30f 100644
--- a/support/latexindent/documentation/subsec-one-sentence-per-line.tex
+++ b/support/latexindent/documentation/subsec-one-sentence-per-line.tex
@@ -10,7 +10,7 @@
\index{regular expressions!lowercase alph a-z} \index{regular expressions!uppercase alph
A-Z}%
- \cmhlistingsfromfile[style=oneSentencePerLine]{../defaultSettings.yaml}[MLB-TCB,width=.85\linewidth,before=\centering]{\texttt{oneSentencePerLine}}{lst:oneSentencePerLine}
+ \cmhlistingsfromfile*[style=oneSentencePerLine]{../defaultSettings.yaml}[MLB-TCB,width=.85\linewidth,before=\centering]{\texttt{oneSentencePerLine}}{lst:oneSentencePerLine}
\yamltitle{manipulateSentences}{0|1}
This is a binary switch that details if \texttt{latexindent.pl} should perform the
@@ -55,6 +55,12 @@ latexindent.pl multiple-sentences -m -l=keep-sen-line-breaks.yaml
\cref{lst:multiple-sentences} have been removed in \cref{lst:multiple-sentences-mod1},
but have not been removed in \cref{lst:multiple-sentences-mod2}.
+\yamltitle{multipleSpacesToSingle}{0|1}
+ \announce*{2022-03-25}*{multipleSpacesToSingle for oneSentencePerLine} By default, the
+ one-sentence-per-line routine will convert multiple spaces into single spaces. You can
+ change this behaviour by changing the switch \texttt{multipleSpacesToSingle} to a value
+ of \texttt{0}.
+
The remainder of the settings displayed in \vref{lst:oneSentencePerLine} instruct
\texttt{latexindent.pl} on how to define a sentence. From the perspective of
\texttt{latexindent.pl} a sentence must: \index{sentences!follow} \index{sentences!begin
diff --git a/support/latexindent/documentation/subsec-text-wrap.tex b/support/latexindent/documentation/subsec-text-wrap.tex
index 2b4c96539e..61a1c21628 100644
--- a/support/latexindent/documentation/subsec-text-wrap.tex
+++ b/support/latexindent/documentation/subsec-text-wrap.tex
@@ -1,12 +1,12 @@
% arara: pdflatex: { files: [latexindent]}
\subsection{Text Wrapping}\label{subsec:textwrapping}
- \announce*{2022-03-13}{text wrap overhaul}\emph{The text wrapping routine has been over-hauled as
+ \announce{2022-03-13}{text wrap overhaul}\emph{The text wrapping routine has been over-hauled as
of V3.16; I hope that the interface is simpler, and most importantly, the results are
better}.
The complete settings for this feature are given in \cref{lst:textWrapOptionsAll}.
- \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}
\subsubsection{Text wrap: overview}
An overview of how the text wrapping feature works:
@@ -37,7 +37,7 @@
\begin{example}
Let's use the sample text given in \cref{lst:textwrap1}. \index{text wrap!quick start}
- \cmhlistingsfromfile*{demonstrations/textwrap1.tex}{\texttt{textwrap1.tex}}{lst:textwrap1}
+ \cmhlistingsfromfile{demonstrations/textwrap1.tex}{\texttt{textwrap1.tex}}{lst:textwrap1}
We will change the value of \texttt{columns} in \cref{lst:textwrap1-yaml} and then run
the command
@@ -47,8 +47,8 @@ latexindent.pl -m -l textwrap1.yaml textwrap1.tex
then we receive the output given in \cref{lst:textwrap1-mod1}.
\begin{cmhtcbraster}[raster column skip=.1\linewidth]
- \cmhlistingsfromfile*{demonstrations/textwrap1-mod1.tex}{\texttt{textwrap1-mod1.tex}}{lst:textwrap1-mod1}
- \cmhlistingsfromfile*{demonstrations/textwrap1.yaml}[MLB-TCB]{\texttt{textwrap1.yaml}}{lst:textwrap1-yaml}
+ \cmhlistingsfromfile{demonstrations/textwrap1-mod1.tex}{\texttt{textwrap1-mod1.tex}}{lst:textwrap1-mod1}
+ \cmhlistingsfromfile{demonstrations/textwrap1.yaml}[MLB-TCB]{\texttt{textwrap1.yaml}}{lst:textwrap1-yaml}
\end{cmhtcbraster}
\end{example}
@@ -60,7 +60,7 @@ latexindent.pl -m -l textwrap1.yaml textwrap1.tex
Starting from the file in \cref{lst:textwrap1-mod1} and using the settings in
\cref{lst:textwrap1A-yaml}
- \cmhlistingsfromfile*{demonstrations/textwrap1A.yaml}[MLB-TCB]{\texttt{textwrap1A.yaml}}{lst:textwrap1A-yaml}
+ \cmhlistingsfromfile{demonstrations/textwrap1A.yaml}[MLB-TCB]{\texttt{textwrap1A.yaml}}{lst:textwrap1A-yaml}
and running
\begin{commandshell}
@@ -68,7 +68,7 @@ latexindent.pl -m -l textwrap1A.yaml textwrap1-mod1.tex
\end{commandshell}
gives the output in \cref{lst:textwrap1-mod1A}.
- \cmhlistingsfromfile*{demonstrations/textwrap1-mod1A.tex}{\texttt{textwrap1-mod1A.tex}}{lst:textwrap1-mod1A}
+ \cmhlistingsfromfile{demonstrations/textwrap1-mod1A.tex}{\texttt{textwrap1-mod1A.tex}}{lst:textwrap1-mod1A}
\end{example}
\begin{example}
@@ -82,8 +82,8 @@ latexindent.pl -m -l textwrap1B.yaml textwrap1-mod1.tex
\end{commandshell}
gives the output in \cref{lst:textwrap1-mod1B}.
\begin{cmhtcbraster}[raster column skip=.1\linewidth]
- \cmhlistingsfromfile*{demonstrations/textwrap1B.yaml}[MLB-TCB]{\texttt{textwrap1B.yaml}}{lst:textwrap1B-yaml}
- \cmhlistingsfromfile*[showspaces=true]{demonstrations/textwrap1-mod1B.tex}{\texttt{textwrap1-mod1B.tex}}{lst:textwrap1-mod1B}
+ \cmhlistingsfromfile{demonstrations/textwrap1B.yaml}[MLB-TCB]{\texttt{textwrap1B.yaml}}{lst:textwrap1B-yaml}
+ \cmhlistingsfromfile[showspaces=true]{demonstrations/textwrap1-mod1B.tex}{\texttt{textwrap1-mod1B.tex}}{lst:textwrap1-mod1B}
\end{cmhtcbraster}
We note that in \cref{lst:textwrap1-mod1B} the multiple spaces have \emph{not} been condensed into single spaces.
\end{example}
@@ -92,11 +92,11 @@ latexindent.pl -m -l textwrap1B.yaml textwrap1-mod1.tex
We examine the \texttt{blocksFollow} field of \cref{lst:textWrapOptionsAll}. \index{text
wrap!blocksFollow}
- \begin{example}[label={example:tw:headings}]
+ \begin{example}
Let's use the sample text given in \cref{lst:tw-headings1}. \index{text
wrap!blocksFollow!headings}
- \cmhlistingsfromfile*{demonstrations/tw-headings1.tex}{\texttt{tw-headings1.tex}}{lst:tw-headings1}
+ \cmhlistingsfromfile{demonstrations/tw-headings1.tex}{\texttt{tw-headings1.tex}}{lst:tw-headings1}
We note that \cref{lst:tw-headings1} contains the heading commands \texttt{section} and
\texttt{subsection}. Upon running the command
@@ -105,7 +105,7 @@ latexindent.pl -m -l textwrap1.yaml tw-headings1.tex
\end{commandshell}
then we receive the output given in \cref{lst:tw-headings1-mod1}.
- \cmhlistingsfromfile*{demonstrations/tw-headings1-mod1.tex}{\texttt{tw-headings1-mod1.tex}}{lst:tw-headings1-mod1}
+ \cmhlistingsfromfile{demonstrations/tw-headings1-mod1.tex}{\texttt{tw-headings1-mod1.tex}}{lst:tw-headings1-mod1}
We reference \vref{lst:textWrapOptionsAll} and also \vref{lst:indentAfterHeadings}:
\begin{itemize}
@@ -128,15 +128,16 @@ latexindent.pl -m -l textwrap1.yaml,bf-no-headings.yaml tw-headings1.tex
raster left skip=-3.5cm,
raster right skip=-2cm,
]
- \cmhlistingsfromfile*{demonstrations/bf-no-headings.yaml}[MLB-TCB]{\texttt{bf-no-headings.yaml}}{lst:bf-no-headings-yaml}
- \cmhlistingsfromfile*{demonstrations/tw-headings1-mod2.tex}{\texttt{tw-headings1-mod2.tex}}{lst:tw-headings1-mod2}
+ \cmhlistingsfromfile{demonstrations/bf-no-headings.yaml}[MLB-TCB]{\texttt{bf-no-headings.yaml}}{lst:bf-no-headings-yaml}
+ \cmhlistingsfromfile{demonstrations/tw-headings1-mod2.tex}{\texttt{tw-headings1-mod2.tex}}{lst:tw-headings1-mod2}
\end{cmhtcbraster}
\end{example}
- \begin{example}[label={example:tw:comments}]
- Let's use the sample text given in \cref{lst:tw-comments1}. \index{text wrap!blocksFollow!comments}
+ \begin{example}
+ Let's use the sample text given in \cref{lst:tw-comments1}. \index{text
+ wrap!blocksFollow!comments}
- \cmhlistingsfromfile*{demonstrations/tw-comments1.tex}{\texttt{tw-comments1.tex}}{lst:tw-comments1}
+ \cmhlistingsfromfile{demonstrations/tw-comments1.tex}{\texttt{tw-comments1.tex}}{lst:tw-comments1}
We note that \cref{lst:tw-comments1} contains trailing comments. Upon running the command
\begin{commandshell}
@@ -144,7 +145,7 @@ latexindent.pl -m -l textwrap1.yaml tw-comments1.tex
\end{commandshell}
then we receive the output given in \cref{lst:tw-comments1-mod1}.
- \cmhlistingsfromfile*{demonstrations/tw-comments1-mod1.tex}{\texttt{tw-comments1-mod1.tex}}{lst:tw-comments1-mod1}
+ \cmhlistingsfromfile{demonstrations/tw-comments1-mod1.tex}{\texttt{tw-comments1-mod1.tex}}{lst:tw-comments1-mod1}
With reference to \vref{lst:textWrapOptionsAll} the \texttt{commentOnPreviousLine} field
is set to \texttt{1}, which instructs \texttt{latexindent.pl} to find text wrap blocks
@@ -160,8 +161,8 @@ latexindent.pl -m -l textwrap1.yaml,bf-no-comments.yaml tw-comments1.tex
raster left skip=-3.5cm,
raster right skip=-2cm,
]
- \cmhlistingsfromfile*{demonstrations/bf-no-comments.yaml}[MLB-TCB]{\texttt{bf-no-comments.yaml}}{lst:bf-no-comments-yaml}
- \cmhlistingsfromfile*{demonstrations/tw-comments1-mod2.tex}{\texttt{tw-comments1-mod2.tex}}{lst:tw-comments1-mod2}
+ \cmhlistingsfromfile{demonstrations/bf-no-comments.yaml}[MLB-TCB]{\texttt{bf-no-comments.yaml}}{lst:bf-no-comments-yaml}
+ \cmhlistingsfromfile{demonstrations/tw-comments1-mod2.tex}{\texttt{tw-comments1-mod2.tex}}{lst:tw-comments1-mod2}
\end{cmhtcbraster}
\end{example}
@@ -179,7 +180,7 @@ latexindent.pl -m -l textwrap1.yaml,bf-no-comments.yaml tw-comments1.tex
Let's use the sample text given in \cref{lst:tw-disp-math1}. \index{text
wrap!blocksFollow!other} \index{regular expressions!text wrap!blocksFollow}
- \cmhlistingsfromfile*{demonstrations/tw-disp-math1.tex}{\texttt{tw-disp-math1.tex}}{lst:tw-disp-math1}
+ \cmhlistingsfromfile{demonstrations/tw-disp-math1.tex}{\texttt{tw-disp-math1.tex}}{lst:tw-disp-math1}
We note that \cref{lst:tw-disp-math1} contains display math. Upon running the command
\begin{commandshell}
@@ -187,7 +188,7 @@ latexindent.pl -m -l textwrap1.yaml tw-disp-math1.tex
\end{commandshell}
then we receive the output given in \cref{lst:tw-disp-math1-mod1}.
- \cmhlistingsfromfile*{demonstrations/tw-disp-math1-mod1.tex}{\texttt{tw-disp-math1-mod1.tex}}{lst:tw-disp-math1-mod1}
+ \cmhlistingsfromfile{demonstrations/tw-disp-math1-mod1.tex}{\texttt{tw-disp-math1-mod1.tex}}{lst:tw-disp-math1-mod1}
With reference to \vref{lst:textWrapOptionsAll} the \texttt{other} field is set to
\lstinline!\\\]!, which instructs \texttt{latexindent.pl} to find text wrap blocks after
@@ -202,8 +203,8 @@ latexindent.pl -m -l textwrap1.yaml,bf-no-disp-math.yaml tw-disp-math1.tex
gives the output in \cref{lst:tw-disp-math1-mod2}, in which text wrapping has been
instructed \emph{not to happen} following display math.
\begin{cmhtcbraster}[raster column skip=.1\linewidth]
- \cmhlistingsfromfile*{demonstrations/bf-no-disp-math.yaml}[MLB-TCB]{\texttt{bf-no-disp-math.yaml}}{lst:bf-no-disp-math-yaml}
- \cmhlistingsfromfile*{demonstrations/tw-disp-math1-mod2.tex}{\texttt{tw-disp-math1-mod2.tex}}{lst:tw-disp-math1-mod2}
+ \cmhlistingsfromfile{demonstrations/bf-no-disp-math.yaml}[MLB-TCB]{\texttt{bf-no-disp-math.yaml}}{lst:bf-no-disp-math-yaml}
+ \cmhlistingsfromfile{demonstrations/tw-disp-math1-mod2.tex}{\texttt{tw-disp-math1-mod2.tex}}{lst:tw-disp-math1-mod2}
\end{cmhtcbraster}
Naturally, you should feel encouraged to customise this as you see fit.
@@ -218,7 +219,7 @@ latexindent.pl -m -l textwrap1.yaml,bf-no-disp-math.yaml tw-disp-math1.tex
Let's use the sample text given in \cref{lst:tw-bf-myenv1}. \index{text
wrap!blocksFollow!other} \index{regular expressions!text wrap!blocksFollow}
- \cmhlistingsfromfile*{demonstrations/tw-bf-myenv1.tex}{\texttt{tw-bf-myenv1.tex}}{lst:tw-bf-myenv1}
+ \cmhlistingsfromfile{demonstrations/tw-bf-myenv1.tex}{\texttt{tw-bf-myenv1.tex}}{lst:tw-bf-myenv1}
We note that \cref{lst:tw-bf-myenv1} contains \texttt{myenv} environment. Upon running
the command
@@ -227,7 +228,7 @@ latexindent.pl -m -l textwrap1.yaml tw-bf-myenv1.tex
\end{commandshell}
then we receive the output given in \cref{lst:tw-bf-myenv1-mod1}.
- \cmhlistingsfromfile*{demonstrations/tw-bf-myenv1-mod1.tex}{\texttt{tw-bf-myenv1-mod1.tex}}{lst:tw-bf-myenv1-mod1}
+ \cmhlistingsfromfile{demonstrations/tw-bf-myenv1-mod1.tex}{\texttt{tw-bf-myenv1-mod1.tex}}{lst:tw-bf-myenv1-mod1}
We note that we have \emph{not} received much text wrapping. We can turn do better by
employing \cref{lst:tw-bf-myenv-yaml} and then run
@@ -240,8 +241,8 @@ latexindent.pl -m -l textwrap1.yaml,tw-bf-myenv.yaml tw-bf-myenv1.tex
raster left skip=-3.5cm,
raster right skip=-2cm,
]
- \cmhlistingsfromfile*{demonstrations/tw-bf-myenv.yaml}[MLB-TCB]{\texttt{tw-bf-myenv.yaml}}{lst:tw-bf-myenv-yaml}
- \cmhlistingsfromfile*{demonstrations/tw-bf-myenv1-mod2.tex}{\texttt{tw-bf-myenv1-mod2.tex}}{lst:tw-bf-myenv1-mod2}
+ \cmhlistingsfromfile{demonstrations/tw-bf-myenv.yaml}[MLB-TCB]{\texttt{tw-bf-myenv.yaml}}{lst:tw-bf-myenv-yaml}
+ \cmhlistingsfromfile{demonstrations/tw-bf-myenv1-mod2.tex}{\texttt{tw-bf-myenv1-mod2.tex}}{lst:tw-bf-myenv1-mod2}
\end{cmhtcbraster}
\end{example}
@@ -254,14 +255,14 @@ latexindent.pl -m -l textwrap1.yaml,tw-bf-myenv.yaml tw-bf-myenv1.tex
By default, text wrap blocks can begin with the characters \texttt{a-z} and \texttt{A-Z}.
If we start with the file given in \cref{lst:tw-0-9}
- \cmhlistingsfromfile*{demonstrations/tw-0-9.tex}{\texttt{tw-0-9.tex}}{lst:tw-0-9}
+ \cmhlistingsfromfile{demonstrations/tw-0-9.tex}{\texttt{tw-0-9.tex}}{lst:tw-0-9}
and run the command
\begin{commandshell}
latexindent.pl -m -l textwrap1.yaml tw-0-9.tex
\end{commandshell}
then we receive the output given in \cref{lst:tw-0-9-mod1} in which text wrapping has
\emph{not} occured.
- \cmhlistingsfromfile*{demonstrations/tw-0-9-mod1.tex}{\texttt{tw-0-9-mod1.tex}}{lst:tw-0-9-mod1}
+ \cmhlistingsfromfile{demonstrations/tw-0-9-mod1.tex}{\texttt{tw-0-9-mod1.tex}}{lst:tw-0-9-mod1}
We can allow paragraphs to begin with \texttt{0-9} characters by using the settings in
\cref{lst:bb-0-9-yaml} and running
@@ -270,14 +271,14 @@ latexindent.pl -m -l textwrap1.yaml,bb-0-9-yaml tw-0-9.tex
\end{commandshell}
gives the output in \cref{lst:tw-0-9-mod2}, in which text wrapping \emph{has} happened.
\begin{cmhtcbraster}[raster column skip=.1\linewidth,]
- \cmhlistingsfromfile*{demonstrations/bb-0-9.yaml}[MLB-TCB]{\texttt{bb-0-9.yaml.yaml}}{lst:bb-0-9-yaml}
- \cmhlistingsfromfile*{demonstrations/tw-0-9-mod2.tex}{\texttt{tw-0-9-mod2.tex}}{lst:tw-0-9-mod2}
+ \cmhlistingsfromfile{demonstrations/bb-0-9.yaml}[MLB-TCB]{\texttt{bb-0-9.yaml.yaml}}{lst:bb-0-9-yaml}
+ \cmhlistingsfromfile{demonstrations/tw-0-9-mod2.tex}{\texttt{tw-0-9-mod2.tex}}{lst:tw-0-9-mod2}
\end{cmhtcbraster}
\end{example}
\begin{example}
Let's now use the file given in \cref{lst:tw-bb-announce1}
- \cmhlistingsfromfile*{demonstrations/tw-bb-announce1.tex}{\texttt{tw-bb-announce1.tex}}{lst:tw-bb-announce1}
+ \cmhlistingsfromfile{demonstrations/tw-bb-announce1.tex}{\texttt{tw-bb-announce1.tex}}{lst:tw-bb-announce1}
and run the command
\begin{commandshell}
latexindent.pl -m -l textwrap1.yaml tw-bb-announce1.tex
@@ -285,7 +286,7 @@ latexindent.pl -m -l textwrap1.yaml tw-bb-announce1.tex
then we receive the output given in \cref{lst:tw-bb-announce1-mod1} in which text
wrapping has \emph{not} occured.
- \cmhlistingsfromfile*{demonstrations/tw-bb-announce1-mod1.tex}{\texttt{tw-bb-announce1-mod1.tex}}{lst:tw-bb-announce1-mod1}
+ \cmhlistingsfromfile{demonstrations/tw-bb-announce1-mod1.tex}{\texttt{tw-bb-announce1-mod1.tex}}{lst:tw-bb-announce1-mod1}
We can allow \lstinline!\announce! to be at the beginning of paragraphs by using the
settings in \cref{lst:tw-bb-announce-yaml} and running
@@ -297,8 +298,8 @@ latexindent.pl -m -l textwrap1.yaml,tw-bb-announce.yaml tw-bb-announce1.tex
gives the output in \cref{lst:tw-bb-announce1-mod2}, in which text wrapping \emph{has}
happened.
\begin{cmhtcbraster}[raster column skip=.1\linewidth,]
- \cmhlistingsfromfile*{demonstrations/tw-bb-announce.yaml}[MLB-TCB]{\texttt{tw-bb-announce.yaml}}{lst:tw-bb-announce-yaml}
- \cmhlistingsfromfile*{demonstrations/tw-bb-announce1-mod2.tex}{\texttt{tw-bb-announce1-mod2.tex}}{lst:tw-bb-announce1-mod2}
+ \cmhlistingsfromfile{demonstrations/tw-bb-announce.yaml}[MLB-TCB]{\texttt{tw-bb-announce.yaml}}{lst:tw-bb-announce-yaml}
+ \cmhlistingsfromfile{demonstrations/tw-bb-announce1-mod2.tex}{\texttt{tw-bb-announce1-mod2.tex}}{lst:tw-bb-announce1-mod2}
\end{cmhtcbraster}
\end{example}
@@ -311,7 +312,7 @@ latexindent.pl -m -l textwrap1.yaml,tw-bb-announce.yaml tw-bb-announce1.tex
Let's use the sample text given in \cref{lst:tw-be-equation}. \index{text
wrap!blocksFollow!other} \index{regular expressions!text wrap!blocksFollow}
- \cmhlistingsfromfile*{demonstrations/tw-be-equation.tex}{\texttt{tw-be-equation.tex}}{lst:tw-be-equation}
+ \cmhlistingsfromfile{demonstrations/tw-be-equation.tex}{\texttt{tw-be-equation.tex}}{lst:tw-be-equation}
We note that \cref{lst:tw-be-equation} contains an environment. Upon running the command
\begin{commandshell}
@@ -319,7 +320,7 @@ latexindent.pl -m -l textwrap1A.yaml tw-be-equation.tex
\end{commandshell}
then we receive the output given in \cref{lst:tw-be-equation-mod1}.
- \cmhlistingsfromfile*{demonstrations/tw-be-equation-mod1.tex}{\texttt{tw-be-equation-mod1.tex}}{lst:tw-be-equation-mod1}
+ \cmhlistingsfromfile{demonstrations/tw-be-equation-mod1.tex}{\texttt{tw-be-equation-mod1.tex}}{lst:tw-be-equation-mod1}
With reference to \vref{lst:textWrapOptionsAll} the \texttt{other} field is set to
\lstinline!\\begin\{|\\\[|\\end\{!, which instructs \texttt{latexindent.pl} to
@@ -335,10 +336,10 @@ latexindent.pl -m -l textwrap1A.yaml,tw-be-equation.yaml tw-be-equation.tex
gives the output in \cref{lst:tw-be-equation-mod2}, in which text wrapping has been
instructed \emph{not} to stop at these statements.
- \cmhlistingsfromfile*{demonstrations/tw-be-equation.yaml}[MLB-TCB]{\texttt{tw-be-equation.yaml}}{lst:tw-be-equation-yaml}
+ \cmhlistingsfromfile{demonstrations/tw-be-equation.yaml}[MLB-TCB]{\texttt{tw-be-equation.yaml}}{lst:tw-be-equation-yaml}
\begin{widepage}
- \cmhlistingsfromfile*{demonstrations/tw-be-equation-mod2.tex}{\texttt{tw-be-equation-mod2.tex}}{lst:tw-be-equation-mod2}
+ \cmhlistingsfromfile{demonstrations/tw-be-equation-mod2.tex}{\texttt{tw-be-equation-mod2.tex}}{lst:tw-be-equation-mod2}
\end{widepage}
Naturally, you should feel encouraged to customise this as you see fit.
diff --git a/support/latexindent/documentation/title.tex b/support/latexindent/documentation/title.tex
index 82975263d5..d31706f9dc 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.16
+ \centering\ttfamily\bfseries latexindent.pl\\[1cm] Version 3.17
\end{tcolorbox}
}
\author{Chris Hughes \thanks{and contributors!
See \vref{sec:contributors}.
For
all communication, please visit \cite{latexindent-home}.}}
-\date{2022-03-13}
+\date{2022-03-25}
\maketitle
\begin{adjustwidth}{1cm}{1cm}
\small
diff --git a/support/latexindent/latexindent.pl b/support/latexindent/latexindent.pl
index 70edb2f4a7..09134e9624 100755
--- a/support/latexindent/latexindent.pl
+++ b/support/latexindent/latexindent.pl
@@ -1,5 +1,5 @@
#!/usr/bin/env perl
-# latexindent.pl, version 3.16, 2022-03-13
+# latexindent.pl, version 3.17, 2022-03-25
#
# 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
@@ -39,6 +39,7 @@ GetOptions (
"yaml|y=s"=>\$switches{yaml},
"onlydefault|d"=>\$switches{onlyDefault},
"overwrite|w"=>\$switches{overwrite},
+ "overwriteIfDifferent|wd"=>\$switches{overwriteIfDifferent},
"outputfile|o=s"=>\$switches{outputToFile},
"modifylinebreaks|m"=>\$switches{modifyLineBreaks},
"logfile|g=s"=>\$switches{logFileName},
@@ -51,8 +52,12 @@ GetOptions (
"check|k"=>\$switches{check},
"checkv|kv"=>\$switches{checkverbose},
"lines|n=s"=>\$switches{lines},
+ "GCString"=>\$switches{GCString},
);
+# conditionally load the GCString module
+eval "use Unicode::GCString" if $switches{GCString};
+
# check local settings doesn't interfer with reading the file;
# this can happen if the script is called as follows:
#
@@ -71,6 +76,6 @@ if($switches{readLocalSettings} and scalar(@ARGV) < 1) {
# allow STDIN as input, if a filename is not present
unshift( @ARGV, '-' ) unless @ARGV;
-my $document = bless ({name=>"mainDocument",modifyLineBreaksYamlName=>"mainDocument",fileName=>$ARGV[0],switches=>\%switches},"LatexIndent::Document");
-$document->latexindent;
+my $document = bless ({name=>"mainDocument",modifyLineBreaksYamlName=>"mainDocument",switches=>\%switches},"LatexIndent::Document");
+$document->latexindent( \@ARGV );
exit(0);
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 53b722a17b..bc8bf066e9 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=1648156666
+date=1648243053
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=1bda7f77015ce545eee1949e9b745297
+lstdigest=da618b4638fb14b98b649b0c73e388f8
numpkg=5465
relstate=next
-version=8118
+version=8119
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: MBSxWzP/AaaNwi+ymhq+0l8R9Yrckp+5F+28fNJQnps8Xl0buPYNw5ggE+kihcxPEK0GxHiM8vKkj9ssAZbYiB1wXfASiiLT18HeEiSPGoLD/Z0QiJoc0yH+oZV06dgVnj8gtcAMPJkXUH8OkE/TrGMzVE6GN31uzoT2h2fG4oxM57HNdlxDTQWrPRJL2PgI1fk8/cYJTysbv5XkaED43oIhNLXOe8f8YICPq8VDECJh1A+Ct08fplHehP0aB9EYNsx9EQTHVPnbvaEqIMu7ueDEZTUXbvZsYe1UKGHU8eIDosUWon7YHN1unGwk6n5bozq6wYqAxpPRIdWwXyIxfA==
+;;;; signature/miktex: QTni4X8riJnwE2zszoX5Pj1PXftGxVsUDjuPb4JhxIaAeJEFesw8YtLXz+CBeyQon8hBoTlDuKQHxrfht1Bp7xpS4eM6lQbTZcaNlyo6rzQWsnuM9qtT+HH230N8QlHPb324ZiNrK2qd577uBerV9rGjtvkjqMVEVkgQ/uuHXi+uK18lf2gvV9s/WPKk+Nuh7Qd3Zz0fw2pKeZxlWY7o0U1UaeCzsCR4bUUmVjfaLp1LTnRcfZ2bwyt+vtDO2WE3mDlQ4RDOr36u7UPnQ9SWPL3BDTQKDk7g9rzP8E1vK4oql7aCDyWnIs6pPnxBgF8gSQlrF4VGHmEDlqnO4I0vDA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 2242b54382..e6510248f4 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1648156293
+date=1648242685
lastupd=altsubsup altsubsup__doc altsubsup__source asmeconf asmeconf__doc asmeconf__source babel-polish babel-polish__doc babel-polish__source biblatex-gb7714-2015 biblatex-gb7714-2015__doc biblatex-gb7714-2015__source bxorigcapt bxorigcapt__doc chemmacros chemmacros__doc chemmacros__source dehyph-exptl dehyph-exptl__doc dehyph-exptl__source
-lstdigest=f25a6089d7c96cde07089a58b4b71b49
+lstdigest=19575029272f8597fad2a473b6dcbacf
numpkg=5465
relstate=stable
-version=8118
+version=8119
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: Y+/wqTtsLNJsSrUNukxGMY1QF76CMGw2FuzAMEZomQ9vKR33kI68GNxvSxSvNHXtKWVjPITtNDXsNW2h7rBLEpMlTmlDCsNs51u0oJ8jojG3K5KbpF1Z24se9xQ5TPcIjl5lAQYUvbC8g4D06WjO2stBd+0UdnTRlHbHaykNoJLSpN3O+LZ+uIkFdKW84ek5nTq+TsC4G93k2rWOSXlAPITkQDrCThynbx7UT5xbWGg6lwmYS3fltQqBtwp9b4O/DXvH1aUwQb2BZeNU40W1kxjkGpmANddhS7977LSuARJFGFu0Jy0nYcvytNJdyqcvy90tFOur+MmoI3AiSPM/Aw==
+;;;; signature/miktex: WZKBWNjHpG+qK7bsu47xDfarjY6xlrO7wtp7p6fobV+8GCnS+JhtMYEe/ba9reqK9SWM53h4K5UnhTIeTPuLZQZxeUdsX6NSrZpwcdaDkMpWxrl4Z07KhXdRir1I+NLAMERU4POlUje8ZCMpcNr72Qh1tJ7MY4A4SBgKVXap5oQ1lk+CFjDX/md1pqT4D1uUOnLsRUgw5wgb4SxDMmuyVzgdz4DWAnPF7nJH5xYIrMP0Z7TK29jtEWTDYKQhPieuqFDhKFVMYTDctjv7sWSokrqQcEW2mRivVDzx1g+i/aKpNjUidanOUWWywW+N0zq/iIkb/j5vGqpVePdo4eTSwA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 9a9c2f8f27..3291b6a1cf 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2022-03-25-02-02
+2022-03-26-02-02