From b1f3f2681b2bf35570ad11f65270777f38c55f7e Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 8 Mar 2022 03:00:44 +0000 Subject: CTAN sync 202203080300 --- FILES.byname | 959 ++++--- FILES.byname.gz | Bin 2434100 -> 2434454 bytes FILES.last07days | 799 +++--- .../LaTeX_for_Undergraduates.pdf | Bin 1744273 -> 1744790 bytes .../LaTeX_for_Undergraduates.tex | 21 +- info/latex-for-undergraduates/README.md | 4 +- .../alounsburymacros-doc.pdf | Bin 210112 -> 210116 bytes .../alounsburymacros-doc.tex | 2 +- info/latex-for-undergraduates/alounsburymacros.sty | 29 +- .../biblatex-gb7714-2015/README.md | 3 +- .../biblatex-gb7714-2015/biblatex-gb7714-2015.pdf | Bin 1656072 -> 1656829 bytes .../biblatex-gb7714-2015/biblatex-gb7714-2015.tex | 4 +- .../biblatex-gb7714-2015/gb7714-2015.bbx | 28 +- .../biblatex-gb7714-2015/gb7714-2015.cbx | 4 +- .../biblatex-gb7714-2015/gb7714-2015ay.bbx | 25 +- .../biblatex-gb7714-2015/gb7714-2015ms.bbx | 26 +- .../biblatex-gb7714-2015/gb7714-2015mx.bbx | 26 +- macros/latex/contrib/easybook/easybook.dtx | 27 +- macros/latex/contrib/easybook/easybook.pdf | Bin 582635 -> 586978 bytes macros/latex/contrib/easybook/easybook.tex | 22 +- macros/latex/contrib/footmisc/changes.txt | 9 +- macros/latex/contrib/footmisc/footmisc-code.pdf | Bin 363566 -> 363832 bytes macros/latex/contrib/footmisc/footmisc-doc.pdf | Bin 249496 -> 249093 bytes macros/latex/contrib/footmisc/footmisc.dtx | 40 +- support/pmx/OSX/pmxab | Bin 739636 -> 0 bytes support/pmx/OSX/scor2prt | Bin 118052 -> 0 bytes support/pmx/README | 2 +- support/pmx/doc/ChangeLog | 8 + support/pmx/doc/pmx-install.pdf | Bin 108463 -> 114749 bytes support/pmx/doc/pmx-install.tex | 4 +- support/pmx/doc/pmx294.pdf | Bin 345417 -> 0 bytes support/pmx/doc/pmx294.tex | 2948 ------------------- support/pmx/doc/pmx298.pdf | Bin 0 -> 355137 bytes support/pmx/doc/pmx298.tex | 2949 ++++++++++++++++++++ support/pmx/doc/ref294.pdf | Bin 70133 -> 0 bytes support/pmx/doc/ref294.tex | 487 ---- support/pmx/doc/ref298.pdf | Bin 0 -> 66121 bytes support/pmx/doc/ref298.tex | 487 ++++ support/ps2eps/Changes.txt | 288 -- support/ps2eps/INSTALL.txt | 67 - support/ps2eps/Latest_is_1.68 | 0 support/ps2eps/README | 43 - support/ps2eps/README.md | 63 + support/ps2eps/bin/linux/i386/bbox | Bin 12003 -> 0 bytes support/ps2eps/bin/linux/x86_64/bbox | Bin 16386 -> 0 bytes support/ps2eps/bin/ps2eps | 946 ------- support/ps2eps/doc/INSTALL.md | 75 + support/ps2eps/doc/bbox.html | 226 ++ support/ps2eps/doc/bbox.pdf | Bin 0 -> 18966 bytes support/ps2eps/doc/html/bbox.html | 226 -- support/ps2eps/doc/html/ps2eps.html | 1186 -------- support/ps2eps/doc/man/man1/bbox.1 | 71 - support/ps2eps/doc/man/man1/ps2eps.1 | 366 --- support/ps2eps/doc/pdf/bbox.pdf | Bin 4949 -> 0 bytes support/ps2eps/doc/pdf/ps2eps.pdf | Bin 20821 -> 0 bytes support/ps2eps/doc/ps2eps.html | 1239 ++++++++ support/ps2eps/doc/ps2eps.pdf | Bin 0 -> 41808 bytes support/ps2eps/scripts/crop-pdfs.sh | 17 + support/ps2eps/scripts/gswrap-ps2eps.sh | 2 + support/ps2eps/scripts/rbpdfcrop | 2 + support/ps2eps/src/C/Makefile | 8 + support/ps2eps/src/C/bbox.c | 43 +- support/ps2eps/src/perl/ps2eps | 955 +++++++ .../texlive/tlnet/tlpkg/installer/ctan-mirrors.pl | 1 - systems/texlive/tlnet/tlpkg/texlive.tlpdb | 166 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 | 2 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 | 2 +- .../texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc | 14 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz | Bin 2357632 -> 2354980 bytes systems/win32/miktex/tm/packages/files.csv.lzma | Bin 640179 -> 643154 bytes .../win32/miktex/tm/packages/next/files.csv.lzma | Bin 640366 -> 642699 bytes systems/win32/miktex/tm/packages/next/pr.ini | 10 +- systems/win32/miktex/tm/packages/pr.ini | 12 +- timestamp | 2 +- 74 files changed, 7330 insertions(+), 7615 deletions(-) delete mode 100755 support/pmx/OSX/pmxab delete mode 100755 support/pmx/OSX/scor2prt delete mode 100644 support/pmx/doc/pmx294.pdf delete mode 100644 support/pmx/doc/pmx294.tex create mode 100644 support/pmx/doc/pmx298.pdf create mode 100644 support/pmx/doc/pmx298.tex delete mode 100644 support/pmx/doc/ref294.pdf delete mode 100644 support/pmx/doc/ref294.tex create mode 100644 support/pmx/doc/ref298.pdf create mode 100644 support/pmx/doc/ref298.tex delete mode 100644 support/ps2eps/Changes.txt delete mode 100644 support/ps2eps/INSTALL.txt delete mode 100644 support/ps2eps/Latest_is_1.68 delete mode 100644 support/ps2eps/README create mode 100644 support/ps2eps/README.md delete mode 100644 support/ps2eps/bin/linux/i386/bbox delete mode 100755 support/ps2eps/bin/linux/x86_64/bbox delete mode 100644 support/ps2eps/bin/ps2eps create mode 100644 support/ps2eps/doc/INSTALL.md create mode 100644 support/ps2eps/doc/bbox.html create mode 100644 support/ps2eps/doc/bbox.pdf delete mode 100644 support/ps2eps/doc/html/bbox.html delete mode 100644 support/ps2eps/doc/html/ps2eps.html delete mode 100644 support/ps2eps/doc/man/man1/bbox.1 delete mode 100644 support/ps2eps/doc/man/man1/ps2eps.1 delete mode 100644 support/ps2eps/doc/pdf/bbox.pdf delete mode 100644 support/ps2eps/doc/pdf/ps2eps.pdf create mode 100644 support/ps2eps/doc/ps2eps.html create mode 100644 support/ps2eps/doc/ps2eps.pdf create mode 100755 support/ps2eps/scripts/crop-pdfs.sh create mode 100755 support/ps2eps/scripts/gswrap-ps2eps.sh create mode 100755 support/ps2eps/scripts/rbpdfcrop create mode 100644 support/ps2eps/src/C/Makefile create mode 100644 support/ps2eps/src/perl/ps2eps diff --git a/FILES.byname b/FILES.byname index c20a12064f..cd7fc6a5ac 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/06 | 345068 | FILES.last07days +2022/03/07 | 333736 | 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 @@ -183212,21 +183212,21 @@ 2012/05/15 | 2524 | info/latexfileinfo-pkgs/README 2012/05/29 | 350 | info/latexfileinfo-pkgs/use/latexfileinfo_pkgs.RLS 2012/05/30 | 18310 | info/latexfileinfo-pkgs.zip -2022/02/05 | 210112 | info/latex-for-undergraduates/alounsburymacros-doc.pdf -2022/02/05 | 10471 | info/latex-for-undergraduates/alounsburymacros-doc.tex -2022/02/05 | 23977 | info/latex-for-undergraduates/alounsburymacros.sty -2021/02/18 | 4478 | info/latex-for-undergraduates/images/compiling.png -2021/04/20 | 127132 | info/latex-for-undergraduates/images/creatingDocument.png -2021/02/17 | 13593 | info/latex-for-undergraduates/images/directories.png -2021/02/09 | 949927 | info/latex-for-undergraduates/images/M33_figure.jpeg -2021/02/21 | 1746 | info/latex-for-undergraduates/images/marketplace.png -2021/02/09 | 38758 | info/latex-for-undergraduates/images/perl1.png -2021/02/09 | 31850 | info/latex-for-undergraduates/images/perl2crop.png -2021/02/09 | 164094 | info/latex-for-undergraduates/images/whiteboard.jpeg -2022/02/05 | 1744273 | info/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf -2022/02/05 | 42739 | info/latex-for-undergraduates/LaTeX_for_Undergraduates.tex -2022/02/05 | 756 | info/latex-for-undergraduates/README.md -2022/02/06 | 3122422 | info/latex-for-undergraduates.zip +2022/03/06 | 210116 | info/latex-for-undergraduates/alounsburymacros-doc.pdf +2022/03/06 | 10473 | info/latex-for-undergraduates/alounsburymacros-doc.tex +2022/03/06 | 24506 | info/latex-for-undergraduates/alounsburymacros.sty +2022/03/05 | 4478 | info/latex-for-undergraduates/images/compiling.png +2022/03/05 | 127132 | info/latex-for-undergraduates/images/creatingDocument.png +2022/03/05 | 13593 | info/latex-for-undergraduates/images/directories.png +2022/03/05 | 949927 | info/latex-for-undergraduates/images/M33_figure.jpeg +2022/03/05 | 1746 | info/latex-for-undergraduates/images/marketplace.png +2022/03/05 | 38758 | info/latex-for-undergraduates/images/perl1.png +2022/03/05 | 31850 | info/latex-for-undergraduates/images/perl2crop.png +2022/03/05 | 164094 | info/latex-for-undergraduates/images/whiteboard.jpeg +2022/03/05 | 1744790 | info/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf +2022/03/05 | 42947 | info/latex-for-undergraduates/LaTeX_for_Undergraduates.tex +2022/03/06 | 758 | info/latex-for-undergraduates/README.md +2022/03/07 | 3123072 | info/latex-for-undergraduates.zip 2000/11/25 | 93062 | info/LatexHelpBook/Amslatex.chm 2000/11/25 | 76454 | info/LatexHelpBook/Bibtex.chm 2000/11/25 | 45422 | info/LatexHelpBook/CfgGuide.chm @@ -205554,9 +205554,9 @@ 2017/11/21 | 1662 | macros/latex/contrib/biblatex-contrib/biblatex-fiwi/latex/dbx/fiwi.dbx 2017/11/21 | 2941 | macros/latex/contrib/biblatex-contrib/biblatex-fiwi/README 2017/11/21 | 793984 | macros/latex/contrib/biblatex-contrib/biblatex-fiwi.zip -2022/02/22 | 1656072 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf +2022/02/23 | 1656829 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf 2021/08/20 | 17218 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015-preamble.tex -2022/02/22 | 195439 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex +2022/02/27 | 195450 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex 2022/02/22 | 10778 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/chinese-erj.bbx 2022/02/22 | 5923 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/chinese-erj.cbx 2021/08/19 | 131796 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/example.bib @@ -205568,19 +205568,19 @@ 2021/08/19 | 520 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2005ay.cbx 2021/12/11 | 3184 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2005.bbx 2021/08/19 | 643 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2005.cbx -2022/02/22 | 167569 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx +2022/03/07 | 167686 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx 2021/10/31 | 16127 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.cbx -2022/02/22 | 168975 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx -2022/02/12 | 18445 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx +2022/03/07 | 169107 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx +2022/03/07 | 18445 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx 2021/08/19 | 924 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015-gbk.def -2022/02/22 | 120700 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx +2022/03/07 | 120823 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx 2021/09/11 | 515 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.cbx -2022/02/22 | 141165 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx +2022/03/07 | 141294 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx 2021/09/11 | 15473 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.cbx 2021/09/11 | 56865 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714texttobib.pl 2022/02/01 | 5197 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/makeall.py -2022/02/22 | 73950 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md -2022/02/22 | 1758314 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015.zip +2022/03/07 | 73981 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md +2022/03/07 | 1742145 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015.zip 2020/11/15 | 162517 | macros/latex/contrib/biblatex-contrib/biblatex-german-legal/biblatex-german-legal.pdf 2020/11/15 | 15845 | macros/latex/contrib/biblatex-contrib/biblatex-german-legal/biblatex-german-legal.tex 2020/11/15 | 8950 | macros/latex/contrib/biblatex-contrib/biblatex-german-legal/german-legal-book.bbx @@ -210525,12 +210525,12 @@ 2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt 2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README 2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip -2022/03/06 | 74535 | macros/latex/contrib/easybook/easybook.dtx +2022/03/07 | 74667 | macros/latex/contrib/easybook/easybook.dtx 2022/01/02 | 2085 | macros/latex/contrib/easybook/easybook.ins -2022/03/06 | 582635 | macros/latex/contrib/easybook/easybook.pdf -2022/03/06 | 82639 | macros/latex/contrib/easybook/easybook.tex +2022/03/07 | 586978 | macros/latex/contrib/easybook/easybook.pdf +2022/03/07 | 82911 | macros/latex/contrib/easybook/easybook.tex 2022/03/06 | 799 | macros/latex/contrib/easybook/README.md -2022/03/06 | 623651 | macros/latex/contrib/easybook.zip +2022/03/07 | 628090 | macros/latex/contrib/easybook.zip 2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf 2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf 2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf @@ -213157,16 +213157,16 @@ 2010/02/20 | 225455 | macros/latex/contrib/footbib/footbib.pdf 2010/02/20 | 409 | macros/latex/contrib/footbib/README 2010/02/20 | 223074 | macros/latex/contrib/footbib.zip -2022/02/14 | 859 | macros/latex/contrib/footmisc/changes.txt -2022/02/14 | 25776 | macros/latex/contrib/footmisc/footmisc-2011-06-06.sty -2022/02/14 | 363566 | macros/latex/contrib/footmisc/footmisc-code.pdf -2022/02/14 | 101 | macros/latex/contrib/footmisc/footmisc-code.tex -2022/02/14 | 249496 | macros/latex/contrib/footmisc/footmisc-doc.pdf -2022/02/14 | 176 | macros/latex/contrib/footmisc/footmisc-doc.tex -2022/02/14 | 81088 | macros/latex/contrib/footmisc/footmisc.dtx -2022/02/14 | 2154 | macros/latex/contrib/footmisc/footmisc.ins -2022/02/14 | 468 | macros/latex/contrib/footmisc/README.md -2022/02/14 | 626213 | macros/latex/contrib/footmisc.zip +2022/03/07 | 1153 | macros/latex/contrib/footmisc/changes.txt +2022/03/07 | 25776 | macros/latex/contrib/footmisc/footmisc-2011-06-06.sty +2022/03/07 | 363832 | macros/latex/contrib/footmisc/footmisc-code.pdf +2022/03/07 | 101 | macros/latex/contrib/footmisc/footmisc-code.tex +2022/03/07 | 249093 | macros/latex/contrib/footmisc/footmisc-doc.pdf +2022/03/07 | 176 | macros/latex/contrib/footmisc/footmisc-doc.tex +2022/03/07 | 82298 | macros/latex/contrib/footmisc/footmisc.dtx +2022/03/07 | 2154 | macros/latex/contrib/footmisc/footmisc.ins +2022/03/07 | 468 | macros/latex/contrib/footmisc/README.md +2022/03/07 | 626593 | macros/latex/contrib/footmisc.zip 2016/12/01 | 76952 | macros/latex/contrib/footmisx/footmisx.dtx 2016/12/01 | 1402 | macros/latex/contrib/footmisx/footmisx.ins 2016/12/01 | 103 | macros/latex/contrib/footmisx/README @@ -274466,38 +274466,36 @@ 2015/12/30 | 9331 | support/pmxchords/tex/chords.tex 2015/12/30 | 240 | support/pmxchords/Windows/pmxchords.bat 2015/12/31 | 573998 | support/pmxchords.zip -2020/01/29 | 65925 | support/pmx/doc/accents.eps -2020/03/18 | 32568 | support/pmx/doc/ChangeLog -2020/01/29 | 2482 | support/pmx/doc/examples/barsant.pmx -2020/01/29 | 2624 | support/pmx/doc/examples/dyntest.pmx -2020/01/29 | 2628 | support/pmx/doc/examples/most.pmx -2020/01/29 | 2731 | support/pmx/doc/examples/mwalmnd.pmx -2020/01/29 | 769 | support/pmx/doc/examples/netsoos.pmx -2020/01/29 | 3771 | support/pmx/doc/examples/prad5x.pmx -2020/01/29 | 3153 | support/pmx/doc/examples/staffcrossall.pmx -2020/01/29 | 145458 | support/pmx/doc/file600.eps -2020/01/29 | 71540 | support/pmx/doc/gapxmpl.eps -2020/01/27 | 32473 | support/pmx/doc/gpl.txt -2020/01/29 | 345417 | support/pmx/doc/pmx294.pdf -2020/01/29 | 145748 | support/pmx/doc/pmx294.tex -2020/01/27 | 871 | support/pmx/doc/pmxab.1 +2022/03/06 | 65925 | support/pmx/doc/accents.eps +2022/03/06 | 32850 | support/pmx/doc/ChangeLog +2022/03/06 | 2482 | support/pmx/doc/examples/barsant.pmx +2022/03/06 | 2624 | support/pmx/doc/examples/dyntest.pmx +2022/03/06 | 2628 | support/pmx/doc/examples/most.pmx +2022/03/06 | 2731 | support/pmx/doc/examples/mwalmnd.pmx +2022/03/06 | 769 | support/pmx/doc/examples/netsoos.pmx +2022/03/06 | 3771 | support/pmx/doc/examples/prad5x.pmx +2022/03/06 | 3153 | support/pmx/doc/examples/staffcrossall.pmx +2022/03/06 | 145458 | support/pmx/doc/file600.eps +2022/03/06 | 71540 | support/pmx/doc/gapxmpl.eps +2022/03/06 | 32473 | support/pmx/doc/gpl.txt +2022/03/06 | 355137 | support/pmx/doc/pmx298.pdf +2022/03/06 | 145616 | support/pmx/doc/pmx298.tex +2022/03/06 | 871 | support/pmx/doc/pmxab.1 2020/01/27 | 4034 | support/pmx/doc/pmxab.pdf -2020/02/06 | 108463 | support/pmx/doc/pmx-install.pdf -2020/02/06 | 5163 | support/pmx/doc/pmx-install.tex -2020/01/29 | 70133 | support/pmx/doc/ref294.pdf -2020/01/29 | 23870 | support/pmx/doc/ref294.tex -2020/01/27 | 807 | support/pmx/doc/scor2prt.1 +2022/03/06 | 114749 | support/pmx/doc/pmx-install.pdf +2022/03/06 | 5144 | support/pmx/doc/pmx-install.tex +2022/03/06 | 66121 | support/pmx/doc/ref298.pdf +2022/03/06 | 23870 | support/pmx/doc/ref298.tex +2022/03/06 | 807 | support/pmx/doc/scor2prt.1 2020/01/27 | 3675 | support/pmx/doc/scor2prt.pdf -2020/01/29 | 59351 | support/pmx/doc/sjb291.eps -2020/01/29 | 55583 | support/pmx/doc/tremxmpl4.eps -2021/01/28 | 739636 | support/pmx/OSX/pmxab -2021/01/28 | 118052 | support/pmx/OSX/scor2prt -2021/01/28 | 688 | support/pmx/README -2021/01/28 | 802149 | support/pmx/source/pmx-2.9.4a.tar.gz -2020/01/29 | 30828 | support/pmx/tex/pmx.tex -2021/01/28 | 1301807 | support/pmx/Windows/pmxab.exe -2021/01/28 | 623430 | support/pmx/Windows/scor2prt.exe -2021/01/29 | 2575617 | support/pmx.zip +2022/03/06 | 59351 | support/pmx/doc/sjb291.eps +2022/03/06 | 55583 | support/pmx/doc/tremxmpl4.eps +2022/03/06 | 688 | support/pmx/README +2022/03/06 | 798702 | support/pmx/source/pmx-2.9.8a.tar.gz +2022/03/06 | 30828 | support/pmx/tex/pmx.tex +2022/03/06 | 1448785 | support/pmx/Windows/pmxab.exe +2022/03/06 | 623430 | support/pmx/Windows/scor2prt.exe +2022/03/07 | 2245162 | support/pmx.zip 2000/06/22 | 2414 | support/poster/getopt.c 1999/04/28 | 18007 | support/poster/LICENSE 1999/04/28 | 681 | support/poster/Makefile @@ -274568,23 +274566,20 @@ 2002/09/30 | 5696 | support/proof/proofrc 2002/09/30 | 3879 | support/proof/README 2006/03/12 | 21276 | support/proof.zip -2010/08/31 | 12003 | support/ps2eps/bin/linux/i386/bbox -2010/08/31 | 16386 | support/ps2eps/bin/linux/x86_64/bbox -2010/08/31 | 33955 | support/ps2eps/bin/ps2eps -2010/08/31 | 53248 | support/ps2eps/bin/win32/bbox.exe -2010/08/31 | 12158 | support/ps2eps/Changes.txt -2010/08/31 | 3697 | support/ps2eps/doc/html/bbox.html -2010/08/31 | 24283 | support/ps2eps/doc/html/ps2eps.html -2010/08/31 | 2317 | support/ps2eps/doc/man/man1/bbox.1 -2010/08/31 | 16848 | support/ps2eps/doc/man/man1/ps2eps.1 -2010/08/31 | 4949 | support/ps2eps/doc/pdf/bbox.pdf -2010/08/31 | 20821 | support/ps2eps/doc/pdf/ps2eps.pdf -2010/08/31 | 2432 | support/ps2eps/INSTALL.txt -2010/08/31 | 0 | support/ps2eps/Latest_is_1.68 -2010/08/31 | 18007 | support/ps2eps/LICENSE.txt -2010/08/31 | 1586 | support/ps2eps/README -2010/08/31 | 15661 | support/ps2eps/src/C/bbox.c -2010/08/31 | 107881 | support/ps2eps.zip +2021/03/13 | 3697 | support/ps2eps/doc/bbox.html +2021/03/13 | 18966 | support/ps2eps/doc/bbox.pdf +2021/03/13 | 2232 | support/ps2eps/doc/INSTALL.md +2021/03/13 | 25385 | support/ps2eps/doc/ps2eps.html +2021/03/13 | 41808 | support/ps2eps/doc/ps2eps.pdf +2021/03/13 | 18007 | support/ps2eps/LICENSE.txt +2021/03/13 | 2709 | support/ps2eps/README.md +2021/03/13 | 432 | support/ps2eps/scripts/crop-pdfs.sh +2021/03/13 | 39 | support/ps2eps/scripts/gswrap-ps2eps.sh +2021/03/13 | 48 | support/ps2eps/scripts/rbpdfcrop +2021/03/13 | 16022 | support/ps2eps/src/C/bbox.c +2021/03/13 | 217 | support/ps2eps/src/C/Makefile +2021/03/13 | 34229 | support/ps2eps/src/perl/ps2eps +2022/03/07 | 90457 | support/ps2eps.zip 2001/11/12 | 12469 | support/psfixbb/psfixbb 2001/11/12 | 4762 | support/psfixbb/psfixbb.html 2005/10/03 | 7199 | support/psfixbb.zip @@ -277841,12 +277836,12 @@ 2006/01/09 | 1786 | systems/doc/etex/nts-group.html 2006/01/09 | 14439 | systems/doc/etex/webmerge.tex 2019/06/21 | 199629 | systems/doc/etex.zip -2022/03/05 | 1113686 | systems/doc/hitex/hiformat.hnt -2022/03/05 | 1255342 | systems/doc/hitex/hiformat.pdf -2022/03/05 | 45991 | systems/doc/hitex/hint.sty -2022/03/05 | 541115 | systems/doc/hitex/hitexman.hnt -2022/03/05 | 233860 | systems/doc/hitex/hitexman.pdf -2022/03/05 | 38876 | systems/doc/hitex/hitexman.tex +2022/03/07 | 1113686 | systems/doc/hitex/hiformat.hnt +2022/03/07 | 1255342 | systems/doc/hitex/hiformat.pdf +2022/03/07 | 45991 | systems/doc/hitex/hintmac.tex +2022/03/07 | 541091 | systems/doc/hitex/hitexman.hnt +2022/03/07 | 233835 | systems/doc/hitex/hitexman.pdf +2022/03/07 | 38867 | systems/doc/hitex/hitexman.tex 2022/03/04 | 365006 | systems/doc/kpathsea/kpathsea.html 2022/03/04 | 401951 | systems/doc/kpathsea/kpathsea.pdf 2020/03/14 | 187652 | systems/doc/luatex/graphics/luaharfbuzz.pdf @@ -281009,8 +281004,8 @@ 2019/02/28 | 16432 | systems/texlive/tlnet/archive/biblatex-dw.r42649.tar.xz 2019/02/28 | 2284 | systems/texlive/tlnet/archive/biblatex-enc.doc.r44627.tar.xz 2019/02/28 | 8476 | systems/texlive/tlnet/archive/biblatex-enc.r44627.tar.xz -2021/09/01 | 865704 | systems/texlive/tlnet/archive/biblatex-ext.doc.r60379.tar.xz -2021/09/01 | 27144 | systems/texlive/tlnet/archive/biblatex-ext.r60379.tar.xz +2022/03/07 | 873384 | systems/texlive/tlnet/archive/biblatex-ext.doc.r62472.tar.xz +2022/03/07 | 29092 | systems/texlive/tlnet/archive/biblatex-ext.r62472.tar.xz 2019/02/28 | 595408 | systems/texlive/tlnet/archive/biblatex-fiwi.doc.r45876.tar.xz 2019/02/28 | 16768 | systems/texlive/tlnet/archive/biblatex-fiwi.r45876.tar.xz 2022/02/23 | 1471892 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.doc.r62139.tar.xz @@ -281381,9 +281376,9 @@ 2020/08/08 | 222896 | systems/texlive/tlnet/archive/bubblesort.doc.r56070.tar.xz 2020/08/08 | 1908 | systems/texlive/tlnet/archive/bubblesort.r56070.tar.xz 2020/08/08 | 7916 | systems/texlive/tlnet/archive/bubblesort.source.r56070.tar.xz -2021/10/08 | 893556 | systems/texlive/tlnet/archive/buctthesis.doc.r60708.tar.xz -2021/10/08 | 9064 | systems/texlive/tlnet/archive/buctthesis.r60708.tar.xz -2021/10/08 | 25252 | systems/texlive/tlnet/archive/buctthesis.source.r60708.tar.xz +2022/03/07 | 876004 | systems/texlive/tlnet/archive/buctthesis.doc.r62474.tar.xz +2022/03/07 | 9064 | systems/texlive/tlnet/archive/buctthesis.r62474.tar.xz +2022/03/07 | 25424 | systems/texlive/tlnet/archive/buctthesis.source.r62474.tar.xz 2019/02/28 | 726416 | systems/texlive/tlnet/archive/bullcntr.doc.r15878.tar.xz 2019/02/28 | 2536 | systems/texlive/tlnet/archive/bullcntr.r15878.tar.xz 2019/02/28 | 17072 | systems/texlive/tlnet/archive/bullcntr.source.r15878.tar.xz @@ -283449,9 +283444,9 @@ 2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz 2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz 2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz -2022/03/06 | 603952 | systems/texlive/tlnet/archive/easybook.doc.r62448.tar.xz -2022/03/06 | 16552 | systems/texlive/tlnet/archive/easybook.r62448.tar.xz -2022/03/06 | 16460 | systems/texlive/tlnet/archive/easybook.source.r62448.tar.xz +2022/03/07 | 604116 | systems/texlive/tlnet/archive/easybook.doc.r62476.tar.xz +2022/03/07 | 16548 | systems/texlive/tlnet/archive/easybook.r62476.tar.xz +2022/03/07 | 16452 | systems/texlive/tlnet/archive/easybook.source.r62476.tar.xz 2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz 2020/09/08 | 175976 | systems/texlive/tlnet/archive/easyfig.doc.r56291.tar.xz 2020/09/08 | 1936 | systems/texlive/tlnet/archive/easyfig.r56291.tar.xz @@ -284401,8 +284396,8 @@ 2019/02/28 | 384 | systems/texlive/tlnet/archive/fontools.x86_64-solaris.r25997.tar.xz 2020/09/16 | 293728 | systems/texlive/tlnet/archive/fonts-churchslavonic.doc.r56350.tar.xz 2020/09/16 | 1610164 | systems/texlive/tlnet/archive/fonts-churchslavonic.r56350.tar.xz -2022/02/02 | 531492 | systems/texlive/tlnet/archive/fontsetup.doc.r61826.tar.xz -2022/02/02 | 6716 | systems/texlive/tlnet/archive/fontsetup.r61826.tar.xz +2022/03/07 | 580692 | systems/texlive/tlnet/archive/fontsetup.doc.r62478.tar.xz +2022/03/07 | 7064 | systems/texlive/tlnet/archive/fontsetup.r62478.tar.xz 2021/08/05 | 377600 | systems/texlive/tlnet/archive/fontsize.doc.r60161.tar.xz 2021/08/05 | 4984 | systems/texlive/tlnet/archive/fontsize.r60161.tar.xz 2021/08/05 | 15124 | systems/texlive/tlnet/archive/fontsize.source.r60161.tar.xz @@ -288040,9 +288035,9 @@ 2019/02/28 | 7064 | systems/texlive/tlnet/archive/niceframe.source.r36086.tar.xz 2019/02/28 | 604 | systems/texlive/tlnet/archive/niceframe-type1.doc.r44671.tar.xz 2019/02/28 | 276328 | systems/texlive/tlnet/archive/niceframe-type1.r44671.tar.xz -2022/02/17 | 1954992 | systems/texlive/tlnet/archive/nicematrix.doc.r62043.tar.xz -2022/02/17 | 33944 | systems/texlive/tlnet/archive/nicematrix.r62043.tar.xz -2022/02/17 | 112964 | systems/texlive/tlnet/archive/nicematrix.source.r62043.tar.xz +2022/03/07 | 1965772 | systems/texlive/tlnet/archive/nicematrix.doc.r62480.tar.xz +2022/03/07 | 34304 | systems/texlive/tlnet/archive/nicematrix.r62480.tar.xz +2022/03/07 | 113260 | systems/texlive/tlnet/archive/nicematrix.source.r62480.tar.xz 2019/02/28 | 2473836 | systems/texlive/tlnet/archive/nicetext.doc.r38914.tar.xz 2019/02/28 | 54740 | systems/texlive/tlnet/archive/nicetext.r38914.tar.xz 2019/02/28 | 28908 | systems/texlive/tlnet/archive/nicetext.source.r38914.tar.xz @@ -290340,8 +290335,8 @@ 2021/10/28 | 15948 | systems/texlive/tlnet/archive/showlabels.source.r60877.tar.xz 2019/02/28 | 211912 | systems/texlive/tlnet/archive/showtags.doc.r20336.tar.xz 2019/02/28 | 2052 | systems/texlive/tlnet/archive/showtags.r20336.tar.xz -2022/03/05 | 2123672 | systems/texlive/tlnet/archive/shtthesis.doc.r62414.tar.xz -2022/03/05 | 11700 | systems/texlive/tlnet/archive/shtthesis.r62414.tar.xz +2022/03/07 | 2123676 | systems/texlive/tlnet/archive/shtthesis.doc.r62483.tar.xz +2022/03/07 | 11704 | systems/texlive/tlnet/archive/shtthesis.r62483.tar.xz 2019/02/28 | 279692 | systems/texlive/tlnet/archive/shuffle.doc.r15878.tar.xz 2019/02/28 | 3644 | systems/texlive/tlnet/archive/shuffle.r15878.tar.xz 2019/02/28 | 3264 | systems/texlive/tlnet/archive/shuffle.source.r15878.tar.xz @@ -290491,8 +290486,8 @@ 2019/02/28 | 12044 | systems/texlive/tlnet/archive/spalign.source.r42225.tar.xz 2019/02/28 | 140580 | systems/texlive/tlnet/archive/sparklines.doc.r42821.tar.xz 2019/02/28 | 2624 | systems/texlive/tlnet/archive/sparklines.r42821.tar.xz -2019/05/06 | 104112 | systems/texlive/tlnet/archive/spark-otf.doc.r51005.tar.xz -2019/05/06 | 2068 | systems/texlive/tlnet/archive/spark-otf.r51005.tar.xz +2022/03/07 | 93960 | systems/texlive/tlnet/archive/spark-otf.doc.r62482.tar.xz +2022/03/07 | 176792 | systems/texlive/tlnet/archive/spark-otf.r62482.tar.xz 2021/02/23 | 1371428 | systems/texlive/tlnet/archive/spath3.doc.r57842.tar.xz 2021/02/23 | 21472 | systems/texlive/tlnet/archive/spath3.r57842.tar.xz 2021/02/23 | 31740 | systems/texlive/tlnet/archive/spath3.source.r57842.tar.xz @@ -291281,7 +291276,7 @@ 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz -2022/03/06 | 404084 | systems/texlive/tlnet/archive/texlive-scripts.doc.r62425.tar.xz +2022/03/07 | 404044 | systems/texlive/tlnet/archive/texlive-scripts.doc.r62467.tar.xz 2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz 2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz 2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz @@ -291305,7 +291300,7 @@ 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz -2022/03/06 | 108808 | systems/texlive/tlnet/archive/texlive-scripts.r62425.tar.xz +2022/03/07 | 108796 | systems/texlive/tlnet/archive/texlive-scripts.r62467.tar.xz 2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz 2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz @@ -293104,16 +293099,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2022/02/22 | 106745 | systems/texlive/tlnet/install-tl -2022/03/06 | 6810748 | systems/texlive/tlnet/install-tl-unx.tar.gz -2022/03/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2022/03/06 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2022/03/07 | 6810803 | systems/texlive/tlnet/install-tl-unx.tar.gz +2022/03/07 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2022/03/07 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat -2022/03/06 | 20874727 | systems/texlive/tlnet/install-tl-windows.exe -2022/03/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2022/03/06 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2022/03/06 | 25628833 | systems/texlive/tlnet/install-tl.zip -2022/03/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2022/03/06 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2022/03/07 | 20874608 | systems/texlive/tlnet/install-tl-windows.exe +2022/03/07 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2022/03/07 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2022/03/07 | 25628823 | systems/texlive/tlnet/install-tl.zip +2022/03/07 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2022/03/07 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2021/04/01 | 1229 | systems/texlive/tlnet/README.md 2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021 2021/07/03 | 7181 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -293123,8 +293118,8 @@ 2021/07/03 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2022/01/12 | 49482 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2022/03/06 | 7397 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl -2022/03/05 | 213092 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt +2022/03/07 | 7332 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2022/03/07 | 213092 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt 2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe 2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt 2021/02/27 | 5390 | systems/texlive/tlnet/tlpkg/installer/install-menu-extl.pl @@ -293165,12 +293160,12 @@ 2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2022/03/06 | 17177714 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2022/03/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2022/03/07 | 17179610 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2022/03/07 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2021/12/21 | 86654 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2022/03/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2022/03/06 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2022/03/06 | 2357632 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/03/07 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/03/07 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2022/03/07 | 2354980 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2021/12/21 | 42112 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -295875,7 +295870,7 @@ 2022/02/26 | 93844 | systems/texlive/tlnet/tlpkg/translations/fr.po 2022/02/26 | 87555 | systems/texlive/tlnet/tlpkg/translations/it.po 2022/02/26 | 62194 | systems/texlive/tlnet/tlpkg/translations/ja.po -2022/03/06 | 46911 | systems/texlive/tlnet/tlpkg/translations/messages.pot +2022/03/07 | 46911 | systems/texlive/tlnet/tlpkg/translations/messages.pot 2022/02/26 | 57618 | systems/texlive/tlnet/tlpkg/translations/nl.po 2022/02/26 | 66753 | systems/texlive/tlnet/tlpkg/translations/pl.po 2022/02/26 | 82407 | systems/texlive/tlnet/tlpkg/translations/pt_BR.po @@ -296631,9 +296626,9 @@ 2009/04/21 | 35717 | systems/win32/miktex/tm/packages/accfonts.tar.lzma 2019/12/06 | 338331 | systems/win32/miktex/tm/packages/accsupp.tar.lzma 2021/01/22 | 912973 | systems/win32/miktex/tm/packages/achemso.tar.lzma -2022/02/07 | 3570275 | systems/win32/miktex/tm/packages/acmart__doc.tar.lzma -2022/02/07 | 55949 | systems/win32/miktex/tm/packages/acmart__source.tar.lzma -2022/02/07 | 39111 | systems/win32/miktex/tm/packages/acmart.tar.lzma +2022/03/07 | 3884339 | systems/win32/miktex/tm/packages/acmart__doc.tar.lzma +2022/03/07 | 57679 | systems/win32/miktex/tm/packages/acmart__source.tar.lzma +2022/03/07 | 39741 | systems/win32/miktex/tm/packages/acmart.tar.lzma 2016/07/19 | 105378 | systems/win32/miktex/tm/packages/acmconf.tar.lzma 2022/02/07 | 1223290 | systems/win32/miktex/tm/packages/acro__doc.tar.lzma 2016/08/30 | 774465 | systems/win32/miktex/tm/packages/acroflex.tar.lzma @@ -296791,9 +296786,9 @@ 2020/03/25 | 834312 | systems/win32/miktex/tm/packages/arabluatex.tar.lzma 2012/03/21 | 618786 | systems/win32/miktex/tm/packages/arabtex.tar.lzma 2015/09/08 | 525679 | systems/win32/miktex/tm/packages/arabxetex.tar.lzma -2021/12/23 | 2042238 | systems/win32/miktex/tm/packages/arara__doc.tar.lzma -2021/12/23 | 100760 | systems/win32/miktex/tm/packages/arara__source.tar.lzma -2021/12/23 | 10588093 | systems/win32/miktex/tm/packages/arara.tar.lzma +2022/03/07 | 2043262 | systems/win32/miktex/tm/packages/arara__doc.tar.lzma +2022/03/07 | 100737 | systems/win32/miktex/tm/packages/arara__source.tar.lzma +2022/03/07 | 10610976 | systems/win32/miktex/tm/packages/arara.tar.lzma 2020/08/09 | 1270074 | systems/win32/miktex/tm/packages/archaeologie.tar.lzma 2015/06/03 | 2562730 | systems/win32/miktex/tm/packages/archaic.tar.lzma 2021/01/02 | 1570972 | systems/win32/miktex/tm/packages/archivo.tar.lzma @@ -296841,6 +296836,9 @@ 2021/06/06 | 13705 | systems/win32/miktex/tm/packages/atbegshi__source.tar.lzma 2021/06/06 | 4977 | systems/win32/miktex/tm/packages/atbegshi.tar.lzma 2020/11/24 | 287634 | systems/win32/miktex/tm/packages/atenddvi.tar.lzma +2022/03/07 | 91986 | systems/win32/miktex/tm/packages/atendofenv__doc.tar.lzma +2022/03/07 | 3430 | systems/win32/miktex/tm/packages/atendofenv__source.tar.lzma +2022/03/07 | 1775 | systems/win32/miktex/tm/packages/atendofenv.tar.lzma 2021/02/10 | 967949 | systems/win32/miktex/tm/packages/atkinson.tar.lzma 2019/11/27 | 467227 | systems/win32/miktex/tm/packages/attachfile2.tar.lzma 2016/09/20 | 371943 | systems/win32/miktex/tm/packages/attachfile.tar.lzma @@ -296887,7 +296885,7 @@ 2014/09/29 | 121076 | systems/win32/miktex/tm/packages/babel-croatian.tar.lzma 2014/05/21 | 206798 | systems/win32/miktex/tm/packages/babel-czech.tar.lzma 2021/02/10 | 144839 | systems/win32/miktex/tm/packages/babel-danish.tar.lzma -2022/02/18 | 841288 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma +2022/03/07 | 843191 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma 2021/09/06 | 157877 | systems/win32/miktex/tm/packages/babel-dutch__doc.tar.lzma 2021/09/06 | 8372 | systems/win32/miktex/tm/packages/babel-dutch__source.tar.lzma 2021/09/06 | 3172 | systems/win32/miktex/tm/packages/babel-dutch.tar.lzma @@ -296942,11 +296940,11 @@ 2021/11/07 | 210288 | systems/win32/miktex/tm/packages/babel-sorbian__doc.tar.lzma 2021/11/07 | 6727 | systems/win32/miktex/tm/packages/babel-sorbian__source.tar.lzma 2021/11/07 | 3401 | systems/win32/miktex/tm/packages/babel-sorbian.tar.lzma -2022/02/18 | 698862 | systems/win32/miktex/tm/packages/babel__source.tar.lzma +2022/03/07 | 698715 | systems/win32/miktex/tm/packages/babel__source.tar.lzma 2015/05/25 | 5256 | systems/win32/miktex/tm/packages/babel-spanglish.tar.lzma 2021/05/29 | 222183 | systems/win32/miktex/tm/packages/babel-spanish.tar.lzma 2021/02/10 | 148420 | systems/win32/miktex/tm/packages/babel-swedish.tar.lzma -2022/02/18 | 184079 | systems/win32/miktex/tm/packages/babel.tar.lzma +2022/03/07 | 184350 | systems/win32/miktex/tm/packages/babel.tar.lzma 2014/05/21 | 234101 | systems/win32/miktex/tm/packages/babel-thai.tar.lzma 2019/07/06 | 309208 | systems/win32/miktex/tm/packages/babel-turkish.tar.lzma 2021/01/17 | 159246 | systems/win32/miktex/tm/packages/babel-ukrainian.tar.lzma @@ -296979,7 +296977,9 @@ 2020/06/09 | 1269283 | systems/win32/miktex/tm/packages/baskervillef.tar.lzma 2014/02/14 | 401583 | systems/win32/miktex/tm/packages/basque-book.tar.lzma 2012/05/29 | 200192 | systems/win32/miktex/tm/packages/basque-date.tar.lzma -2021/03/03 | 880034 | systems/win32/miktex/tm/packages/bath-bst.tar.lzma +2022/03/07 | 900065 | systems/win32/miktex/tm/packages/bath-bst__doc.tar.lzma +2022/03/07 | 36437 | systems/win32/miktex/tm/packages/bath-bst__source.tar.lzma +2022/03/07 | 8445 | systems/win32/miktex/tm/packages/bath-bst.tar.lzma 2016/07/20 | 459648 | systems/win32/miktex/tm/packages/bbding.tar.lzma 2008/11/20 | 35017 | systems/win32/miktex/tm/packages/bbm.tar.lzma 2007/09/01 | 23284 | systems/win32/miktex/tm/packages/bbold.tar.lzma @@ -297004,6 +297004,9 @@ 2011/08/12 | 444235 | systems/win32/miktex/tm/packages/beamersubframe.tar.lzma 2021/04/23 | 282970 | systems/win32/miktex/tm/packages/beamerswitch.tar.lzma 2022/02/18 | 166580 | systems/win32/miktex/tm/packages/beamer.tar.lzma +2022/03/07 | 777298 | systems/win32/miktex/tm/packages/beamertheme-arguelles__doc.tar.lzma +2022/03/07 | 927 | systems/win32/miktex/tm/packages/beamertheme-arguelles__source.tar.lzma +2022/03/07 | 2327 | systems/win32/miktex/tm/packages/beamertheme-arguelles.tar.lzma 2016/10/04 | 457031 | systems/win32/miktex/tm/packages/beamertheme-cuerna.tar.lzma 2015/12/08 | 1525974 | systems/win32/miktex/tm/packages/beamertheme-detlevcm.tar.lzma 2016/05/31 | 168629 | systems/win32/miktex/tm/packages/beamertheme-epyt.tar.lzma @@ -297048,8 +297051,8 @@ 2022/01/24 | 10163 | systems/win32/miktex/tm/packages/bewerbung.tar.lzma 2009/09/11 | 273671 | systems/win32/miktex/tm/packages/bez123.tar.lzma 2019/06/19 | 262888 | systems/win32/miktex/tm/packages/bezierplot.tar.lzma -2022/02/22 | 219888 | systems/win32/miktex/tm/packages/bfh-ci__doc.tar.lzma -2022/02/22 | 25768 | systems/win32/miktex/tm/packages/bfh-ci.tar.lzma +2022/03/07 | 232813 | systems/win32/miktex/tm/packages/bfh-ci__doc.tar.lzma +2022/03/07 | 25757 | systems/win32/miktex/tm/packages/bfh-ci.tar.lzma 2009/02/21 | 248194 | systems/win32/miktex/tm/packages/bgreek.tar.lzma 2017/05/05 | 2606241 | systems/win32/miktex/tm/packages/bgteubner.tar.lzma 2012/08/21 | 136530 | systems/win32/miktex/tm/packages/bguq.tar.lzma @@ -297082,7 +297085,9 @@ 2020/01/02 | 5062923 | systems/win32/miktex/tm/packages/biblatex-archaeology.tar.lzma 2018/02/14 | 192153 | systems/win32/miktex/tm/packages/biblatex-arthistory-bonn.tar.lzma 2010/07/12 | 2404 | systems/win32/miktex/tm/packages/biblatex-authoryear-icomp-tt.tar.lzma -2021/03/03 | 394991 | systems/win32/miktex/tm/packages/biblatex-bath.tar.lzma +2022/03/07 | 387196 | systems/win32/miktex/tm/packages/biblatex-bath__doc.tar.lzma +2022/03/07 | 32006 | systems/win32/miktex/tm/packages/biblatex-bath__source.tar.lzma +2022/03/07 | 8414 | systems/win32/miktex/tm/packages/biblatex-bath.tar.lzma 2016/04/12 | 106899 | systems/win32/miktex/tm/packages/biblatex-bookinarticle.tar.lzma 2020/03/03 | 286022 | systems/win32/miktex/tm/packages/biblatex-bookinother.tar.lzma 2012/05/29 | 115804 | systems/win32/miktex/tm/packages/biblatex-bwl.tar.lzma @@ -297097,13 +297102,13 @@ 2022/02/07 | 7062449 | systems/win32/miktex/tm/packages/biblatex__doc.tar.lzma 2016/12/09 | 1140816 | systems/win32/miktex/tm/packages/biblatex-dw.tar.lzma 2017/06/18 | 10024 | systems/win32/miktex/tm/packages/biblatex-enc.tar.lzma -2021/09/06 | 832559 | systems/win32/miktex/tm/packages/biblatex-ext__doc.tar.lzma -2021/09/06 | 38811 | systems/win32/miktex/tm/packages/biblatex-ext__source.tar.lzma -2021/09/06 | 27095 | systems/win32/miktex/tm/packages/biblatex-ext.tar.lzma +2022/03/07 | 839627 | systems/win32/miktex/tm/packages/biblatex-ext__doc.tar.lzma +2022/03/07 | 39359 | systems/win32/miktex/tm/packages/biblatex-ext__source.tar.lzma +2022/03/07 | 28970 | systems/win32/miktex/tm/packages/biblatex-ext.tar.lzma 2017/11/22 | 616165 | systems/win32/miktex/tm/packages/biblatex-fiwi.tar.lzma -2022/02/07 | 1474218 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__doc.tar.lzma -2022/02/07 | 89173 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__source.tar.lzma -2022/02/07 | 43260 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015.tar.lzma +2022/03/07 | 1388186 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__doc.tar.lzma +2022/03/07 | 89307 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__source.tar.lzma +2022/03/07 | 43635 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015.tar.lzma 2020/11/24 | 173898 | systems/win32/miktex/tm/packages/biblatex-german-legal.tar.lzma 2021/05/18 | 1022019 | systems/win32/miktex/tm/packages/biblatex-gost.tar.lzma 2010/08/24 | 601778 | systems/win32/miktex/tm/packages/biblatex-historian.tar.lzma @@ -297121,9 +297126,9 @@ 2019/02/04 | 12871 | systems/win32/miktex/tm/packages/biblatex-lni.tar.lzma 2013/11/22 | 366384 | systems/win32/miktex/tm/packages/biblatex-luh-ipw.tar.lzma 2020/01/08 | 148457 | systems/win32/miktex/tm/packages/biblatex-manuscripts-philology.tar.lzma -2022/02/22 | 645290 | systems/win32/miktex/tm/packages/biblatex-mla__doc.tar.lzma -2022/02/22 | 808829 | systems/win32/miktex/tm/packages/biblatex-mla__source.tar.lzma -2022/02/22 | 25233 | systems/win32/miktex/tm/packages/biblatex-mla.tar.lzma +2022/03/07 | 644048 | systems/win32/miktex/tm/packages/biblatex-mla__doc.tar.lzma +2022/03/07 | 46022 | systems/win32/miktex/tm/packages/biblatex-mla__source.tar.lzma +2022/03/07 | 25096 | systems/win32/miktex/tm/packages/biblatex-mla.tar.lzma 2017/01/26 | 137488 | systems/win32/miktex/tm/packages/biblatex-morenames.tar.lzma 2015/05/25 | 56364 | systems/win32/miktex/tm/packages/biblatex-multiple-dm.tar.lzma 2011/09/20 | 429966 | systems/win32/miktex/tm/packages/biblatex-musuos.tar.lzma @@ -297149,7 +297154,9 @@ 2018/10/23 | 360669 | systems/win32/miktex/tm/packages/biblatex-science.tar.lzma 2017/11/20 | 84323 | systems/win32/miktex/tm/packages/biblatex-shortfields.tar.lzma 2018/05/27 | 114808 | systems/win32/miktex/tm/packages/biblatex-socialscienceshuberlin.tar.lzma -2021/01/11 | 318193 | systems/win32/miktex/tm/packages/biblatex-software.tar.lzma +2022/03/07 | 304794 | systems/win32/miktex/tm/packages/biblatex-software__doc.tar.lzma +2022/03/07 | 13157 | systems/win32/miktex/tm/packages/biblatex-software__source.tar.lzma +2022/03/07 | 3742 | systems/win32/miktex/tm/packages/biblatex-software.tar.lzma 2017/09/22 | 67698 | systems/win32/miktex/tm/packages/biblatex-source-division.tar.lzma 2022/02/07 | 191902 | systems/win32/miktex/tm/packages/biblatex__source.tar.lzma 2022/01/02 | 74815 | systems/win32/miktex/tm/packages/biblatex-spbasic__doc.tar.lzma @@ -297247,9 +297254,9 @@ 2009/09/11 | 233644 | systems/win32/miktex/tm/packages/booklet.tar.lzma 2006/09/28 | 329086 | systems/win32/miktex/tm/packages/bookman.cab 2020/11/09 | 496274 | systems/win32/miktex/tm/packages/bookmark.tar.lzma -2021/06/28 | 93590 | systems/win32/miktex/tm/packages/book-of-common-prayer__doc.tar.lzma -2021/06/28 | 4719 | systems/win32/miktex/tm/packages/book-of-common-prayer__source.tar.lzma -2021/06/28 | 2769 | systems/win32/miktex/tm/packages/book-of-common-prayer.tar.lzma +2022/03/07 | 125501 | systems/win32/miktex/tm/packages/book-of-common-prayer__doc.tar.lzma +2022/03/07 | 5198 | systems/win32/miktex/tm/packages/book-of-common-prayer__source.tar.lzma +2022/03/07 | 3026 | systems/win32/miktex/tm/packages/book-of-common-prayer.tar.lzma 2020/05/25 | 1016990 | systems/win32/miktex/tm/packages/bookshelf.tar.lzma 2011/04/08 | 275838 | systems/win32/miktex/tm/packages/booktabs-de.tar.lzma 2020/01/15 | 313410 | systems/win32/miktex/tm/packages/booktabs.tar.lzma @@ -297285,9 +297292,9 @@ 2004/11/28 | 64319 | systems/win32/miktex/tm/packages/brushscr.cab 2005/05/04 | 1888 | systems/win32/miktex/tm/packages/bsheaders.cab 2020/07/03 | 232846 | systems/win32/miktex/tm/packages/bubblesort.tar.lzma -2021/10/14 | 455344 | systems/win32/miktex/tm/packages/buctthesis__doc.tar.lzma -2021/10/14 | 461604 | systems/win32/miktex/tm/packages/buctthesis__source.tar.lzma -2021/10/14 | 10539 | systems/win32/miktex/tm/packages/buctthesis.tar.lzma +2022/03/07 | 444551 | systems/win32/miktex/tm/packages/buctthesis__doc.tar.lzma +2022/03/07 | 454937 | systems/win32/miktex/tm/packages/buctthesis__source.tar.lzma +2022/03/07 | 10522 | systems/win32/miktex/tm/packages/buctthesis.tar.lzma 2008/10/14 | 769196 | systems/win32/miktex/tm/packages/bullcntr.tar.lzma 2019/09/10 | 88212 | systems/win32/miktex/tm/packages/bundledoc.tar.lzma 2004/08/15 | 95073 | systems/win32/miktex/tm/packages/burmese.cab @@ -297345,9 +297352,9 @@ 2019/07/05 | 1553683 | systems/win32/miktex/tm/packages/cantarell.tar.lzma 2005/05/04 | 25470 | systems/win32/miktex/tm/packages/captcont.cab 2010/03/08 | 217522 | systems/win32/miktex/tm/packages/captdef.tar.lzma -2022/02/22 | 739000 | systems/win32/miktex/tm/packages/caption__doc.tar.lzma -2022/02/22 | 209737 | systems/win32/miktex/tm/packages/caption__source.tar.lzma -2022/02/22 | 59527 | systems/win32/miktex/tm/packages/caption.tar.lzma +2022/03/07 | 739005 | systems/win32/miktex/tm/packages/caption__doc.tar.lzma +2022/03/07 | 209506 | systems/win32/miktex/tm/packages/caption__source.tar.lzma +2022/03/07 | 59539 | systems/win32/miktex/tm/packages/caption.tar.lzma 2010/01/26 | 77039 | systems/win32/miktex/tm/packages/capt-of.tar.lzma 2015/12/04 | 493328 | systems/win32/miktex/tm/packages/carbohydrates.tar.lzma 2021/06/15 | 75029 | systems/win32/miktex/tm/packages/carlisle__doc.tar.lzma @@ -297448,9 +297455,9 @@ 2022/01/24 | 15949 | systems/win32/miktex/tm/packages/chemformula.tar.lzma 2020/01/17 | 727656 | systems/win32/miktex/tm/packages/chemgreek.tar.lzma 2005/06/22 | 5537 | systems/win32/miktex/tm/packages/chem-journal.cab -2022/02/18 | 1009207 | systems/win32/miktex/tm/packages/chemmacros__doc.tar.lzma -2022/02/18 | 42631 | systems/win32/miktex/tm/packages/chemmacros__source.tar.lzma -2022/02/18 | 31777 | systems/win32/miktex/tm/packages/chemmacros.tar.lzma +2022/03/07 | 1009783 | systems/win32/miktex/tm/packages/chemmacros__doc.tar.lzma +2022/03/07 | 42730 | systems/win32/miktex/tm/packages/chemmacros__source.tar.lzma +2022/03/07 | 31809 | systems/win32/miktex/tm/packages/chemmacros.tar.lzma 2021/01/22 | 810838 | systems/win32/miktex/tm/packages/chemnum.tar.lzma 2021/10/03 | 924708 | systems/win32/miktex/tm/packages/chemplants__doc.tar.lzma 2021/10/03 | 48321 | systems/win32/miktex/tm/packages/chemplants__source.tar.lzma @@ -297685,9 +297692,12 @@ 2018/05/11 | 2710331 | systems/win32/miktex/tm/packages/cqubeamer.tar.lzma 2020/06/24 | 1215573 | systems/win32/miktex/tm/packages/cquthesis.tar.lzma 2013/04/08 | 31446 | systems/win32/miktex/tm/packages/crbox.tar.lzma -2022/02/22 | 118208 | systems/win32/miktex/tm/packages/crefthe__doc.tar.lzma -2022/02/22 | 4230 | systems/win32/miktex/tm/packages/crefthe__source.tar.lzma -2022/02/22 | 2895 | systems/win32/miktex/tm/packages/crefthe.tar.lzma +2022/03/07 | 122903 | systems/win32/miktex/tm/packages/create-theorem__doc.tar.lzma +2022/03/07 | 5769 | systems/win32/miktex/tm/packages/create-theorem__source.tar.lzma +2022/03/07 | 8174 | systems/win32/miktex/tm/packages/create-theorem.tar.lzma +2022/03/07 | 122499 | systems/win32/miktex/tm/packages/crefthe__doc.tar.lzma +2022/03/07 | 4385 | systems/win32/miktex/tm/packages/crefthe__source.tar.lzma +2022/03/07 | 3101 | systems/win32/miktex/tm/packages/crefthe.tar.lzma 2019/10/23 | 2625723 | systems/win32/miktex/tm/packages/crimsonpro.tar.lzma 2017/03/20 | 1419998 | systems/win32/miktex/tm/packages/crimson.tar.lzma 2006/06/24 | 47642 | systems/win32/miktex/tm/packages/croatian.cab @@ -297964,9 +297974,9 @@ 2021/07/18 | 313984 | systems/win32/miktex/tm/packages/easing__doc.tar.lzma 2021/07/18 | 8201 | systems/win32/miktex/tm/packages/easing__source.tar.lzma 2021/07/18 | 2391 | systems/win32/miktex/tm/packages/easing.tar.lzma -2022/02/22 | 581059 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma -2022/02/22 | 38571 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma -2022/02/22 | 16057 | systems/win32/miktex/tm/packages/easybook.tar.lzma +2022/03/07 | 585313 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma +2022/03/07 | 38990 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma +2022/03/07 | 16117 | systems/win32/miktex/tm/packages/easybook.tar.lzma 2018/03/31 | 183421 | systems/win32/miktex/tm/packages/easyfig.tar.lzma 2020/12/21 | 609763 | systems/win32/miktex/tm/packages/easyfloats.tar.lzma 2017/06/12 | 52618 | systems/win32/miktex/tm/packages/easyformat.tar.lzma @@ -298310,7 +298320,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/06 | 640179 | systems/win32/miktex/tm/packages/files.csv.lzma +2022/03/07 | 643154 | 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 @@ -298363,9 +298373,9 @@ 2010/12/13 | 283775 | systems/win32/miktex/tm/packages/fncychap.tar.lzma 2019/09/17 | 209485 | systems/win32/miktex/tm/packages/fncylab.tar.lzma 2012/03/21 | 178634 | systems/win32/miktex/tm/packages/fnpara.tar.lzma -2022/02/07 | 511078 | systems/win32/miktex/tm/packages/fnpct__doc.tar.lzma -2022/02/07 | 8478 | systems/win32/miktex/tm/packages/fnpct__source.tar.lzma -2022/02/07 | 12235 | systems/win32/miktex/tm/packages/fnpct.tar.lzma +2022/03/07 | 496292 | systems/win32/miktex/tm/packages/fnpct__doc.tar.lzma +2022/03/07 | 8727 | systems/win32/miktex/tm/packages/fnpct__source.tar.lzma +2022/03/07 | 17311 | systems/win32/miktex/tm/packages/fnpct.tar.lzma 2017/09/21 | 172726 | systems/win32/miktex/tm/packages/fnspe.tar.lzma 2010/12/13 | 216596 | systems/win32/miktex/tm/packages/fntproof.tar.lzma 2013/02/22 | 260345 | systems/win32/miktex/tm/packages/fnumprint.tar.lzma @@ -298390,10 +298400,10 @@ 2005/06/25 | 33931 | systems/win32/miktex/tm/packages/fontsampler.cab 2020/02/13 | 2425284 | systems/win32/miktex/tm/packages/fonts-arundina.tar.lzma 2020/10/03 | 1907391 | systems/win32/miktex/tm/packages/fonts-churchslavonic.tar.lzma -2022/02/07 | 527206 | systems/win32/miktex/tm/packages/fontsetup__doc.tar.lzma +2022/03/07 | 576231 | systems/win32/miktex/tm/packages/fontsetup__doc.tar.lzma 2021/05/08 | 334066 | systems/win32/miktex/tm/packages/fontsetup-nonfree.tar.lzma -2022/02/07 | 5349 | systems/win32/miktex/tm/packages/fontsetup__source.tar.lzma -2022/02/07 | 6877 | systems/win32/miktex/tm/packages/fontsetup.tar.lzma +2022/03/07 | 5465 | systems/win32/miktex/tm/packages/fontsetup__source.tar.lzma +2022/03/07 | 7230 | systems/win32/miktex/tm/packages/fontsetup.tar.lzma 2021/08/05 | 379528 | systems/win32/miktex/tm/packages/fontsize__doc.tar.lzma 2021/08/05 | 15380 | systems/win32/miktex/tm/packages/fontsize__source.tar.lzma 2021/08/05 | 5188 | systems/win32/miktex/tm/packages/fontsize.tar.lzma @@ -298594,6 +298604,9 @@ 2019/05/10 | 360370 | systems/win32/miktex/tm/packages/grabbox.tar.lzma 2002/05/20 | 1776 | systems/win32/miktex/tm/packages/gradback.tar.lzma 2011/02/15 | 240872 | systems/win32/miktex/tm/packages/gradientframe.tar.lzma +2022/03/07 | 772256 | systems/win32/miktex/tm/packages/grading-scheme__doc.tar.lzma +2022/03/07 | 15627 | systems/win32/miktex/tm/packages/grading-scheme__source.tar.lzma +2022/03/07 | 5206 | systems/win32/miktex/tm/packages/grading-scheme.tar.lzma 2015/11/17 | 4982 | systems/win32/miktex/tm/packages/gradstudentresume.tar.lzma 2011/05/25 | 298066 | systems/win32/miktex/tm/packages/grafcet.tar.lzma 2020/11/05 | 121659 | systems/win32/miktex/tm/packages/grant.tar.lzma @@ -298668,9 +298681,9 @@ 2022/02/09 | 20845 | systems/win32/miktex/tm/packages/hamnosys.tar.lzma 2018/07/23 | 445055 | systems/win32/miktex/tm/packages/handin.tar.lzma 2017/04/23 | 198187 | systems/win32/miktex/tm/packages/handout.tar.lzma -2022/02/18 | 318748 | systems/win32/miktex/tm/packages/handoutwithnotes__doc.tar.lzma -2022/02/18 | 7564 | systems/win32/miktex/tm/packages/handoutwithnotes__source.tar.lzma -2022/02/18 | 3798 | systems/win32/miktex/tm/packages/handoutwithnotes.tar.lzma +2022/03/07 | 318990 | systems/win32/miktex/tm/packages/handoutwithnotes__doc.tar.lzma +2022/03/07 | 7626 | systems/win32/miktex/tm/packages/handoutwithnotes__source.tar.lzma +2022/03/07 | 3834 | systems/win32/miktex/tm/packages/handoutwithnotes.tar.lzma 2016/07/15 | 2706 | systems/win32/miktex/tm/packages/hands.tar.lzma 2009/09/03 | 155153 | systems/win32/miktex/tm/packages/hanging.tar.lzma 2017/02/21 | 54956 | systems/win32/miktex/tm/packages/hang.tar.lzma @@ -298754,6 +298767,7 @@ 2006/09/13 | 10444 | systems/win32/miktex/tm/packages/histogr.cab 2016/12/05 | 9399 | systems/win32/miktex/tm/packages/historische-zeitschrift.tar.lzma 2016/07/20 | 22329 | systems/win32/miktex/tm/packages/hitec.tar.lzma +2022/03/07 | 2527945 | systems/win32/miktex/tm/packages/hitex.tar.lzma 2020/01/13 | 1052279 | systems/win32/miktex/tm/packages/hithesis.tar.lzma 2021/03/17 | 1365180 | systems/win32/miktex/tm/packages/hitreport.tar.lzma 2020/03/18 | 1765666 | systems/win32/miktex/tm/packages/hitszbeamer.tar.lzma @@ -298786,14 +298800,17 @@ 2016/07/28 | 127569 | systems/win32/miktex/tm/packages/huncial.tar.lzma 2016/11/28 | 817841 | systems/win32/miktex/tm/packages/hustthesis.tar.lzma 2021/06/03 | 152237 | systems/win32/miktex/tm/packages/hvarabic.tar.lzma -2021/10/03 | 7440352 | systems/win32/miktex/tm/packages/hvfloat__doc.tar.lzma -2021/10/03 | 87279 | systems/win32/miktex/tm/packages/hvfloat__source.tar.lzma -2021/10/03 | 11488 | systems/win32/miktex/tm/packages/hvfloat.tar.lzma +2022/03/07 | 7234750 | systems/win32/miktex/tm/packages/hvfloat__doc.tar.lzma +2022/03/07 | 1843908 | systems/win32/miktex/tm/packages/hvfloat__source.tar.lzma +2022/03/07 | 11591 | systems/win32/miktex/tm/packages/hvfloat.tar.lzma 2017/12/14 | 78242 | systems/win32/miktex/tm/packages/hvindex.tar.lzma -2022/01/09 | 84670 | systems/win32/miktex/tm/packages/hvlogos__doc.tar.lzma -2022/01/09 | 2647 | systems/win32/miktex/tm/packages/hvlogos__source.tar.lzma -2022/01/09 | 2843 | systems/win32/miktex/tm/packages/hvlogos.tar.lzma +2022/03/07 | 84758 | systems/win32/miktex/tm/packages/hvlogos__doc.tar.lzma +2022/03/07 | 2653 | systems/win32/miktex/tm/packages/hvlogos__source.tar.lzma +2022/03/07 | 2980 | systems/win32/miktex/tm/packages/hvlogos.tar.lzma 2016/07/19 | 9825 | systems/win32/miktex/tm/packages/hvmath.tar.lzma +2022/03/07 | 21838 | systems/win32/miktex/tm/packages/hvpygmentex__doc.tar.lzma +2022/03/07 | 1595 | systems/win32/miktex/tm/packages/hvpygmentex__source.tar.lzma +2022/03/07 | 3785 | systems/win32/miktex/tm/packages/hvpygmentex.tar.lzma 2021/05/20 | 106879 | systems/win32/miktex/tm/packages/hvqrurl.tar.lzma 2018/10/03 | 1542774 | systems/win32/miktex/tm/packages/hybrid-latex.tar.lzma 2020/01/30 | 389104 | systems/win32/miktex/tm/packages/hycolor.tar.lzma @@ -298804,9 +298821,9 @@ 2019/08/02 | 853172 | systems/win32/miktex/tm/packages/hypdvips.tar.lzma 2018/07/06 | 450979 | systems/win32/miktex/tm/packages/hyperbar.tar.lzma 2020/01/03 | 188886 | systems/win32/miktex/tm/packages/hypernat.tar.lzma -2021/06/08 | 3285638 | systems/win32/miktex/tm/packages/hyperref__doc.tar.lzma -2021/06/08 | 448314 | systems/win32/miktex/tm/packages/hyperref__source.tar.lzma -2021/06/08 | 91218 | systems/win32/miktex/tm/packages/hyperref.tar.lzma +2022/03/07 | 3247110 | systems/win32/miktex/tm/packages/hyperref__doc.tar.lzma +2022/03/07 | 449830 | systems/win32/miktex/tm/packages/hyperref__source.tar.lzma +2022/03/07 | 90554 | systems/win32/miktex/tm/packages/hyperref.tar.lzma 2016/07/16 | 326320 | systems/win32/miktex/tm/packages/hyper.tar.lzma 2020/11/24 | 1317531 | systems/win32/miktex/tm/packages/hyperxmp.tar.lzma 2009/09/03 | 163943 | systems/win32/miktex/tm/packages/hyphenat.tar.lzma @@ -298926,9 +298943,9 @@ 2019/04/09 | 1142268 | systems/win32/miktex/tm/packages/jacow.tar.lzma 2013/02/05 | 103187 | systems/win32/miktex/tm/packages/jadetex.tar.lzma 2010/11/13 | 894044 | systems/win32/miktex/tm/packages/jamtimes.tar.lzma -2022/02/18 | 2054 | systems/win32/miktex/tm/packages/japanese-otf__doc.tar.lzma -2022/02/18 | 100225 | systems/win32/miktex/tm/packages/japanese-otf__source.tar.lzma -2022/02/18 | 252405 | systems/win32/miktex/tm/packages/japanese-otf.tar.lzma +2022/03/07 | 2028 | systems/win32/miktex/tm/packages/japanese-otf__doc.tar.lzma +2022/03/07 | 102176 | systems/win32/miktex/tm/packages/japanese-otf__source.tar.lzma +2022/03/07 | 242495 | systems/win32/miktex/tm/packages/japanese-otf.tar.lzma 2022/02/18 | 1997 | systems/win32/miktex/tm/packages/japanese-otf-uptex__doc.tar.lzma 2022/02/18 | 100080 | systems/win32/miktex/tm/packages/japanese-otf-uptex__source.tar.lzma 2022/02/18 | 240480 | systems/win32/miktex/tm/packages/japanese-otf-uptex.tar.lzma @@ -299024,9 +299041,9 @@ 2018/04/22 | 563537 | systems/win32/miktex/tm/packages/koma-script-examples.tar.lzma 2021/11/21 | 7012959 | systems/win32/miktex/tm/packages/koma-script__source.tar.lzma 2021/11/21 | 136769 | systems/win32/miktex/tm/packages/koma-script.tar.lzma -2021/10/03 | 441584 | systems/win32/miktex/tm/packages/kotex-oblivoir__doc.tar.lzma -2021/10/03 | 31277 | systems/win32/miktex/tm/packages/kotex-oblivoir__source.tar.lzma -2021/10/03 | 41756 | systems/win32/miktex/tm/packages/kotex-oblivoir.tar.lzma +2022/03/07 | 445768 | systems/win32/miktex/tm/packages/kotex-oblivoir__doc.tar.lzma +2022/03/07 | 36903 | systems/win32/miktex/tm/packages/kotex-oblivoir__source.tar.lzma +2022/03/07 | 43293 | systems/win32/miktex/tm/packages/kotex-oblivoir.tar.lzma 2015/10/14 | 10343 | systems/win32/miktex/tm/packages/kotex-plain.tar.lzma 2015/10/10 | 7697628 | systems/win32/miktex/tm/packages/kotex-utf.tar.lzma 2016/01/09 | 73703 | systems/win32/miktex/tm/packages/kotex-utils.tar.lzma @@ -299052,16 +299069,16 @@ 2022/02/08 | 857634 | systems/win32/miktex/tm/packages/l3backend__doc.tar.lzma 2022/02/08 | 32404 | systems/win32/miktex/tm/packages/l3backend__source.tar.lzma 2022/02/08 | 15132 | systems/win32/miktex/tm/packages/l3backend.tar.lzma -2021/12/15 | 734392 | systems/win32/miktex/tm/packages/l3build__doc.tar.lzma -2021/12/15 | 31170 | systems/win32/miktex/tm/packages/l3build__source.tar.lzma -2021/12/15 | 35706 | systems/win32/miktex/tm/packages/l3build.tar.lzma +2022/03/07 | 734663 | systems/win32/miktex/tm/packages/l3build__doc.tar.lzma +2022/03/07 | 31215 | systems/win32/miktex/tm/packages/l3build__source.tar.lzma +2022/03/07 | 35765 | systems/win32/miktex/tm/packages/l3build.tar.lzma 2013/05/29 | 156214 | systems/win32/miktex/tm/packages/l3ctr2e.tar.lzma 2022/02/07 | 3509083 | systems/win32/miktex/tm/packages/l3experimental__doc.tar.lzma 2022/02/07 | 80496 | systems/win32/miktex/tm/packages/l3experimental__source.tar.lzma 2022/02/07 | 23548 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma -2022/02/22 | 11403392 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma -2022/02/22 | 585483 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma -2022/02/22 | 170138 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma +2022/03/07 | 11403908 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma +2022/03/07 | 585661 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma +2022/03/07 | 170105 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma 2022/01/24 | 1809233 | systems/win32/miktex/tm/packages/l3packages__doc.tar.lzma 2022/01/24 | 45993 | systems/win32/miktex/tm/packages/l3packages__source.tar.lzma 2022/01/24 | 21833 | systems/win32/miktex/tm/packages/l3packages.tar.lzma @@ -299179,6 +299196,9 @@ 2021/12/23 | 17865 | systems/win32/miktex/tm/packages/lebhart__source.tar.lzma 2021/12/23 | 4145 | systems/win32/miktex/tm/packages/lebhart.tar.lzma 2011/09/13 | 1558514 | systems/win32/miktex/tm/packages/lecturer.tar.lzma +2022/03/07 | 47561 | systems/win32/miktex/tm/packages/lectureslides__doc.tar.lzma +2022/03/07 | 2302 | systems/win32/miktex/tm/packages/lectureslides__source.tar.lzma +2022/03/07 | 1597 | systems/win32/miktex/tm/packages/lectureslides.tar.lzma 2020/02/03 | 7953 | systems/win32/miktex/tm/packages/lectures.tar.lzma 2016/08/09 | 2514816 | systems/win32/miktex/tm/packages/ledmac.tar.lzma 2007/01/19 | 56963 | systems/win32/miktex/tm/packages/leftidx.tar.bz2 @@ -299352,9 +299372,9 @@ 2010/08/12 | 5606 | systems/win32/miktex/tm/packages/lua-alt-getopt.tar.lzma 2013/10/10 | 152152 | systems/win32/miktex/tm/packages/luabibentry.tar.lzma 2019/11/02 | 97973 | systems/win32/miktex/tm/packages/luabidi.tar.lzma -2022/02/22 | 128262 | systems/win32/miktex/tm/packages/luacensor__doc.tar.lzma -2022/02/22 | 6780 | systems/win32/miktex/tm/packages/luacensor__source.tar.lzma -2022/02/22 | 3652 | systems/win32/miktex/tm/packages/luacensor.tar.lzma +2022/03/07 | 157054 | systems/win32/miktex/tm/packages/luacensor__doc.tar.lzma +2022/03/07 | 8362 | systems/win32/miktex/tm/packages/luacensor__source.tar.lzma +2022/03/07 | 4499 | systems/win32/miktex/tm/packages/luacensor.tar.lzma 2018/04/22 | 120964 | systems/win32/miktex/tm/packages/lua-check-hyphen.tar.lzma 2012/01/25 | 425322 | systems/win32/miktex/tm/packages/luacode.tar.lzma 2021/02/19 | 342103 | systems/win32/miktex/tm/packages/luacolor.tar.lzma @@ -299381,9 +299401,9 @@ 2022/01/24 | 157229 | systems/win32/miktex/tm/packages/luamplib__doc.tar.lzma 2022/01/24 | 27832 | systems/win32/miktex/tm/packages/luamplib__source.tar.lzma 2022/01/24 | 12347 | systems/win32/miktex/tm/packages/luamplib.tar.lzma -2021/06/06 | 546227 | systems/win32/miktex/tm/packages/luaotfload__doc.tar.lzma +2022/03/07 | 545627 | systems/win32/miktex/tm/packages/luaotfload__doc.tar.lzma 2021/06/06 | 7666 | systems/win32/miktex/tm/packages/luaotfload__source.tar.lzma -2021/06/06 | 562246 | systems/win32/miktex/tm/packages/luaotfload.tar.lzma +2022/03/07 | 575049 | systems/win32/miktex/tm/packages/luaotfload.tar.lzma 2019/12/23 | 37188 | systems/win32/miktex/tm/packages/luapackageloader.tar.lzma 2011/07/15 | 84684 | systems/win32/miktex/tm/packages/luapersian.tar.lzma 2021/05/18 | 775860 | systems/win32/miktex/tm/packages/lua-physical.tar.lzma @@ -299409,14 +299429,14 @@ 2021/09/18 | 3843 | systems/win32/miktex/tm/packages/lua-uca__source.tar.lzma 2021/09/18 | 72763 | systems/win32/miktex/tm/packages/lua-uca.tar.lzma 2021/05/18 | 117951 | systems/win32/miktex/tm/packages/lua-ul.tar.lzma -2021/08/11 | 71389 | systems/win32/miktex/tm/packages/lua-uni-algos__doc.tar.lzma -2021/08/11 | 4184 | systems/win32/miktex/tm/packages/lua-uni-algos__source.tar.lzma -2021/08/11 | 7867 | systems/win32/miktex/tm/packages/lua-uni-algos.tar.lzma +2022/03/07 | 71376 | systems/win32/miktex/tm/packages/lua-uni-algos__doc.tar.lzma +2022/03/07 | 4188 | systems/win32/miktex/tm/packages/lua-uni-algos__source.tar.lzma +2022/03/07 | 7878 | systems/win32/miktex/tm/packages/lua-uni-algos.tar.lzma 2021/01/11 | 294199 | systems/win32/miktex/tm/packages/lua-visual-debug.tar.lzma 2021/03/03 | 103795 | systems/win32/miktex/tm/packages/luavlna.tar.lzma -2022/02/18 | 296039 | systems/win32/miktex/tm/packages/lua-widow-control__doc.tar.lzma -2022/02/18 | 12494 | systems/win32/miktex/tm/packages/lua-widow-control__source.tar.lzma -2022/02/18 | 7077 | systems/win32/miktex/tm/packages/lua-widow-control.tar.lzma +2022/03/07 | 319867 | systems/win32/miktex/tm/packages/lua-widow-control__doc.tar.lzma +2022/03/07 | 12665 | systems/win32/miktex/tm/packages/lua-widow-control__source.tar.lzma +2022/03/07 | 7347 | systems/win32/miktex/tm/packages/lua-widow-control.tar.lzma 2021/10/14 | 114779 | systems/win32/miktex/tm/packages/luaxml__doc.tar.lzma 2021/10/14 | 9729 | systems/win32/miktex/tm/packages/luaxml__source.tar.lzma 2021/10/14 | 32350 | systems/win32/miktex/tm/packages/luaxml.tar.lzma @@ -299435,9 +299455,9 @@ 2006/09/27 | 8403 | systems/win32/miktex/tm/packages/luctt.cab 2006/09/27 | 4687 | systems/win32/miktex/tm/packages/luhand.cab 2006/09/27 | 28840 | systems/win32/miktex/tm/packages/lumath.cab -2021/11/13 | 53076 | systems/win32/miktex/tm/packages/lutabulartools__doc.tar.lzma -2021/11/13 | 4201 | systems/win32/miktex/tm/packages/lutabulartools__source.tar.lzma -2021/11/13 | 6083 | systems/win32/miktex/tm/packages/lutabulartools.tar.lzma +2022/03/07 | 74172 | systems/win32/miktex/tm/packages/lutabulartools__doc.tar.lzma +2022/03/07 | 5357 | systems/win32/miktex/tm/packages/lutabulartools__source.tar.lzma +2022/03/07 | 5956 | systems/win32/miktex/tm/packages/lutabulartools.tar.lzma 2004/03/16 | 167583 | systems/win32/miktex/tm/packages/luxi.cab 2022/02/07 | 3047041 | systems/win32/miktex/tm/packages/lwarp__doc.tar.lzma 2022/02/07 | 448958 | systems/win32/miktex/tm/packages/lwarp__source.tar.lzma @@ -299497,9 +299517,9 @@ 2018/07/27 | 222854 | systems/win32/miktex/tm/packages/marginfit.tar.lzma 2020/05/12 | 265372 | systems/win32/miktex/tm/packages/marginfix.tar.lzma 2018/08/14 | 331408 | systems/win32/miktex/tm/packages/marginnote.tar.lzma -2022/02/07 | 891508 | systems/win32/miktex/tm/packages/markdown__doc.tar.lzma -2022/02/07 | 86007 | systems/win32/miktex/tm/packages/markdown__source.tar.lzma -2022/02/07 | 41194 | systems/win32/miktex/tm/packages/markdown.tar.lzma +2022/03/07 | 909676 | systems/win32/miktex/tm/packages/markdown__doc.tar.lzma +2022/03/07 | 88297 | systems/win32/miktex/tm/packages/markdown__source.tar.lzma +2022/03/07 | 42279 | systems/win32/miktex/tm/packages/markdown.tar.lzma 2012/04/17 | 561606 | systems/win32/miktex/tm/packages/marvosym.tar.lzma 2021/03/25 | 4805865 | systems/win32/miktex/tm/packages/matapli.tar.lzma 2014/12/22 | 402728 | systems/win32/miktex/tm/packages/matc3mem.tar.lzma @@ -299535,7 +299555,9 @@ 2022/02/08 | 20333 | systems/win32/miktex/tm/packages/mathtools.tar.lzma 2014/06/23 | 692686 | systems/win32/miktex/tm/packages/matlab-prettifier.tar.lzma 2019/08/08 | 149195 | systems/win32/miktex/tm/packages/matrix-skeleton.tar.lzma -2010/03/30 | 726094 | systems/win32/miktex/tm/packages/mattens.tar.lzma +2022/03/07 | 696263 | systems/win32/miktex/tm/packages/mattens__doc.tar.lzma +2022/03/07 | 316220 | systems/win32/miktex/tm/packages/mattens__source.tar.lzma +2022/03/07 | 3046 | systems/win32/miktex/tm/packages/mattens.tar.lzma 2012/02/20 | 338936 | systems/win32/miktex/tm/packages/mattex.tar.lzma 2005/04/09 | 6851 | systems/win32/miktex/tm/packages/maybemath.cab 2013/10/10 | 243964 | systems/win32/miktex/tm/packages/mbenotes.tar.lzma @@ -299544,8 +299566,8 @@ 2021/09/13 | 225810 | systems/win32/miktex/tm/packages/mcexam__doc.tar.lzma 2021/09/13 | 9762 | systems/win32/miktex/tm/packages/mcexam__source.tar.lzma 2021/09/13 | 11598 | systems/win32/miktex/tm/packages/mcexam.tar.lzma -2022/02/22 | 914930 | systems/win32/miktex/tm/packages/mcf2graph__doc.tar.lzma -2022/02/22 | 50947 | systems/win32/miktex/tm/packages/mcf2graph__source.tar.lzma +2022/03/07 | 910913 | systems/win32/miktex/tm/packages/mcf2graph__doc.tar.lzma +2022/03/07 | 50824 | systems/win32/miktex/tm/packages/mcf2graph__source.tar.lzma 2022/01/09 | 26087 | systems/win32/miktex/tm/packages/mcf2graph.tar.lzma 2013/09/17 | 427099 | systems/win32/miktex/tm/packages/mciteplus.tar.lzma 2016/07/16 | 147633 | systems/win32/miktex/tm/packages/mcite.tar.lzma @@ -299619,9 +299641,9 @@ 2022/01/02 | 183834 | systems/win32/miktex/tm/packages/mhchem.tar.lzma 2015/08/29 | 104872 | systems/win32/miktex/tm/packages/mhequ.tar.lzma 2019/06/19 | 859800 | systems/win32/miktex/tm/packages/miama.tar.lzma -2021/12/14 | 2643657 | systems/win32/miktex/tm/packages/microtype__doc.tar.lzma -2021/12/14 | 166340 | systems/win32/miktex/tm/packages/microtype__source.tar.lzma -2021/12/14 | 55514 | systems/win32/miktex/tm/packages/microtype.tar.lzma +2022/03/07 | 2654070 | systems/win32/miktex/tm/packages/microtype__doc.tar.lzma +2022/03/07 | 168240 | systems/win32/miktex/tm/packages/microtype__source.tar.lzma +2022/03/07 | 55788 | systems/win32/miktex/tm/packages/microtype.tar.lzma 2016/07/16 | 344819 | systems/win32/miktex/tm/packages/midnight.tar.lzma 2010/03/16 | 190135 | systems/win32/miktex/tm/packages/midpage.tar.lzma 2022/01/29 | 51558 | systems/win32/miktex/tm/packages/miktex-arctrl-bin-2.9.tar.lzma @@ -299853,9 +299875,9 @@ 2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma 2022/01/29 | 39717 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma 2022/01/29 | 43173 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma -2022/03/06 | 267526 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2022/03/06 | 1426291 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2022/03/06 | 1318799 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2022/03/07 | 269498 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2022/03/07 | 1432822 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2022/03/07 | 1322500 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2022/01/29 | 13505 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma 2022/01/29 | 14408 | 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 @@ -299871,21 +299893,21 @@ 2021/12/17 | 115604 | systems/win32/miktex/tm/packages/minimalist__doc.tar.lzma 2021/12/17 | 8679 | systems/win32/miktex/tm/packages/minimalist__source.tar.lzma 2021/12/17 | 7359 | systems/win32/miktex/tm/packages/minimalist.tar.lzma -2021/06/10 | 262138 | systems/win32/miktex/tm/packages/minim__doc.tar.lzma -2021/06/10 | 26143 | systems/win32/miktex/tm/packages/minim-hatching__doc.tar.lzma -2021/06/10 | 2392 | systems/win32/miktex/tm/packages/minim-hatching__source.tar.lzma -2021/06/10 | 2456 | systems/win32/miktex/tm/packages/minim-hatching.tar.lzma -2021/06/10 | 89813 | systems/win32/miktex/tm/packages/minim-math__doc.tar.lzma -2021/06/10 | 5214 | systems/win32/miktex/tm/packages/minim-math__source.tar.lzma -2021/06/10 | 33260 | systems/win32/miktex/tm/packages/minim-math.tar.lzma +2022/03/07 | 292362 | systems/win32/miktex/tm/packages/minim__doc.tar.lzma +2022/03/07 | 24845 | systems/win32/miktex/tm/packages/minim-hatching__doc.tar.lzma +2022/03/07 | 2370 | systems/win32/miktex/tm/packages/minim-hatching__source.tar.lzma +2022/03/07 | 2431 | systems/win32/miktex/tm/packages/minim-hatching.tar.lzma +2022/03/07 | 93023 | systems/win32/miktex/tm/packages/minim-math__doc.tar.lzma +2022/03/07 | 5267 | systems/win32/miktex/tm/packages/minim-math__source.tar.lzma +2022/03/07 | 33402 | systems/win32/miktex/tm/packages/minim-math.tar.lzma 2021/06/10 | 71919 | systems/win32/miktex/tm/packages/minim-mp__doc.tar.lzma 2021/06/10 | 6204 | systems/win32/miktex/tm/packages/minim-mp__source.tar.lzma 2021/06/10 | 13879 | systems/win32/miktex/tm/packages/minim-mp.tar.lzma 2021/06/10 | 97148 | systems/win32/miktex/tm/packages/minim-pdf__doc.tar.lzma 2021/06/10 | 8044 | systems/win32/miktex/tm/packages/minim-pdf__source.tar.lzma 2021/06/10 | 14504 | systems/win32/miktex/tm/packages/minim-pdf.tar.lzma -2021/06/10 | 5530 | systems/win32/miktex/tm/packages/minim__source.tar.lzma -2021/06/10 | 21931 | systems/win32/miktex/tm/packages/minim.tar.lzma +2022/03/07 | 6104 | systems/win32/miktex/tm/packages/minim__source.tar.lzma +2022/03/07 | 25132 | systems/win32/miktex/tm/packages/minim.tar.lzma 2021/06/11 | 48989 | systems/win32/miktex/tm/packages/minim-xmp__doc.tar.lzma 2021/06/11 | 3627 | systems/win32/miktex/tm/packages/minim-xmp__source.tar.lzma 2021/06/11 | 6480 | systems/win32/miktex/tm/packages/minim-xmp.tar.lzma @@ -299968,9 +299990,9 @@ 2010/03/30 | 286752 | systems/win32/miktex/tm/packages/mslapa.tar.lzma 2021/06/06 | 11678 | systems/win32/miktex/tm/packages/ms__source.tar.lzma 2021/06/06 | 3254 | systems/win32/miktex/tm/packages/ms.tar.lzma -2021/06/20 | 226249 | systems/win32/miktex/tm/packages/msu-thesis__doc.tar.lzma -2021/06/20 | 208657 | systems/win32/miktex/tm/packages/msu-thesis__source.tar.lzma -2021/06/20 | 10349 | systems/win32/miktex/tm/packages/msu-thesis.tar.lzma +2022/03/07 | 238038 | systems/win32/miktex/tm/packages/msu-thesis__doc.tar.lzma +2022/03/07 | 209384 | systems/win32/miktex/tm/packages/msu-thesis__source.tar.lzma +2022/03/07 | 10700 | systems/win32/miktex/tm/packages/msu-thesis.tar.lzma 2010/12/23 | 362698 | systems/win32/miktex/tm/packages/msuthesis.tar.lzma 2001/05/14 | 14125 | systems/win32/miktex/tm/packages/mtbe.tar.lzma 2010/04/27 | 164556 | systems/win32/miktex/tm/packages/mtgreek.tar.lzma @@ -300071,207 +300093,207 @@ 2022/02/07 | 2873220 | systems/win32/miktex/tm/packages/newpx.tar.lzma 2005/06/25 | 43902 | systems/win32/miktex/tm/packages/newsletr.cab 2007/12/30 | 204631 | systems/win32/miktex/tm/packages/newspaper.tar.lzma -2022/01/24 | 601333 | systems/win32/miktex/tm/packages/newtx__doc.tar.lzma +2022/03/07 | 607194 | systems/win32/miktex/tm/packages/newtx__doc.tar.lzma 2020/10/04 | 440940 | systems/win32/miktex/tm/packages/newtxsf.tar.lzma -2022/01/24 | 34047 | systems/win32/miktex/tm/packages/newtx__source.tar.lzma -2022/01/24 | 6409357 | systems/win32/miktex/tm/packages/newtx.tar.lzma +2022/03/07 | 36543 | systems/win32/miktex/tm/packages/newtx__source.tar.lzma +2022/03/07 | 6413338 | systems/win32/miktex/tm/packages/newtx.tar.lzma 2020/02/17 | 288246 | systems/win32/miktex/tm/packages/newtxtt.tar.lzma 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/06 | 640366 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2022/03/06 | 51514 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2022/03/06 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2022/03/06 | 1020251 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2022/03/06 | 1156084 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2022/03/06 | 28888 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma -2022/03/06 | 31570 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2022/03/06 | 30176 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma -2022/03/06 | 35233 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2022/03/06 | 56987 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2022/03/06 | 65100 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2022/03/06 | 86484 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma -2022/03/06 | 95315 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2022/03/06 | 68889 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2022/03/06 | 77077 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/03/06 | 27244 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2022/03/06 | 31337 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2022/03/06 | 332516 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma -2022/03/06 | 394187 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2022/03/06 | 32936 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma -2022/03/06 | 37090 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2022/03/06 | 51466 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2022/03/06 | 57348 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2022/03/06 | 256391 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2022/03/06 | 281707 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2022/03/06 | 180013 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma -2022/03/06 | 196185 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2022/03/06 | 92952 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma -2022/03/06 | 103058 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2022/03/06 | 21320 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2022/03/06 | 24169 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2022/03/06 | 479430 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2022/03/06 | 46089 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma -2022/03/06 | 52074 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2022/03/06 | 285911 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2022/03/06 | 326729 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2022/03/06 | 41317 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma -2022/03/06 | 45702 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2022/03/06 | 120468 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2022/03/06 | 135252 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2022/03/06 | 1306310 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma -2022/03/06 | 1454271 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2022/03/06 | 99713 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2022/03/06 | 113012 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2022/03/06 | 43644 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma -2022/03/06 | 48826 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2022/03/06 | 25107 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2022/03/06 | 28593 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2022/03/06 | 57045 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2022/03/06 | 63391 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2022/03/06 | 136112 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma -2022/03/06 | 155455 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2022/03/06 | 73597 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma -2022/03/06 | 78965 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2022/03/06 | 72004 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma -2022/03/06 | 81640 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2022/03/06 | 259091 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma -2022/03/06 | 296015 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2022/03/06 | 22163 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2022/03/06 | 25067 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2022/03/06 | 97023 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2022/03/06 | 112475 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2022/03/06 | 64529 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma -2022/03/06 | 73204 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2022/03/06 | 96600 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma -2022/03/06 | 115693 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2022/03/06 | 38480 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2022/03/06 | 43805 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2022/03/06 | 484791 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma -2022/03/06 | 566554 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2022/03/06 | 188211 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma -2022/03/06 | 229951 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma -2022/03/06 | 152070 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2022/03/06 | 168767 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2022/03/06 | 95463 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma -2022/03/06 | 109518 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2022/03/06 | 16506 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2022/03/06 | 18358 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2022/03/06 | 28419 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2022/03/06 | 30527 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2022/03/06 | 633941 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2022/03/06 | 682351 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2022/03/06 | 532219 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2022/03/06 | 599043 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2022/03/06 | 477758 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma -2022/03/06 | 527877 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2022/03/06 | 93958 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma -2022/03/06 | 103394 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2022/03/06 | 1753745 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2022/03/06 | 1983662 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2022/03/06 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma -2022/03/06 | 74065 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2022/03/06 | 27628 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma -2022/03/06 | 32139 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2022/03/06 | 7759 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2022/03/06 | 8787 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2022/03/06 | 197456 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2022/03/06 | 216062 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2022/03/06 | 251337 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2022/03/06 | 286546 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2022/03/06 | 99249 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma -2022/03/06 | 104710 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2022/03/06 | 126759 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma -2022/03/06 | 139422 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2022/03/06 | 254982 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma -2022/03/06 | 286873 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2022/03/06 | 199570 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2022/03/06 | 181675 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2022/03/06 | 68624 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma -2022/03/06 | 76232 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2022/03/06 | 31411 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2022/03/06 | 35188 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2022/03/06 | 38577 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2022/03/06 | 43936 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2022/03/06 | 43371 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2022/03/06 | 48017 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2022/03/06 | 45943 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma -2022/03/06 | 52313 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2022/03/06 | 198683 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma -2022/03/06 | 213207 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2022/03/06 | 36064 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma -2022/03/06 | 41280 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2022/03/06 | 759646 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2022/03/06 | 825812 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2022/03/06 | 200075 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2022/03/06 | 202533 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2022/03/06 | 210199 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma -2022/03/06 | 244867 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2022/03/06 | 78983 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2022/03/06 | 88124 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2022/03/06 | 1180914 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma -2022/03/06 | 1322727 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2022/03/06 | 20192 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2022/03/06 | 23934 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2022/03/06 | 31565 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2022/03/06 | 37392 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2022/03/06 | 64722 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2022/03/06 | 73013 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2022/03/06 | 50825 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2022/03/06 | 58654 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2022/03/06 | 688942 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma -2022/03/06 | 762605 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma -2022/03/06 | 1355333 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma -2022/03/06 | 1499053 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2022/03/06 | 42748 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma -2022/03/06 | 52594 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2022/03/06 | 57474 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma -2022/03/06 | 63761 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2022/03/06 | 25458 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2022/03/06 | 27590 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2022/03/06 | 16572 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2022/03/06 | 18499 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2022/03/06 | 64475 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma -2022/03/06 | 71002 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2022/03/06 | 156731 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2022/03/06 | 172561 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2022/03/06 | 58687 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2022/03/06 | 67225 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2022/03/06 | 101444 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma -2022/03/06 | 109178 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2022/03/06 | 2696291 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2022/03/06 | 2816622 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2022/03/06 | 55415 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma -2022/03/06 | 62129 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2022/03/06 | 37182 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma -2022/03/06 | 41227 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2022/03/06 | 28700 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2022/03/06 | 34037 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2022/03/06 | 67652 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma -2022/03/06 | 73506 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2022/03/06 | 316655 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2022/03/06 | 351833 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2022/03/06 | 55765 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma -2022/03/06 | 57445 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2022/03/06 | 591472 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2022/03/06 | 629479 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2022/03/06 | 39719 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2022/03/06 | 43666 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2022/03/06 | 267653 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2022/03/06 | 1427240 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2022/03/06 | 1319066 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2022/03/06 | 13512 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2022/03/06 | 14411 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/03/07 | 642699 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/03/07 | 51515 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2022/03/07 | 57320 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2022/03/07 | 1020252 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2022/03/07 | 1156086 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2022/03/07 | 28886 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2022/03/07 | 31572 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2022/03/07 | 30176 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2022/03/07 | 35234 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2022/03/07 | 56986 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2022/03/07 | 65100 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2022/03/07 | 86484 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2022/03/07 | 95315 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/03/07 | 68888 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2022/03/07 | 77077 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2022/03/07 | 27243 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2022/03/07 | 31336 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2022/03/07 | 332516 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2022/03/07 | 394184 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2022/03/07 | 32937 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2022/03/07 | 37089 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/03/07 | 51467 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2022/03/07 | 57350 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2022/03/07 | 256390 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2022/03/07 | 281707 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/03/07 | 180015 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2022/03/07 | 196185 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2022/03/07 | 92954 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2022/03/07 | 103056 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/03/07 | 21320 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2022/03/07 | 24169 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2022/03/07 | 479431 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2022/03/07 | 46090 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2022/03/07 | 52076 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/03/07 | 285912 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2022/03/07 | 326730 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2022/03/07 | 41315 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2022/03/07 | 45701 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2022/03/07 | 120468 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2022/03/07 | 135257 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2022/03/07 | 1306316 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2022/03/07 | 1454270 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2022/03/07 | 99713 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2022/03/07 | 113013 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2022/03/07 | 43643 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2022/03/07 | 48825 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/03/07 | 25107 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2022/03/07 | 28594 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2022/03/07 | 57043 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2022/03/07 | 63391 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2022/03/07 | 136108 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2022/03/07 | 155455 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2022/03/07 | 73596 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2022/03/07 | 78967 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2022/03/07 | 72005 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2022/03/07 | 81643 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2022/03/07 | 259094 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2022/03/07 | 296017 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2022/03/07 | 22163 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2022/03/07 | 25067 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2022/03/07 | 97023 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2022/03/07 | 112477 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/03/07 | 64527 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2022/03/07 | 73203 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2022/03/07 | 96601 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2022/03/07 | 115694 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2022/03/07 | 38480 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2022/03/07 | 43805 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2022/03/07 | 484792 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2022/03/07 | 566554 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/03/07 | 188212 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma +2022/03/07 | 229952 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma +2022/03/07 | 152069 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2022/03/07 | 168767 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2022/03/07 | 95462 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2022/03/07 | 109518 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2022/03/07 | 16506 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2022/03/07 | 18359 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/03/07 | 28419 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2022/03/07 | 30527 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/03/07 | 633940 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2022/03/07 | 682351 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2022/03/07 | 532217 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2022/03/07 | 599045 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2022/03/07 | 477761 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2022/03/07 | 527878 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2022/03/07 | 93958 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2022/03/07 | 103394 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2022/03/07 | 1753744 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2022/03/07 | 1983665 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2022/03/07 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2022/03/07 | 74065 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/03/07 | 27629 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2022/03/07 | 32139 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/03/07 | 7759 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2022/03/07 | 8788 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2022/03/07 | 197457 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2022/03/07 | 216063 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2022/03/07 | 251337 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2022/03/07 | 286548 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2022/03/07 | 99249 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2022/03/07 | 104709 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/03/07 | 126758 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2022/03/07 | 139421 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2022/03/07 | 254983 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2022/03/07 | 286873 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2022/03/07 | 199571 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2022/03/07 | 181676 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2022/03/07 | 68621 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2022/03/07 | 76233 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2022/03/07 | 31411 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2022/03/07 | 35188 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2022/03/07 | 38579 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2022/03/07 | 43937 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2022/03/07 | 43371 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2022/03/07 | 48018 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2022/03/07 | 45942 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2022/03/07 | 52312 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2022/03/07 | 198685 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2022/03/07 | 213209 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2022/03/07 | 36062 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2022/03/07 | 41280 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2022/03/07 | 759645 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2022/03/07 | 825811 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2022/03/07 | 200074 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2022/03/07 | 202534 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2022/03/07 | 210201 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2022/03/07 | 244866 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2022/03/07 | 78984 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2022/03/07 | 88125 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2022/03/07 | 1180914 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2022/03/07 | 1322725 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2022/03/07 | 20192 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2022/03/07 | 23936 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/03/07 | 31568 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2022/03/07 | 37396 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2022/03/07 | 64722 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2022/03/07 | 73012 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2022/03/07 | 50825 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2022/03/07 | 58656 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/03/07 | 688942 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma +2022/03/07 | 762604 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma +2022/03/07 | 1355333 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2022/03/07 | 1499051 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2022/03/07 | 42747 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2022/03/07 | 52593 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2022/03/07 | 57476 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma +2022/03/07 | 63761 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2022/03/07 | 25458 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2022/03/07 | 27590 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2022/03/07 | 16570 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2022/03/07 | 18500 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2022/03/07 | 64475 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2022/03/07 | 71002 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/03/07 | 156733 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2022/03/07 | 172561 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2022/03/07 | 58687 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2022/03/07 | 67225 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2022/03/07 | 101442 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2022/03/07 | 109179 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2022/03/07 | 2696290 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2022/03/07 | 2816622 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2022/03/07 | 55413 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2022/03/07 | 62130 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2022/03/07 | 37183 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma +2022/03/07 | 41227 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2022/03/07 | 28699 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2022/03/07 | 34039 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/03/07 | 67653 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2022/03/07 | 73504 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2022/03/07 | 316653 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2022/03/07 | 351833 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2022/03/07 | 55765 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2022/03/07 | 57446 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2022/03/07 | 591473 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2022/03/07 | 629477 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2022/03/07 | 39719 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2022/03/07 | 43665 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2022/03/07 | 269555 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2022/03/07 | 1432421 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2022/03/07 | 1323171 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2022/03/07 | 13512 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2022/03/07 | 14412 | 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/06 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini +2022/03/07 | 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 2017/06/22 | 263407 | systems/win32/miktex/tm/packages/niceframe.tar.lzma 2017/06/22 | 276883 | systems/win32/miktex/tm/packages/niceframe-type1.tar.lzma -2022/02/18 | 1915427 | systems/win32/miktex/tm/packages/nicematrix__doc.tar.lzma -2022/02/18 | 145071 | systems/win32/miktex/tm/packages/nicematrix__source.tar.lzma -2022/02/18 | 33919 | systems/win32/miktex/tm/packages/nicematrix.tar.lzma +2022/03/07 | 1926994 | systems/win32/miktex/tm/packages/nicematrix__doc.tar.lzma +2022/03/07 | 145166 | systems/win32/miktex/tm/packages/nicematrix__source.tar.lzma +2022/03/07 | 34205 | systems/win32/miktex/tm/packages/nicematrix.tar.lzma 2015/11/25 | 2555178 | systems/win32/miktex/tm/packages/nicetext.tar.lzma 2018/07/30 | 243633 | systems/win32/miktex/tm/packages/nidanfloat.tar.lzma 2016/01/26 | 74424 | systems/win32/miktex/tm/packages/nihbiosketch.tar.lzma @@ -300282,6 +300304,9 @@ 2022/02/18 | 2436 | systems/win32/miktex/tm/packages/ninecolors__source.tar.lzma 2022/02/18 | 2852 | systems/win32/miktex/tm/packages/ninecolors.tar.lzma 2019/03/21 | 1124697 | systems/win32/miktex/tm/packages/njurepo.tar.lzma +2022/03/07 | 211246 | systems/win32/miktex/tm/packages/njustthesis__doc.tar.lzma +2022/03/07 | 5218 | systems/win32/miktex/tm/packages/njustthesis__source.tar.lzma +2022/03/07 | 4628 | systems/win32/miktex/tm/packages/njustthesis.tar.lzma 2022/02/22 | 1110463 | systems/win32/miktex/tm/packages/njuthesis__doc.tar.lzma 2022/02/22 | 44816 | systems/win32/miktex/tm/packages/njuthesis__source.tar.lzma 2022/02/22 | 11804 | systems/win32/miktex/tm/packages/njuthesis.tar.lzma @@ -300528,9 +300553,9 @@ 2021/10/03 | 230935 | systems/win32/miktex/tm/packages/pedigree-perl__doc.tar.lzma 2021/10/03 | 23054 | systems/win32/miktex/tm/packages/pedigree-perl__source.tar.lzma 2021/10/03 | 17374 | systems/win32/miktex/tm/packages/pedigree-perl.tar.lzma -2021/12/17 | 25487 | systems/win32/miktex/tm/packages/penlight__doc.tar.lzma -2021/12/17 | 2835 | systems/win32/miktex/tm/packages/penlight__source.tar.lzma -2021/12/17 | 99908 | systems/win32/miktex/tm/packages/penlight.tar.lzma +2022/03/07 | 32594 | systems/win32/miktex/tm/packages/penlight__doc.tar.lzma +2022/03/07 | 3939 | systems/win32/miktex/tm/packages/penlight__source.tar.lzma +2022/03/07 | 106030 | systems/win32/miktex/tm/packages/penlight.tar.lzma 2021/01/24 | 988837 | systems/win32/miktex/tm/packages/penrose.tar.lzma 2005/06/25 | 6737 | systems/win32/miktex/tm/packages/perception.cab 2019/07/27 | 173142 | systems/win32/miktex/tm/packages/perfectcut.tar.lzma @@ -300719,7 +300744,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/06 | 928 | systems/win32/miktex/tm/packages/pr.ini +2022/03/07 | 941 | 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 @@ -300736,8 +300761,8 @@ 2017/05/12 | 61936 | systems/win32/miktex/tm/packages/program.tar.lzma 2014/05/05 | 89072 | systems/win32/miktex/tm/packages/progressbar.tar.lzma 2010/10/16 | 85014 | systems/win32/miktex/tm/packages/progress.tar.lzma -2021/12/17 | 660171 | systems/win32/miktex/tm/packages/projlib__doc.tar.lzma -2021/12/17 | 41614 | systems/win32/miktex/tm/packages/projlib__source.tar.lzma +2022/03/07 | 660547 | systems/win32/miktex/tm/packages/projlib__doc.tar.lzma +2022/03/07 | 53095 | systems/win32/miktex/tm/packages/projlib__source.tar.lzma 2021/12/17 | 16837 | systems/win32/miktex/tm/packages/projlib.tar.lzma 2022/02/08 | 446538 | systems/win32/miktex/tm/packages/proof-at-the-end__doc.tar.lzma 2022/02/08 | 23162 | systems/win32/miktex/tm/packages/proof-at-the-end__source.tar.lzma @@ -301087,7 +301112,9 @@ 2005/12/16 | 27118 | systems/win32/miktex/tm/packages/r_und_s.cab 2012/02/01 | 324827 | systems/win32/miktex/tm/packages/russ.tar.lzma 2016/07/28 | 127627 | systems/win32/miktex/tm/packages/rustic.tar.lzma -2019/05/13 | 2827302 | systems/win32/miktex/tm/packages/rutitlepage.tar.lzma +2022/03/07 | 199480 | systems/win32/miktex/tm/packages/rutitlepage__doc.tar.lzma +2022/03/07 | 4135 | systems/win32/miktex/tm/packages/rutitlepage__source.tar.lzma +2022/03/07 | 2658049 | systems/win32/miktex/tm/packages/rutitlepage.tar.lzma 2011/08/31 | 183314 | systems/win32/miktex/tm/packages/rviewport.tar.lzma 2010/08/30 | 82665 | systems/win32/miktex/tm/packages/rvwrite.tar.lzma 2019/02/25 | 72590 | systems/win32/miktex/tm/packages/ryersonsgsthesis.tar.lzma @@ -301233,7 +301260,9 @@ 2021/11/01 | 16232 | systems/win32/miktex/tm/packages/showlabels__source.tar.lzma 2021/11/01 | 3399 | systems/win32/miktex/tm/packages/showlabels.tar.lzma 2010/11/13 | 215099 | systems/win32/miktex/tm/packages/showtags.tar.lzma -2021/02/15 | 2197739 | systems/win32/miktex/tm/packages/shtthesis.tar.lzma +2022/03/07 | 2111314 | systems/win32/miktex/tm/packages/shtthesis__doc.tar.lzma +2022/03/07 | 22103 | systems/win32/miktex/tm/packages/shtthesis__source.tar.lzma +2022/03/07 | 11698 | systems/win32/miktex/tm/packages/shtthesis.tar.lzma 2008/10/29 | 11321 | systems/win32/miktex/tm/packages/shuffle.tar.lzma 2016/07/29 | 162960 | systems/win32/miktex/tm/packages/sidecap.tar.lzma 2020/03/25 | 315226 | systems/win32/miktex/tm/packages/sidenotes.tar.lzma @@ -301314,11 +301343,13 @@ 2016/10/07 | 134907 | systems/win32/miktex/tm/packages/spalign.tar.lzma 2013/03/04 | 5712 | systems/win32/miktex/tm/packages/spanglish.tar.lzma 2017/01/03 | 143479 | systems/win32/miktex/tm/packages/sparklines.tar.lzma -2019/04/14 | 106425 | systems/win32/miktex/tm/packages/spark-otf.tar.lzma +2022/03/07 | 90666 | systems/win32/miktex/tm/packages/spark-otf__doc.tar.lzma +2022/03/07 | 192683 | systems/win32/miktex/tm/packages/spark-otf__source.tar.lzma +2022/03/07 | 2304 | systems/win32/miktex/tm/packages/spark-otf.tar.lzma 2021/02/22 | 1423643 | systems/win32/miktex/tm/packages/spath3.tar.lzma -2022/02/18 | 75782 | systems/win32/miktex/tm/packages/spbmark__doc.tar.lzma -2022/02/18 | 4209 | systems/win32/miktex/tm/packages/spbmark__source.tar.lzma -2022/02/18 | 3413 | systems/win32/miktex/tm/packages/spbmark.tar.lzma +2022/03/07 | 84714 | systems/win32/miktex/tm/packages/spbmark__doc.tar.lzma +2022/03/07 | 4879 | systems/win32/miktex/tm/packages/spbmark__source.tar.lzma +2022/03/07 | 3664 | systems/win32/miktex/tm/packages/spbmark.tar.lzma 2022/02/22 | 1552624 | systems/win32/miktex/tm/packages/spectralsequences__doc.tar.lzma 2022/02/22 | 45370 | systems/win32/miktex/tm/packages/spectralsequences__source.tar.lzma 2022/02/22 | 72244 | systems/win32/miktex/tm/packages/spectralsequences.tar.lzma @@ -301340,9 +301371,9 @@ 2011/06/23 | 265586 | systems/win32/miktex/tm/packages/srbook-mem.tar.lzma 2006/12/10 | 21219 | systems/win32/miktex/tm/packages/srcltx.tar.bz2 2015/10/27 | 384100 | systems/win32/miktex/tm/packages/srcredact.tar.lzma -2022/01/09 | 139334 | systems/win32/miktex/tm/packages/srdp-mathematik__doc.tar.lzma -2022/01/09 | 9369 | systems/win32/miktex/tm/packages/srdp-mathematik__source.tar.lzma -2022/01/09 | 29569 | systems/win32/miktex/tm/packages/srdp-mathematik.tar.lzma +2022/03/07 | 141334 | systems/win32/miktex/tm/packages/srdp-mathematik__doc.tar.lzma +2022/03/07 | 9504 | systems/win32/miktex/tm/packages/srdp-mathematik__source.tar.lzma +2022/03/07 | 29686 | systems/win32/miktex/tm/packages/srdp-mathematik.tar.lzma 2014/12/22 | 271180 | systems/win32/miktex/tm/packages/sr-half-compound.tar.lzma 2011/09/19 | 836456 | systems/win32/miktex/tm/packages/sr-hyphen-spec.tar.lzma 2021/05/29 | 476872 | systems/win32/miktex/tm/packages/sr-vorl.tar.lzma @@ -301375,7 +301406,9 @@ 2015/04/21 | 3861594 | systems/win32/miktex/tm/packages/stellenbosch.tar.lzma 2020/12/12 | 459378 | systems/win32/miktex/tm/packages/stepgreek.tar.lzma 2021/01/07 | 1340388 | systems/win32/miktex/tm/packages/step.tar.lzma -2019/03/21 | 6403616 | systems/win32/miktex/tm/packages/stex.tar.lzma +2022/03/07 | 1890923 | systems/win32/miktex/tm/packages/stex__doc.tar.lzma +2022/03/07 | 86627 | systems/win32/miktex/tm/packages/stex__source.tar.lzma +2022/03/07 | 39656 | systems/win32/miktex/tm/packages/stex.tar.lzma 2021/10/21 | 403333 | systems/win32/miktex/tm/packages/stickstoo__doc.tar.lzma 2021/10/21 | 6319 | systems/win32/miktex/tm/packages/stickstoo__source.tar.lzma 2021/10/21 | 2503134 | systems/win32/miktex/tm/packages/stickstoo.tar.lzma @@ -301476,9 +301509,9 @@ 2010/04/27 | 105370 | systems/win32/miktex/tm/packages/tabularborder.tar.lzma 2009/05/05 | 795482 | systems/win32/miktex/tm/packages/tabularcalc.tar.lzma 2009/06/02 | 151374 | systems/win32/miktex/tm/packages/tabularew.tar.lzma -2021/12/02 | 629252 | systems/win32/miktex/tm/packages/tabularray__doc.tar.lzma -2021/12/02 | 15925 | systems/win32/miktex/tm/packages/tabularray__source.tar.lzma -2021/12/02 | 33105 | systems/win32/miktex/tm/packages/tabularray.tar.lzma +2022/03/07 | 688863 | systems/win32/miktex/tm/packages/tabularray__doc.tar.lzma +2022/03/07 | 18080 | systems/win32/miktex/tm/packages/tabularray__source.tar.lzma +2022/03/07 | 33560 | systems/win32/miktex/tm/packages/tabularray.tar.lzma 2014/06/23 | 268624 | systems/win32/miktex/tm/packages/tabulary.tar.lzma 2019/01/19 | 1553147 | systems/win32/miktex/tm/packages/tabu.tar.lzma 2013/01/24 | 612797 | systems/win32/miktex/tm/packages/tabvar.tar.lzma @@ -301550,9 +301583,9 @@ 2018/08/27 | 999444 | systems/win32/miktex/tm/packages/tex-locale.tar.lzma 2020/03/25 | 4631 | systems/win32/miktex/tm/packages/texloganalyser.tar.lzma 2006/01/13 | 2094 | systems/win32/miktex/tm/packages/texlogos.cab -2022/02/18 | 70839 | systems/win32/miktex/tm/packages/texlogsieve__doc.tar.lzma -2022/02/18 | 7455 | systems/win32/miktex/tm/packages/texlogsieve__source.tar.lzma -2022/02/18 | 39268 | systems/win32/miktex/tm/packages/texlogsieve.tar.lzma +2022/03/07 | 72223 | systems/win32/miktex/tm/packages/texlogsieve__doc.tar.lzma +2022/03/07 | 7625 | systems/win32/miktex/tm/packages/texlogsieve__source.tar.lzma +2022/03/07 | 43567 | systems/win32/miktex/tm/packages/texlogsieve.tar.lzma 2006/09/22 | 256338 | systems/win32/miktex/tm/packages/texmate.cab 2009/01/02 | 93067 | systems/win32/miktex/tm/packages/texments.tar.lzma 2021/02/10 | 2137306 | systems/win32/miktex/tm/packages/texnegar.tar.lzma @@ -301717,9 +301750,9 @@ 2022/02/08 | 15373 | systems/win32/miktex/tm/packages/tkz-base.tar.lzma 2021/01/22 | 945692 | systems/win32/miktex/tm/packages/tkz-berge.tar.lzma 2020/04/15 | 9380 | systems/win32/miktex/tm/packages/tkz-doc.tar.lzma -2022/02/09 | 1021522 | systems/win32/miktex/tm/packages/tkz-euclide__doc.tar.lzma +2022/03/07 | 1021553 | systems/win32/miktex/tm/packages/tkz-euclide__doc.tar.lzma 2022/02/09 | 77938 | systems/win32/miktex/tm/packages/tkz-euclide__source.tar.lzma -2022/02/09 | 38280 | systems/win32/miktex/tm/packages/tkz-euclide.tar.lzma +2022/03/07 | 38269 | systems/win32/miktex/tm/packages/tkz-euclide.tar.lzma 2022/02/09 | 722683 | systems/win32/miktex/tm/packages/tkz-fct__doc.tar.lzma 2022/02/09 | 28126 | systems/win32/miktex/tm/packages/tkz-fct__source.tar.lzma 2022/02/09 | 4927 | systems/win32/miktex/tm/packages/tkz-fct.tar.lzma @@ -301819,7 +301852,9 @@ 2015/05/25 | 195839 | systems/win32/miktex/tm/packages/typicons.tar.lzma 2017/05/12 | 340687 | systems/win32/miktex/tm/packages/typoaid.tar.lzma 2012/01/03 | 302985 | systems/win32/miktex/tm/packages/typogrid.tar.lzma -2021/03/03 | 855288 | systems/win32/miktex/tm/packages/tzplot.tar.lzma +2022/03/07 | 1244667 | systems/win32/miktex/tm/packages/tzplot__doc.tar.lzma +2022/03/07 | 65467 | systems/win32/miktex/tm/packages/tzplot__source.tar.lzma +2022/03/07 | 24647 | systems/win32/miktex/tm/packages/tzplot.tar.lzma 2009/01/10 | 238964 | systems/win32/miktex/tm/packages/uaclasses.tar.lzma 2012/12/20 | 41389 | systems/win32/miktex/tm/packages/uafthesis.tar.lzma 2021/11/13 | 4536566 | systems/win32/miktex/tm/packages/uantwerpendocs__doc.tar.lzma @@ -301830,7 +301865,9 @@ 2019/07/21 | 175651 | systems/win32/miktex/tm/packages/ucbthesis.tar.lzma 2016/05/03 | 1657749 | systems/win32/miktex/tm/packages/ucdavisthesis.tar.lzma 2015/11/25 | 163484 | systems/win32/miktex/tm/packages/ucharcat.tar.lzma -2021/03/03 | 151210 | systems/win32/miktex/tm/packages/ucharclasses.tar.lzma +2022/03/07 | 137012 | systems/win32/miktex/tm/packages/ucharclasses__doc.tar.lzma +2022/03/07 | 7968 | systems/win32/miktex/tm/packages/ucharclasses__source.tar.lzma +2022/03/07 | 9082 | systems/win32/miktex/tm/packages/ucharclasses.tar.lzma 2019/11/10 | 449096 | systems/win32/miktex/tm/packages/ucsmonograph.tar.lzma 2013/05/21 | 1619333 | systems/win32/miktex/tm/packages/ucs.tar.lzma 2005/01/09 | 26730 | systems/win32/miktex/tm/packages/ucthesis.cab @@ -302046,12 +302083,12 @@ 2021/11/23 | 29712 | systems/win32/miktex/tm/packages/xassoccnt__source.tar.lzma 2021/11/23 | 19786 | systems/win32/miktex/tm/packages/xassoccnt.tar.lzma 2020/01/19 | 376430 | systems/win32/miktex/tm/packages/xbmks.tar.lzma -2022/02/07 | 474794 | systems/win32/miktex/tm/packages/xcharter__doc.tar.lzma +2022/03/07 | 210577 | systems/win32/miktex/tm/packages/xcharter__doc.tar.lzma 2022/02/18 | 1939789 | systems/win32/miktex/tm/packages/xcharter-math__doc.tar.lzma 2022/02/18 | 12515 | systems/win32/miktex/tm/packages/xcharter-math__source.tar.lzma 2022/02/18 | 201517 | systems/win32/miktex/tm/packages/xcharter-math.tar.lzma -2021/09/06 | 10205 | systems/win32/miktex/tm/packages/xcharter__source.tar.lzma -2022/02/07 | 2140121 | systems/win32/miktex/tm/packages/xcharter.tar.lzma +2022/03/07 | 11730 | systems/win32/miktex/tm/packages/xcharter__source.tar.lzma +2022/03/07 | 2200775 | systems/win32/miktex/tm/packages/xcharter.tar.lzma 2020/01/22 | 161707 | systems/win32/miktex/tm/packages/xcite.tar.lzma 2020/05/06 | 328896 | systems/win32/miktex/tm/packages/xcjk2uni.tar.lzma 2018/01/07 | 348703 | systems/win32/miktex/tm/packages/xcntperchap.tar.lzma @@ -302160,9 +302197,9 @@ 2018/09/04 | 286079 | systems/win32/miktex/tm/packages/yafoot.tar.lzma 2009/02/28 | 1703697 | systems/win32/miktex/tm/packages/yagusylo.tar.lzma 2017/01/06 | 517575 | systems/win32/miktex/tm/packages/yaletter.tar.lzma -2022/01/24 | 60716 | systems/win32/miktex/tm/packages/yamlvars__doc.tar.lzma -2022/01/24 | 6086 | systems/win32/miktex/tm/packages/yamlvars__source.tar.lzma -2022/01/24 | 5260 | systems/win32/miktex/tm/packages/yamlvars.tar.lzma +2022/03/07 | 60918 | systems/win32/miktex/tm/packages/yamlvars__doc.tar.lzma +2022/03/07 | 6111 | systems/win32/miktex/tm/packages/yamlvars__source.tar.lzma +2022/03/07 | 5168 | systems/win32/miktex/tm/packages/yamlvars.tar.lzma 2016/07/18 | 85157 | systems/win32/miktex/tm/packages/yannisgr.tar.lzma 2021/12/02 | 5175180 | systems/win32/miktex/tm/packages/yathesis__doc.tar.lzma 2021/12/02 | 54101 | systems/win32/miktex/tm/packages/yathesis__source.tar.lzma @@ -302496,7 +302533,7 @@ 2004/06/04 | 404 | tds/tds.sed 2004/06/23 | 65418 | tds/tds.tex 2019/05/29 | 304264 | tds.zip -2022/03/07 | 186 | timestamp +2022/03/08 | 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 c6dad0b399..4f2d06ddcc 100644 Binary files a/FILES.byname.gz and b/FILES.byname.gz differ diff --git a/FILES.last07days b/FILES.last07days index 27877edb65..75e72883de 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,54 +1,469 @@ -2022/03/06 | 99713 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2022/03/06 | 99249 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2022/03/07 | 99713 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2022/03/07 | 99249 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2022/03/07 | 97023 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2022/03/07 | 96601 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2022/03/07 | 95462 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2022/03/07 | 95315 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/03/07 | 9504 | systems/win32/miktex/tm/packages/srdp-mathematik__source.tar.lzma +2022/03/07 | 941 | systems/win32/miktex/tm/packages/pr.ini +2022/03/07 | 93960 | systems/texlive/tlnet/archive/spark-otf.doc.r62482.tar.xz +2022/03/07 | 93958 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2022/03/07 | 93023 | systems/win32/miktex/tm/packages/minim-math__doc.tar.lzma +2022/03/07 | 92954 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2022/03/07 | 927 | systems/win32/miktex/tm/packages/beamertheme-arguelles__source.tar.lzma +2022/03/07 | 91986 | systems/win32/miktex/tm/packages/atendofenv__doc.tar.lzma +2022/03/07 | 910913 | systems/win32/miktex/tm/packages/mcf2graph__doc.tar.lzma +2022/03/07 | 909676 | systems/win32/miktex/tm/packages/markdown__doc.tar.lzma +2022/03/07 | 9082 | systems/win32/miktex/tm/packages/ucharclasses.tar.lzma +2022/03/07 | 90666 | systems/win32/miktex/tm/packages/spark-otf__doc.tar.lzma +2022/03/07 | 9064 | systems/texlive/tlnet/archive/buctthesis.r62474.tar.xz +2022/03/07 | 90554 | systems/win32/miktex/tm/packages/hyperref.tar.lzma +2022/03/07 | 90457 | support/ps2eps.zip +2022/03/07 | 900065 | systems/win32/miktex/tm/packages/bath-bst__doc.tar.lzma +2022/03/07 | 89307 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__source.tar.lzma +2022/03/07 | 88297 | systems/win32/miktex/tm/packages/markdown__source.tar.lzma +2022/03/07 | 88125 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2022/03/07 | 8788 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2022/03/07 | 876004 | systems/texlive/tlnet/archive/buctthesis.doc.r62474.tar.xz +2022/03/07 | 873384 | systems/texlive/tlnet/archive/biblatex-ext.doc.r62472.tar.xz +2022/03/07 | 8727 | systems/win32/miktex/tm/packages/fnpct__source.tar.lzma +2022/03/07 | 86627 | systems/win32/miktex/tm/packages/stex__source.tar.lzma +2022/03/07 | 86484 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2022/03/07 | 84758 | systems/win32/miktex/tm/packages/hvlogos__doc.tar.lzma +2022/03/07 | 84714 | systems/win32/miktex/tm/packages/spbmark__doc.tar.lzma +2022/03/07 | 8445 | systems/win32/miktex/tm/packages/bath-bst.tar.lzma +2022/03/07 | 843191 | systems/win32/miktex/tm/packages/babel__doc.tar.lzma +2022/03/07 | 8414 | systems/win32/miktex/tm/packages/biblatex-bath.tar.lzma +2022/03/07 | 839627 | systems/win32/miktex/tm/packages/biblatex-ext__doc.tar.lzma +2022/03/07 | 8362 | systems/win32/miktex/tm/packages/luacensor__source.tar.lzma +2022/03/07 | 82911 | macros/latex/contrib/easybook/easybook.tex +2022/03/07 | 825811 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2022/03/07 | 82298 | macros/latex/contrib/footmisc/footmisc.dtx +2022/03/07 | 8174 | systems/win32/miktex/tm/packages/create-theorem.tar.lzma +2022/03/07 | 81643 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2022/03/07 | 7968 | systems/win32/miktex/tm/packages/ucharclasses__source.tar.lzma +2022/03/07 | 78984 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2022/03/07 | 78967 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2022/03/07 | 7878 | systems/win32/miktex/tm/packages/lua-uni-algos.tar.lzma +2022/03/07 | 777298 | systems/win32/miktex/tm/packages/beamertheme-arguelles__doc.tar.lzma +2022/03/07 | 7759 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2022/03/07 | 772256 | systems/win32/miktex/tm/packages/grading-scheme__doc.tar.lzma +2022/03/07 | 77077 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2022/03/07 | 7626 | systems/win32/miktex/tm/packages/handoutwithnotes__source.tar.lzma +2022/03/07 | 762604 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma +2022/03/07 | 7625 | systems/win32/miktex/tm/packages/texlogsieve__source.tar.lzma +2022/03/07 | 76233 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2022/03/07 | 759645 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2022/03/07 | 74667 | macros/latex/contrib/easybook/easybook.dtx +2022/03/07 | 74172 | systems/win32/miktex/tm/packages/lutabulartools__doc.tar.lzma +2022/03/07 | 74065 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/03/07 | 73981 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md +2022/03/07 | 739005 | systems/win32/miktex/tm/packages/caption__doc.tar.lzma +2022/03/07 | 73596 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2022/03/07 | 73504 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2022/03/07 | 7347 | systems/win32/miktex/tm/packages/lua-widow-control.tar.lzma +2022/03/07 | 734663 | systems/win32/miktex/tm/packages/l3build__doc.tar.lzma +2022/03/07 | 7332 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2022/03/07 | 73203 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2022/03/07 | 73012 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2022/03/07 | 7234750 | systems/win32/miktex/tm/packages/hvfloat__doc.tar.lzma +2022/03/07 | 7230 | systems/win32/miktex/tm/packages/fontsetup.tar.lzma +2022/03/07 | 72223 | systems/win32/miktex/tm/packages/texlogsieve__doc.tar.lzma +2022/03/07 | 72005 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2022/03/07 | 71376 | systems/win32/miktex/tm/packages/lua-uni-algos__doc.tar.lzma +2022/03/07 | 71002 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/03/07 | 7064 | systems/texlive/tlnet/archive/fontsetup.r62478.tar.xz +2022/03/07 | 698715 | systems/win32/miktex/tm/packages/babel__source.tar.lzma +2022/03/07 | 696263 | systems/win32/miktex/tm/packages/mattens__doc.tar.lzma +2022/03/07 | 688942 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma +2022/03/07 | 68888 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2022/03/07 | 688863 | systems/win32/miktex/tm/packages/tabularray__doc.tar.lzma +2022/03/07 | 68621 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2022/03/07 | 682351 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2022/03/07 | 6810803 | systems/texlive/tlnet/install-tl-unx.tar.gz +2022/03/07 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2022/03/07 | 67653 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2022/03/07 | 67225 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2022/03/07 | 660547 | systems/win32/miktex/tm/packages/projlib__doc.tar.lzma +2022/03/07 | 65467 | systems/win32/miktex/tm/packages/tzplot__source.tar.lzma +2022/03/07 | 65100 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2022/03/07 | 64722 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2022/03/07 | 64527 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2022/03/07 | 64475 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2022/03/07 | 644048 | systems/win32/miktex/tm/packages/biblatex-mla__doc.tar.lzma +2022/03/07 | 643154 | systems/win32/miktex/tm/packages/files.csv.lzma +2022/03/07 | 642699 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/03/07 | 6413338 | systems/win32/miktex/tm/packages/newtx.tar.lzma +2022/03/07 | 63761 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2022/03/07 | 633940 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2022/03/07 | 63391 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2022/03/07 | 629477 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2022/03/07 | 628090 | macros/latex/contrib/easybook.zip +2022/03/07 | 626593 | macros/latex/contrib/footmisc.zip +2022/03/07 | 62130 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2022/03/07 | 6111 | systems/win32/miktex/tm/packages/yamlvars__source.tar.lzma +2022/03/07 | 6104 | systems/win32/miktex/tm/packages/minim__source.tar.lzma +2022/03/07 | 60918 | systems/win32/miktex/tm/packages/yamlvars__doc.tar.lzma +2022/03/07 | 607194 | systems/win32/miktex/tm/packages/newtx__doc.tar.lzma +2022/03/07 | 604116 | systems/texlive/tlnet/archive/easybook.doc.r62476.tar.xz +2022/03/07 | 599045 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2022/03/07 | 5956 | systems/win32/miktex/tm/packages/lutabulartools.tar.lzma +2022/03/07 | 59539 | systems/win32/miktex/tm/packages/caption.tar.lzma +2022/03/07 | 591473 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2022/03/07 | 586978 | macros/latex/contrib/easybook/easybook.pdf +2022/03/07 | 58687 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2022/03/07 | 58656 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/03/07 | 585661 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma +2022/03/07 | 585313 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma +2022/03/07 | 580692 | systems/texlive/tlnet/archive/fontsetup.doc.r62478.tar.xz +2022/03/07 | 5769 | systems/win32/miktex/tm/packages/create-theorem__source.tar.lzma +2022/03/07 | 57679 | systems/win32/miktex/tm/packages/acmart__source.tar.lzma +2022/03/07 | 576231 | systems/win32/miktex/tm/packages/fontsetup__doc.tar.lzma +2022/03/07 | 575049 | systems/win32/miktex/tm/packages/luaotfload.tar.lzma +2022/03/07 | 57476 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma +2022/03/07 | 57446 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2022/03/07 | 57350 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2022/03/07 | 57320 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2022/03/07 | 57043 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2022/03/07 | 56986 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2022/03/07 | 566554 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/03/07 | 55788 | systems/win32/miktex/tm/packages/microtype.tar.lzma +2022/03/07 | 55765 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2022/03/07 | 55413 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2022/03/07 | 5465 | systems/win32/miktex/tm/packages/fontsetup__source.tar.lzma +2022/03/07 | 545627 | systems/win32/miktex/tm/packages/luaotfload__doc.tar.lzma +2022/03/07 | 541091 | systems/doc/hitex/hitexman.hnt +2022/03/07 | 5357 | systems/win32/miktex/tm/packages/lutabulartools__source.tar.lzma +2022/03/07 | 532217 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2022/03/07 | 53095 | systems/win32/miktex/tm/packages/projlib__source.tar.lzma +2022/03/07 | 527878 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2022/03/07 | 5267 | systems/win32/miktex/tm/packages/minim-math__source.tar.lzma +2022/03/07 | 52593 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2022/03/07 | 52312 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2022/03/07 | 5218 | systems/win32/miktex/tm/packages/njustthesis__source.tar.lzma +2022/03/07 | 52076 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/03/07 | 5206 | systems/win32/miktex/tm/packages/grading-scheme.tar.lzma +2022/03/07 | 5198 | systems/win32/miktex/tm/packages/book-of-common-prayer__source.tar.lzma +2022/03/07 | 5168 | systems/win32/miktex/tm/packages/yamlvars.tar.lzma +2022/03/07 | 51515 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2022/03/07 | 51467 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2022/03/07 | 50825 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2022/03/07 | 50824 | systems/win32/miktex/tm/packages/mcf2graph__source.tar.lzma +2022/03/07 | 496292 | systems/win32/miktex/tm/packages/fnpct__doc.tar.lzma +2022/03/07 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2022/03/07 | 48825 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/03/07 | 4879 | systems/win32/miktex/tm/packages/spbmark__source.tar.lzma +2022/03/07 | 484792 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2022/03/07 | 48018 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2022/03/07 | 479431 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2022/03/07 | 477761 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2022/03/07 | 47561 | systems/win32/miktex/tm/packages/lectureslides__doc.tar.lzma +2022/03/07 | 46911 | systems/texlive/tlnet/tlpkg/translations/messages.pot +2022/03/07 | 468 | macros/latex/contrib/footmisc/README.md +2022/03/07 | 4628 | systems/win32/miktex/tm/packages/njustthesis.tar.lzma +2022/03/07 | 46090 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2022/03/07 | 46022 | systems/win32/miktex/tm/packages/biblatex-mla__source.tar.lzma +2022/03/07 | 45991 | systems/doc/hitex/hintmac.tex +2022/03/07 | 45942 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2022/03/07 | 45701 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2022/03/07 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2022/03/07 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2022/03/07 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2022/03/07 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2022/03/07 | 454937 | systems/win32/miktex/tm/packages/buctthesis__source.tar.lzma +2022/03/07 | 4499 | systems/win32/miktex/tm/packages/luacensor.tar.lzma +2022/03/07 | 449830 | systems/win32/miktex/tm/packages/hyperref__source.tar.lzma +2022/03/07 | 445768 | systems/win32/miktex/tm/packages/kotex-oblivoir__doc.tar.lzma +2022/03/07 | 444551 | systems/win32/miktex/tm/packages/buctthesis__doc.tar.lzma +2022/03/07 | 43937 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2022/03/07 | 4385 | systems/win32/miktex/tm/packages/crefthe__source.tar.lzma +2022/03/07 | 43805 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2022/03/07 | 43665 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2022/03/07 | 43643 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2022/03/07 | 43635 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015.tar.lzma +2022/03/07 | 43567 | systems/win32/miktex/tm/packages/texlogsieve.tar.lzma +2022/03/07 | 43371 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2022/03/07 | 43293 | systems/win32/miktex/tm/packages/kotex-oblivoir.tar.lzma +2022/03/07 | 42747 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2022/03/07 | 42730 | systems/win32/miktex/tm/packages/chemmacros__source.tar.lzma +2022/03/07 | 42279 | systems/win32/miktex/tm/packages/markdown.tar.lzma +2022/03/07 | 4188 | systems/win32/miktex/tm/packages/lua-uni-algos__source.tar.lzma +2022/03/07 | 4135 | systems/win32/miktex/tm/packages/rutitlepage__source.tar.lzma +2022/03/07 | 41315 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2022/03/07 | 41280 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2022/03/07 | 41227 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2022/03/07 | 404044 | systems/texlive/tlnet/archive/texlive-scripts.doc.r62467.tar.xz +2022/03/07 | 39741 | systems/win32/miktex/tm/packages/acmart.tar.lzma +2022/03/07 | 39719 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2022/03/07 | 39656 | systems/win32/miktex/tm/packages/stex.tar.lzma +2022/03/07 | 394184 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2022/03/07 | 3939 | systems/win32/miktex/tm/packages/penlight__source.tar.lzma +2022/03/07 | 39359 | systems/win32/miktex/tm/packages/biblatex-ext__source.tar.lzma +2022/03/07 | 38990 | systems/win32/miktex/tm/packages/easybook__source.tar.lzma +2022/03/07 | 38867 | systems/doc/hitex/hitexman.tex +2022/03/07 | 3884339 | systems/win32/miktex/tm/packages/acmart__doc.tar.lzma +2022/03/07 | 387196 | systems/win32/miktex/tm/packages/biblatex-bath__doc.tar.lzma +2022/03/07 | 38579 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2022/03/07 | 38480 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2022/03/07 | 3834 | systems/win32/miktex/tm/packages/handoutwithnotes.tar.lzma +2022/03/07 | 38269 | systems/win32/miktex/tm/packages/tkz-euclide.tar.lzma +2022/03/07 | 3785 | systems/win32/miktex/tm/packages/hvpygmentex.tar.lzma +2022/03/07 | 3742 | systems/win32/miktex/tm/packages/biblatex-software.tar.lzma +2022/03/07 | 37396 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2022/03/07 | 37183 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma +2022/03/07 | 37089 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/03/07 | 36903 | systems/win32/miktex/tm/packages/kotex-oblivoir__source.tar.lzma +2022/03/07 | 3664 | systems/win32/miktex/tm/packages/spbmark.tar.lzma +2022/03/07 | 36543 | systems/win32/miktex/tm/packages/newtx__source.tar.lzma +2022/03/07 | 36437 | systems/win32/miktex/tm/packages/bath-bst__source.tar.lzma +2022/03/07 | 363832 | macros/latex/contrib/footmisc/footmisc-code.pdf +2022/03/07 | 36062 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2022/03/07 | 35765 | systems/win32/miktex/tm/packages/l3build.tar.lzma +2022/03/07 | 35234 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2022/03/07 | 35188 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2022/03/07 | 351833 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2022/03/07 | 3430 | systems/win32/miktex/tm/packages/atendofenv__source.tar.lzma +2022/03/07 | 34304 | systems/texlive/tlnet/archive/nicematrix.r62480.tar.xz +2022/03/07 | 34205 | systems/win32/miktex/tm/packages/nicematrix.tar.lzma +2022/03/07 | 34039 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/03/07 | 33560 | systems/win32/miktex/tm/packages/tabularray.tar.lzma +2022/03/07 | 33402 | systems/win32/miktex/tm/packages/minim-math.tar.lzma +2022/03/07 | 332516 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2022/03/07 | 32937 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2022/03/07 | 326730 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2022/03/07 | 32594 | systems/win32/miktex/tm/packages/penlight__doc.tar.lzma +2022/03/07 | 3247110 | systems/win32/miktex/tm/packages/hyperref__doc.tar.lzma +2022/03/07 | 32139 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/03/07 | 32006 | systems/win32/miktex/tm/packages/biblatex-bath__source.tar.lzma +2022/03/07 | 319867 | systems/win32/miktex/tm/packages/lua-widow-control__doc.tar.lzma +2022/03/07 | 318990 | systems/win32/miktex/tm/packages/handoutwithnotes__doc.tar.lzma +2022/03/07 | 31809 | systems/win32/miktex/tm/packages/chemmacros.tar.lzma +2022/03/07 | 316653 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2022/03/07 | 316220 | systems/win32/miktex/tm/packages/mattens__source.tar.lzma +2022/03/07 | 31572 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2022/03/07 | 31568 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2022/03/07 | 31411 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2022/03/07 | 31336 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2022/03/07 | 3123072 | info/latex-for-undergraduates.zip +2022/03/07 | 31215 | systems/win32/miktex/tm/packages/l3build__source.tar.lzma +2022/03/07 | 3101 | systems/win32/miktex/tm/packages/crefthe.tar.lzma +2022/03/07 | 30527 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/03/07 | 304794 | systems/win32/miktex/tm/packages/biblatex-software__doc.tar.lzma +2022/03/07 | 3046 | systems/win32/miktex/tm/packages/mattens.tar.lzma +2022/03/07 | 3026 | systems/win32/miktex/tm/packages/book-of-common-prayer.tar.lzma +2022/03/07 | 30176 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2022/03/07 | 2980 | systems/win32/miktex/tm/packages/hvlogos.tar.lzma +2022/03/07 | 29686 | systems/win32/miktex/tm/packages/srdp-mathematik.tar.lzma +2022/03/07 | 296017 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2022/03/07 | 292362 | systems/win32/miktex/tm/packages/minim__doc.tar.lzma +2022/03/07 | 29092 | systems/texlive/tlnet/archive/biblatex-ext.r62472.tar.xz +2022/03/07 | 28970 | systems/win32/miktex/tm/packages/biblatex-ext.tar.lzma +2022/03/07 | 28886 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2022/03/07 | 28699 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2022/03/07 | 286873 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2022/03/07 | 286548 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2022/03/07 | 28594 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2022/03/07 | 285912 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2022/03/07 | 28419 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2022/03/07 | 281707 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/03/07 | 2816622 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2022/03/07 | 27629 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2022/03/07 | 27590 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2022/03/07 | 27243 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2022/03/07 | 2696290 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2022/03/07 | 269555 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2022/03/07 | 269498 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2022/03/07 | 2658049 | systems/win32/miktex/tm/packages/rutitlepage.tar.lzma +2022/03/07 | 2654070 | systems/win32/miktex/tm/packages/microtype__doc.tar.lzma +2022/03/07 | 2653 | systems/win32/miktex/tm/packages/hvlogos__source.tar.lzma +2022/03/07 | 259094 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2022/03/07 | 25776 | macros/latex/contrib/footmisc/footmisc-2011-06-06.sty +2022/03/07 | 25757 | systems/win32/miktex/tm/packages/bfh-ci.tar.lzma +2022/03/07 | 256390 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2022/03/07 | 25628823 | systems/texlive/tlnet/install-tl.zip +2022/03/07 | 254983 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2022/03/07 | 25458 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2022/03/07 | 25424 | systems/texlive/tlnet/archive/buctthesis.source.r62474.tar.xz +2022/03/07 | 2527945 | systems/win32/miktex/tm/packages/hitex.tar.lzma +2022/03/07 | 251337 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2022/03/07 | 25132 | systems/win32/miktex/tm/packages/minim.tar.lzma +2022/03/07 | 25107 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2022/03/07 | 25096 | systems/win32/miktex/tm/packages/biblatex-mla.tar.lzma +2022/03/07 | 25067 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2022/03/07 | 249093 | macros/latex/contrib/footmisc/footmisc-doc.pdf +2022/03/07 | 24845 | systems/win32/miktex/tm/packages/minim-hatching__doc.tar.lzma +2022/03/07 | 24647 | systems/win32/miktex/tm/packages/tzplot.tar.lzma +2022/03/07 | 244866 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2022/03/07 | 2431 | systems/win32/miktex/tm/packages/minim-hatching.tar.lzma +2022/03/07 | 242495 | systems/win32/miktex/tm/packages/japanese-otf.tar.lzma +2022/03/07 | 24169 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2022/03/07 | 23936 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/03/07 | 238038 | systems/win32/miktex/tm/packages/msu-thesis__doc.tar.lzma +2022/03/07 | 2370 | systems/win32/miktex/tm/packages/minim-hatching__source.tar.lzma +2022/03/07 | 2354980 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/03/07 | 233835 | systems/doc/hitex/hitexman.pdf +2022/03/07 | 232813 | systems/win32/miktex/tm/packages/bfh-ci__doc.tar.lzma +2022/03/07 | 2327 | systems/win32/miktex/tm/packages/beamertheme-arguelles.tar.lzma +2022/03/07 | 2304 | systems/win32/miktex/tm/packages/spark-otf.tar.lzma +2022/03/07 | 2302 | systems/win32/miktex/tm/packages/lectureslides__source.tar.lzma +2022/03/07 | 229952 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma +2022/03/07 | 2245162 | support/pmx.zip +2022/03/07 | 22163 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2022/03/07 | 22103 | systems/win32/miktex/tm/packages/shtthesis__source.tar.lzma +2022/03/07 | 2200775 | systems/win32/miktex/tm/packages/xcharter.tar.lzma +2022/03/07 | 21838 | systems/win32/miktex/tm/packages/hvpygmentex__doc.tar.lzma +2022/03/07 | 216063 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2022/03/07 | 2154 | macros/latex/contrib/footmisc/footmisc.ins +2022/03/07 | 21320 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2022/03/07 | 213209 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2022/03/07 | 213092 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt +2022/03/07 | 2123676 | systems/texlive/tlnet/archive/shtthesis.doc.r62483.tar.xz +2022/03/07 | 211246 | systems/win32/miktex/tm/packages/njustthesis__doc.tar.lzma +2022/03/07 | 2111314 | systems/win32/miktex/tm/packages/shtthesis__doc.tar.lzma +2022/03/07 | 210577 | systems/win32/miktex/tm/packages/xcharter__doc.tar.lzma +2022/03/07 | 210201 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2022/03/07 | 209506 | systems/win32/miktex/tm/packages/caption__source.tar.lzma +2022/03/07 | 209384 | systems/win32/miktex/tm/packages/msu-thesis__source.tar.lzma +2022/03/07 | 20874608 | systems/texlive/tlnet/install-tl-windows.exe +2022/03/07 | 2043262 | systems/win32/miktex/tm/packages/arara__doc.tar.lzma +2022/03/07 | 2028 | systems/win32/miktex/tm/packages/japanese-otf__doc.tar.lzma +2022/03/07 | 202534 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2022/03/07 | 20192 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2022/03/07 | 200074 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2022/03/07 | 199571 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2022/03/07 | 199480 | systems/win32/miktex/tm/packages/rutitlepage__doc.tar.lzma +2022/03/07 | 198685 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2022/03/07 | 1983665 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2022/03/07 | 197457 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2022/03/07 | 1965772 | systems/texlive/tlnet/archive/nicematrix.doc.r62480.tar.xz +2022/03/07 | 196185 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2022/03/07 | 1926994 | systems/win32/miktex/tm/packages/nicematrix__doc.tar.lzma +2022/03/07 | 192683 | systems/win32/miktex/tm/packages/spark-otf__source.tar.lzma +2022/03/07 | 1890923 | systems/win32/miktex/tm/packages/stex__doc.tar.lzma +2022/03/07 | 188212 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma +2022/03/07 | 18500 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2022/03/07 | 18445 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx +2022/03/07 | 1843908 | systems/win32/miktex/tm/packages/hvfloat__source.tar.lzma +2022/03/07 | 184350 | systems/win32/miktex/tm/packages/babel.tar.lzma +2022/03/07 | 18359 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/03/07 | 181676 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2022/03/07 | 18080 | systems/win32/miktex/tm/packages/tabularray__source.tar.lzma +2022/03/07 | 180015 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2022/03/07 | 1775 | systems/win32/miktex/tm/packages/atendofenv.tar.lzma +2022/03/07 | 176 | macros/latex/contrib/footmisc/footmisc-doc.tex +2022/03/07 | 176792 | systems/texlive/tlnet/archive/spark-otf.r62482.tar.xz +2022/03/07 | 1753744 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2022/03/07 | 1742145 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015.zip +2022/03/07 | 17311 | systems/win32/miktex/tm/packages/fnpct.tar.lzma +2022/03/07 | 172561 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2022/03/07 | 17179610 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2022/03/07 | 170105 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma +2022/03/07 | 169107 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx +2022/03/07 | 168767 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2022/03/07 | 168240 | systems/win32/miktex/tm/packages/microtype__source.tar.lzma +2022/03/07 | 167686 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx +2022/03/07 | 16570 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2022/03/07 | 16548 | systems/texlive/tlnet/archive/easybook.r62476.tar.xz +2022/03/07 | 16506 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2022/03/07 | 16452 | systems/texlive/tlnet/archive/easybook.source.r62476.tar.xz +2022/03/07 | 16117 | systems/win32/miktex/tm/packages/easybook.tar.lzma +2022/03/07 | 1597 | systems/win32/miktex/tm/packages/lectureslides.tar.lzma +2022/03/07 | 1595 | systems/win32/miktex/tm/packages/hvpygmentex__source.tar.lzma +2022/03/07 | 157054 | systems/win32/miktex/tm/packages/luacensor__doc.tar.lzma +2022/03/07 | 156733 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2022/03/07 | 15627 | systems/win32/miktex/tm/packages/grading-scheme__source.tar.lzma +2022/03/07 | 155455 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2022/03/07 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2022/03/07 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2022/03/07 | 152069 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2022/03/07 | 1499051 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2022/03/07 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2022/03/07 | 1454270 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2022/03/07 | 145166 | systems/win32/miktex/tm/packages/nicematrix__source.tar.lzma +2022/03/07 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/03/07 | 14412 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/03/07 | 1432822 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2022/03/07 | 1432421 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2022/03/07 | 141334 | systems/win32/miktex/tm/packages/srdp-mathematik__doc.tar.lzma +2022/03/07 | 141294 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx +2022/03/07 | 139421 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2022/03/07 | 1388186 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015__doc.tar.lzma +2022/03/07 | 137012 | systems/win32/miktex/tm/packages/ucharclasses__doc.tar.lzma +2022/03/07 | 136108 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2022/03/07 | 1355333 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2022/03/07 | 135257 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2022/03/07 | 13512 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2022/03/07 | 1323171 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2022/03/07 | 1322725 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2022/03/07 | 1322500 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2022/03/07 | 13157 | systems/win32/miktex/tm/packages/biblatex-software__source.tar.lzma +2022/03/07 | 1306316 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2022/03/07 | 126758 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2022/03/07 | 12665 | systems/win32/miktex/tm/packages/lua-widow-control__source.tar.lzma +2022/03/07 | 1255342 | systems/doc/hitex/hiformat.pdf +2022/03/07 | 125501 | systems/win32/miktex/tm/packages/book-of-common-prayer__doc.tar.lzma +2022/03/07 | 1244667 | systems/win32/miktex/tm/packages/tzplot__doc.tar.lzma +2022/03/07 | 122903 | systems/win32/miktex/tm/packages/create-theorem__doc.tar.lzma +2022/03/07 | 122499 | systems/win32/miktex/tm/packages/crefthe__doc.tar.lzma +2022/03/07 | 120823 | macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx +2022/03/07 | 120468 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2022/03/07 | 1180914 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2022/03/07 | 11730 | systems/win32/miktex/tm/packages/xcharter__source.tar.lzma +2022/03/07 | 11704 | systems/texlive/tlnet/archive/shtthesis.r62483.tar.xz +2022/03/07 | 11698 | systems/win32/miktex/tm/packages/shtthesis.tar.lzma +2022/03/07 | 11591 | systems/win32/miktex/tm/packages/hvfloat.tar.lzma +2022/03/07 | 115694 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2022/03/07 | 1156086 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2022/03/07 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini +2022/03/07 | 1153 | macros/latex/contrib/footmisc/changes.txt +2022/03/07 | 11403908 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma +2022/03/07 | 113260 | systems/texlive/tlnet/archive/nicematrix.source.r62480.tar.xz +2022/03/07 | 113013 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2022/03/07 | 112477 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/03/07 | 1113686 | systems/doc/hitex/hiformat.hnt +2022/03/07 | 109518 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2022/03/07 | 109179 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2022/03/07 | 108796 | systems/texlive/tlnet/archive/texlive-scripts.r62467.tar.xz +2022/03/07 | 10700 | systems/win32/miktex/tm/packages/msu-thesis.tar.lzma +2022/03/07 | 10610976 | systems/win32/miktex/tm/packages/arara.tar.lzma +2022/03/07 | 106030 | systems/win32/miktex/tm/packages/penlight.tar.lzma +2022/03/07 | 10522 | systems/win32/miktex/tm/packages/buctthesis.tar.lzma +2022/03/07 | 104709 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/03/07 | 103394 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2022/03/07 | 103056 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/03/07 | 102176 | systems/win32/miktex/tm/packages/japanese-otf__source.tar.lzma +2022/03/07 | 1021553 | systems/win32/miktex/tm/packages/tkz-euclide__doc.tar.lzma +2022/03/07 | 1020252 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2022/03/07 | 101 | macros/latex/contrib/footmisc/footmisc-code.tex +2022/03/07 | 101442 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2022/03/07 | 1009783 | systems/win32/miktex/tm/packages/chemmacros__doc.tar.lzma +2022/03/07 | 100737 | systems/win32/miktex/tm/packages/arara__source.tar.lzma 2022/03/06 | 978744 | macros/latex/contrib/biblatex-contrib/biblatex-ext.zip -2022/03/06 | 97023 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2022/03/06 | 96600 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma -2022/03/06 | 95463 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma -2022/03/06 | 95315 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma 2022/03/06 | 9516 | macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua -2022/03/06 | 93958 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma -2022/03/06 | 92952 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma -2022/03/06 | 928 | systems/win32/miktex/tm/packages/pr.ini 2022/03/06 | 92750 | macros/latex/contrib/buctthesis/source/buctthesis.dtx 2022/03/06 | 915511 | macros/latex/contrib/buctthesis.zip 2022/03/06 | 889472 | systems/texlive/tlnet/archive/beebe.r62425.tar.xz 2022/03/06 | 88444 | systems/texlive/tlnet/archive/spbmark.doc.r62448.tar.xz -2022/03/06 | 88124 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2022/03/06 | 8787 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma 2022/03/06 | 8766 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx -2022/03/06 | 86484 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2022/03/06 | 871 | support/pmx/doc/pmxab.1 2022/03/06 | 841856 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf 2022/03/06 | 8316 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx -2022/03/06 | 82639 | macros/latex/contrib/easybook/easybook.tex -2022/03/06 | 825812 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma 2022/03/06 | 824 | macros/unicodetex/latex/fontsetup/fspxcharter.sty -2022/03/06 | 81640 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma 2022/03/06 | 813 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-terse.bbx +2022/03/06 | 807 | support/pmx/doc/scor2prt.1 2022/03/06 | 799 | macros/latex/contrib/easybook/README.md +2022/03/06 | 798702 | support/pmx/source/pmx-2.9.8a.tar.gz 2022/03/06 | 7975 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty -2022/03/06 | 78983 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2022/03/06 | 78965 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2022/03/06 | 7759 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2022/03/06 | 77077 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/03/06 | 762605 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma -2022/03/06 | 76232 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2022/03/06 | 759646 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2022/03/06 | 74535 | macros/latex/contrib/easybook/easybook.dtx -2022/03/06 | 74065 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2022/03/06 | 7397 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl -2022/03/06 | 73597 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma -2022/03/06 | 73506 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2022/03/06 | 73204 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2022/03/06 | 73013 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2022/03/06 | 72004 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2022/03/06 | 769 | support/pmx/doc/examples/netsoos.pmx +2022/03/06 | 758 | info/latex-for-undergraduates/README.md 2022/03/06 | 718 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx 2022/03/06 | 715 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx 2022/03/06 | 715 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx +2022/03/06 | 71540 | support/pmx/doc/gapxmpl.eps 2022/03/06 | 713 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx 2022/03/06 | 713 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx 2022/03/06 | 713 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx 2022/03/06 | 710 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.cbx -2022/03/06 | 71002 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma 2022/03/06 | 705 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.bbx 2022/03/06 | 702 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.bbx 2022/03/06 | 702 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx @@ -65,274 +480,116 @@ 2022/03/06 | 695 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.bbx 2022/03/06 | 692 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.bbx 2022/03/06 | 691 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx +2022/03/06 | 688 | support/pmx/README 2022/03/06 | 688 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx -2022/03/06 | 688942 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma -2022/03/06 | 68889 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2022/03/06 | 68624 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma 2022/03/06 | 684 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx -2022/03/06 | 682351 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2022/03/06 | 6810748 | systems/texlive/tlnet/install-tl-unx.tar.gz -2022/03/06 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma 2022/03/06 | 677 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx -2022/03/06 | 67652 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma 2022/03/06 | 67296 | systems/texlive/tlnet/archive/japanese-otf.source.r62456.tar.xz -2022/03/06 | 67225 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma 2022/03/06 | 6671 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx +2022/03/06 | 66121 | support/pmx/doc/ref298.pdf +2022/03/06 | 65925 | support/pmx/doc/accents.eps 2022/03/06 | 6548 | macros/latex/contrib/biblatex-contrib/biblatex-ext/README.md -2022/03/06 | 65100 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2022/03/06 | 64722 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2022/03/06 | 64529 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma 2022/03/06 | 6447 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber.cbx -2022/03/06 | 64475 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma 2022/03/06 | 640 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx 2022/03/06 | 640 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx 2022/03/06 | 640 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx 2022/03/06 | 640 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx -2022/03/06 | 640366 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2022/03/06 | 640179 | systems/win32/miktex/tm/packages/files.csv.lzma 2022/03/06 | 637 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx 2022/03/06 | 637 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx 2022/03/06 | 637 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx 2022/03/06 | 637 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx -2022/03/06 | 63761 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2022/03/06 | 633941 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2022/03/06 | 63391 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2022/03/06 | 629479 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma 2022/03/06 | 628 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx -2022/03/06 | 623651 | macros/latex/contrib/easybook.zip +2022/03/06 | 623430 | support/pmx/Windows/scor2prt.exe 2022/03/06 | 622 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx -2022/03/06 | 62129 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2022/03/06 | 619 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx 2022/03/06 | 6171 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx 2022/03/06 | 6137 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx 2022/03/06 | 609 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-tecomp.bbx 2022/03/06 | 608 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-tcomp.bbx 2022/03/06 | 6074 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty -2022/03/06 | 603952 | systems/texlive/tlnet/archive/easybook.doc.r62448.tar.xz 2022/03/06 | 601 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-ecomp.bbx 2022/03/06 | 601 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-comp.bbx -2022/03/06 | 599043 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2022/03/06 | 591472 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2022/03/06 | 58687 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2022/03/06 | 58654 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/03/06 | 59351 | support/pmx/doc/sjb291.eps 2022/03/06 | 5834 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx 2022/03/06 | 5833 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx -2022/03/06 | 582635 | macros/latex/contrib/easybook/easybook.pdf 2022/03/06 | 5773 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx -2022/03/06 | 57474 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma -2022/03/06 | 57445 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2022/03/06 | 57348 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2022/03/06 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2022/03/06 | 57045 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2022/03/06 | 56987 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2022/03/06 | 566554 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma 2022/03/06 | 566517 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf 2022/03/06 | 5586 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty -2022/03/06 | 55765 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma -2022/03/06 | 55415 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2022/03/06 | 55583 | support/pmx/doc/tremxmpl4.eps 2022/03/06 | 5533 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx 2022/03/06 | 5505 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx 2022/03/06 | 5336 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx -2022/03/06 | 532219 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2022/03/06 | 527877 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2022/03/06 | 52594 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2022/03/06 | 52313 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma 2022/03/06 | 5224 | macros/unicodetex/latex/fontsetup/fontsetup.sty -2022/03/06 | 52074 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2022/03/06 | 51514 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2022/03/06 | 51466 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2022/03/06 | 50825 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2022/03/06 | 5144 | support/pmx/doc/pmx-install.tex 2022/03/06 | 5016 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx -2022/03/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2022/03/06 | 48826 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2022/03/06 | 484791 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma 2022/03/06 | 4832 | systems/texlive/tlnet/archive/njustthesis.source.r62452.tar.xz 2022/03/06 | 4806 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-tecomp.cbx -2022/03/06 | 48017 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma 2022/03/06 | 4798 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx -2022/03/06 | 479430 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2022/03/06 | 477758 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma 2022/03/06 | 4757 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx -2022/03/06 | 46911 | systems/texlive/tlnet/tlpkg/translations/messages.pot -2022/03/06 | 46089 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma -2022/03/06 | 45943 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma 2022/03/06 | 4576 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx -2022/03/06 | 45702 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2022/03/06 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2022/03/06 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2022/03/06 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2022/03/06 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2022/03/06 | 4488 | systems/texlive/tlnet/archive/njustthesis.r62452.tar.xz -2022/03/06 | 43936 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2022/03/06 | 43805 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma 2022/03/06 | 438059 | macros/latex/contrib/buctthesis/doc/buctthesis.pdf -2022/03/06 | 43666 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2022/03/06 | 43644 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma 2022/03/06 | 43448 | systems/texlive/tlnet/archive/texlogsieve.r62454.tar.xz -2022/03/06 | 43371 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2022/03/06 | 42748 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma -2022/03/06 | 41317 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma -2022/03/06 | 41280 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2022/03/06 | 41227 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma 2022/03/06 | 4111 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx -2022/03/06 | 404084 | systems/texlive/tlnet/archive/texlive-scripts.doc.r62425.tar.xz 2022/03/06 | 3985 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx -2022/03/06 | 39719 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2022/03/06 | 394187 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma 2022/03/06 | 38973 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx -2022/03/06 | 38577 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2022/03/06 | 38480 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma 2022/03/06 | 3811 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx -2022/03/06 | 37392 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2022/03/06 | 37182 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma -2022/03/06 | 37090 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/03/06 | 3771 | support/pmx/doc/examples/prad5x.pmx 2022/03/06 | 369 | macros/unicodetex/latex/fontsetup/README 2022/03/06 | 36604 | systems/texlive/tlnet/archive/japanese-otf.doc.r62456.tar.xz 2022/03/06 | 3632 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty -2022/03/06 | 36064 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2022/03/06 | 355137 | support/pmx/doc/pmx298.pdf 2022/03/06 | 3548 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx -2022/03/06 | 35233 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2022/03/06 | 35188 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2022/03/06 | 351833 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma 2022/03/06 | 3424 | systems/texlive/tlnet/archive/spbmark.r62448.tar.xz -2022/03/06 | 34037 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2022/03/06 | 332516 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma -2022/03/06 | 32936 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2022/03/06 | 32850 | support/pmx/doc/ChangeLog 2022/03/06 | 3279 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-tcomp.cbx -2022/03/06 | 326729 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma 2022/03/06 | 3249 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx -2022/03/06 | 32139 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/03/06 | 32473 | support/pmx/doc/gpl.txt 2022/03/06 | 31808 | systems/texlive/tlnet/archive/chemmacros.r62449.tar.xz -2022/03/06 | 316655 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2022/03/06 | 31570 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2022/03/06 | 31565 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2022/03/06 | 31411 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2022/03/06 | 31337 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2022/03/06 | 30527 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2022/03/06 | 30176 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2022/03/06 | 3153 | support/pmx/doc/examples/staffcrossall.pmx +2022/03/06 | 30828 | support/pmx/tex/pmx.tex 2022/03/06 | 2995 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-common.cbx -2022/03/06 | 296015 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma 2022/03/06 | 2942 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx -2022/03/06 | 28888 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma -2022/03/06 | 28700 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2022/03/06 | 286873 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2022/03/06 | 286546 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma 2022/03/06 | 2859 | macros/unicodetex/latex/fontsetup/doc/fspsample.tex -2022/03/06 | 28593 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2022/03/06 | 285911 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2022/03/06 | 28419 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2022/03/06 | 281707 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2022/03/06 | 2816622 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2022/03/06 | 27628 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma -2022/03/06 | 27590 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma 2022/03/06 | 2758 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber.bbx -2022/03/06 | 27244 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2022/03/06 | 2696291 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2022/03/06 | 267653 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2022/03/06 | 267526 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2022/03/06 | 259091 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2022/03/06 | 2731 | support/pmx/doc/examples/mwalmnd.pmx +2022/03/06 | 2628 | support/pmx/doc/examples/most.pmx +2022/03/06 | 2624 | support/pmx/doc/examples/dyntest.pmx 2022/03/06 | 257864 | systems/texlive/tlnet/archive/japanese-otf.r62456.tar.xz -2022/03/06 | 256391 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2022/03/06 | 25628833 | systems/texlive/tlnet/install-tl.zip -2022/03/06 | 254982 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma -2022/03/06 | 25458 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2022/03/06 | 251337 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2022/03/06 | 25107 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2022/03/06 | 25067 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2022/03/06 | 244867 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2022/03/06 | 24169 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2022/03/06 | 23934 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2022/03/06 | 2357632 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/03/06 | 2482 | support/pmx/doc/examples/barsant.pmx +2022/03/06 | 24506 | info/latex-for-undergraduates/alounsburymacros.sty +2022/03/06 | 23870 | support/pmx/doc/ref298.tex 2022/03/06 | 23376 | macros/unicodetex/latex/fontsetup/doc/fspsample-xcharter.pdf -2022/03/06 | 229951 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma -2022/03/06 | 22163 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2022/03/06 | 216062 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2022/03/06 | 21320 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2022/03/06 | 213207 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2022/03/06 | 210199 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma 2022/03/06 | 210184 | systems/texlive/tlnet/archive/njustthesis.doc.r62452.tar.xz -2022/03/06 | 20874727 | systems/texlive/tlnet/install-tl-windows.exe +2022/03/06 | 210116 | info/latex-for-undergraduates/alounsburymacros-doc.pdf 2022/03/06 | 2086 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx -2022/03/06 | 202533 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2022/03/06 | 20192 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2022/03/06 | 200075 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2022/03/06 | 199570 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2022/03/06 | 198683 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma -2022/03/06 | 1983662 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma 2022/03/06 | 1976 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-terse.cbx -2022/03/06 | 197456 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2022/03/06 | 196185 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma 2022/03/06 | 19104 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex -2022/03/06 | 188211 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma -2022/03/06 | 18499 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma 2022/03/06 | 1848 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx -2022/03/06 | 18358 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2022/03/06 | 181675 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2022/03/06 | 180013 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma 2022/03/06 | 17697 | CTAN.sites -2022/03/06 | 1753745 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2022/03/06 | 172561 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2022/03/06 | 17177714 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2022/03/06 | 168767 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2022/03/06 | 16572 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2022/03/06 | 16552 | systems/texlive/tlnet/archive/easybook.r62448.tar.xz -2022/03/06 | 16506 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2022/03/06 | 16460 | systems/texlive/tlnet/archive/easybook.source.r62448.tar.xz 2022/03/06 | 164531 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex 2022/03/06 | 15750 | macros/latex/contrib/buctthesis/doc/chapter/chapter1.tex -2022/03/06 | 156731 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2022/03/06 | 155455 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2022/03/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2022/03/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2022/03/06 | 152070 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma 2022/03/06 | 15162 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty -2022/03/06 | 1499053 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2022/03/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2022/03/06 | 1454271 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2022/03/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2022/03/06 | 14411 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/03/06 | 145616 | support/pmx/doc/pmx298.tex +2022/03/06 | 145458 | support/pmx/doc/file600.eps +2022/03/06 | 1448785 | support/pmx/Windows/pmxab.exe 2022/03/06 | 14405 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-ecomp.cbx -2022/03/06 | 1427240 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2022/03/06 | 1426291 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma 2022/03/06 | 1402 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note-common.cbx -2022/03/06 | 139422 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma 2022/03/06 | 1391 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx -2022/03/06 | 136112 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma -2022/03/06 | 1355333 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma -2022/03/06 | 135252 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2022/03/06 | 13512 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2022/03/06 | 1322727 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2022/03/06 | 1319066 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2022/03/06 | 1318799 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma -2022/03/06 | 1306310 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma 2022/03/06 | 12975 | macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md 2022/03/06 | 1285 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-examples.bib -2022/03/06 | 126759 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma 2022/03/06 | 12403 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def 2022/03/06 | 12263 | macros/latex/contrib/buctthesis/doc/chapter/chapter2.tex 2022/03/06 | 12189 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx -2022/03/06 | 120468 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2022/03/06 | 1180914 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma 2022/03/06 | 11724 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx -2022/03/06 | 115693 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2022/03/06 | 1156084 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2022/03/06 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini -2022/03/06 | 113012 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2022/03/06 | 112475 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/03/06 | 114749 | support/pmx/doc/pmx-install.pdf 2022/03/06 | 111164 | systems/texlive/tlnet/archive/texlogsieve.doc.r62454.tar.xz -2022/03/06 | 109518 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2022/03/06 | 109178 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2022/03/06 | 108808 | systems/texlive/tlnet/archive/texlive-scripts.r62425.tar.xz 2022/03/06 | 10823 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty 2022/03/06 | 1051 | macros/latex/contrib/buctthesis/doc/mycfg.sty -2022/03/06 | 104710 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/03/06 | 10473 | info/latex-for-undergraduates/alounsburymacros-doc.tex 2022/03/06 | 1045832 | systems/texlive/tlnet/archive/chemmacros.doc.r62449.tar.xz 2022/03/06 | 1037770 | macros/unicodetex/latex/fontsetup.zip -2022/03/06 | 103394 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2022/03/06 | 103058 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2022/03/06 | 1020251 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma 2022/03/06 | 10147 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authornumber-comp.cbx -2022/03/06 | 101444 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma 2022/03/05 | 9962 | language/japanese/japanese-otf/doc/test/uplatex/Makefile 2022/03/05 | 99086767 | systems/win32/TLW64/tl-win64.zip 2022/03/05 | 96824 | systems/texlive/tlnet/archive/minim-math.doc.r62420.tar.xz @@ -365,6 +622,7 @@ 2022/03/05 | 952 | language/japanese/japanese-otf/tfm/upbrsgexpgothbn-h.tfm 2022/03/05 | 952 | language/japanese/japanese-otf/tfm/upbrsgexpgothb-h.tfm 2022/03/05 | 9501 | language/japanese/japanese-otf/src/script/mkjp04tfmvf.pl +2022/03/05 | 949927 | info/latex-for-undergraduates/images/M33_figure.jpeg 2022/03/05 | 921 | language/japanese/japanese-otf/doc/test/uplatex/punct0.tex 2022/03/05 | 9194 | language/japanese/japanese-otf/doc/test/uplatex/cjk-mltwght-v.tex 2022/03/05 | 917852 | systems/texlive/tlnet/archive/bath-bst.doc.r62394.tar.xz @@ -1630,7 +1888,6 @@ 2022/03/05 | 5526 | language/japanese/japanese-otf/doc/test/uplatex/cjk-pxbabel-v.tex 2022/03/05 | 5516 | language/japanese/japanese-otf/doc/test/uplatex/cjk-pxbabel-h.tex 2022/03/05 | 5416 | language/japanese/japanese-otf/doc/test/uplatex/upkanatest1.tex -2022/03/05 | 541115 | systems/doc/hitex/hitexman.hnt 2022/03/05 | 52 | language/japanese/japanese-otf/vf/utftmr--v.vf 2022/03/05 | 52 | language/japanese/japanese-otf/vf/utftmr--h.vf 2022/03/05 | 52 | language/japanese/japanese-otf/vf/utftml--v.vf @@ -1837,7 +2094,7 @@ 2022/03/05 | 468 | language/japanese/japanese-otf/tfm/cidjgr2-h.tfm 2022/03/05 | 468 | language/japanese/japanese-otf/tfm/cidjge2-h.tfm 2022/03/05 | 468 | language/japanese/japanese-otf/tfm/cidjgb2-h.tfm -2022/03/05 | 45991 | systems/doc/hitex/hint.sty +2022/03/05 | 4478 | info/latex-for-undergraduates/images/compiling.png 2022/03/05 | 44780 | language/japanese/japanese-otf/vf/cidtmr4-v.vf 2022/03/05 | 44780 | language/japanese/japanese-otf/vf/cidtmr4-h.vf 2022/03/05 | 44780 | language/japanese/japanese-otf/vf/cidtgr4-v.vf @@ -1889,6 +2146,7 @@ 2022/03/05 | 432 | language/japanese/japanese-otf/tfm/utfjgbf-h.tfm 2022/03/05 | 432 | language/japanese/japanese-otf/tfm/utfgrf-h.tfm 2022/03/05 | 43080 | systems/texlive/tlnet/archive/kotex-oblivoir.r62398.tar.xz +2022/03/05 | 42947 | info/latex-for-undergraduates/LaTeX_for_Undergraduates.tex 2022/03/05 | 428 | language/japanese/japanese-otf/vf/utftmrz-v.vf 2022/03/05 | 428 | language/japanese/japanese-otf/vf/utftmrz-h.vf 2022/03/05 | 428 | language/japanese/japanese-otf/vf/utftgrz-v.vf @@ -1941,11 +2199,11 @@ 2022/03/05 | 3972 | language/japanese/japanese-otf/vf/utfgrn-h.vf 2022/03/05 | 393656 | systems/texlive/tlnet/archive/biblatex-bath.doc.r62400.tar.xz 2022/03/05 | 390 | language/japanese/japanese-otf/doc/test/uplatex/sp_gb_utf.tex -2022/03/05 | 38876 | systems/doc/hitex/hitexman.tex 2022/03/05 | 3876 | language/japanese/japanese-otf/vf/utftmrl-v.vf 2022/03/05 | 3876 | language/japanese/japanese-otf/vf/utftmrl-h.vf 2022/03/05 | 3876 | language/japanese/japanese-otf/vf/utftgrl-v.vf 2022/03/05 | 3876 | language/japanese/japanese-otf/vf/utftgrl-h.vf +2022/03/05 | 38758 | info/latex-for-undergraduates/images/perl1.png 2022/03/05 | 3792 | language/japanese/japanese-otf/vf/utftmrk-v.vf 2022/03/05 | 3792 | language/japanese/japanese-otf/vf/utftmrk-h.vf 2022/03/05 | 3792 | language/japanese/japanese-otf/vf/utftgrk-v.vf @@ -2043,6 +2301,7 @@ 2022/03/05 | 324 | language/japanese/japanese-otf/ofm/otf-cjgr-v.ofm 2022/03/05 | 324 | language/japanese/japanese-otf/ofm/otf-cjge-v.ofm 2022/03/05 | 324 | language/japanese/japanese-otf/ofm/otf-cjgb-v.ofm +2022/03/05 | 31850 | info/latex-for-undergraduates/images/perl2crop.png 2022/03/05 | 31796 | systems/texlive/tlnet/archive/biblatex-bath.source.r62400.tar.xz 2022/03/05 | 3177 | language/japanese/japanese-otf/doc/test/jis2004.tex 2022/03/05 | 31548 | language/japanese/japanese-otf/vf/cidkmr4-v.vf @@ -2149,7 +2408,6 @@ 2022/03/05 | 2408 | language/japanese/japanese-otf/vf/upbrsgnmlminl-v.vf 2022/03/05 | 2408 | language/japanese/japanese-otf/vf/upbrsgnmlminb-v.vf 2022/03/05 | 23780 | language/japanese/japanese-otf/sty/otf.sty -2022/03/05 | 233860 | systems/doc/hitex/hitexman.pdf 2022/03/05 | 2312 | language/japanese/japanese-otf/src/script/mkcidofm.pl 2022/03/05 | 2291 | language/japanese/japanese-otf/doc/test/uplatex/era.tex 2022/03/05 | 229160 | macros/latex/contrib/chemmacros/chemmacros.sty @@ -2162,9 +2420,7 @@ 2022/03/05 | 21565 | support/texlogsieve/texlogsieve.tex 2022/03/05 | 21559 | language/japanese/japanese-otf/doc/test/uplatex/sp_cns_utf.tex 2022/03/05 | 214359 | macros/latex/contrib/njustthesis.zip -2022/03/05 | 213092 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt 2022/03/05 | 212861 | macros/latex/contrib/njustthesis/njustthesis.pdf -2022/03/05 | 2123672 | systems/texlive/tlnet/archive/shtthesis.doc.r62414.tar.xz 2022/03/05 | 2099 | language/japanese/japanese-otf/doc/test/uplatex/paren0.tex 2022/03/05 | 20667 | language/japanese/japanese-otf/src/script/umkpkana.pl 2022/03/05 | 197 | language/japanese/japanese-otf/src/umakeotf_pre @@ -2203,6 +2459,8 @@ 2022/03/05 | 1872 | language/japanese/japanese-otf/vf/utftgrr-v.vf 2022/03/05 | 1872 | language/japanese/japanese-otf/vf/utftgrr-h.vf 2022/03/05 | 18283 | language/japanese/japanese-otf/doc/00otf-uptex.txt +2022/03/05 | 1746 | info/latex-for-undergraduates/images/marketplace.png +2022/03/05 | 1744790 | info/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf 2022/03/05 | 1731144 | systems/texlive/tlcontrib/tlpkg/texlive.tlpdb 2022/03/05 | 172 | language/japanese/japanese-otf/tfm/utftmrz-v.tfm 2022/03/05 | 172 | language/japanese/japanese-otf/tfm/utftmrz-h.tfm @@ -3445,6 +3703,7 @@ 2022/03/05 | 172 | language/japanese/japanese-otf/tfm/cidcgr0-v.tfm 2022/03/05 | 172 | language/japanese/japanese-otf/tfm/cidcgr0-h.tfm 2022/03/05 | 1657 | language/japanese/japanese-otf/src/script/otf-hangul.rb +2022/03/05 | 164094 | info/latex-for-undergraduates/images/whiteboard.jpeg 2022/03/05 | 1639 | language/japanese/japanese-otf/src/umakeotf_brsg 2022/03/05 | 16339 | language/japanese/japanese-otf/src/script/mkpkana.pl 2022/03/05 | 1608 | systems/texlive/tlnet/archive/collection-publishers.r62410.tar.xz @@ -3480,6 +3739,7 @@ 2022/03/05 | 136 | language/japanese/japanese-otf/vf/utfcmrk-h.vf 2022/03/05 | 136 | language/japanese/japanese-otf/vf/utfcgrk-v.vf 2022/03/05 | 136 | language/japanese/japanese-otf/vf/utfcgrk-h.vf +2022/03/05 | 13593 | info/latex-for-undergraduates/images/directories.png 2022/03/05 | 13464 | language/japanese/japanese-otf/vf/upnmtchmgothr-v.vf 2022/03/05 | 13464 | language/japanese/japanese-otf/vf/upnmtchmgothr-h.vf 2022/03/05 | 13464 | language/japanese/japanese-otf/vf/upnmtchgothr-v.vf @@ -3528,7 +3788,7 @@ 2022/03/05 | 12892 | language/japanese/japanese-otf/doc/test/uplatex/utfmacro-cjk.tex 2022/03/05 | 1283 | language/japanese/japanese-otf/doc/test/uplatex/otfscale.tex 2022/03/05 | 127428 | systems/texlive/tlnet/archive/create-theorem.doc.r62402.tar.xz -2022/03/05 | 1255342 | systems/doc/hitex/hiformat.pdf +2022/03/05 | 127132 | info/latex-for-undergraduates/images/creatingDocument.png 2022/03/05 | 1238 | language/japanese/japanese-otf/doc/TeXLive-maps/otf-cktx.map 2022/03/05 | 12272 | language/japanese/japanese-otf/src/script/mktfm.pl 2022/03/05 | 12150 | language/japanese/japanese-otf/doc/test/uplatex/uotftest-utf8.tex @@ -3538,7 +3798,6 @@ 2022/03/05 | 1184 | language/japanese/japanese-otf/vf/utfmrz-h.vf 2022/03/05 | 1184 | language/japanese/japanese-otf/vf/utfgrz-v.vf 2022/03/05 | 1184 | language/japanese/japanese-otf/vf/utfgrz-h.vf -2022/03/05 | 11700 | systems/texlive/tlnet/archive/shtthesis.r62414.tar.xz 2022/03/05 | 116440 | language/japanese/japanese-otf/vf/expmgothrn-h.vf 2022/03/05 | 116440 | language/japanese/japanese-otf/vf/brsgexpmgothrn-h.vf 2022/03/05 | 116432 | language/japanese/japanese-otf/vf/expgothrn-h.vf @@ -3674,7 +3933,6 @@ 2022/03/05 | 112 | language/japanese/japanese-otf/vf/utfmrx-h.vf 2022/03/05 | 112 | language/japanese/japanese-otf/vf/utfgrx-v.vf 2022/03/05 | 112 | language/japanese/japanese-otf/vf/utfgrx-h.vf -2022/03/05 | 1113686 | systems/doc/hitex/hiformat.hnt 2022/03/05 | 1092 | language/japanese/japanese-otf/vf/utfmru-v.vf 2022/03/05 | 1092 | language/japanese/japanese-otf/vf/utfmru-h.vf 2022/03/05 | 1092 | language/japanese/japanese-otf/vf/utfgru-v.vf @@ -4267,98 +4525,3 @@ 2022/03/01 | 10206 | macros/latex/contrib/crefthe/crefthe.sty 2022/03/01 | 1007129 | macros/latex/contrib/mattens.zip 2022/03/01 | 1002639 | systems/doc/pdftex/manual/pdftex-a.pdf -2022/02/28 | 98187 | systems/doc/luatex/luatex-nodes.tex -2022/02/28 | 958568 | systems/texlive/tlnet/archive/mcf2graph.doc.r62243.tar.xz -2022/02/28 | 93736 | macros/latex/contrib/caption/subcaption.dtx -2022/02/28 | 9303 | macros/latex/contrib/caption/caption-ams-smf.dtx -2022/02/28 | 91974 | graphics/pgf/contrib/tzplot/tzplot-doc-C-v2.0.tex -2022/02/28 | 9033 | macros/latex/contrib/caption/CHANGELOG -2022/02/28 | 89996 | macros/latex/contrib/caption/ltcaption.pdf -2022/02/28 | 88462 | macros/latex/contrib/hvlogos.zip -2022/02/28 | 86065 | macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf -2022/02/28 | 86025 | graphics/pgf/contrib/tzplot/tzplot-doc-D-v2.0.tex -2022/02/28 | 7891 | macros/latex/contrib/caption/caption-thesis.dtx -2022/02/28 | 779 | macros/latex/contrib/lectureslides/README.md -2022/02/28 | 77912 | systems/texlive/tlnet/archive/lutabulartools.doc.r62253.tar.xz -2022/02/28 | 77411 | macros/latex/contrib/caption/caption2.pdf -2022/02/28 | 7725 | macros/latex/contrib/caption/caption-ntg.dtx -2022/02/28 | 7615 | macros/latex/contrib/caption/caption-elsarticle.dtx -2022/02/28 | 7276 | systems/texlive/tlnet/archive/luaotfload.source.r62239.tar.xz -2022/02/28 | 72168 | systems/texlive/tlnet/archive/spectralsequences.r62262.tar.xz -2022/02/28 | 71588 | systems/texlive/tlnet/archive/stex.source.r62231.tar.xz -2022/02/28 | 70884 | systems/texlive/tlnet/archive/stex.r62231.tar.xz -2022/02/28 | 692336 | systems/texlive/tlnet/archive/projlib.doc.r62251.tar.xz -2022/02/28 | 67305 | macros/latex/contrib/caption/caption-light.pdf -2022/02/28 | 6705 | macros/latex/contrib/hvlogos/latex/hvlogos.sty -2022/02/28 | 66490 | macros/latex/contrib/caption/bicaption.dtx -2022/02/28 | 652 | systems/texlive/tlnet/archive/collection-xetex.r62241.tar.xz -2022/02/28 | 6472 | systems/texlive/tlnet/archive/proflycee.r62260.tar.xz -2022/02/28 | 623992 | systems/texlive/tlnet/archive/luaotfload.doc.r62239.tar.xz -2022/02/28 | 611056 | systems/texlive/tlnet/archive/luaotfload.r62239.tar.xz -2022/02/28 | 5720 | systems/texlive/tlnet/archive/lutabulartools.r62253.tar.xz -2022/02/28 | 5459 | language/korean/kotex-oblivoir/tex/memhangul-common/fapapersize.sty -2022/02/28 | 511 | macros/latex/contrib/hvlogos/Changes -2022/02/28 | 51089 | graphics/pgf/contrib/tzplot/tzplot-doc-C1-v2.0.tex -2022/02/28 | 50904 | macros/latex/contrib/caption/caption2.dtx -2022/02/28 | 5029031 | macros/latex/contrib/hvfloat/doc/hvfloat.pdf -2022/02/28 | 501724 | systems/texlive/tlnet/archive/fnpct.doc.r62249.tar.xz -2022/02/28 | 49787 | macros/latex/contrib/lectureslides.zip -2022/02/28 | 48424 | macros/latex/contrib/lectureslides/lectureslides-doc.pdf -2022/02/28 | 475196 | systems/texlive/tlnet/archive/proflycee.doc.r62260.tar.xz -2022/02/28 | 46949 | macros/latex/contrib/caption/fallback/v2.1/caption2.dtx -2022/02/28 | 444 | systems/texlive/tlnet/archive/mcf2graph.r62243.tar.xz -2022/02/28 | 4426 | macros/latex/contrib/lectureslides/lectureslides-doc.tex -2022/02/28 | 44134 | graphics/pgf/contrib/tzplot/tzplot-doc-C2-v2.0.tex -2022/02/28 | 427518 | macros/latex/contrib/caption/caption.pdf -2022/02/28 | 41260 | systems/texlive/tlnet/archive/projlib.source.r62251.tar.xz -2022/02/28 | 3922 | macros/latex/contrib/caption/caption.ins -2022/02/28 | 3847 | macros/latex/contrib/hvfloat/Changes -2022/02/28 | 3564 | language/korean/kotex-oblivoir/tex/memhangul-common/oblivoir-misc.sty -2022/02/28 | 334915 | macros/latex/contrib/caption/caption.dtx -2022/02/28 | 3067 | macros/latex/contrib/caption/README -2022/02/28 | 30030 | macros/latex/contrib/caption/ltcaption.dtx -2022/02/28 | 291008 | macros/latex/contrib/caption/fallback/v3.1/caption.dtx -2022/02/28 | 2776 | systems/texlive/tlnet/archive/book-of-common-prayer.r62241.tar.xz -2022/02/28 | 256845 | language/korean/kotex-oblivoir/doc/oblivoir-simpledoc.pdf -2022/02/28 | 244 | macros/latex/contrib/hvlogos/README -2022/02/28 | 221744 | macros/latex/contrib/caption/subcaption.pdf -2022/02/28 | 217944 | graphics/pgf/contrib/tzplot/tzplot.sty -2022/02/28 | 21420 | macros/latex/contrib/caption/fallback/v2.0/caption2.dtx -2022/02/28 | 21383 | graphics/pgf/contrib/tzplot/tzplot-doc.tex -2022/02/28 | 21191 | macros/latex/contrib/caption/elephant.eps -2022/02/28 | 2092 | macros/latex/contrib/lectureslides/lectureslides.sty -2022/02/28 | 20265 | fonts/newtx/tex/newtxtext.sty -2022/02/28 | 19458 | macros/latex/contrib/caption/caption-koma.dtx -2022/02/28 | 192575 | macros/latex/contrib/caption/caption3.dtx -2022/02/28 | 1906008 | systems/texlive/tlnet/archive/stex.doc.r62231.tar.xz -2022/02/28 | 19008 | macros/latex/contrib/caption/fallback/v1/caption.dtx -2022/02/28 | 184426 | support/TeX4ht/source/ChangeLog -2022/02/28 | 182082 | macros/latex/contrib/caption/fallback/v3.0/caption.dtx -2022/02/28 | 181049 | macros/latex/contrib/caption/fallback/v3.3/caption.dtx -2022/02/28 | 178838 | macros/latex/contrib/caption/fallback/v3.5/caption3.dtx -2022/02/28 | 1784850 | systems/doc/luatex/luatex.pdf -2022/02/28 | 169193 | macros/latex/contrib/caption/fallback/v3.4/caption.dtx -2022/02/28 | 1680852 | install/macros/latex/contrib/caption.tds.zip -2022/02/28 | 16540 | systems/texlive/tlnet/archive/projlib.r62251.tar.xz -2022/02/28 | 164934 | macros/latex/contrib/caption/fallback/v3.2/caption.dtx -2022/02/28 | 161735 | macros/latex/contrib/caption/fallback/v3.5/caption.dtx -2022/02/28 | 1595616 | systems/texlive/tlnet/archive/spectralsequences.doc.r62262.tar.xz -2022/02/28 | 15737 | macros/latex/contrib/caption/cat.eps -2022/02/28 | 157254 | macros/latex/contrib/caption/fallback/v3.4/caption3.dtx -2022/02/28 | 153317 | macros/latex/contrib/caption/fallback/v3.3/caption3.dtx -2022/02/28 | 14994 | macros/latex/contrib/caption/caption-beamer.dtx -2022/02/28 | 149792 | macros/latex/contrib/caption/bicaption.pdf -2022/02/28 | 1478102 | macros/latex/contrib/caption.zip -2022/02/28 | 14728 | systems/texlive/tlnet/archive/fnpct.r62249.tar.xz -2022/02/28 | 14332431 | macros/latex/contrib/hvfloat.zip -2022/02/28 | 14209 | graphics/pgf/contrib/tzplot/tzplot-doc-E-v2.0.tex -2022/02/28 | 13813 | graphics/pgf/contrib/tzplot/tzplot-doc-A-v2.0.tex -2022/02/28 | 1352871 | graphics/pgf/contrib/tzplot.zip -2022/02/28 | 135024 | macros/latex/contrib/caption/fallback/v3.2/caption3.dtx -2022/02/28 | 13430 | macros/latex/contrib/caption/caption-light.dtx -2022/02/28 | 129528 | systems/texlive/tlnet/archive/book-of-common-prayer.doc.r62241.tar.xz -2022/02/28 | 1263240 | graphics/pgf/contrib/tzplot/tzplot-doc.pdf -2022/02/28 | 12620 | macros/latex/contrib/caption/caption-memoir.dtx -2022/02/28 | 119821 | macros/latex/contrib/hvfloat/doc/hvfloat.tex -2022/02/28 | 112 | macros/latex/contrib/caption/SUMMARY -2022/02/28 | 100219 | language/korean/kotex-oblivoir/doc/oblivoir-simpledoc.tex diff --git a/info/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf b/info/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf index 4a98277a86..0588645347 100644 Binary files a/info/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf and b/info/latex-for-undergraduates/LaTeX_for_Undergraduates.pdf differ diff --git a/info/latex-for-undergraduates/LaTeX_for_Undergraduates.tex b/info/latex-for-undergraduates/LaTeX_for_Undergraduates.tex index 898d85c1ad..eaad3e62b2 100644 --- a/info/latex-for-undergraduates/LaTeX_for_Undergraduates.tex +++ b/info/latex-for-undergraduates/LaTeX_for_Undergraduates.tex @@ -33,7 +33,7 @@ } } \author{Andrew Lounsbury} - \date{February 5, 2022} + \date{March 6, 2022} \maketitle \vspace{1.5in} @@ -110,7 +110,7 @@ View error messages by clicking the icons in the bottom-left corner. The font size \texttt{[12pt]} is optional and may be set to sizes other than \texttt{12}. The \href{https://ctan.org/pkg/article}{\texttt{article}} class is for regular documents.\footnote{ The \href{https://ctan.org/pkg/beamer}{\texttt{beamer}} class allows us to make presentation slides and posters in \LaTeX. } -The preamble is everything between \texttt{\textbackslash documentclass\{article\}} and \texttt{\textbackslash begin\{document\}}, in other words, your margins and text dimensions,\footnote{ +The preamble is everything between \verb$\documentclass{article}$ and \verb$\begin{document}$, in other words, your margins and text dimensions,\footnote{ An alternative method of setting these values is \texttt{\textbackslash setlength\{\textbackslash lengthname\}\{}\opt{dimension}\texttt{\}}. } which are optional, and your packages. \p @@ -254,7 +254,7 @@ like this. \item This is \texttt{itemize}. \item% dot - Good labeling for \texttt{itemize} might be ``dot'', ``dash'', ``star'', ``point,'' but the utility of this depends on whether you put \texttt{\textbackslash item} on its own line or the same line as your text. + Good labeling for \texttt{itemize} might be ``dot'', ``dash'', ``star'', ``point,'' but the utility of this depends on whether you put \verb$\item$ on its own line or the same line as your text. \item% dot \begin{itemize} @@ -446,7 +446,7 @@ makes it much easier to see where everything is. $\sup_n (b_n)$, $\int_a^b$, $\max_n\{\delta_n\}$, etc. \par - We can often override this by putting \texttt{\textbackslash limits} + We can often override this by putting \verb$\limits$ after each command. So, we can write $\sum\limits_{i=1}^n$, @@ -666,29 +666,30 @@ Additionally, there are various ways to insert a space in math mode (but some of \text{\textbackslash :} & \phi(x)\:\forall x & \rightarrow\:\leftarrow \\ \hline \texttt{\textbackslash ;} & \phi(x)\;\forall x & \rightarrow\;\leftarrow \\ \hline \text{\texttt{\textbackslash} (slash space)} & \phi(x)\ \forall x & \rightarrow \ \leftarrow\\ \hline + \texttt{\textbackslash nobreakspace} & \phi(x)\nobreakspace\forall x & \rightarrow\nobreakspace\leftarrow \\ \hline \sim \text{ (tilde)} & \phi(x)~\forall x & \rightarrow~\leftarrow \\ \hline \texttt{\textbackslash quad} & \phi(x) \quad \forall x & \rightarrow \quad \leftarrow \\ \hline \texttt{\textbackslash qquad} & \phi(x) \qquad \forall x & \rightarrow \qquad \leftarrow \\ \hline \end{array} \] -Tildes are an example of unbreakable space, meaning the adjacent strings won't be separated over line breaks.\footnote{ - Note that, for unknown reasons, the two tildes above didn't produce the same space, so tildes are perhaps unreliable. -} +The command \verb$\nobreakspace$ and tildes are examples of unbreakable space, meaning the adjacent strings won't be separated over line breaks.\footnote{ + In particular, a tilde is equivalent to \texttt{\textbackslash nobreakspace \{\}}. The extra \texttt{\{\}} may cause inconsistent spacing when used with certain math symbols, as it did in the above chart. +} E.g.,\\ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - string1~string2 \par Rather than printing \hspace*{\fill} string1 \\ string2, \\ it keeps the two strings on the same line. If we remove the space between the last dash and string1, both strings will move to the previous line. This could be useful for keeping inline mathematical statements together; it may sometimes be difficult to read a formula broken up over two lines. \par -Tildes are unbreakable in math mode and in paragraph mode. Some other options here are only unbreakable in paragraph mode; e.g., (\verb$\,$), (\verb$\:$), and (\verb$\;$). +The command \verb$\nobreakspace$ and tildes are unbreakable in math mode and in paragraph mode. Some other options here are only unbreakable in paragraph mode; e.g., (\verb$\,$), (\verb$\:$), and (\verb$\;$). \section{Macros} \label{sec:macros} The command \verb$\newcommand{\macroname}{$\opt{definition}\verb$}$ creates a macro instruction invoked with \verb$\macroname$ that inserts the \opt{definition} wherever \verb$\macroname$ appears.\footnote{ The \opt{definition} can either be written on one line for potentially faster compile times or left in a readable format, but compile times won't be much faster in the former case since \LaTeX\ Workshop keeps auxiliary files. The first compilation is long, but subsequent compilations are quick because most of the compilation is already done. Hence, saving memory by reducing the number of tokens isn't very important since most of those tokens aren't recompiled. In the latter case, it's good practice to put a \texttt{\%} at the end of most lines to prevent whitespace created by \texttt{EOL} (end of line) characters. BTW: 2 \texttt{EOL} = empty line in code = \texttt{\textbackslash par}. } -The command \verb$\newcommand*{\macroname}[n]{$\opt{definition}\verb$}$\footnote{ +The command \verb$\newcommand*{\macroname}[$\opt{n}\verb$]{$\opt{definition}\verb$}$\footnote{ The \texttt{*} creates a ``short'' command that invokes error messages if the \opt{definition} is broken up over paragraphs (\texttt{\textbackslash par} or an empty line). The utility here is that this will also make your compiler tell you the line number if you leave an opening brace unclosed. } -is invoked with \texttt{n} arguments $\mathit{\langle a_1 \rangle,\dots,\langle a_n \rangle}$ as $\mathtt{\texttt{\textbackslash} macroname\{\langle\mathit{a_1}\rangle\} \cdots \{\langle\mathit{a_n}\rangle\}}$. +is invoked with \opt{n} arguments $\mathit{\langle a_1 \rangle,\dots,\langle a_n \rangle}$ as \verb%\macroname{%$\langle\mathit{a_1}\rangle$\verb%}%$\cdots$\verb%{%$\langle\mathit{a_n}\rangle$\verb%}%. In the \opt{definition}, \texttt{\#i} indicates where the \texttt{i}-th argument \opt{$a_i$} will be placed, and \verb$\hfill$ inserts white-space until a space---the space in a matrix entry, for instance---is filled. \pagebreak \[ diff --git a/info/latex-for-undergraduates/README.md b/info/latex-for-undergraduates/README.md index 3a2ec78cbf..0d6ae6b6b6 100644 --- a/info/latex-for-undergraduates/README.md +++ b/info/latex-for-undergraduates/README.md @@ -1,7 +1,7 @@ # LaTeX for Undergraduates ## Author: Andrew Lounsbury, alounsbury8@gmail.com -## Version 1.0 -## 2022/02/05 +## Version 1.0.1 +## 2022/03/06 ## License: Public Domain ## Author's Note diff --git a/info/latex-for-undergraduates/alounsburymacros-doc.pdf b/info/latex-for-undergraduates/alounsburymacros-doc.pdf index fb458004c0..007db2b280 100644 Binary files a/info/latex-for-undergraduates/alounsburymacros-doc.pdf and b/info/latex-for-undergraduates/alounsburymacros-doc.pdf differ diff --git a/info/latex-for-undergraduates/alounsburymacros-doc.tex b/info/latex-for-undergraduates/alounsburymacros-doc.tex index 66cf701fb5..85aa2d32d0 100644 --- a/info/latex-for-undergraduates/alounsburymacros-doc.tex +++ b/info/latex-for-undergraduates/alounsburymacros-doc.tex @@ -11,7 +11,7 @@ \begin{document} \title{The \texttt{alounsburymacros} package} - \author{1.0 \ 2022/02/05} + \author{1.0.1 \ 2022/03/06} \date{Andrew Lounsbury} \maketitle diff --git a/info/latex-for-undergraduates/alounsburymacros.sty b/info/latex-for-undergraduates/alounsburymacros.sty index 39788e6ad4..495c38efa0 100644 --- a/info/latex-for-undergraduates/alounsburymacros.sty +++ b/info/latex-for-undergraduates/alounsburymacros.sty @@ -1,4 +1,4 @@ -% alounsburymacros.sty 1.0 2022/02/05 +% alounsburymacros.sty 1.0.1 2022/03/06 % Andrew Lounsbury % This file was not generated from source code. @@ -6,7 +6,7 @@ % Marking this file as a package \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{alounsburymacros}[2022/02/05 1.0 miscellaneous commands] +\ProvidesPackage{alounsburymacros}[2022/03/06 1.0.1 miscellaneous commands] % This allows commands that use things from these packages to work even if we % haven't put them in \usepackage{} in the preamble. @@ -624,10 +624,27 @@ \newcommand*{\mddit}[1][1]{\forloop{i}{0}{\value{i}<#1}{\ddit}} % VERSE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newcommand{\inp}[1]{\newpage\input{#1}} + \newcommand{\attrib}[1]{\nopagebreak{\raggedleft\footnotesize#1\par}\ } -\newcommand{\dinkus}{% - \begin{center}% - \textbf{***}\vspace{-0.25cm}% - \end{center}% +\newcommand{\gap}[1][1]{\hspace{#1\vgap}} +\newcommand{\ngap}[1][1]{\hspace{-#1\vgap}} + +\newcommand{\nin}{\hspace{-\vgap}} +\newcommand{\bin}{\hspace{2\vgap}} +\newcommand{\tin}{\hspace{3\vgap}} +\newcommand{\fin}{\hspace{4\vgap}} +\newcommand{\cin}{\hspace{5\vgap}} +\newcommand{\nbin}{\hspace{-2\vgap}} +\newcommand{\ntin}{\hspace{-3\vgap}} +\newcommand{\nfin}{\hspace{-4\vgap}} +\newcommand{\ncin}{\hspace{-5\vgap}} +\newcommand{\hin}{\hspace{0.5\vgap}} +\newcommand{\nhin}{\hspace{-0.5\vgap}} + +\newcommand{\dinkus}{ + \begin{center} + \textbf{***}\vspace{-0.25cm} + \end{center} } \ No newline at end of file diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md index ffa7def0f6..a161a34c54 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md +++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/README.md @@ -1,4 +1,4 @@ -Date of last change: 2022-02-22 to version v1.1d +Date of last change: 2022-03-07 to version v1.1e # biblatex-gb7714-2015: a biblatex style package @@ -1560,6 +1560,7 @@ please see the file 'biblatex-gb7714-2015.pdf' for further information! * 2021/12/11 v1.1b,ctan * 2022/01/24 v1.1c,ctan * 2022/02/22 v1.1d,ctan,github +* 2022/03/07 v1.1e,ctan,github --------------------------------------------------------- diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf index 0beb49a558..f6e31ca8b3 100644 Binary files a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf and b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.pdf differ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex index 18152dce43..7d79d7c2d0 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex +++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/biblatex-gb7714-2015.tex @@ -684,7 +684,7 @@ leftrule=0pt,rightrule=0pt,toprule=0.4pt,bottomrule=0.4pt] \item erjpunctcn=true,使用格å¼è¦æ±‚的中文标点(å³å…¨è§’标点)。 \item erjpunctcn=false,则将所有的文献中的标点改为英文标点(å³åŠè§’标点)。 \end{itemize} - + 需è¦æ³¨æ„的是:若åªæƒ³ä¿®æ”¹è‹±æ–‡æ–‡çŒ®çš„全部标点为åŠè§’标点,而中文文献的标点ä¸å˜ï¼Œä»…需在导言区加上如下命令: \lstinline[breaklines=true]!\def\erjpunctcommalanen{\addcomma\addspace}!, \lstinline[breaklines=true]!\def\erjpunctcolonlanen{\addcolon\addspace}!。 @@ -2506,7 +2506,7 @@ author.title[usera].journaltitle或journal,year,volume(number):pages[urldate].ur \qd{由于biblatexä¸æ”¯æŒnewspaper æ¡ç›®ç±»åž‹ï¼Œæ‰€ä»¥æ¡ç›®ç±»åž‹æŠ¥çº¸æžå‡ºçš„文献用article表示,但使用entrysubtype或note域等于news|newspaper作为一个区分,当note域数æ®å­˜åœ¨ä¸”内容等于news或newspaper时,就将其作为报纸的æžå‡ºæ–‡çŒ®è¿›è¡Œå¤„ç†ã€‚报纸文献类型标识用N表示,报纸的版次用number域æ述。} \subsubsection{报纸æžå‡ºçš„文献/newspaper}\label{sec:standard} -biblatex没有将报纸的æžå‡ºæ–‡çŒ®(newspaper)作为一ç§æ–‡çŒ®æ¡ç›®ç±»åž‹ï¼Œå› æ­¤å¯ä»¥ç›´æŽ¥åˆ©ç”¨article类型加newspaper或note域等于news代替,或者也å¯ä»¥ç›´æŽ¥ä½¿ç”¨newspaper类型。为方便使用考虑,本样å¼å¢žåŠ äº†å¯¹æ–°æ¡ç›®ç±»åž‹newspaper的支æŒï¼Œè¿™ç§æ”¯æŒé€šè¿‡ç±»ä¼¼äºŽstandard类型的方å¼å®žçŽ°ï¼Œæ²¡æœ‰å¯¹æ•°æ®æ¨¡åž‹è¿›è¡Œæ”¹åŠ¨æˆ–增加,而完全利用动æ€æ•°æ®ä¿®æ”¹å°†newspaper类型转æ¢ä¸ºarticle类型。在bib文件中直接使用newspaper类型时需è¦æ³¨æ„å¯èƒ½å­˜åœ¨ç§»æ¤éšœç¢ï¼Œå› ä¸ºå…¶å®ƒbiblatexæ ·å¼å¯èƒ½ä¸æ”¯æŒnewspaper类型。 +biblatex没有将报纸的æžå‡ºæ–‡çŒ®(newspaper)作为一ç§æ–‡çŒ®æ¡ç›®ç±»åž‹ï¼Œå› æ­¤å¯ä»¥ç›´æŽ¥åˆ©ç”¨article类型加entrysubtype或note域等于news|newspaper代替,或者也å¯ä»¥ç›´æŽ¥ä½¿ç”¨newspaper类型。为方便使用考虑,本样å¼å¢žåŠ äº†å¯¹æ–°æ¡ç›®ç±»åž‹newspaper的支æŒï¼Œè¿™ç§æ”¯æŒé€šè¿‡ç±»ä¼¼äºŽstandard类型的方å¼å®žçŽ°ï¼Œæ²¡æœ‰å¯¹æ•°æ®æ¨¡åž‹è¿›è¡Œæ”¹åŠ¨æˆ–增加,而完全利用动æ€æ•°æ®ä¿®æ”¹å°†newspaper类型转æ¢ä¸ºarticle类型。在bib文件中直接使用newspaper类型时需è¦æ³¨æ„å¯èƒ½å­˜åœ¨ç§»æ¤éšœç¢ï¼Œå› ä¸ºå…¶å®ƒbiblatexæ ·å¼å¯èƒ½ä¸æ”¯æŒnewspaper类型。 \begin{refentry}{}{} 报纸æžå‡ºçš„文献对应一个新的entrytype为: newspaper。文献类型标识用N表示。 diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx index 9de266ecdc..46dd2633fb 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.bbx @@ -11,7 +11,7 @@ % % ç‰ˆæœ¬å’Œæ—¶é—´ä¿¡æ¯ % -\def\versionofgbtstyle{2022/02/22 v1.1d} +\def\versionofgbtstyle{2022/03/07 v1.1e} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显å¼æŒ‡å®šç”¨biberåŽç«¯ï¼Œå½“用bibtex时会报错,但其实ä¸ä¼šå½±å“编译,åªæ˜¯é‡‡ç”¨bibtexåŽæ— æ³•è¾¾æˆæ ¼å¼éœ€æ±‚ @@ -1477,7 +1477,7 @@ %\step[notfield=address,final]%当addressä¸å­˜åœ¨åˆ™ç»§ç»­ \step[fieldsource=url,final]%地å€ä¸å­˜åœ¨ä¸”存在url那么转å˜ä¸ºonline \step[typesource=report,typetarget=online] - \step[fieldset=note,fieldvalue={report}] + \step[fieldset=entrysubtype,fieldvalue={report}] } \map{% \pertype{thesis} @@ -1560,7 +1560,7 @@ \step[typesource=archive,typetarget=online] } \map[overwrite]{%这里还必须有overwrite,注æ„ä¸åŒç‰ˆæœ¬å­˜åœ¨å·®å¼‚,比如texlive2015å˜16åŽbiber有å˜åŒ–(20161207修改正确) - \step[fieldsource=note, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 + \step[fieldsource=entrysubtype, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 \step[fieldset=keywords, fieldvalue={,}, append] \step[fieldset=keywords, origfieldval, append] } @@ -1635,7 +1635,7 @@ %\step[notfield=address,final]%当addressä¸å­˜åœ¨åˆ™ç»§ç»­ \step[fieldsource=url,final]%地å€ä¸å­˜åœ¨ä¸”存在url那么转å˜ä¸ºonline \step[typesource=report,typetarget=online] - \step[fieldset=note,fieldvalue={report}] + \step[fieldset=entrysubtype,fieldvalue={report}] } \map{% \pertype{thesis} @@ -1718,7 +1718,7 @@ \step[typesource=archive,typetarget=online] } \map[overwrite]{%这里还必须有overwrite,注æ„ä¸åŒç‰ˆæœ¬å­˜åœ¨å·®å¼‚,比如texlive2015å˜16åŽbiber有å˜åŒ–(20161207修改正确) - \step[fieldsource=note, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 + \step[fieldsource=entrysubtype, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 \step[fieldset=keywords, fieldvalue={,}, append] \step[fieldset=keywords, origfieldval, append] } @@ -3327,14 +3327,16 @@ incollection,proceedings,inproceedings]{number}{% % 对edition版本信æ¯æ ¼å¼åšå‡ºä¿®æ”¹ % \DeclareFieldFormat{edition}{\bibtitlefont%æºæ¥è‡ªbiblatex.DEF -\testCJKfirst{userd}% -\iftoggle{ifCJKforgbt}% -{\ifinteger{#1}% -{\printtext{#1\str@edition}}% -{#1\isdot}}% -{\ifinteger{#1}% -{\mkbibordedition{#1}~\bibstring{edition}}% -{#1\isdot}}} +\ifnumgreater{#1}{1}{% + \testCJKfirst{userd}% + \iftoggle{ifCJKforgbt}% + {\ifinteger{#1}% + {\printtext{#1\str@edition}}% + {#1\isdot}}% + {\ifinteger{#1}% + {\mkbibordedition{#1}~\bibstring{edition}}% + {#1\isdot}}}{}% +} % % 对version的版本信æ¯åšå‡ºä¿®æ”¹ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx index 0f695be5d3..597820363a 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015.cbx @@ -530,7 +530,7 @@ \DeclareMultiCiteCommand{\authornumcites}[]{\authornumcite}{\multicitedelim} %如果标注标签ä¸è¿›è¡ŒåŽ‹ç¼©å¯ä»¥åˆ™é‡å®šä¹‰å¦‚下: -\iftoggle{bbx:gbcitecomp}% +\iftoggle{bbx:gbcitecomp}{}% {\newbibmacro*{cite}{% \printtext[bibhyperref]{% \printfield{labelprefix}% @@ -550,4 +550,4 @@ \usebibmacro{cite}} {\multicitedelim} {\mkbibrightborder\mkbibsuperscriptusp{\usebibmacro{postnote}}} -}{} +} diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx index 3685335e06..ecc1561155 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ay.bbx @@ -10,7 +10,7 @@ % % ç‰ˆæœ¬å’Œæ—¶é—´ä¿¡æ¯ % -\def\versionofgbtstyle{2022/02/22 v1.1d} +\def\versionofgbtstyle{2022/03/07 v1.1e} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015ay.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显å¼æŒ‡å®šç”¨biberåŽç«¯ï¼Œå½“用bibtex时会报错,但其实ä¸ä¼šå½±å“编译,åªæ˜¯é‡‡ç”¨bibtexåŽæ— æ³•è¾¾æˆæ ¼å¼éœ€æ±‚ @@ -1397,7 +1397,7 @@ %\step[notfield=address,final]%当addressä¸å­˜åœ¨åˆ™ç»§ç»­ \step[fieldsource=url,final]%地å€ä¸å­˜åœ¨ä¸”存在url那么转å˜ä¸ºonline \step[typesource=report,typetarget=online] - \step[fieldset=note,fieldvalue={report}] + \step[fieldset=entrysubtype,fieldvalue={report}] } \map{% \pertype{thesis} @@ -1480,7 +1480,7 @@ \step[typesource=archive,typetarget=online] } \map[overwrite]{%这里还必须有overwrite,注æ„ä¸åŒç‰ˆæœ¬å­˜åœ¨å·®å¼‚,比如texlive2015å˜16åŽbiber有å˜åŒ–(20161207修改正确) - \step[fieldsource=note, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 + \step[fieldsource=entrysubtype, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 \step[fieldset=keywords, fieldvalue={,}, append] \step[fieldset=keywords, origfieldval, append] } @@ -3149,14 +3149,17 @@ incollection,proceedings,inproceedings]{number}{% % 对edition版本信æ¯æ ¼å¼åšå‡ºä¿®æ”¹ % \DeclareFieldFormat{edition}{\bibtitlefont%æºæ¥è‡ªbiblatex.DEF -\testCJKfirst{userd}% -\iftoggle{ifCJKforgbt}% -{\ifinteger{#1}% -{\printtext{#1\str@edition}}% -{#1\isdot}}% -{\ifinteger{#1}% -{\mkbibordedition{#1}~\bibstring{edition}}% -{#1\isdot}}} +\ifnumgreater{#1}{1}{% + \testCJKfirst{userd}% + \iftoggle{ifCJKforgbt}% + {\ifinteger{#1}% + {\printtext{#1\str@edition}}% + {#1\isdot}}% + {\ifinteger{#1}% + {\mkbibordedition{#1}~\bibstring{edition}}% + {#1\isdot}}}{}% +} + % % 对version的版本信æ¯åšå‡ºä¿®æ”¹ diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx index c08a1207d5..adb65495b2 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015ms.bbx @@ -11,7 +11,7 @@ % % ç‰ˆæœ¬å’Œæ—¶é—´ä¿¡æ¯ % -\def\versionofgbtstyle{2022/02/22 v1.1d} +\def\versionofgbtstyle{2022/03/07 v1.1e} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015ms.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显å¼æŒ‡å®šç”¨biberåŽç«¯ï¼Œå½“用bibtex时会报错,但其实ä¸ä¼šå½±å“编译,åªæ˜¯é‡‡ç”¨bibtexåŽæ— æ³•è¾¾æˆæ ¼å¼éœ€æ±‚ @@ -1157,7 +1157,7 @@ \step[notfield=address,final]%当addressä¸å­˜åœ¨åˆ™ç»§ç»­ \step[fieldsource=url,final]%地å€ä¸å­˜åœ¨ä¸”存在url那么转å˜ä¸ºonline \step[typesource=report,typetarget=online] - \step[fieldset=note,fieldvalue={report}] + \step[fieldset=entrysubtype,fieldvalue={report}] } \map{% \pertype{thesis} @@ -1208,7 +1208,7 @@ \step[typesource=archive,typetarget=online] } \map[overwrite]{%这里还必须有overwrite,注æ„ä¸åŒç‰ˆæœ¬å­˜åœ¨å·®å¼‚,比如texlive2015å˜16åŽbiber有å˜åŒ–(20161207修改正确) - \step[fieldsource=note, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 + \step[fieldsource=entrysubtype, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 \step[fieldset=keywords, fieldvalue={,}, append] \step[fieldset=keywords, origfieldval, append] } @@ -2200,15 +2200,17 @@ incollection,proceedings,inproceedings]{number}{% % % 对edition版本信æ¯æ ¼å¼åšå‡ºä¿®æ”¹ % -\DeclareFieldFormat{edition}{%æºæ¥è‡ªbiblatex.DEF -\testCJKfirst{userd}% -\iftoggle{ifCJKforgbt}% -{\ifinteger{##1}% -{\printtext{##1\str@edition}}% -{##1\isdot}}% -{\ifinteger{##1}% -{\mkbibordedition{##1}~\bibstring{edition}}% -{##1\isdot}}}% +\DeclareFieldFormat{edition}{\bibtitlefont%æºæ¥è‡ªbiblatex.DEF +\ifnumgreater{#1}{1}{% + \testCJKfirst{userd}% + \iftoggle{ifCJKforgbt}% + {\ifinteger{#1}% + {\printtext{#1\str@edition}}% + {#1\isdot}}% + {\ifinteger{#1}% + {\mkbibordedition{#1}~\bibstring{edition}}% + {#1\isdot}}}{}% +}% % % 对version的版本信æ¯åšå‡ºä¿®æ”¹ % diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx index 92c9cd22fe..aeb0ccccdc 100644 --- a/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx +++ b/macros/latex/contrib/biblatex-contrib/biblatex-gb7714-2015/gb7714-2015mx.bbx @@ -11,7 +11,7 @@ % % ç‰ˆæœ¬å’Œæ—¶é—´ä¿¡æ¯ % -\def\versionofgbtstyle{2022/02/22 v1.1d} +\def\versionofgbtstyle{2022/03/07 v1.1e} \def\versionofbiblatex{\abx@version} \ProvidesFile{gb7714-2015mx.bbx}[\versionofgbtstyle biblatex bibliography style] %\RequireBiber[3]%显å¼æŒ‡å®šç”¨biberåŽç«¯ï¼Œå½“用bibtex时会报错,但其实ä¸ä¼šå½±å“编译,åªæ˜¯é‡‡ç”¨bibtexåŽæ— æ³•è¾¾æˆæ ¼å¼éœ€æ±‚ @@ -1216,7 +1216,7 @@ %\step[notfield=address,final]%当addressä¸å­˜åœ¨åˆ™ç»§ç»­ \step[fieldsource=url,final]%地å€ä¸å­˜åœ¨ä¸”存在url那么转å˜ä¸ºonline \step[typesource=report,typetarget=online] - \step[fieldset=note,fieldvalue={report}] + \step[fieldset=entrysubtype,fieldvalue={report}] } \map{% \pertype{thesis} @@ -1299,7 +1299,7 @@ \step[typesource=archive,typetarget=online] } \map[overwrite]{%这里还必须有overwrite,注æ„ä¸åŒç‰ˆæœ¬å­˜åœ¨å·®å¼‚,比如texlive2015å˜16åŽbiber有å˜åŒ–(20161207修改正确) - \step[fieldsource=note, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 + \step[fieldsource=entrysubtype, final]%å°†note域信æ¯å¤åˆ¶ç»™keywords,用于输出时容易区分标准和报纸 \step[fieldset=keywords, fieldvalue={,}, append] \step[fieldset=keywords, origfieldval, append] } @@ -2482,15 +2482,17 @@ incollection,proceedings,inproceedings]{number}{% % % 对edition版本信æ¯æ ¼å¼åšå‡ºä¿®æ”¹ % -\DeclareFieldFormat{edition}{%æºæ¥è‡ªbiblatex.DEF -\testCJKfirst{userd}% -\iftoggle{ifCJKforgbt}% -{\ifinteger{#1}% -{\printtext{#1\str@edition}}% -{#1\isdot}}% -{\ifinteger{#1}% -{\mkbibordedition{#1}~\bibstring{edition}}% -{#1\isdot}}} +\DeclareFieldFormat{edition}{\bibtitlefont%æºæ¥è‡ªbiblatex.DEF +\ifnumgreater{#1}{1}{% + \testCJKfirst{userd}% + \iftoggle{ifCJKforgbt}% + {\ifinteger{#1}% + {\printtext{#1\str@edition}}% + {#1\isdot}}% + {\ifinteger{#1}% + {\mkbibordedition{#1}~\bibstring{edition}}% + {#1\isdot}}}{}% +} % % 对version的版本信æ¯åšå‡ºä¿®æ”¹ diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index c767f8a591..c7a2ae3560 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -15,7 +15,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2022/03/06}{1.64} +\ProvidesExplClass{easybook}{2022/03/06}{1.641} {Easily typesetting Chinese theses or books} \bool_set_false:N \l__eb_compile_draft_bool @@ -76,22 +76,22 @@ \cs_new_eq:NN \eb_switch_family:n \ctex_ltj_switch_family:n } \cs_new_protected:Npn \eb_setmainfont:nn #1#2 - { \__fontspec_main_setmainfont:nn {#2} {#1} } + { \__fontspec_main_setmainfont:nn {#1} {#2} } \cs_new_protected:Npn \eb_setsansfont:nn #1#2 - { \__fontspec_main_setsansfont:nn {#2} {#1} } + { \__fontspec_main_setsansfont:nn {#1} {#2} } \cs_new_protected:Npn \eb_setmonofont:nn #1#2 - { \__fontspec_main_setmonofont:nn {#2} {#1} } + { \__fontspec_main_setmonofont:nn {#1} {#2} } \cs_new_protected:Npn \eb_setCJKmainfont:nn #1#2 - { \eb_set_family:nnn { \CJKrmdefault } {#2} {#1} } + { \eb_set_family:nnn { \CJKrmdefault } {#1} {#2} } \cs_new_protected:Npn \eb_setCJKsansfont:nn #1#2 - { \eb_set_family:nnn { \CJKsfdefault } {#2} {#1} } + { \eb_set_family:nnn { \CJKsfdefault } {#1} {#2} } \cs_new_protected:Npn \eb_setCJKmonofont:nn #1#2 - { \eb_set_family:nnn { \CJKttdefault } {#2} {#1} } + { \eb_set_family:nnn { \CJKttdefault } {#1} {#2} } \eb_seq_map_inline:nn { main,sans,mono,CJKmain,CJKsans,CJKmono } { \exp_args:Nc \RenewDocumentCommand { set#1font }{O{}mO{}} - {\use:c { eb_set#1font:nn } {##2} {##1,##3}} + {\use:c { eb_set#1font:nn } {##1,##3} {##2}} } \RenewDocumentCommand{\newCJKfontfamily}{omO{}mO{}} { @@ -303,7 +303,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2022/03/06}{1.64} +\ProvidesExplPackage{easybase}{2022/03/06}{1.641} {Easily typesetting Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -1715,7 +1715,12 @@ \ctex_define:nn { spread } { line .code:n = \AfterPreamble{\setspread{#1}}, - line .initial:n = 1.354, + line .initial:n = + { + \fp_if_nan:nTF { \l__ctex_line_spread_fp } + { 1.354 } + { \fp_use:N \l__ctex_line_spread_fp } + }, table .fp_set:N = \l__eb_spread_table_fp, table .initial:n = 1.354, math .fp_set:N = \l__eb_spread_math_fp, @@ -2302,7 +2307,7 @@ } % %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2022/03/06}{1.64} +\ProvidesExplFile{eb-tcolorbox.cfg}{2022/03/06}{1.641} {Customization of tcolorbox for easybook} \cs_set_protected:Npn \addtotcbstyle #1#2 diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf index 2de13178dc..db967b2641 100644 Binary files a/macros/latex/contrib/easybook/easybook.pdf and b/macros/latex/contrib/easybook/easybook.pdf differ diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex index fc6d6ec086..26b7f8986a 100644 --- a/macros/latex/contrib/easybook/easybook.tex +++ b/macros/latex/contrib/easybook/easybook.tex @@ -21,7 +21,7 @@ name = easybook, color-scheme = blue, title = EASYBOOK使用手册, - version = v1.64, + version = v1.641, date = 2022/03/06, authors = 瞿毅, info = 简便地排版中文学ä½è®ºæ–‡æˆ–书ç±, @@ -551,8 +551,8 @@ \label{subsec:spacing} è¡Œè·å› å­ç”¨äºŽè®¾ç½®å„ç§è¡Œè·å€æ•°ï¼Œ\meta{数值} 是ä¸å¸¦æœ‰é•¿åº¦å•ä½çš„浮点数。å„类行è·æ—¢å¯ä»¥åœ¨å¯¼è¨€åŒºå…¨å±€è®¾ç½®ï¼Œä¹Ÿå¯ä»¥åœ¨æ­£æ–‡ä¸­è®¾ç½®å¯¹åŽé¢ç”Ÿæ•ˆã€‚ \begin{options} - \keyval{line}{数值}\Module{spread}\Default{1.354} - 正文行è·å› å­ï¼Œæ³¨æ„ \CTeX å®é›†åŽŸæœ‰çš„è¡Œè·é€‰é¡¹ \option*{linespread} 失效。 + \keyval{line}{数值}\Module{spread} + 正文行è·å› å­ã€‚è¡Œè·å› å­åˆå§‹å€¼ä¸º \code{1.354}(相当于 \textsf{Word} çš„1.25å€è¡Œè·ï¼‰ï¼Œå¦‚果设置了文类或 \pkg*{ctex} å®åŒ…的全局行è·é€‰é¡¹ \option*{linespread} 则åˆå§‹å€¼è®¾ä¸ºå®ƒçš„值。 \keyval{table}{数值}\Default{1.354} 表格内容行è·å› å­ã€‚对传统表格 \env*{tabular} å’Œ \env*{tabularx} ç­‰çŽ¯å¢ƒä»¥åŠ \pkg*{tabularray} å®åŒ…çš„ \env{tblr} 环境生效,åŒæ—¶ \env{tblr} 也自带有 \option*{stretch} 选项设置行è·ç³»æ•°ã€‚ \keyval{math}{数值}\Default{1.354} @@ -609,7 +609,7 @@ \keychoice{bibstyle}{numerical,authoryear,other sty}\Default{numerical} å‚考文献格å¼ä½¿ç”¨ä¸­å›½å‚考文献推è标准GB/T 7714-2015,对应顺åºç¼–ç åˆ¶å’Œè‘—者—出版年制两ç§é£Žæ ¼ã€‚若使用其它格å¼ï¼Œä½¿ç”¨ \hologo{BibTeX} 处ç†æ—¶éœ€ç¡®ä¿æ­£ç¡®çš„ \code{bst} 文件,使用 \hologo{biber} 处ç†å¯ä½¿ç”¨ \pkg*{biblatex} å®åŒ…支æŒçš„å‚考文献风格å称。 \keyval{citestyle}{标注风格} - 标注å‚考文献的风格。选项 \keyis{backend}{bibtex} 下å¯ä½¿ç”¨ \option{super}(数字上标标注,默认)或 \option{numbers}(数字标注)等 \pkg*{natbib} å®åŒ…带有的标注风格,选项 \keyis{backend}{biblatex} 下å¯ä½¿ç”¨ \pkg*{biblatex} å®åŒ…支æŒçš„标注风格å称。 + 标注å‚考文献的风格。åŽç«¯ä¸º \code{bibtex} æ—¶å¯ä½¿ç”¨ \option{super}(数字上标标注,默认)或 \option{numbers}(数字标注)等 \pkg*{natbib} å®åŒ…带有的标注风格,åŽç«¯ä¸º \code{biblatex} æ—¶å¯ä½¿ç”¨ \pkg*{biblatex} å®åŒ…支æŒçš„标注风格。 \keyval{datafile}{æ•°æ®åº“列表} å‚考文献数æ®åº“的文件å列表,文件列表以花括å·åŒ…裹并以英文逗å·åˆ†éš”。使用 \hologo{biber} 处ç†æ—¶è¦å¸¦æœ‰ \code{bib} åŽç¼€ï¼Œè‹¥å‚考文献文件ä¸åœ¨å½“å‰æ–‡ä»¶å¤¹åˆ™æ–‡ä»¶å需è¦åŒ…å«è·¯å¾„。ä¸è®¾ç½®å‚考文献数æ®åº“åæ—¶ \module*{bibset} 模å—中的选项会失效,å³ä¸è‡ªåŠ¨è½½å…¥ \pkg*{natbib} 或 \pkg*{biblatex} å®åŒ…,此时需è¦æ‰‹åŠ¨è½½å…¥ç›¸å…³å®åŒ…é…ç½®å‚考文献。 \end{options} @@ -632,12 +632,14 @@ 使用由 \cs*{defbibfilter} 定义的 \option*{filter} æ¥è¿‡æ»¤æ¡ç›®ã€‚ \end{options} - å¯èƒ½åœ¨ä¸€äº›æƒ…况下您希望更加çµæ´»åœ°è®¾ç½®å‚考文献或有更多需求,下é¢ä¸¾ä¸€ä¸ªåœ¨å¯¼è¨€åŒºæ‰‹åŠ¨é…ç½® \pkg*{biblatex} å®åŒ…的例å­ï¼š + å¯èƒ½åœ¨ä¸€äº›æƒ…况下您希望更加çµæ´»åœ°è®¾ç½®å‚考文献或有更多需求,下é¢ä¸¾ä¸€ä¸ªåœ¨å¯¼è¨€åŒºæ‰‹åŠ¨é…ç½® \pkg*{biblatex} å®åŒ…并使一个æ¡ç›®\textbf{åŒæ—¶è¾“出}åŒè¯­æ–‡çŒ®çš„例å­ï¼š \begin{ctexexam} \usepackage[style = numeric]{biblatex} \addbibresource{myrefs.bib} \defbibheading{bibliography}[å‚考文献] % 定义å‚考文献标题 {\chapter*{#1}\markboth{#1}{#1}} + \defbibentryset{Zhang2022}{张三2022,ZhangSan2022} + \cite{Zhang2022} % 在正文中引用 \end{ctexexam} \end{commands} @@ -709,7 +711,7 @@ \subsection{页é¢å°ºå¯¸} \label{subsec:page margins} -æ¨¡å— \module*{geoset} 会将除了å‰ä¸¤ä¸ªé™„加的选项交给页é¢å°ºå¯¸å®åŒ… \pkg*{geometry} 处ç†ï¼Œå¹¶ä¸”支æŒå®ƒçš„键值列表,预置的页é¢å°ºå¯¸ä¸Ž \cls*{Word} 的默认值接近。下é¢åˆ—举几ç§ä»£è¡¨æ€§é€‰é¡¹ï¼Œå…¶å®ƒé€‰é¡¹å¯æŸ¥é˜…å®åŒ…帮助文档。当在此设置纸张规格时,会覆盖文类选项 \option{paper} 的设置。 +æ¨¡å— \module*{geoset} 会将除了å‰ä¸¤ä¸ªé™„加的选项交给页é¢å°ºå¯¸å®åŒ… \pkg*{geometry} 处ç†ï¼Œå¹¶ä¸”支æŒå®ƒçš„键值列表,预置的页é¢å°ºå¯¸ä¸Ž \textsf{Word} 的默认值接近。下é¢åˆ—举几ç§ä»£è¡¨æ€§é€‰é¡¹ï¼Œå…¶å®ƒé€‰é¡¹å¯æŸ¥é˜…å®åŒ…帮助文档。当在此设置纸张规格时,会覆盖文类选项 \option{paper} 的设置。 \begin{options}\noitemsep \keyval{headruleskip}{页眉线间è·}\Module{geoset}\Default*{0pt} \keyval{footruleskip}{页脚线间è·}\Default*{3.5pt} @@ -1085,10 +1087,10 @@ } \newtcolorbox{mytcbox}[1][]{enhanced,mytcb,title = #1} \begin{tcolorbox}[mytcb,enhanced] - ç›’å­å†…容1 + ç›’å­å†…容 \end{tcolorbox} \begin{mytcbox}[ç›’å­æ ‡é¢˜] - ç›’å­å†…容2 + ç›’å­å†…容 \end{mytcbox} \end{ctexexam} \end{commands} @@ -1125,7 +1127,7 @@ å•ä½æ ¼å¼åŒ–命令 \cs*{unit} 包å«æ–‡å­—元素(例如字æ¯æˆ–数字)时,使用 \Marg{.} å’Œ \code{\~{}} 放置在å•å…ƒä¹˜ç§¯ä¸­é—´ï¼Œå¹¶ä½¿ç”¨ \code{\_} å’Œ \code{\^{}} 正确放置指定的下标和上标。格å¼åŒ–方法å¯åœ¨æ•°å­¦å’Œæ–‡æœ¬æ¨¡å¼ä¸‹ä½¿ç”¨ã€‚ \command*{qty}[\oarg{键值列表}\marg{æ•°å­—}\oarg{å‰ç¼€}\marg{å•ä½}] 命令 \cs*{qty} å¯ç”¨æ¥è¾“出带有å•ä½çš„é‡ã€‚ - \command*{qtyrange}[\oarg{键值列表}\marg{æ•°å­—1}\marg{æ•°å­—2}\marg{å•ä½}] + \command*{qtyrange}[\oarg{键值列表}\marg{起始数字}\marg{结æŸæ•°å­—}\marg{å•ä½}] 命令 \cs*{qtyrange} å¯ä»¥è¾“出带有范围和å•ä½çš„é‡ã€‚ \begin{ctexexam} \numproduct{-21x3e5} @@ -1179,7 +1181,7 @@ \begin{commands}\noitemsep \command{caption}[\sarg\oarg{目录标题}\marg{标题}]\default{} \command{captionof}[\sarg\marg{æ¡ç›®å}\oarg{目录标题}\marg{标题}]\default{} - \command{bicaption}[\sarg\oarg{目录标题1}\marg{标题1}\oarg{目录标题2}\marg{标题2}] + \command{bicaption}[\sarg\oarg{目录中文标题}\marg{中文标题}\oarg{目录英文标题}\marg{英文标题}] 题注命令 \cs{caption} 用于在图表上下方æ’入题注,需è¦åœ¨æµ®åŠ¨ä½“环境 \env*{figure} å’Œ \env*{table} 中使用。在浮动环境外å¯ä»¥ä½¿ç”¨ \cs{captionof} 命令,第一个å‚数指定æ¡ç›®å。å¯ä»¥æ­é… \pkg*{newfloat} å®åŒ…创建更多类型的浮动环境并设置相应题注。\cs{bicaption} 命令å¯ä»¥å®žçŽ°ä¸­è‹±æ–‡åŒè¯­é¢˜æ³¨ï¼Œéœ€è¦åœ¨å¯¼è¨€åŒºè½½å…¥ \pkg*{bicaption} å®åŒ…,具体用法è§è¯´æ˜Žæ–‡æ¡£ã€‚ \end{commands} diff --git a/macros/latex/contrib/footmisc/changes.txt b/macros/latex/contrib/footmisc/changes.txt index b5389c24db..8471cde6e0 100644 --- a/macros/latex/contrib/footmisc/changes.txt +++ b/macros/latex/contrib/footmisc/changes.txt @@ -1,8 +1,15 @@ +2022-03-07 Frank Mittelbach + + * footmisc.dtx (subsection{The other footnote commands}): + Fix an issue in the perpage package (gh/03) + Footnotes on chapter pages in report/book class started with 2. + This should really be fixed in the perpage package. + 2022-02-14 Frank Mittelbach * footmisc.dtx: Corrected the "bottom" option so that it behaves like in v5. Dropped - "bottomfloats" because everxything can be expressed with combinations + "bottomfootnotes", because everything can be expressed with combinations of the four options "bottom" (footnotes at the bottom), "bottomfloats", "abovefloats", and "belowfloats". (gh/1) diff --git a/macros/latex/contrib/footmisc/footmisc-code.pdf b/macros/latex/contrib/footmisc/footmisc-code.pdf index 3707200bb3..d1428e73fd 100644 Binary files a/macros/latex/contrib/footmisc/footmisc-code.pdf and b/macros/latex/contrib/footmisc/footmisc-code.pdf differ diff --git a/macros/latex/contrib/footmisc/footmisc-doc.pdf b/macros/latex/contrib/footmisc/footmisc-doc.pdf index 93f3d0f8ce..71f7811af1 100644 Binary files a/macros/latex/contrib/footmisc/footmisc-doc.pdf and b/macros/latex/contrib/footmisc/footmisc-doc.pdf differ diff --git a/macros/latex/contrib/footmisc/footmisc.dtx b/macros/latex/contrib/footmisc/footmisc.dtx index 2a9ea7bc13..c3a31d2e6a 100644 --- a/macros/latex/contrib/footmisc/footmisc.dtx +++ b/macros/latex/contrib/footmisc/footmisc.dtx @@ -38,7 +38,7 @@ %<+package>\DeclareCurrentRelease{}{2022-02-14} %\ProvidesPackage{footmisc}% %<*!debugins> - [2022/02/14 v6.0b + [2022/03/07 v6.0c % % a miscellany of footnote facilities% %<*dtx> @@ -410,8 +410,8 @@ % % This is automatically corrected if \pkg{footmisc} is loaded with any % of the options that deal with footnote placement, i.e., -% \texttt{abovefloats}, \texttt{belowfloats}, \texttt{bottom}, -% \texttt{bottomfloats}, or \texttt{bottomfootnotes}. In particular, +% \texttt{abovefloats}, \texttt{belowfloats}, \texttt{bottom}, or +% \texttt{bottomfloats}. In particular, % if you want to have the standard \LaTeX{} placement (but with this % strange behavior fixed, apply \texttt{abovefloats} (which is the % normal order but with the bug fixed). @@ -420,7 +420,7 @@ % \subsection{Option \texttt{marginal}} % % This option adjusts the position of footnote mark relative to the -% start of the line in which they appear (the the option is +% start of the line in which they appear (the option is % incompatible with option \texttt{para}, for obvious reasons). % % When this option is in effect, the footnote is set @@ -443,7 +443,7 @@ % This option sets the footnote mark flush with the margin, and makes % the body of the footnote hang at an indentation of % \cs{footnotemargin} (if that is a positive distance), or the width -% of the marker (if \cs{footnotemargin}$\leq0$). The option code +% of the marker (if \cs{footnotemargin} $\leq0$). The option code % itself leaves \cs{footnotemargin} at its default value of 1.8em. % % The footnote itself may of course be longer than one paragraph; if @@ -873,7 +873,7 @@ % % \subsubsection{The \texttt{bottomfloats} option} % -% \begin{macro}{ds@bottomfloats,ds@bottomfootnotes} +% \begin{macro}{ds@bottomfloats} % This option is for case 2. By default the footnotes are above % (close to the text). % \begin{macrocode} @@ -1858,6 +1858,34 @@ \ifFN@perpage \RequirePackage{perpage} \MakePerPage{footnote} +% \end{macrocode} +% Unfortunately \pkg{perpage} has a bug and doesn't handle founters +% correctly which are part of a reset list of another counter, +% e.g., it doesn't work correctly if you use the report class which +% resets footnotes at each chapter start. As a result the first +% footnote on the first page of a chapter starts with 2. We +% therefore alter one \LaTeX{} internal if \pkg{perpage} is in use: +% \changes{v6.0c}{2022/03/07}{Fix an issue in perpage packag (gh/03)} +% \begin{macrocode} + \def\@stpelt#1{\global\csname c@#1\endcsname \m@ne + \stepcounter{#1}% + \setcounter{#1}{0}% + } +% \end{macrocode} +% The above code may look a bit odd: the \cs{stepcounter} sets +% the counter to zero and then the \cs{setcounter} does the +% same. The reason is that \cs{stepcounter} resets other counters +% and when perpage is loaded this results in updating counters on +% the reset list to 1, which is precisely the problem here. So +% the second \cs{setcounter} undoes this if it happens. +% +% But to make this fully work we also need to update a suport +% command in \pkg{perpage}: +% \begin{macrocode} + \def\pp@cl@end@iii\stepcounter#1\setcounter#2#3{} +% \end{macrocode} +% +% \begin{macrocode} \fi % \end{macrocode} % diff --git a/support/pmx/OSX/pmxab b/support/pmx/OSX/pmxab deleted file mode 100755 index e582bf38c9..0000000000 Binary files a/support/pmx/OSX/pmxab and /dev/null differ diff --git a/support/pmx/OSX/scor2prt b/support/pmx/OSX/scor2prt deleted file mode 100755 index d0c9d3aa05..0000000000 Binary files a/support/pmx/OSX/scor2prt and /dev/null differ diff --git a/support/pmx/README b/support/pmx/README index d8c7bb3d22..4102cf4bd8 100644 --- a/support/pmx/README +++ b/support/pmx/README @@ -1,4 +1,4 @@ -This is PMX, version 2.94a (2021-01-28). PMX provides a preprocessor for MusiXTeX. +This is PMX, version 2.98a (2022-03-06). PMX provides a preprocessor for MusiXTeX. pmxab builds a TeX input file based on a .pmx input file in a much simpler language, making most of the layout decisions diff --git a/support/pmx/doc/ChangeLog b/support/pmx/doc/ChangeLog index 3453c44fc5..e5389c77f5 100644 --- a/support/pmx/doc/ChangeLog +++ b/support/pmx/doc/ChangeLog @@ -1,3 +1,11 @@ +2.98 + Fix beaming in 6/2 time by setting mapfb(5) and (6) = 0 in make1bar(...) +2.97 + Fix problem with beaming after new movement command +2.96 and 2.95 + replace and '\','/'. and '"' with chax(); + eliminate do loops with shared last line + delete superfluous comments in source 2.94 Allow moving dots on main and chord note in 2-note termolos Add definitions of \hbp and \hbpp to pmx.tex diff --git a/support/pmx/doc/pmx-install.pdf b/support/pmx/doc/pmx-install.pdf index 5538f8db89..86263798a5 100644 Binary files a/support/pmx/doc/pmx-install.pdf and b/support/pmx/doc/pmx-install.pdf differ diff --git a/support/pmx/doc/pmx-install.tex b/support/pmx/doc/pmx-install.tex index c6bf78dc6d..12c3b12462 100644 --- a/support/pmx/doc/pmx-install.tex +++ b/support/pmx/doc/pmx-install.tex @@ -5,7 +5,7 @@ \RequirePackage{hyperref} \usepackage{xcolor} \newcommand{\myurl}[1]{\textcolor{blue}{\underline{\textcolor{black}{\url{#1}}}}} -\newcommand{\pmxVersion}{2.9.4} +\newcommand{\pmxVersion}{2.9.8} \begin{document} \title{Installation of the CTAN PMX Distribution} \author{Bob Tennent\\ @@ -52,7 +52,7 @@ and \texttt{scor2prt}, an executable used to produce single-player parts from mu On Windows systems, one can install \texttt{pmxab.exe} and -\texttt{scor2prt.exe} in the \texttt{Windows} 32 bit or 64~bit sub-directories; these are pre-compiled +\texttt{scor2prt.exe} in the \texttt{Windows} sub-directory; these are pre-compiled executables and should be copied to any folder on the PATH of executables. This might entail creating a suitable folder and adding that folder diff --git a/support/pmx/doc/pmx294.pdf b/support/pmx/doc/pmx294.pdf deleted file mode 100644 index 2a0d2d1887..0000000000 Binary files a/support/pmx/doc/pmx294.pdf and /dev/null differ diff --git a/support/pmx/doc/pmx294.tex b/support/pmx/doc/pmx294.tex deleted file mode 100644 index 69bf5269b8..0000000000 --- a/support/pmx/doc/pmx294.tex +++ /dev/null @@ -1,2948 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% pmx294.tex 1/22/2020 -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\documentclass[11pt]{article} -% -\let\reft\ref - \usepackage[dvips,colorlinks=true,linkcolor=blue]{hyperref} - \usepackage[dvips]{graphicx} - \usepackage{multicol} -% -\def\MusiXTeX{MusiX\TeX} -\def\bs{{\tt\char'134}} -\newcommand\PMXX{\textbf{PMX}} -\newcommand\PMX{\PMXX~} -\newcommand\IMA{\href{http://Icking-Music-Archive.org}{\underline{Icking Music Archive}}} -% -% Use \bfx for program names only. Use \bf for single embedded letters -% -\font\bfx=cmb10 scaled\magstephalf -\font\bfi=cmbxti10 scaled\magstephalf -\font\specfig=cmrj -\setcounter{secnumdepth}3 -\setcounter{tocdepth}3 -\def\Bslash{\tt\char'134} -\def\|{{\tt\char'174}} -\def\LBR{{\tt\char'173}} -\def\RBR{{\tt\char'175}} -\textheight= 9.5in \voffset-.8in% -\textwidth= 6.5in \hoffset-1.0in -\def\newfrom{2.59} % changed every now and then -\def\NEW#1{\ifdim#1 pt<\newfrom pt\else% -\marginpar{\fbox{#1}}\fi} - -\hoffset-54pt - -%\let\rulet\rule\def\rule#1#2{\if#1<#2\rulet{.05in}{#2}\else\rulet{#1}{.05in}\fi} - -\begin{document} - -\raggedright -\parindent24pt - -\title{ - \Huge\bf - PMX~--~a Preprocessor for \MusiXTeX{}\\ - \null\vskip-15pt - \Large\sl - Version 2.94~--~22 January 2020\\ - \author{\Large\rm Don \sc Simons\\ - \large\sl - Dr. Don's PC and Harpsichord Emporium\\ - \normalsize\sl - Redondo Beach, California, USA.\\ -% To make the bitmapped eps: (1) TeX file with cmtt scaled 2500, -% (2) dvips -> gsview -> pdf. -% (3) gwin32 -sDEVICE=pnggray -sOutputFile=file.png -r100 -dEPSCrop -dbatch -q -% -dNOPAUSE -dTextAlphaBits=4 file.eps -c quit -% (4) file.png -> GIMP (crop out blank space) -> save as .eps. -% - \includegraphics[scale=0.4]{file600.eps}}} - -\date{} - -\maketitle - -\section*{Preface} -Compared to version 2.84, aside from bug fixes documented in the -opening comments in the source code, \PMX version 2.94 -enables blank gaps at the end or in the middle of a system (\ref{Gaps}), -allows virtually -arbitrary staff jumping beams with multiplicity changes at the jump (\ref{Jumps}), -allows -changes to the vertical position of the number for a multibar rest (\ref{MultibarRest}), -and has more flexibility in setting stem lengths (\ref{Stemlength}). - -\setcounter{page}1 -% Need extra line to push last line of TOC to next page -~~ -\tableofcontents -%\setcounter{secnumdepth}1 -\pagestyle{headings} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\boxitsep{10pt} -\let\hrt\hrule\def\hrule{\hrt height2pt} -\let\vrt\vrule\def\vrule{\vrt width2pt} -\def\boxit#1{\vbox{\hrule\hbox{\vrule\kern\boxitsep\vbox{% -\kern\boxitsep\hbox{#1}\kern\boxitsep}\kern\boxitsep\vrule}\hrule}} -\font\ded=cmssdc10 scaled \magstep3 -\bigskip -\setbox4=\vbox{ -% \hsize3in\noindent\strut - \hsize4in\noindent\strut - \centerline{\ded Dedication} -\vskip 3pt -The \MusiXTeX~community was stunned by the sudden death of Werner Icking on -February 8, 2001. He had been a benevolent patriarch, touching many -of us not only -with his technical savvy and gentle guidance, but also his genuine kindness -and generosity. His spirit runs deep through all of \PMX. His encouragement -fueled its development from its very beginning. Many -enhancements have been his proposals, including one he made on what -turned out to be his last day. Werner, my friend, I dedicate this work to -you and your memory. -} -\vfill -$$\boxit{\box4}$$ -\let\hrule\hrt\let\vrule\vrt -\vfill -\eject - -\section{Introduction} -%\setcounter{secnumdepth}1 - - \PMX is a preprocessor for \MusiXTeX{}. Before using it you should -have installed \MusiXTeX~Version 1.21 \NEW{2.71} or higher, and -any available version of \TeX~that includes e-\TeX. The goal of \PMX is to -facilitate the efficient typesetting of scores and parts -that have an almost professional appearance. It can do {\it all} the work -involved in setting up {\tt \bs notes-\bs enotes} groupings, -selecting groups of -notes to be beamed, defining beam heights and slopes, spreading the -entire piece evenly over specified numbers of systems and pages, and inserting -extra spaces where needed to make room for accidentals, flags, dots, -and new clefs. The input language for \PMX is much simpler than -\MusiXTeX. You can enter note values and rests from 64ths to double -whole notes ({\it breves}), ornaments, slurs, and limited text strings. Every -voice in every bar must have exactly the correct number of beats in -the current meter, but you may change the meter at the beginning of any -measure, with or without printing the new time signature. Before making a -\TeX{} file, \PMX checks these timings and other aspects of the input. -\PMX has special features for dealing with baroque chamber music, including -the ability -to notate figured bass below the bottom staff in each system. If \PMX hasn't -yet learned to do something you want to do, you can usually work around the -problem by inserting literal \TeX\ strings in the \PMX input file. - - You can automatically create parts from a score using {\bfx scor2prt}. -This auxiliary program generates a set of {\tt .pmx} input files, one for -each part, from a single {\tt .pmx} file for the score. -You can control the appearance of the -parts with special commands in the main file, thereby making it -possible to include within a single input file all the information -that defines the score and the individual parts. - -The basic \PMX -distribution as of this version of the manual is -\href{http://icking-music-archive.org/software/pmx/pmx294.zip} -{\underline{\tt pmx294.zip}}.\NEW{2.94} It -contains the FORTRAN sources, binaries that will run in a DOS -window on a PC with WINDOWS95 or higher, manuals for usage and for installation -in DOS/Windows, and example typesetting files. Alternatively, the -\href{http://www.icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html} -{\underline{software section}} of the Werner Icking Music Archive (WIMA) has instructions -for acquiring and installing \MusiXTeX~and \PMX on various platforms -(Windows, Mac-OSX, Unix-like systems) including using automated procedures from -several external \TeX~distribution sites. -The packages from those other sites will -all eventually incorporate all the upgrades in {\tt pmx294.zip} but will take -varying amounts of time to do so. \PMX is often upgraded; the most current version will -always be available directly from the ``News'' paragraph -\href{http://www.icking-music-archive.org/software/htdocs/htdocs.html}{\underline{here}}. - -\subsection{Conventions for This Manual} - - Hey, this is boring stuff, but if you take a minute to understand -the typographic conventions and a little jargon, -it may avoid some confusion down the road. - - The typewriter typeface always indicates verbatim text as it would -be input to a computer. This includes file names, \MusiXTeX{} tokens, and -\PMX commands, e.g., {\tt barsant.pmx, \bs internote, c44}. - - Bold is used for program names (e.g., {\bfx pmxab}), or when applied -to a single letter, to relate a \PMX command to its meaning (e.g., ``{\tt e} -signifies a l{\bf e}ft shift''). - - When\NEW{2.5}~viewing the PDF version of this document on a computer -screen, clickable internal hyperlinks are colored blue, and clickable external -links are underlined and colored cyan. - - Italics may mean several different things depending on the context: -simple emphasis, or the first appearance of {\it jargon} -(buzz-words that need to be explicitly defined), or finally -to represent input variables for which some verbatim text would need to be -substituted. In the latter case the variable will be surrounded by -square brackets, e.g., [{\it basename}], but the brackets are not to be -included with the substituted text. - - Speaking of jargon, there are several special words that have very -specific meanings here: A {\it staff} is one set of 5 lines (plural -{\it staves}), a {\it system} is a group of staves, and {\it voice} refers to -one of the one or two -simultaneous allowable sequences of notes in a staff. Note that this -is a change \NEW{2.5}from versions prior to 2.5, where {\it voice} was used -interchangeably with staff. - -A \PMX {\it command} is a string of characters with no spaces between them. -The first character determines the type of command. Any other characters -are parameters that may be either required or optional. Sometimes we loosely -use the word {\it command} to refer just to the initial character. - -\subsection{Setup} - - Here we briefly describe the setup for the Windows OS, -assuming \TeX\ and \MusiXTeX\ have already been installed. After compiling the -FORTRAN source code, users of other OS's -may either adapt these instructions as needed or use one of the other setup -methods referenced earlier. - -After decompressing the distribution file {\tt pmx276.zip}, -you should have these -files: \NEW{2.76} {\tt pmx276.for}, {\tt scor2prt.for}, two -Windows executables {\tt pmxab.exe} and {\tt scor2prt.exe}, several sample -{\tt .pmx} files, -{\tt pmx.tex}, {\tt ref276.tex} (\TeX\ source for a command summary), -{\tt pmx276.tex }(\TeX\ source for this file), -PDF images of the latter two files, {\tt pmx25-276.html} showing -changes from version 2.50 to 2.76, and {\tt install\_run\_PMX271.pdf} which gives more -details about installing and running on different platforms. - -%If necessary, compile the FORTRAN programs. -%I have tried to keep the source code as generic as possible, but minor -%modifications may be needed for FORTRAN-to-C translation and/or other -%compilers. - - Once you have assembled a full set of files, put the executables -somewhere in the path or in your working directory, {\tt pmx.tex} into the -texinput directory, the sample {\tt *.pmx} files in your working -directory (the one from which you will run \PMXX), and the source code and -document files wherevever you wish. - -\subsection{Basic Operation, by Example} - -Edit the 15th line of {\tt barsant.pmx} to contain the path to the -directory where you want \PMX to write the {\tt .tex} file. For example, -if you want this to be the same as the working directory, type {\tt .\bs}~for Windows, -or {\tt ./} for UNIX. - -If you haven't done so, open a command window and navigate to the -folder containing {\tt barsant.pmx}. Execute \PMX by typing -{\tt pmxab barsant} . Alternatively, you may -just type {\tt pmxab } and you will be prompted -for a jobname, which in this case is just {\tt barsant} . -{\bfx pmxab} will always generate two files in the working -directory: {\tt barsant.pml} -is a log file, and {\tt pmxaerr.dat} contains a single integer, 0 if -the run was successful, otherwise the line number in the {\tt .pmx} file of the -fatal error (useful for batch processing). Also, on successful completion, -{\tt barsant.tex} will be placed in the path specified in the setup. - -Now you are right where you would be after -entering, debugging, and rough-editing the {\tt .tex} file manually. To see -the results, process {\tt barsant.tex} just as you would for any \MusiXTeX{} -file, running all three passes, and view the {\tt .dvi} file, or go on and run -{\bf dvips} to create a postscript file and view that with a postscript viewer -such as {\bf GSview}. To make -separate parts, run {\bfx scor2prt} by typing {\tt scor2prt barsant} .\NEW{2.0} -The program will create a new {\tt .pmx} file for each instrument, in this -case {\tt barsant1.pmx} and {\tt barsant2.pmx}. -You may then process these -files like you did the original one to create separate parts. - -\section{Elements of PMX} -\def\l@subsection{\@dottedtocline{2}{5em}{20em}}%original 2 3.8 3.2 -%\setcounter{secnumdepth}2 - -\subsection{Setup Data in the Input File} \label{setupdata} - - To see how the input file is put together, we'll look at -{\tt barsant.pmx}. For reference, here are are the first few lines: -\pagebreak -\begin{verbatim} -%----------------% -% -% barsant.pmx Revised 29 June 2002 -% -%----------------% -% -% nv,noinst,mtrnuml,mtrdenl,mtrnmp,mtrdnp,xmtrnum0,isig, - 2 2 4 4 0 6 0 0 -% -% npages,nsyst,musicsize,fracindent - 1 7 20 0.07 -Basso -Recorder -bt -./ -\end{verbatim} -The lines -with {\tt \%} in column 1 are comments. -Some special handling of comment lines will be -discussed in the section on creating parts from a score in -section~\ref{scor2prt}. - -The rest of the lines in this example are the {\it setup data}. -Starting in the first non-comment line above, - -{\tt nv} (integer$\leq$24) \NEW{2.6} is the total number of -sta{\bf v}es per system. Each staff may contain either one or two voices, -but the total number of voices at any one time may not exceed 24. - -{\tt noinst} (integer$\leq${\tt nv}) is number of {\it instruments}. Each -instrument has a unique name (see below), and any instrument -with more than one staff will have its staves joined with a curly bracket. -Usually there is only one staff per instrument and {\tt noinst=nv}. There -are two ways to assign more than one staff to one or more instruments. -If only the first (lowest) instrument has more than one staff, such as in -a score for piano and a solo instrument, simply make -{\tt noinst$<$nv} and any difference will show up in instrument 1, the bottom -one in each system. -\NEW{1.4} For a -more general distribution of staves among instruments, -put a minus sign in front of {\tt noinst}, -and follow {\tt noinst} with the number of staves in each instrument in -succession, separated by spaces. These numbers must add up to {\tt nv} or your -computer will explode. For a typical example of keyboard music, see -{\tt mwalmnd.pmx}, in which {\tt nv=2} and {\tt noinst=1}, producing two -staves per system with a curly bracket at the left. - -The number of instruments can be changed as well after the start of the -score, but only to a number less than the original one. See -section~\ref{movbrk} to learn how to start with a smaller -number of instruments and later increase it. - -{\tt mtrnuml} is the {\it logical} numerator of the meter, or the number of -beats per measure; {\tt mtrdenl} the denominator. Please note the special -considerations in the paragraph after the next. If {\tt mtrnuml} is -divisible by 2 or 3, beam grouping will be automatic; otherwise you will -have to force all beams using {\tt [}$\dots${\tt ]} as described in -section~\ref{beams}. - -{\tt mtrnmp} and {\tt mtrdnp} are the {\it printed} numerator and denominator. -These determine the appearance of the meter in the printed output but -have no effect on the internal timing analysis. If {\tt mtrnmp$>$0} then it -and {\tt mtrdnp} are printed literally as the numerator and denominator -of the time signature. Please note the special considerations in the following -paragraph. If -{\tt mtrnmp$<$0}, then the numerator is abs({\tt mtrnmp}) and the -entire time signature will be printed with a vertical slash through -it. If {\tt mtrnmp}=0, then {\tt mtrdnp} determines the printed meter -as follows: - -\medskip - -\begin{tabular}{ll} -\tt 0 & No meter is printed ({\it blind} meter change)\\ -\tt 1, 2, 3, or 4 & A single digit, between the 2nd and 4th lines\\ -\tt 5 & Cut time (alla breve)\\ -\tt 6 & Common time\\ -\tt 7 & Numeral 3 with a vertical slash\\ -\end{tabular} - -\medskip - -There are special considerations for n/16 and n/1 time signatures (where the -latter "1" normally means a whole note). To get -n/1 time, use {\tt 0} (zero) for {\tt mtrdenl} and {\tt 1} for {\tt mtrdnp}. To -remember this rule, recall that the printed denominator is taken literally, -while the logical denominator can always be represented -by the same single digit used for the corresponding time value when entering -ordinary notes (see section~\ref{notes}). So -for n/16 time, use {\tt 1} for {\tt mtrdenl} and {\tt 16} for {\tt mtrdnp}. - -If the first bar is a partial bar containing a pickup, {\tt xmtrnum0} is -the number of beats in it; otherwise set it to 0. It need not be an -integer. The first bar is the {\it only} bar that can have a different -number of beats than the current value of {\tt mtrnuml} (Later we'll see how -to change the meter). - -{\tt isig} is the key signature, positive integer for sharps, negative for -flats. - -If {\tt npages}$>$0, it is the number of pages and {\tt nsyst} is the total -number of systems in the entire piece. \PMX will spread the entire -piece horizontally over this number of systems, and vertically over -{\tt npages} pages. For proper vertical spacing there should be from -about 9 to 16 staves per page. If you specify too many staves for the number -of pages, one or more staves may spill over onto an extra sheet. If this -happens it will only become obvious when you preview the {\tt .dvi} file. -One solution is to use the global option {\tt Ae} -(see section~\ref{AeDirective}); another is to increase {\tt npages} or -decrease {\tt nsyst}. - -If {\tt npages} is set to 0, then {\tt nsyst} is interpreted as the average -number of measures per system. This is useful while building up a -file a little at a time. \PMX will calculate how many systems to use, and -spread them over an appropriate number of pages. - -{\tt musicsize} is 16, 20, 24, or 29, the height of a staff in points, with -20 considered the default\NEW{2.6}. - -{\tt fracindent} is the indentation of the first system from the left -margin, expressed as a decimal fraction of the total line width. - -Next come the names of the {\tt noinst} instruments as you want them to -appear within the indentation in the first system, one per line, -starting with the {\it bottom} instrument. If you've set {\tt fracindent}=0 -and don't -want instrument names to appear, you must still leave {\tt noinst} -blank lines here. Next comes a single string of {\tt nv} -letters or numbers for the clefs, again starting with the bottom staff: -\label{ClefCodes} -{\tt b,~r,~n,~a,~m,~s,~t,~f,~8} or digits 0-8 \NEW{2.71} respectively for {\bf b}ass, -ba{\bf r}itone, te{\bf n}or, {\bf a}lto, {\bf m}ezzo-soprano, {\bf s}oprano, -{\bf t}reble,\NEW{2.2} {\bf F}rench violin clef, or octave treble clef. -The last line of setup data contains the path to the directory -where you want the {\tt tex} file to go when \PMX creates it. The one -in {\tt barsant.pmx}~, -{\tt ./}~, represents the current directory in UNIX and some versions of DOS. -The path must terminate with {\tt /} or {\tt \bs}~. - -\subsection{Structure of the Body of the Input File} \label{structure} - - The rest of the {\tt .pmx} file is the {\it body} of the input. -The basic unit of input from here on is called an {\it input block} or -just {\it block}, each one representing an integral number of bars. If there -is a pickup bar defined by {\tt xmtrnum0} $>$ 0, -it must be included in the first block {\it together with at least one full bar}. -If you wish to put a pickup in a separate block, for example at the start -of a new movement, set the initial logical -meter to fit the pickup bar, then after the pickup bar do a blind meter change -as described in section~\ref{MeterChange}). - -There will usually be -4 to 8 bars in a block. 15 is the most allowed. It is good practice -to separate the blocks with comment lines that state which bars are -represented, as I've done in {\tt barsant.pmx}. -It is also advisable, although not required, to separate the bars with -the command {\tt |}. Its main functions -are to provide visual separation in the input file, and to help isolate input -errors: if you put one anywhere except -at a bar-end, {\bfx pmxab} will stop and show you where it detected the -timing error. Otherwise, with several minor exceptions, -{\tt |} has no effect. - -At the start of each block there may be a few special commands -(described starting in section~\ref{pmxcmds}). -Next come the input data for the selected number -of bars of the first (lowest in the system) voice in the first staff, followed by -either {\tt /} to move to the next staff, or {\tt //} to move to the next voice -on the same staff. Each new voice must start on a new line -in the input file, i.e., there should be no further data on the same input line -after {\tt /} or {\tt // }. - Continue entering other voices, each with -{\it exactly} the same number of bars as the first, -terminated by {\tt /} or {\tt //}, until - the last (topmost in the system) ends with a {\tt /} and the block is -finished. Within -a block every voice must have the same number of bars, but every block -needn't have the same number of bars as other blocks. The number of -voices in a staff can only be 1 or 2, and cannot change within a block, but -may vary from block to block. - - The data for each voice in each staff are a sequence of commands -containing one or more adjacent characters. Commands are separated from each -other by spaces. The line-terminating commands {\tt /} and {\tt //} should also -naturally be preceded by a space. - -\subsubsection{Notes} \label{notes} - - Commands for notes always start with a lower-case letter and, as -with all commands, end at -the first space. The first letter is the note name ({\tt a-g}). The -rest of the characters can be in any order with only a few -restrictions. The first digit defines the {\it basic time value} of the -note: {\tt 9, 0, 2, 4, 8, 1, 3} or {\tt 6} respectively for double-whole, -whole, half, quarter, -eighth, sixteenth, thirty-second, and sixty-fourth notes. The second -digit sets the octave (for reference, octave 4 runs from middle C to -the B above). Certain letters may appear after the initial one: {\tt d} -for {\bf d}ot; {\tt dd} for \NEW{1.4} double dot; -{\tt f, n,} or {\tt s} for {\bf f}lat, {\bf n}atural, -or {\bf s}harp (repeat the letter -immediately for a double); {\tt u} or {\tt l}, which force the stem -direction of any un-beamed note; {\tt e} or {\tt r} to shift the notehead -l{\bf e}ft -or {\bf r}ight by its own width; {\tt a} (for {\bf a}lone) which inhibits -beaming for this note (or, if the first note of an xtuplet, for the -entire xtuplet); and \NEW{2.80}{\tt T} to insert a single-note {\it tremolo} -on the stem (not to be confused with a 2-note tremolo, discussed later in -section~\ref{TwoNoteT}). -The {\tt T} may be followed by a single digit {\tt 1}, {\tt 2}, or {\tt 3} -to indicate the -number of slashes in the tremolo symbol; {\tt 1} is the default if no digit -is entered. \NEW{2.4}A single accidental may be immediately -followed by {\tt c} to -make it {\bf c}autionary, i.e., surround it with parentheses. -Alternatively, it may also be followed by {\tt i} to -suppress typesetting \NEW{2.3} but still have -the M{\bf I}DI processor honor the accidental. Other characters allowed in note -commands are {\tt +}, {\tt -}, {\tt .}(period), {\tt ,}(comma), {\tt x}, and -several special characters following {\tt x}, all to be described below. -Between the first letter and the end or {\tt x} if present, -non-digits can be in any order with respect to each other and to the digits, -with minor exceptions involving shifting dots and accidentals. - -To move -a dot from its default location, simply follow the {\tt d} -with one or two decimal numbers, each predeced by -{\tt +} or {\tt -}. -The first is the -vertical shift in \bs{\tt internote}s, the second, the horizontal shift in -notehead widths. - -\label{AccidentalPosition} -Accidentals \NEW{1.4} can be shifted too. One way is to enter -{\tt +} or {\tt -} right after the accidental character, -then an integer -for the vertical shift, then another {\tt +} or {\tt -} followed by the -horizontal shift in notehead widths. If you use this method, you {\it must} -enter both numbers. Or, to just shift horizontally, use -{\tt <} or {\tt >} followed by the shift in notehead widths. When shifting -a sharp to avoid another sharp, a left shift of 0.85 is usually best. When -shifting a flat to avoid a flat above it, a left shift of 0.3 is suggested. -In chords (see section~\ref{chords}), if all the notes are in the same \NEW{2.4}voice, -\PMX will automatically shift accidentals if required. This will be disabled -for the current chord -if any user-defined accidental shifts are entered, unless {\tt A} is entered -along with the shift, e.g., {\tt zcsA<.5} . In that case the user-defined -shift will be added to the PMX-computed one. -\NEW{2.4} Another option that affects accidental positioning in -chords is {\tt Ao}, -entered in the main note command of a chord. It will force the accidentals -in that chord will be posted in the order -they come in the source file (starting with the main note), each one as far -to the right as it will go without crashing into a notehead, stem, or -another accidental. - - - Dots and accidentals always have to be entered when and if a note -calls for them. i.e., they are never carried over from previous notes. -On the other hand, the octave only needs to be entered if the note is -more than a fourth away from the most recent note in the same voice. -This feature lets you go for long stretches in a voice before needing -to enter the octave. An alternate way to jump more than a fourth but -less than a twelfth is to type {\tt +} or {\tt -}. In other words, these -mean to put the note an octave higher or lower than it -otherwise would have gone. Two {\tt +}'s will raise the pitch two octaves -above what it otherwise would have been, and so forth. -The basic time -value is also carried over from the past if it is not re-entered, -except for the first note or rest in each voice in an input block, -for which it {\it must} be entered. -Therefore, when the melody jumps more than a 4th, using {\tt +} or {\tt -} is -often more convenient than using a digit. This is because in order to -use the digit, you must first enter the basic time value whether it -changes or not. - - For example {\tt c44 d e f g a b c c0-} is an ascending quarter-note -scale starting on middle C, followed by an octave jump down to a -whole note middle C. - - Explicit octave \NEW{2.1} numbers can be combined with one or -more {\tt +} or {\tt -} . In earlier versions, {\tt +} or {\tt -} was -ignored if an octave number was specified. This is a slight backward -incompatibility; \PMX prints a warning when it happens. - -\label{Stemlength}Stem length \NEW{2.73} can be {\bf s}hortened or {\bf l}engthened by {\it x} -\bs{\tt internote} with the options {\tt S}{\it x} or {\tt L}{\it x}~. -{\it x} is restricted to the range (0.5,4.0) for shortening and 0.5 to 27.5 -for lengthening. -The shortening can be made ``sticky'' by following the number {\it x} with -{\tt :} . Then every note's stem in the voice will be shortened until -one is encountered with the option {\tt S:} . By lengthening a stem enough -to span to the next staff and connect with notes there, unflagged staff-spanning -chords can be constructed. See section \ref{chords}~for further details -about staff-spanning chords. - -The first note command in each voice in a block must -contain at a minimum the note name or {\tt r} for a rest (see below), -and a basic time value. For notes, it is good practice and can simplify -editing -if in addition an explicit octave is set here. However if it is not, -\PMX will make some assumptions. At \NEW{2.4} the start of the first -input block the pitch will be set as if the prior note were middle C. -In later blocks \PMX will use the -obvious inheritance rules from the end of the prior block. -However, if the number of voices in a staff -has changed from the prior block, it is safest to reset the octave at the -start of a new block. Duration is never inherited and must be set at the -start of each input block. - - Dots can be a little tricky, because even though they affect the -actual time value, they don't affect the basic time value, and it is only the -latter that is ``sticky". Therefore, if a note is to be dotted, you always have to -enter a {\tt d} (or a period, see next paragraph) somewhere within the -command, after -the note name, even if the actual time value and octave are the same -as the prior note. But the {\it basic} time value need not be re-entered if -it hasn't changed (unless the note is more than a fourth from the -prior note {\it and} you have for some strange reason elected to indicate the -octave with a number rather than {\tt +} or {\tt -} ). So for example, -consecutive dotted half notes, each within a fourth of the previous -one, could be most cleanly entered as {\tt cd24 ed gd ed}, whereas {\tt cd24 e} -would represent a dotted half note followed by a plain half note -(since the basic time value---as defined by the first digit---was a half -note all along). - - There are two special shortcut rhythmic notations. For normal dotted -rhythms (3:1 ratio), if you -include a period ({\tt .}) in the note command, it will -(a) assign a dot to the note just entered, (b) terminate that note, -(c) prepare to -receive the next note name {\it without any space}, and (d)~automatically -assign a time value to the second note equal to one-third of the first one. -No time value may be entered for the second note, but octave and accidental -data may. Ornaments and slurs (see below) following this command will apply -to the second member. If you need to follow the main note -with some modifying -\NEW{2.3} -command, you can still use the shortcut ({\tt .}) after that command and a -space. -The main advantage of this shortcut comes if you want to -follow one dotted pair with another of the same rhythm; then you -needn't enter any explicit time value for {\it either} member of the second pair. -This is possible because after using the shortcut, -the basic (inheritable) duration is set to that of the -{\it first} note in the pair, without the dot. - - For paired notes with 2:1 rhythmic ratios, the character {\tt ,}~(comma) -behaves similarly to the {\tt .}~(period) for 3:1 rhythms. - - Xtuplets, or groups of notes with their stems connected, -can have from 2 to 24 notes or\NEW{1.4} rests. Normally they -all have the same duration, but there are several options---described -below---to change this. The command for the first note of an xtuplet begins -exactly like a -note or rest command, with the name of the first note in the xtuplet, or -{\tt r} if it starts with a {\bf r}est (see subsection below on rests), -and an optional time value. -However, the actual time value (including a dot if present and a basic -duration that may have been inherited from the prior note) now represents the -{\it total} duration of the xtuplet. Next (with no space, as usual) comes -{\tt x} followed by either a one- or two-digit integer for the number of notes in -the xtuplet, or \NEW{2.80}{\tt T} to initiate a 2-note tremolo, to be further -discussed below. The only options allowed immediately following the number are -{\tt d} and {\tt n} . \NEW{2.4}{\tt d} signifies that the {\it first} note -of the xtuplet should have a dot and the second, and extra flag. -{\tt n} controls the printing of the {\bf n}umber and bracket. -If {\tt n} is followed by a blank, then no number will be -printed. On the other hand, -an \NEW{2.3}{\it unsigned} integer here is taken as a substitute number to -be printed instead of the natural one. -If one or two {\it signed} decimal numbers follow {\tt n} -(each starting with {\tt +} or {\tt -}), the first -is a vertical shift in {\tt \bs internote}s, and the second, a horizontal shift -in notehead widths. Another suboption to {\tt n} is {\tt f}, -to {\bf f}lip the number vertically from its default position. A \NEW{2.5}final -suboption to {\tt n} is {\tt s} followed by a signed integer. It applies only -to non-beamed xtuplets, for which it tweaks the slope of the bracket above or -below the xtuplet. For non-beamed xtuplets, you can further change the -appearance of the bracket and number as explain in section~\ref{ATDirective}. - -The second through last notes of the xtuplet are each then -represented by a separate command containing a subset of the characters -permitted for ordinary notes or rests: note name or {\tt r} (the only required -character), accidental, and octave change character ({\tt +} or {\tt -}). -\NEW{1.4} The octave may be given explicitly instead, and any integer will be -interpreted as such, as no numerical time value is permitted. - -To double\NEW{2.3} the duration of any note in an xtuplet, add the -character {\tt D} to the command for that note. This will decrease the expected -number of notes in the xtuplet by one. To add a dot to the doubled note -(as Bach sometimes did), use {\tt F} instead of {\tt D}. -\NEW{2.4}To add a dot to one -note and an extra flag to the next, include {\tt d} in the note command, -{\it after} the {\tt x} if it's the first note of the xtuplet as noted above. - -As an example, an ascending quarter-note triplet scale would be -notated\hfil\break {\tt~c44x3~d~e~f4x3~g~a~b4x3~c~d~\dots} - -\subsubsection{2-note tremolos}\label{TwoNoteT} - -A 2-note tremolo \NEW{2.80}is a special case of an xtuplet. -It represent a rapid alternation between two notes. -It is notated with a pair of -notes, either beamed or unbeamed, with the possible addition of from one to three -indented, disconnected beams between the two note stems. -Like an ordinary -xtuplet, it begins with a note name, optional duration and octave, then -the character {\tt x}. The duration applies to the total time value of the -two notes, is currently limited to either a half note ({\tt 2}), -quarter ({\tt 4}), or eighth ({\tt 8}), and may be dotted by including~{\tt d}~after -the duration digit. -Next comes a {\tt T}. This is optionally followed by one or two -integers from 0 to 3. The first indicates the number of ordinary beams -connecting the two notes; the second, the number of indented beams. - -The only other option allowed on the first note is to move the dot. After -the~{\tt d}~enter one or two signed integers, where the first -is a vertical shift in {\tt \bs internote}s, and the second, a horizontal shift -in notehead widths. If the note has both a moved dot and a digit for an explicit octave, -the~{\tt d} must follow the octave number - -No other options are allowed, and some options are prohibited, such as zero -ordinary beams on anything except a quarter or dotted quarter tremolo. If no -integers are entered after the~{\tt T}, defaults are assigned: (3,0) for a half, -(0,3) for a quarter, and (1,2) for an eighth. - -After a space, the second note of the tremolo is entered. If the total duration -is a half or dotted half, the -noteheads will be open. For a whole note tremolo, two consecutive half note -tremolos should be used. As with ordinary xtuplets, the horizontal spacing of the -notes will always be the -correct value for notes with half the duration of the total. If the tremolo duration -is dotted, a dot will appear by default on the second note, and no~{\tt d}~should -be entered there unless the dot needs to be moved, in which case the syntax is as -described above for the first note. - -Either\NEW{2.84} or both members of the tremolo may include chordal notes, -using the normal {\tt z} notation described in section~\ref{chords}. If the -duration is dotted, dots will appear by default on chord notes, and again -no~{\tt d}~should be entered there unless the dot needs to be moved. -If the tremolo is beamed, the height and angle of the beam may be adjusted -after making it a forced beam as described in section~\ref{beams}. - -Some examples of 2-note tremolos are shown below. When two versions are shown -for a given duration, -the first is the default. The following \PMX code generates the example. - -~ - -{\tt f24xT a fxT a | fxT20 a fxT20 a /} - -{\tt L2 fd24xT zefd-2+1 zcd-2+1 a r4 | f24xT a f2xT20 a /} - -{\tt L3 fd44xT a r8 f44xT a r4 | f44xT02 a fd8xT a r1 f8xT a r4 f8xT11 a /} - -~ - -\includegraphics[scale=1.0]{tremxmpl4.eps} - -\subsubsection{Rests} - - The command for a rest starts with {\tt r}. -Then for a normal rest, in either order come a digit for the basic time value -(using same codes as for notes, optional if unchanged from previous value), -a {\tt d} if the rest is dotted, and a second {\tt d} if double dotted. -\NEW{2.0} The basic time value of a rest -affects future notes and rests the same as if it had come from a note, -i.e., it applies until another value is entered with a subsequent note -or rest in the same voice. The command {\tt rp} represents a -full-bar rest notated with a {\bfi p}{\it ause} character (whole rest) -regardless of -the time signature; in this case no other duration information is -needed or allowed. {\tt rb}, followed if necessary by a duration -specifier, denotes a {\bfi b}{\it lank} rest, one that occupies space and time -but is invisible. This is most often used when there are -two voices in a staff and one drops out for some of the duration -of the current input block. (See {\tt mwalmnd.pmx} for examples). -\NEW{1.4} The -option {\tt o} (for {\bf o}ff-center) suppresses centering a full bar rest. If -you don't exercise this option, then -{\it all} full-bar rests will be horizontally centered between bar -lines, including pauses ({\tt rp}) as well as normal rests that fill the bar. - - The default vertical position of a rest depends on whether there -are one or two voices in the staff. -For one voice it is just the \MusiXTeX{} default -(approximately centered on the middle line). On the other hand, in -the lower voice in -a two-voice staff, the rest is lowered {\tt 4\bs internote}, while -in the upper voice it is raised {\tt 2\bs internote}. The \PMX default can be -manually overridden by appending {\tt +}~or~{\tt -} and an integer -representing the offset from the {\it middle} line of the staff -(not from the \PMX default if there are two voices in the staff!). -So for example, in a single staff -in 3/4 meter, two voices, each with a half note followed by its own -quarter rest would be either -\begin{verbatim} -c24 r4 // -c25 r4 / -\end{verbatim} -or equivalently -\begin{verbatim} -c24 r4-4 // -c25 r4+2 / -\end{verbatim} -while -\begin{verbatim} -c24 r4+0 // -c25 r4b / -\end{verbatim} -would produce two notes followed by a single, vertically centered rest. - -Another way to override the default vertical positioning of rests is useful in -keyboard scores, or in fact any score containing two voices on a staff. -The option {\tt K} (for {\bf K}eyboard) in the -{\tt A} command generally causes rests to be -aligned horizontally with notes in the voice in which they are entered. See -section~\ref{Acommands} for a detailed description. - - \label{MultibarRest}The command {\tt rm} followed immediately by an -unsigned integer will generate a {\bfi m}{\it ulti-bar} -rest, a special combination of characters between two bar lines -representing two or more bars of rest. The integer will always be printed, -horizontally centered. The integer in the command \NEW{2.91}may optionally -be followed by {\tt n} and then another integer, possibly negative, indicating a -different vertical position for the number relative to the bottom staff line. -The default is 9. To put the number -below the staff use -5 or -6. Once the height is changed it will stay the same until -changed again. The {\tt rm} command will generally only be used in separate parts -that have been automatically generated by {\bfx scor2prt}. However, it -\NEW{2.4}may be used in a multi-line score, provided it is entered for the same -number of bars in every staff. - -\subsubsection{Chords}\label{chords} - - Chordal notes, which always share a stem and the same time value as the -prior note, are symbolized with {\tt z} (for {\bf z}ero time) followed by a note name and -optionally an accidental, {\tt +} or {\tt -} as octave indicator, and {\tt e} -or {\tt r} for a l{\bf e}ft or {\bf r}ight shift by one notehead width. -No basic time value is allowed. If the main note -is dotted, then the chordal note will appear with a dot regardless of whether -a {\tt d} is entered. The only time a {\tt d} is required in a chordal note -command is if the dot's position is to be adjusted; in this case the -{\tt d} is required, followed by one or two decimal numbers, each preceded by -{\tt +} or {\tt -}. The first is the vertical shift in \bs{\tt internote}s; -the second, the horizontal shift in notehead widths. -Any number of chordal notes can follow a -single main note. The stem direction of a chord is controlled by the main -note, but may be manually overridden with {\tt u} or {\tt l} in the main note -command. - - When chordal notes are beamed together, the default height and angle of -the beam will be determined by the main note on each stem (the one without -{\tt z}). If a beam joining chordal notes looks bad, you can usually -fix it either by changing which note acts as the main one, -or by fine-tuning the beam parameters as described -in section~\ref{beams}. - -\PMX uses a complex algorithm to automatically position accidentals in chords. -If you are unhappy with the result, you can manually tweak the horizontal -positions as described in section~\ref{AccidentalPosition}. - -Although there is no dedicated command for it, chords can be made to span from -one staff to another using various techniques\NEW{2.73}. The approach will depend on -whether -the chord is single-stemmed with no flag, single-stemmed with a flag, or beamed. -If beamed, it will also depend on whether it is an xtuplet or not. Examples of all -the basic possibilities are contained in the sample file {\tt staffcrossall.pmx}. - -For unbeamed, unflagged staff-crossing chords, -by lengthening the stem with the {\tt L} option on the main note, it can -be made long enough to join with an unflagged single-stemmed note or chord in the -next staff. Single-stemmed notes with one or more flags can be joined across staves -with a trick discovered by Andre Van Ryckeghem: In one staff create a standard note or -chord with -the stem pointing away from the other staff. In the other staff, place the chord notes -in a one-note forced beam that has been lowered or raised into the first staff -(e.g. {\tt [-10 b14 ]}); that -will stretch the stem to join the other notes, but with just one note (or chord) in the -beam, the crossbar will have zero length and be invisible. - -Beamed chords may also span from one staff to another, using joined beams (see -section~\ref{beams}). The general approach is to construct a set of chords -(or single notes, if the other chord notes are in the other staff) in each of -the two staves, enclose each set in a separate forced beam, and join the two -beams with {\tt ]j}...{\tt [j}~. It is important to remember that the -lower staff is processed first. So in most cases, the end of the segment in the lower -staff must be joined (using {\tt ]j}) to the start of the upper segment (with {\tt [j}). -It turns out that for non-xtuplet beamed chords, in all cases where the chord at the -beginning of the beam has a note -in the {\it lower} staff, this works fine provided that the forced beams are of equal -duration and cover the same time span, and that positions in either staff with no note -are represented with -blank rests \bs{\tt rb} inside the force beam. So for example a set of beamed chords -that starts only in the -lower staff and ends only in the upper could be represented by -\begin{verbatim} -[+28 g83 g g rb ]j / -[jf rb g84 g g ] / -\end{verbatim} -This example highlights some other issues, viz., that the beam height or direction of one -or both beam groups may need to be altered. Often this will require trial and error. - -Unfortunately this two-group procedure breaks down if the first chord in the beam has no -notes in the lower staff. There are tricks to get around this; the user is referred to -the file {\tt staffcrossall.pmx} for examples. However, there is a much more -straightforward way to define -staff-crossing beamed chords that begin in the upper staff: it simply requires defining -the beamed group in each staff as an xtuplet within a forced beam. It turns out that -the treatment of -staff-crossing beamed xtuplets is more robust than for non-xtuplets, and will admit -more intuitive coding. So for example, the reverse of the above example, where -the beam starts in the upper staff and ends in the lower, could be obtained with -\begin{verbatim} -[+28 rb2x4n g3 g g ]j / -[jf g24x4 g g rb ] / -\end{verbatim} -\newdimen\psav\psav=\parindent\parindent=0pt where we used the option {\tt n} to -suppress printing the number. As you might expect, more general staff-crossing -beamed chordal xtuplets follow the same concepts already described for non-xtuplets, -but as noted, they are more robust and admit patterns that start in the upper staff -and end in the lower one. {\tt staffcrossall.pmx} also contains examples this -approach. - -\parindent=\psav - -\subsubsection{Grace notes}\label{graces} - - A grace note command starts with a {\tt G}. It is entered in its natural -order, normally before the main note, but sometimes after. After {\tt G} and -before the note name, comes any -combination of the following options: an unsigned integer (which may have 2 digits) -representing the number of -notes in the grace (default is 1), {\tt m} and a digit for -{\bfi m}{\it ultiplicity} -(number of flags or beams, default is 1, 0 is allowed), -{\tt s} for {\bf s}lur (joining all notes of the -grace to the main note; no other {\bf s} is needed on the main note), -{\tt x} for a slash (only for single graces), -{\tt l} or {\tt u} to force the direction of the stem(s), -{\tt X} followed by a decimal number {\it x} to insert a gap of {\it x} -notehead widths between a normal grace and its main note\NEW{2.6}, -{\tt A} (for -{\bf A}fter) or {\tt W} (for {\bf W}ay-after) to associate -the grace note with the {\it prior} note. Next comes the only -required character, the -first note name. No time value can be entered, but if needed, the -octave or an accidental can be given as in a normal note. Second and -later notes must follow immediately in sequence, set apart by spaces, likewise -without any time value, and without any intervening commands. - - Normal or after-graces will be placed {\it immediately} before or after -the main note; way-after's, as far to right as possible before the next note -or bar line. If either type of after-grace is slurred, the slur will start -on the main note and end on the last one in the grace. - - -\subsubsection{Ornaments} - - Commands for ornaments are entered {\it after} their associated -note command. The ornaments now available are shake ({\tt ot}), {\bf m}ordent -({\tt om}), ``x"- or ``+"-shaped ornament symbols ({\tt ox, o+}), pizzicato -({\tt ou}), strong {\bf p}izzicato ({\tt op}), left parenthesis before -notehead ({\tt o(}), right parenthesis after notehead ({\tt o)}), -upper {\bf f}ermata ({\tt of}), {\bf d}own {\bf f}ermata ({\tt ofd}), -staccato ({\tt o.}), tenuto ({\tt o\_}), two different se{\bf g}nos -({\tt og} or {\tt oG}), {\bf C}oda ({\tt oC})\NEW{2.71}, -arbitrary-length wavy-line {\bf t}rill with {\it tr} ({\tt oT}), -arbitrary-length wavy-line -trill without {\it tr} ({\tt oTt}), sforzando ({\tt o>}), -%duncecap ({\tt o}\hbox to 6pt{\tt\^~}), \NEW{2.4}{\bf c}aesura ({\tt oc}), and -duncecap ({\tt o\verb|^|}), \NEW{2.4}{\bf c}aesura ({\tt oc}), and -{\bf b}reath ({\tt ob}). -All except the parentheses, staccato, -tenuto, and down fermata will normally -appear above the staff; the parentheses appear at the level of the note -head, and staccato and tenuto just above or below depending on the -stem direction. The only difference between staccato and -pizzicato is the vertical positioning of the dot. - -Either type of trill may immediately include an unsigned decimal number -to specify the length of the printed symbol in current \bs{\tt noteskip}s; the -default is 1. Thus {\tt oT0} represents {\it tr} with no wavy line. - -Once the ornament type has been specified, most of them can be raised -or lowered from their default position by appending -a signed integer to the command, representing the vertical offset -in \bs{\tt internote}s. \NEW{2.4}. A second signed integer specifies a -horizontal shift from default in notehead widths. - -The caesura and breath marks differ from the others in their default horizontal position, -which is 0.5\bs{\tt noteskip} past the note. - -The {\tt og} segno has several special properties. It must be entered in the first (lowest) -staff, but will appear above -every staff. Its vertical position cannot be altered, but if appended by a number...unsigned -if positive...all appearances will be shifted horizontally by that number of points. On the -other hand, the {\tt oG} segno\NEW{2.71} has a smaller symbol than {\tt og}, -applies only to the note after which it is entered, and can be shifted just as a -normal ornament. - - An ornament can be automatically repeated on a series of consecutive notes, -provided the notes are all in the same voice and the same input block. -To activate this feature, terminate -the first ornament command with~{\tt:}~. Then every note in that voice will -have the same ornament until a note is followed by the repeat terminator -{\tt o:} . - -\subsubsection{Editorial accidentals} - - To place a small sharp, flat, natural, or question mark above the staff, -after the affected note enter {\tt oe} followed by {\tt s, f, n} or {\tt ?}. -\NEW{2.2} You may also put a question mark right after the accidental. - -\subsubsection{Slurs} \label{slurs} - - By default \PMX will use \MusiXTeX's built-in font-based slurs. -But through user intervention it is possible to use either one of -\NEW{2.4}two different types of postscript slurs. {\it Type K} slurs, -developed by Stanislav Kneifl, are directly supported by \PMX and will -be the focus of any future \PMX enhancements. -They are globally activated with {\tt Ap} and several global -defaults set with other options to the {\tt A} command as described in -section~\ref{ApDirective}. If these are used, so will an alternate -set of hairpins (see section~\ref{dynamics}). -The other postscript slur option is Hiroaki Morimoto's {\it Type M} slurs. -These -are not directly supported by \PMXX, but are intended to be fully -compatible with the default font-based slurs. To use them, one would -use the in-line \TeX~command \bs\bs{\tt input musixpss}\bs~, and be sure -{\it not} to enter {\tt Ap} . From \PMXX's standpoint they are no different -from font-based slurs. - -There are some advanced options available only -with Type K postscript slurs, and a few obsolete ones only with font-based. -At this point the main -difference in functionality between the two is that with postscript, \PMX -provides support for -true ties, which are shaped and positioned slightly differently from -slurs. Future enhancements -will probably only work with Type K postscript slurs. Some users do still -prefer -font-based, possibly because Type K postscript slurs are not visible in some -DVI viewers. -New users should experiment with the various types of slurs and decide for -themselves. - - The normal commands for slurs are {\tt (} placed with a space -before a note, and {\tt )} placed after. The command {\tt s} is equivalent to -{\it both} of them (!), except that it always follows the affected note. -With font-based slurs, {\tt t} is equivalent to {\tt s} but -with several minor differences to be explained later. With postscript slurs, -{\tt t} signals to use a true tie. -The commands {\tt s} and {\tt t} are {\it toggles}, turning -a slur or tie off if it's already on and starting one otherwise. - -A \NEW{2.5} slur or tie may end on a rest, but not start on one. The default -ending height in this case will be the same as the starting height, and it -may be tweaked as described below. - - The first character is optionally followed by -a single-character ID code {\tt 0-9} or {\tt A-Z}, then by other -options described below. ID codes are only needed if two or more slurs are -open at the same time within one voice, such as when several chord -notes are tied. Using ID codes in such cases tells \PMX which open slur to -close. ID codes cannot be used with font-based {\tt t} slurs. - -The rules for finding the default direction and position of a slur -are complex; many factors enter into defining visually pleasing values. But -there's no need for gory details here; the result will usually satisfy, and if -not, it can easily be tweaked. The default direction of curvature can be -overridden with {\tt u} ({\bf u}pper), {\tt l} ({\bf l}ower), -or equivalently {\tt d} ({\bf d}own). -Starting or ending position can be shifted from its default by -entering one or two explicitly signed numbers. The first, which must be -an integer, represents the vertical shift in \bs{\tt internote}s; the second, -which may be decimal, the horizontal offset in notehead widths. \NEW{2.71}Starting -or ending -position of a postscript slur or tie can be made to align with the end of the stem -of an unbeamed note by using the option {\tt v}. No other options are permitted -with {\tt sv}, but any desired position can be forced with the numeric options. - -The shape of the slur may be altered as well\NEW{2.1}. This paragraph -deals with font-based slurs, for which the shapes may be less -than fully satisfying due to fundamental limitations of \MusiXTeX. -At the slur termination only, one or three -more parameters may follow the ones just described. The first, a signed, -nonzero -integer, is a vertical adjustment to the mid-height of the slur in -\bs{\tt internote}s. The next two, integers between 1 and 7 following a -``{\tt :}", are alterations to the starting and ending slopes. -These numbers are -passed directly as arguments of the \MusiXTeX{} macros \bs{\tt midslur} -(if only -one is given) or \bs{\tt curve} (if there are three). - -For \NEW{2.4}Type-K slurs, -the shape may be changed locally by including {\tt f} in either the -slur's starting or ending command to flatten it a bit, or {\tt h}, -{\tt H}, or {\tt HH} to -increase its curvature and raise or lower its middle by increasing degrees. -The default \NEW{2.5}curvature can be altered from normal -with new suboptions -to {\tt Ap} as described in section~\ref{ApDirective}. Local -curvature tweaks will take precedence over the global default. A special -option {\tt n} to the slur command can be used to locally restore the normal -curvature if the default curvature has been globally changed. - -Another option peculiar to Type-K slurs and ties is to locally -override the global -setting for automatic height adjustment (to avoid tangencies with staff -lines). The global defaults may be changed with the {\tt A} command as -described in section~\ref{ApDirective}. To -override the global setting for the current slur or tie only, use -the option {\tt p} in the command that starts the slur or tie, -followed by {\tt +} or {\tt -} (to turn adjustment -on or off), followed by {\tt s} or {\tt t} (for slur or tie). - -A dotted \NEW{1.41} slur is activated by including the option {\tt b} (for -{\bf b}roken) in the command that starts the slur. - -Slurs involving grace notes are specified within the command for the grace -(see section~\ref{graces}). - -For font-based slurs, the unique aspect of {\tt t} slurs is that if one -starts or ends on the same -note as an {\tt s} slur, the former will be moved away from the notehead to -avoid a collision. {\it This only works if neither slur has an ID code.} -This feature is only retained for backward compatibility. - -The available options should cover most circumstances, but if not, -the \TeX\ macros \bs{\tt isu} etc, defined in {\tt pmx.tex}, can be entered -as in-line \TeX\ commands (see section~\ref{LitTeX}). -These commands have three arguments: -slur number, vertical position (pitch, or offset from bottom staff line in -\bs{\tt internote}s), and horizontal offset in -notehead widths. When using these commands, you must choose an explicit -slur number. Use one large enough to avoid -conflicts with \PMXX 's automatic slurs, which are numbered from \NEW{2.4} -0 upward. -Also, remember that non-spacing in-line \TeX\ commands such as this one must -come {\it before} the note they apply to, in contrast with the \PMX -slur toggles which may come after. - -\subsubsection{Ties} - -With font-based slurs, in \PMX the only difference between ties and slurs -is the default positioning. -Ordinary slur ends are centered horizontally above or below the notehead, -while tie ends are shifted inboard and closer to the midheight of the -notehead. To specify a font-based tie in \PMXX, use a slur command and -include the option {\tt t} -in it, somewhere after the initial {\tt ( , ) , s } or {\tt t} . - -\NEW{2.4} With postscript slurs, ties---indicated with {\tt t} or -{\tt st}---will have similar differences -in endpoint positions, -but in addition will have a different shape (somewhat flatter) and will -always end at the same height they start. There is also an option to the -{\tt A} command that affects ties across line breaks -(see section~\ref{ApDirective}). By default the -second part of such ties will be drawn as a complete tie symbol. However, -if you want them to be a {\it half tie}---a special shape that is horizontal -at its left end---use the command {\tt Ap+h} at the start of the file. - -In addition to the notation options just mentioned, ties may also be -%indicated with the character {\tt\{} before the starting note and {\tt\}} after -indicated with the character {\tt$\{$} before the starting note and {\tt$\}$} after -the ending note\NEW{2.6}. - -\subsubsection{Line-breaking Type K slurs and ties} \NEW{2.5} \label{lbslurs} - -No special action is required if a slur or tie happens to cross a line break. -However, some special, manual adjustments are available for Type K postscript -slurs in these cases. The global option {\tt Apl} by itself adjusts several -parameters as described in section~\ref{ApDirective}. Further, if {\tt Apl} -has been issued, -then case-by-case adjustments for line-breaking Type K slurs and ties are -available as suboptions to the -slur commands. To tweak the horizontal and vertical positions of the end of -the first segment, enter the suboption {\tt s} in the command that starts -the line-breaking slur or tie, followed by two signed numbers representing -respectively the vertical shift -in \bs{\tt internote}s and the the horizontal shift in notehead widths. To -tweak the position of the start of the second segment, follow the above by -another {\tt s} and two more signed numbers. The usual curvature options -{\tt h}, {\tt H}, {\tt HH}, and {\tt f}, if included in -the starting command for a line-breaking slur, will apply only to the first -segment, and if in the closing command, to the second segment. If the tweaked -slur or tie does not happen to come at a linebreak, -the special position tweaks (after {\tt s} ) will all be ignored, and the -curvature tweaks on the closing note will take precedence as they normally -would. - -\subsubsection{Dynamics} \label{dynamics} - -\NEW{2.3} -After the affected note, enter {\tt D} followed by one of the -following {\tt pppp, ppp, pp, p, ffff, fff, ff, f, mf, mp, fp, sfz, -"[{\it any text}]", >,} -or {\tt <} . The last two are diminuendo and crescendo, and they are toggles, -i.e., the first one of each starts the symbol and the next one ends it. -The one surrounded by \NEW{2.76} double quotes is an arbitrary text string -no longer than 64 characters, which may include embedded \TeX. -By default a single note dynamic mark is horizontally centered below the note -to which it is assigned, or below the staff, whichever is lower. Dim. or cresc. -follow the obvious extension of that rule to the starting and ending note taken -together. Examples of the default positions of dynamic marks are contained -in the file {\tt dyntest.pmx}. However, with any dynamic mark you can also -enter position shifts, vertical as a signed integer representing -the number of {\tt \bs internote}s, then (if desired) horizontal as a signed -number representing a -number of notehead widths. There can only be one of the letter-groups on each -note, but there may also be {\tt D<} and/or {\tt D>} on the same note. These must be -entered as separate {\tt D...} commands, and must come in the right order, e.g., - -\medskip -[{\it some notes}] {\tt D<} [{\it more notes}] {\tt D< Dffff D>} -[{\it more notes}] {\tt D>} -\medskip - -Hairpins \NEW{2.7} may span from one input block to the next. - -There are numerous context-sensistive automagic adjustments to the positions -of all the dynamic symbols. If you don't like the result you can adjust the -position as just described. - -Due to \MusiXTeX's limitations, -there are some restrictions on hairpins when using font-based slurs. -They cannot be longer than 68mm, they cannot wrap over a system break, and they -must be horizontal. Finally, -only certain specific lengths are available so some horizontal position -tweaking may be needed, especially when letter-groups and -hairpins are combined. -These restrictions are all removed when using postscript slurs. - -\subsubsection{Beams} \label{beams} - - For the most part, \PMX automatically takes care of the details of -defining beams: selecting which notes are beamed together, and setting -the angle, direction, height, and {\it multiplicity} (the number of bars -along the top or bottom). However, one may define a {\it forced} -beam---which overrides \PMXX 's selection of which notes are beamed -together---by -surrounding the included notes with {\tt [} and {\tt ]}, being certain to -separate these commands and their options from the included note commands with -spaces. One may also wish to edit certain features of a beam even when -\PMXX 's grouping decision -would otherwise be acceptable; here again the beamed notes must be set -apart with {\tt [} and {\tt ]}. - -The {\tt [} may optionally be followed -immediately by several options. - -{\tt u} or {\tt l} will override -\PMXX 's selection of the direction of the beam, while {\tt f} will -{\bf f}lip it from whatever \PMX decided. - -{\tt j} {\bf j}oins the beam -grouping to a prior one started in another system (see below). - -One, two, or three consecutive integers, each preceded with {\tt +} -or {\tt -} , will affect the beam's appearance. The first integer is -an adjustment to the starting level (in \bs{\tt internote}s) and may range -from -30 to 30; the second is a slope adjustment with the same -permissible range; the third is an alternate adjustment to the -starting level (in beam thicknesses) and may only range from 1 to 3, -always acting to increase the stem length. The latter may be used to -align consecutive horizontal beams which have internal multiplicity -changes. For example, in 2/4 time, {\tt c84~c1~c~c~c~c8} would cause two -beams but the -first one would be lower than the second; {\tt [+0+0+1~c84~c1~c~]~c~c~c8} -would align the tops of the beams with each other. Due to the -complexity of \PMXX 's beam analysis procedures, these editing commands -may sometimes produce unexpected results, and some iteration may be -required to get exactly what you want. For example, -{\tt [+0+0+3~cd8~c3~c6~c~]~c~c~c3~cd8} -will not produce two aligned beams as desired, because -when \PMX analyzes the first beam, it automatically raises the starting -level a bit for another reason, namely, to avoid too short a stem on -the 64th notes at the end of that beam. In this case, -the user could counteract \PMXX 's internal adjustment by using -{\tt [-1+0+3~cd8~c3~c6~c~]~c~c~c3~cd8}. - -The option {\tt h} forces the beam to be {\bf h}orizontal. - -The character {\tt m} followed by a digit 1-4 forces the {\bf m}ultiplicity -of the beam, the number of stem-joining bars. - - By default, xtuplets are set apart with their own beam. To beam -an xtuplet together with other non-xtuplets, just include it with the -other notes in a forced beam. - - Rests may also be included within forced beams, provided they are -shorter than quarter rests, and of course that they come {\it between} the first -and last notes under the beam. - -It's \NEW{2.5} now easy to define a repeating forced beam pattern. -If the option {\tt :}~(colon) is included in the starting command {\tt [}~for -a forced beam, then after you end the beam, more beams of the same duration -will be forced in -that voice, until stopped. They will be stopped at either the next regular -forced beam, or the end of the input block for that voice, whichever comes -first. - - Some users may wish to define beamed groupings with subgroups -joined by a single beam. The command {\tt ][}, standing alone between two -note commands in a forced beam, causes the multiplicity to decrease to -unity and immediately increase to its natural value for the next note. -For example, {\tt [~c14~c~c~c~][~c~c~c~c~]} will generate two doubly-beamed -groups connected by a single beam. - -Related \NEW{2.3} to this is a {\it single-slope beam group}, which is the -same as described -in the previous paragraph except that the beam disappears between segments. -Segments should be separated by {\tt ]-[} standing alone between two notes -inside the forced beam. - - If there are large jumps in pitch between notes in a beam within -a single staff, as a matter of taste you may wish -to start the beam for example as an upper one and end it as a -lower. \PMX will never do this automatically, but you can accomplish -it by forcing the beam with appropriately modified up/down-ness, starting level, -and slope. If you use this technique, there are two details to note: (1)~if -there are any intermediate multiplicity changes, they will only be handled -properly if the initially specified up-down-ness is consistent with the -vertical position -of the intermediate notes involved, and (2)~for proper appearance in crowded -scores you may wish -to insert hardspace or shifts as described in -section~\ref{hardspace}. Some examples are included in {\tt most.pmx}. - - Beams cannot normally jump staves. But if that is desired, start -the beam normally in one staff, and terminate the part of the beam in that -staff with {\tt ...~]j} . Then resume the beam in the new, adjacent staff with -{\tt [j~...} . For staff-jumping beams, it's OK to have just a single note -inside one or both of the members. Some adjustment of the beam height and -slope may be required. Sometimes the ending section's up-downness must be -overridden; you will know this is so if the ending is shifted horizontally -from its proper position by one notehead width. -Each voice must still have the right number -of beats, so you will probably need to fill time with blank rests after the -first member of the beam in one staff and before the second member in the other. -There can still only be one staff-jumping beam open at a time. - - \label{Jumps}In most cases \NEW{2.91} it is possible within \PMX to set a staff-jumping -beam that changes multiplicity right at the jump. The only cases where the author -hasn't yet found a way are where multiplicity increases and the beam runs -at a height between the notes in the two staves. In that case some inline \TeX\ -is needed. The example below covers all possible combinations of jump direction; -whether the beam runs below all, between, or above all of the notes; and -whether multiplicity stays the same, increases, or decreases at the jump. - -~ -\begin{verbatim} -h4.4i -w5.5i -\\let\nbbut\nbbu\let\nbblt\nbbl\ -% Fixed mult, up jump -[ g83 g ]j rb4 | [u g83 g ]j rb4 | [u+14 g83 g ]j rb4 / -rb4 [j f84 f ] | rb4 [j f84 f ] | rb4 [jl f84 f ] / -% down jump -rb4 [j g83 g ] | rb4 [j g83 g ] | rb4 [ju g83 g ] / -[ f84 f ]j rb4 | [l f84 f ]j rb4 | [l-14 f84 f ]j rb4 / -L2 -% Bar 7 Incr mult, up jump -[ g83 g ]j rb4 | [l+14 g83 g ]j rb4 / -rb4 [j f14 f f8 ] | rb4 \def\nbbu#1{\nbbl{#1}\let\nbbu\nbbut}\ [ju f14 f f8 ] / -[u+14 g83 g ]j rb4 / -rb4 [jl f14 f f8 ] / -% down jump -rb4 [j g13 g g8 ] | rb4 \def\nbbl#1{\nbbu{#1}\let\nbbl\nbblt}\ [j g13 g g8 ] / -[ f84 f ]j rb4 | [u-14 f84 f ]j rb4 / -rb4 [ju g13 g g8 ] / -[l-14 f84 f ]j rb4 / -L3 -% Bar 13 Decrease mult, up jump -[ g83 g1 g1 ]j rb4 | [u g83 g1 g1 ]j rb4 | [u+14 g83 g1 g1 ]j rb4 / -rb4 [j f84 f ] | rb4 [j f84 f ] | rb4 [jl f84 f ] / -% down jump -rb4 [j g83 g ] | rb4 [j g83 g ] | rb4 [ju g83 g ] / -[ f84 f1 f ]j rb4 | [l f84 f1 f ]j rb4 | [l-14 f84 f1 f ]j rb4 / -\end{verbatim} - -\includegraphics[scale=1.0]{sjb291.eps} - -~ - -\subsubsection{Clefs} - - A clef change is signaled by {\tt C} followed by a single lower-case -letter or digit using the code specified in -section~\ref{ClefCodes}. If clefs come out at the wrong -vertical position, refer to the note in {\tt pmx.tex}. - -\subsubsection{Arpeggios} - -To set an arpeggio (a vertical wavy line), simply place the \bs {\tt ?} -after the commands for both the first and last note. To shift the symbol to -the left by {\it x} notehead widths, use the option {\tt -}[{\it x}]\NEW{2.6} . - -\subsubsection{Lyrics}\NEW{2.73}\label{lyrics} - -Lyrics rely on the underlying \TeX\ command {\tt\bs pmxlyr} developed by Dirk -Laurie, which is defined in {\tt pmx.tex}. It in turn makes use of the macro -package {\tt musixlyr.tex} developed by Rainer Dunker. So to enable lyrics within \PMXX, -you will need to -ensure that {\tt musixlyr.tex} is installed somewhere in your system where your -\TeX\ processor can find it. - -Lyrics can be inserted by enclosing them in double-quotes inside the music line -just before the first note to which they apply, as in -{\tt "us-ing lyr---ics now\_\hglue1pt\_ "}. Once the first double quote is encountered, \PMX will -ensure that {\tt musixflx.tex} is input into the \TeX~file. - -Lyrics for several notes can be defined in one go. -The lyrics in each input string demand a specific number of notes, depending on -the number of syllables, hyphens, and underscores. If there are not enough lyrics, -question marks will appear; if too many, the excess syllables will not appear. - -The rules for aligning lyrics properly with notes are as follows. Words are -separated by whitespace, with any number of spaces counting as one. Syllables -within a word that require just one note each are separated by a single hyphen. There are -two ways to extend a syllable over two or more notes. If it is the last syllable in -a word (like {\tt "now\_\hglue1pt\_ "}), follow it with consecutive underscores, one for each extra -note, and finally a space. It will be printed with a continuous underscore. -To extend a syllable within a word (like {\tt "lyr---ics"}), insert one extra hyphen -(with no spaces) for each -extra note, and it will be printed with some number of hyphens filling the proper -space between syllables. Conversely, a tilde ({\tt \char126}) between two words -(with no spaces) prints a space between them while assigning the last syllable of the -first and the first syllable of the second to a single note\footnote{This is just an -example of using a standard \TeX\ feature within lyrics.}. So in the end, in a voice -with lyrics, every note must be associated with a syllable, its extension, or two -syllables joined with a tilde. - -Although underscores within a word or consecutive hyphens at the end may not crash the -code, they are not recommended for any foreseen useful purpose. - -Accented characters can be included in lyrics or elsewhere in several different ways. Here -we provide examples for just one of those methods, one which uses special \TeX~commands. -The following \PMX input contains most of the available accented characters and -leads to the example pictured below. - -\begin{verbatim} -"\'o \`o \^o \"o \~o \=o \.o \u{o} \v{o} \H{o} \t{oo}"@b+4 -c44 d e f g a b c c- d e r / - -"\c{o} \d{o} \b{o} {\oe} {\OE} {\ae} {\AE} {\aa} {\AA} {\o} {\O} {\l} {\L} {\ss}" -c44 d e f g a b c c- d e8 f g a / -\end{verbatim} - -\includegraphics[scale=1.0]{accents.eps} - -By default, lyrics will be placed below the staff where they are entered, half way between that -and the next lower staff. You may want to -alter the vertical position of a lyrics line, especially if both voices in -a staff have lyrics. This is accomplished with the opfion {\tt @}, immediately -following the closing quote of the -lyrics string with no space. That must be followed by either {\tt a} or {\tt b} for -{\bf a}bove or {\bf b}elow the staff, then a signed integer for the number of -\bs{\tt internote}s above or below the default height. This command is "sticky"; it -will remain in force for later lyrics in the same voice until altered. - -It may also be necessary to allow extra vertical space where the lyrics are positioned. -There is no \PMX command for this, but type 2 inline \TeX~can be used to insert extra -vertical space above any instrument. For example, if the voice is in instrument \#2 and -lyrics are below that staff, -\bs\bs{\tt interinstrument=0\bs internote\bs setinterinstrument1\{8\bs internote\}}\bs~ will -add \newline 8 \bs{\tt internote}s in the space for the lyrics. - -Present limitations allow lyrics at upper and lower voices on the bottom two -staves of instruments 1 to 4. Elsewhere they are quietly ignored. - -Most scores with lyrics will benefit from the type 2 command \bs\bs{\tt sepbarrules}\bs, which -stops bar lines from crossing through the vertical space between instruments. - -The notation {\tt "us-ing lyr---ics now\_\hglue1pt\_ "} is actually shorthand for the inline \TeX\ -string {\tt\bs pmxlyr\{us-ing lyr---ics now\_\hglue1pt\_ \}\bs}. All the rules given in -section~\ref{LitTeX}~for -Type~1 \TeX\ strings apply. To ensure that the length of all the Type 1 \TeX\ -strings belonging to a particular note combined does not exceed 128, remember -to account for the nine characters in {\tt\bs pmxlyr\{\}}. - -The sample files {\tt prad5.pmx} and {\tt netsoos.pmx} illustrate many aspects of -this direct method for entering lyrics in pure \PMX. - -This way of entering lyrics is a convenient interface to a subset of the -facilities offered by {\tt musixlyr}. If more advanced features than those supported by -{\tt\bs pmxlyr} are needed, the necessary {\tt musixlyr} macros could be manually -entered as in-line \TeX\ directly into the .pmx file. - -If really advanced features are needed (such as having several verses of lyrics -at once), most users would prefer the convenient interface to {\tt musixlyr} via -the program {\bfx M-Tx} developed by Dirk Laurie. It is a pre-preprocessor which produces -a {\tt .pmx} file containing the proper in-line \TeX\ commands. Its input language -is similar (but not identical) to \PMX and includes most \PMX functionality as a subset. - -\subsection{Commands That Affect All Voices} \label{pmxcmds} - - Most commands that affect all the voices can only appear in the first -(lowest) voice in the first (lowest) staff. Most such commands will -automatically be -transferred from score to parts when separate parts are generated by -{\bfx scor2prt} (see section~\ref{scor2prt}). - -\subsubsection{Repeats, double bars, forced single bars} \label{Repeats} - - Repeat signs, double bars, and other bar-ending options are signaled -by {\tt R} followed by -{\tt l, r, lr, d, D, dl, b} or {\tt z} for -{\bf l}eft repeat, {\bf r}ight repeat, {\bf l}eft-{\bf r}ight repeat, -thin-thin {\bf d}ouble -bar, thin-thick {\bf D}ouble bar, thin-thin {\bf d}ouble bar followed by -{\bf l}eft repeat, single {\bf b}ar, or blank (invisible) barline\NEW{2.4}. -Some of these have peculiarities. -{\tt Rb} forces a single bar before a movement break (see section~\ref{movbrk}), -where otherwise by default there is a double bar. That can be useful for -example if you -change the number of instruments (via an option in the movement-break command) -in the middle of a movement. {\tt Rz} will cause a blank barline at the end -of the current system, not necessarily the current bar. It can be used -together with blind meter changes if you want to split a bar across a -system break. -If {\tt Rlr} falls at a system break, \PMX will automatically split it in -two. The command {\tt Rdl} will likewise be split at a system break, but if -not at a system break, the {\tt d} will be ignored. - -These commands must be in the -first voice. It is best only to place them before the first note in an -input block or if necessary after the last one; otherwise {\bfx scor2prt} -may behave erratically. -Using two separate {\tt R} commands in succession will cause -unpredictable results. - - -\subsubsection{Voltas (first and second endings)} - - Beginnings and ends of first and second endings are signaled by -{\tt V} (for {\bfi v}{\it olta}). -If it's the {\it end} of the volta, add the option {\tt b} (for -{\bfi b}{\it ox}) or {\tt x} for {\it no bo}{\bfi x}. -If it's the {\it start} of a volta, you can -optionally enter any text at all that doesn't include a space and doesn't -start with {\tt b} or {\tt x} (most -commonly {\tt 1} or {\tt 2}). A period will automatically be -appended to the text. If one volta ends and another starts right -away, only a single {\tt V} is needed. Voltas must only be entered in the -first voice. If separate parts are to be created from a score using -{\bfx scor2prt}, then only a single volta is allowed in any given input -block, and it must be at the beginning of the block. - -\subsubsection{Meter changes}\label{MeterChange} - - Meter can only be changed at the beginning of an input block. -A {\bfi m}{\it eter change} command starts with the letter {\tt m}. -There are two different ways to complete the command. - -{\bfx Method 1.} Enter 4 numbers -with no intervening spaces. The four numbers are {\tt mtrnuml}, -{\tt mtrdenl}, {\tt mtrnmp}, {\tt mtrdnp} as defined in section~\ref{setupdata}, -with the following exceptions for this method only: -You must use {\tt o} to represent -the number 1; if you enter the digit {\tt 1} then \PMX will interpret that -digit and the next as a 2-digit integer, between 10 and 19 inclusive. -19 is the largest number that can be entered with this method. Note that -{\tt mtrdenl=0} still represents a whole note. - -{\bfx Method 2.} \NEW{1.4} Enter the four numbers verbatim in the order just -listed, but separate them with slashes ({\it /}). - -\subsubsection{Bar numbers} - - By default \PMX will place a boxed bar number at the start of every system -except the first, above the clef at the beginning of the top staff. Numbers start at -1 unless the first bar is a pickup included in the first input block, in which case -the pickup bar is numbered 0. There is no way to change any of this except with -inline \TeX. - - There are several ways to modify specific aspects of bar numbering -when blank gaps have been inserted (see section~\ref{Gaps}), or to continue -numbering rather than resetting to zero at a movement break -(see section~\ref{movbrk}). - - If you wish to mover the bar number box at the start of any system, -enter the type 1 inline \TeX~ command {\tt\bs bnrs[i][j]} anywhere in the -system before the linebreak, where {\tt [i]} is the vertical shift in -{\tt \bs internotes} and {\tt [j]} is the horizontal shift in notehead -widths. - -\subsubsection{Fundamentals of key changes and transposition}\label{transpose} - -As explained in section~\ref{setupdata}, the intial key signature, also called -the concert key, is specified in the setup data. In order to change the key -signature or to transpose (i.e. make the printed notes appear at a different -level than where -they were entered), use the {\tt K} command. The syntax is {\tt K}[{\it n}][{\it k}] -where {\it n} and {\it k} are explicitly signed digits respectively giving the distance -to transpose in \bs{\tt internotes}, and -new key signature. When transposing, you should always use relative accidentals, activated by -the separate command {\tt Ar} at the start of the first input block (see section~\ref{ArDirective}). -For example, to transpose a piece in C major to E major you would enter -{\tt Ar~K+2+4} at the beginning of the first block. - -To transpose by a half step to a key with the same -letter name, use {\tt K-0}[{\it k}] where as before {\it k} is an explicitly signed integer giving -the new signature. -(Using {\tt -0} instead of {\tt +0} eliminates confusion with a simple key -change, see the next paragraph.) - -A simple key change can be signalled at the start of any input block. Use -the command {\tt K} with {\it n}={\tt +0} as the first argument and the new key signature as the second. - -If the signature changes from sharps to flats -or vice-versa, the default will be to include naturals in the first instance of the new -signature. To suppress this behavior, use the \NEW{2.7}option {\tt n} right after {\tt K} . -For example, to change from -2 flats to 3 sharps and suppress the naturals, enter {\tt Kn+0+3} . - -The procedures described above will affect all instruments in the score. To change the key of or -transpose just a single instrument, use Ki[{\it m}][{\it n}][{\it k}] when {\it m} is an unsigned integer -representing the instrument number, and {\it n} and {\it k} are as just described. -For more than one instrument, you may immediately repeat everything after {\tt K} (including {\tt i}). -This may come either at start of score (right after setup) or at the beginning of any later input -block. But if it's later, it must be preceded by a normal -(full score) non-transposing key change command {\tt K+0}[{\it k}]. -For example, to change the keys of the second and third instruments to one sharp and two sharps -respectively, use {\tt Ki2+0+1i3+0+2} . - -\subsubsection{More on transposition; ``transposing'' instruments and example files} - -In practice, two fundamentally different situations may arise: (1) (Full-score transposition) A -score that has been entered in one key -is to be completely transposed to a different key and pitch level, usually to force the range to fit -different instruments than original; or (2) (``Transposing'' -instruments) some of the instruments require a part printed in a different key and at a different -pitch level than it sounds. - -To transpose -an entire score from the key specified in the setup data (Case TTA), simply use the -{\tt K} command at the -beginning of the first input block, as outlined in the previous section. - -It gets more complicated when some transposing instruments are involved, -because there are three different possibilities: -(Case~CTS)~The transposing instruments can be entered in concert key but printed -transposed in the score and in separate parts created with {\bfx scor2prt} (see -section~\ref{scor2prt}); -(Case~TTS)~They can be entered transposed and printed transposed in -both the score and in parts; -(Case~CCS)~They can be entered in concert key and printed in concert key in the score, but -printed transposed in parts. Matters are further complicated if there is a later key -change. Finally, if a MIDI file is to be produced, then in cases CTS and TTS an additional -step involving the transpose option to the MIDI command {\tt I} -(see section~\ref{MIDI}) must be taken. - -All of the required commands for all four of these cases are summarized in the table -below. Following that, they are discussed a bit further and illustrated in -four example files (named [Case]{\tt .pmx}) that are also included in the distribution. - -\font\smaller=cmr10 -{\smaller -\begin{center} - \begin{tabular}{cllcll} - \hline - Case & PMX entry & Printed score & MIDI pitch & Initial commands & Later key change \\ - \hline - TTA & All B flat major, & All transposed up & transposed & {\tt K+2+2} & {\tt K+0-5} \\ - ~ & later key change & 2 steps to D & ~ & {\tt I} & ~ \\ - ~ & to B flat minor & major, later to D & ~ & ~ & ~ \\ - ~ & ~ & minor & ~ & ~ & ~ \\ - \hline - CTS & All B flat major, & Trombone (1) & concert & {\tt Ki2+5+1i3+1+0} & {\tt K+0-5} \\ - ~ & later key change & concert; alto sax & ~ & {\tt IT+0-5-1} & {\tt Ki2+5-2i3+1-3} \\ - ~ & to B flat minor & (2) transposed up & ~ & ~ & ~ \\ - ~ & ~ & 5 to G, later G & ~ & ~ & ~ \\ - ~ & ~ & minor; clarinet (3) & ~ & ~ & ~ \\ - ~ & ~ & transposed up 1 to & ~ & ~ & ~ \\ - ~ & ~ & C, later C minor. & ~ & ~ & ~ \\ - \hline - TTS & Trombone (1) & Trombone (1) & concert & {\tt Ki2+0+1i3+0+0} & {\tt K+0-5} \\ - ~ & concert; alto sax & concert; alto sax & ~ & {\tt IT+0-5-1} & {\tt Ki2+0-2i3+0-3} \\ - ~ & (2) transposed up & (2) transposed up & ~ & ~ & ~ \\ - ~ & 5 to G, later G & 5 to G, later G & ~ & ~ & ~ \\ - ~ & minor; clarinet (3) & minor; clarinet (3) & ~ & ~ & ~ \\ - ~ & transposed up 1 to & transposed up 1 to & ~ & ~ & ~ \\ - ~ & C, later C minor. & C, later C minor. & ~ & ~ & ~ \\ - \hline - CCS & All B flat major, & All B flat major, & concert & {\tt \%2K+5+2} & {\tt K+0-5} \\ - ~ & later key change & later key change & ~ & {\tt \%3K+1+0} & ~ \\ - ~ & to B flat minor & to B flat minor; & ~ & ~ & ~ \\ - ~ & ~ & parts printed & ~ & ~ & ~ \\ - ~ & ~ & transposed & ~ & ~ & ~ \\ - \hline - \end{tabular} -\end{center} -\medskip -} - -{\bfx Case TTA: Full score transposition.} -Here the entire score is to be transposed. In the setup data the signature is set to -2. Then -the command {\tt K+2+2} says to transpose up 2 steps from the initial key of B flat to D, and put 2 -sharps in the key signature. No special attention is needed for the MIDI; it will come out in the -transposed key. A later (full-score) key change requires another {\tt K} command, but now the -transposition parameter is set to 0 and the new key is the concert key (I guarantee people will be -confused by this). In the example the command for the signature change is {\tt K+0-5} , making the -new concert key B flat minor with 5 flats, and, considering the initial transposition, causing the -score and MIDI to come out in D minor with 2 flats. - -{\bfx Case CTS: Parts all entered in concert key, but some transposed in the printed score.} -Here, to produce the -printed score, parts are all entered in concert key, but instrument-wise transposition is used for -the transposed instruments. In the example the alto sax part is entered in B flat but will be -transposed up 5 steps in the printed score, to G major. This is brought about with {\tt Ki2+5+1} . Similar -logic applies to the clarinet part, while the trombone part is not transposed. If a MIDI file is -desired, it will come out in concert key, but only after using the transpose option in the MIDI -command to undo the transpositions caused by the K command. In the example the command -{\tt IT+0-5-1} does this, ``de''transposing each of the three instruments by the necessary number of -steps. For a later key change, first the full-score {\tt K} command changes the concert key, then the -instrument-wise {\tt Ki command}, with the same transpositions as the initial one, sets the new key -signatures for the transposing instruments. Here the signatures to be entered are the transposed -signatures, i.e., the ones that will be printed. - -{\bfx Case TTS: Parts entered in respective transposed keys, and printed in those keys in the score.} -In this method of scoring transposing instruments, parts for transposing instruments -are transposed ahead of time and -entered exactly as they will appear in the score. So to produce the printed -score this way, the pitch does not have to be changed, but the key signatures must be set -separately for each transposing instrument using the {\tt Ki} command. In the example, the alto sax is -entered in the key of G so the instrument-wise option for it is {\tt Ki2+0+1} . Note that {\tt +0} means no -further transposition is needed before printing, because the part was transposed on entry. Once -again, if a MIDI file is desired, it will come out in concert key, but just as in the previous case, -you must use the transpose option in the MIDI command {\tt IT} to undo the transpositions caused -by the {\tt K} command. For a later key change, the same full-score {\tt K} command as in the previous -case is used to change the concert key. Then the instrument-wise {\tt Ki} command, now with {\tt +0} for -the transpositions, sets the new key signatures for the transposing instruments, again using the -transposed signatures. - -{\bfx Case CCS: Parts entered in concert key, printed in score in concert key, but transposed in -separate printed parts.} -This is the easiest case of all. Nothing special needs to be done for the score, but part-only, -full-score transposition commands {\tt\%}[instrument number]{\tt K...} should be entered in the score. Then -{\bfx scor2prt} will generate a transposed part. Of course if a MIDI is made from the score it will -come out at concert pitch. For example, to transpose the alto sax part up 5 steps, initially to G -major, near the top of the score file enter {\tt\%2K+5+1} . Later, where the concert key changes to B -flat minor and the alto sax to G minor, enter simply {\tt K+0-5}, making the new concert key B flat -minor with 5 flats. When {\bfx scor2prt} is invoked to make separate parts, this will be transferred -verbatim into all parts, and then \PMX will internally adjust the signature for each transposed part -as required. - -{\bfx Making separate parts.} -In all of the cases discussed, if the patterns of commands in the table are followed, then -separate parts can be made as usual using {\bfx scor2prt}. They will -automatically come out transposed as desired. - -\medskip -%\pagebreak -{\bfx Texts of the transposition sample files:} -% Note: when editing is done, figure out how to make scripts size work without page break. -\begin{scriptsize} -%\begin{tiny} -\begin{multicols}{4} -\begin{verbatim} -%TTA.pmx -3 2 4 4 4 4 0 -2 -1 1 20 .13 -Trombone II+III -Trombone I -bbb -.\bs -Tt -TTA -Apr -I -K+2+2 -b42 d f b t b t gf df b / -b42 d f b t b t gf df b / -b42 d f b t b t gf df b / -K+0-5 -b42 c d e f gs as b / -b42 c d e f gs as b / -b42 c d e f gs as b / - - - -%CTS.pmx -3 3 4 4 4 4 0 -2 -1 1 20 .1 -Trombone -Alto Sax -Clarinet -btt -.\ -Tt -CTS -Apr -Ki2+5+1i3+1+0 -IT+0-5-1 -b42 d f b t b t gf df b / -b43 d f b t b t gf df b / -b44 d f b t b t gf df b / -K+0-5 -Ki2+5-2i3+1-3 -b42 c d e f gs as b / -b43 c d e f gs as b / -b44 c d e f gs as b / - -%TTS.pmx -3 3 4 4 4 4 0 -2 -1 1 20 .1 -Trombone -Alto Sax -Clarinet -btt -.\ -Tt -TTS -Apr -Ki2+0+1i3+0+0 -IT+0-5-1 -b42 d f b t b t gf df b / -g44 b d g t g t ef bf g / -c45 e g c t c t af ef c / -K+0-5 -Ki2+0-2i3+0-3 -b42 c d e f gs as b / -g44 a b c d es fs g / -c45 d e f g as bs c / - -%CCS.pmx -3 3 4 4 4 4 0 -2 -1 1 20 .1 -Trombone -Alto Sax -Clarinet -btt -.\ -Tt -CCS -Apr -%2K+5+1 -%3K+1+0 -I -b42 d f b t b t gf df b / -b43 d f b t b t gf df b / -b44 d f b t b t gf df b / -K+0-5 -b42 c d e f gs as b / -b43 c d e f gs as b / -b44 c d e f gs as b / -\end{verbatim} -\end{multicols} -\end{scriptsize} -%\end{tiny} - -\subsubsection{Text} - - The commands {\tt h} or {\tt l}, when placed in the first -column of an input line and followed by a blank or, for {\tt h} only, by -a signed integer, -stand for {\bfi h}{\it eader} and {\bfi l}{\it ower text}. They will put a -text string -above or below the {\it top} staff in the {\it first} bar of the block where -they are entered. The text string must be on a line of its own, -immediately following the command. The integer is a vertical shift in -\bs{\tt internote}s. - - A {\it title block} with up to three elements can be defined at the -beginning of the first input block. {\tt Tt} signals that the text -{\it on the following line} is to be set as a {\bf t}itle for the whole piece, -and it will be centered. {\tt Tc} similarly indicates a {\bf c}omposer's name, -to be set below the title and right justified. {\tt Ti} likewise stands for -an {\bf i}nstrument name, which will be set above the title, left-justified. -The text for any of these commands can be split over two or more lines -by including \bs\bs~at the location of the line break. - -{\tt Ti} will automatically be invoked by {\bfx scor2prt} when it generates -parts from a score. - -Extra vertical space can be added between the title -block and the top system by appending to {\tt Tt} a one- or two-digit -number representing the space in \bs{\tt internote}s. This only works if -{\tt Tt} is the {\it final} title block element entered. - -The {\tt D} command can be used to enter arbitrary text as described in -section~\ref{dynamics}. - -Lyrics may be entered as described in section~\ref{lyrics}.\NEW{2.73} - -\subsubsection{Page numbering, centered header text} - - If you want pages to be numbered at the top left or right, place -the command {\tt P} anywhere within the \PMX code that represents the first -page to be numbered (usually the first or second page). -{\tt P} can be followed optionally by the starting -page number and/or by {\tt l} or {\tt r}, the latter overriding the default -locations of odds on the right and evens on the left. \NEW{2.0} -There is also a special option {\tt c} for {\bf c}entered header text. -It must be the {\it last} -option in the {\tt P} command. It will define text to be printed at the top of -every page {\it after the first}. If a blank follows {\tt c}, the default -header text will -be the instrument name entered with the command {\tt Ti} . If any non-blank -character except {\tt "} follows {\tt c}, the header text will start with that -character and end at the next blank. If {\tt "} follows {\tt c}, the -header text will be everything between that and the next {\tt "} (this -permits headers containing spaces). The {\tt P} command and its options -will be ignored when making parts from a score (since page numbering -will usually be different in the score than in the parts), but page -numbering (and centered headers) for parts can be still be initiated -independently, for example with {\tt \%!P2} or {\tt \%1P2r} (see -section~\ref{scor2prt}). - -\subsubsection{Overriding certain defaults, or -getting the most from \PMXX}\label{Acommands} - -Understanding this section is important if you want to get the most out -of \PMXX. In many -cases the switches described here represent subtle but significant -improvements that have come along since \PMX was initially developed. Rather -than changing the defaults, they are treated as optional in order not to -upset the layout of older scores. For example, virtually every new score I -create begins with at least {\tt Abple}. - -As you may have guessed, it is the command {\tt A} that can be used to -override a grab-bag of default settings. The available options affect a -wide range of \PMX features: sizes -and interpretation of accidentals, -dot positions, space before the first note of every bar, space between staves, -slur package selection, vertical positioning of Type K postscript -slurs, line-breaking Type-K slurs, curvature of Type-K slurs, -naming of parts, vertical positioning of rests in 2-voice staves\NEW{2.6}, -brackets for non-beamed xtuplets, and inputting so-called -{\it normal include} files. - -{\bf Size of Accidentals.} -{\tt b} makes all accidentals -{\bf b}ig, {\tt s} makes them all {\bf s}mall. By default, big ones are used -unless unaltered spacing doesn't provide enough space. Thus the default -behavior may cause a mixture of big and small accidentals, and in fact is not -recommended. - -{\bf Relative accidentals.}\label{ArDirective} -If transposing, then the {\bf r}elative accidental convention must be used, -indicated by {\tt r}. This changes the way you enter accidentals. With -relative accidentals, the note options {\tt s}, {\tt f}, {\tt n} take on -unconventional meanings, now respectively signaling that a note should be raised -a half step, lowered a half step, or left alone {\it relative to the pitch -it would have according to the key signature}. So for example, with {\tt Ar}, -in the key of B flat major the note command {\tt bs} would cause a B natural -to be printed. By contrast, the default is -the normal, absolute convention, where the indicated pitch alteration is -relative to what the pitch would be if there were no key signature. - -{\bf Vertical position of dots.} -If there are staves with two voices, {\tt d} causes dots in the -lower one to appear on or {\it below} center, in contrast with the default. - -{\bf Gap at start of bar.} -Use {\tt a} followed by a -decimal number to override the default setting for \bs{\tt afterruleskip}, -the space before the first note in a bar. The default in \PMX is -{\tt 1}\bs{\tt elemskip}, 20 percent smaller than \MusiXTeX{}'s. - -{\bf Space between staves within a system.} -If \PMXX's vertical spacing between staves within a system is not pleasing, use {\tt I} or -{\tt i} , followed by a decimal number, to apply a scale factor to -\bs{\tt interstaff} . {\tt I} -affects all pages, {\tt i} only the current one. Shrinking the space between -staves within each system will cause the space between systems to increase, and -conversely. These options have no effect if there is only one staff per system. - -{\bf Equal space between systems.} -\label{AeDirective}\MusiXTeX~normally draws a virtual box around each system -and inserts equal vertical space between boxes. \NEW{2.3} -When objects protrude above the top staff in a system or -below the bottom one, this can lead to unequal spacing between the top staff -line in one system and the next. If you prefer that the vertical spacing -between the staves of consecutive systems be constant for the whole page, -use the {\tt e} option of the {\tt A} command. One side benefit of {\tt Ae} -is that it will prevent systems from spilling over onto extra pages, -regardless of how many systems are put on the page. When using this option, -you may occasionally want to force more vertical space between certain systems. -There is a \TeX~macro -{\tt \bs spread} that can be inserted anywhere in the system before the -desired wider gap. It has one argument, the desired extra space in -{\tt\bs internote}s. - -{\bf Stop grouping systems at top in sparse pages.} -Another \NEW{2.4}\ command affecting vertical spacing is the {\tt v} -option of the {\tt A} command (for -{\bf v}ertical). \PMX normally spreads staves -vertically over a full page, unless the white space becomes excessive, -in which case it groups all staves near the top of the page. Entering -{\tt Av} will suppress this grouping near the top, and ensure that -systems will always be spread vertically regardless of how much white -space is left. It is a toggle; the second time it is issued, the -behavior reverts to the default. - -{\bf Add extra vertical space before and/or page eject (last resort)}\NEW{2.8} -As a last resort in getting the right spacing at the top or bottom of a page, -the option {\tt V} will insert a vertical skip of the specified number of -{\tt \bs Internote}s before and after the next page eject. It must be followed by -{\tt +} or {\tt -}, then a number, then another {\tt +} or {\tt -} and number. - -{\bf Make some staves smaller.} -The {\tt S} -option to the {\tt A} command\NEW{2.7} allows you to specify a -different size for selected staves and their notes compared to the -global value set in the setup data. It is followed by exactly {\tt noinst} -characters, one for each instrument, selected from -{\tt 0}, {\tt -}, {\tt s}, or {\tt t} for -normal, small, small, or tiny sizes respectively. - -{\bf Postscript slurs.} -The \label{ApDirective}\NEW{2.4} command {\tt Ap} activates Type K -{\bf p}ostscript slurs. To use this -you must have {\tt musixps.tex} somewhere that \TeX~can find it, and -{\tt psslurs.pro} somewhere that {\bfx dvips} can find it. -If these files happen to be missing from your \TeX~distribution, they -can be found -\href{http://www.icking-music-archive.org/software/musixtex/musixtex.zip} -{\underline{here}}. -Several suboptions affecting Type K -postscript slurs are described here and in the following paragraphs. First, -by default these slurs and ties will not have their vertical positioning tweaked -to avoid tangencies with staff lines. To activate this type of adjustment, -use one of the suboptions {\tt +s} or {\tt +t} for -slurs or ties respectively. -(For example, {\tt Ap+s}). Be -warned that this may alter the endpoint positions from what one would normally -expect. To deactivate the adjustment, use the same command but with {\tt -} . -Another suboption of {\tt Ap} affects line-breaking slurs. Normally a full tie -is drawn at the start of the second line. -However, the suboption {\tt Ap+h} causes the use of -{\it{\bfi h}alfties} for the second part, which are flattened at their -left-hand end, and require the -special font {\tt mxsk} provided with the Type K postscript slur distribution. -It may be cancelled with {\tt Ap-h} . - -The \NEW{2.5} suboption {\tt l} (e.g. {\tt Apl}~) activates some other tweaks -and tweaking capabilities for line-breaking Type K slurs and ties. It -automatically tweaks the -horizontal positions of the end point of the first segment and the start of the -second, uses a normal tie character for both segments of a tie, and enables -further tweaking of the horizontal and vertical positions of internal endpoints -on a case-by-case basis, using options in the initial slur or tie command (see -section~\ref{lbslurs}, and the end of the fourth system in the example file -{\tt barsant.pmx}). - -Another pair of \NEW{2.5}suboptions to {\tt Ap} affects the default curvature of -Type-K postscript slurs. {\tt Ap+c} and {\tt Ap-c} will respectively increase or -decrease the default curvature of all slurs to the next level in the sequence -{\tt f, n, h, H, HH} . (Here {\tt n} stands for {\bf n}ormal.) Several levels -may be traversed by repeating the suboption, e.g., {\tt Ap+c+c} increases the -default curvature by two levels. If you try to -go outside the allowable range, a warning will be issued, the curvature will be -set to -{\tt f} or {\tt HH} , and processing will continue. See section~\ref{slurs} for -further details. - -If \NEW{2.5} your score contains Type K slurs and if you use a program such as -{\bf dviselec} to extract single pages -from a {\tt .dvi} file, you should use the suboption {\tt h} (e.g. -{\tt Aph}~) . This will cause the header file {\tt psslurs.pro} to be written -into the postscript file at the top of of every page. - -{\bf Vertical rest positioning in keyboard scores.} -The\NEW{2.6} option {\tt AK} activates special rules for vertical positioning of rests in -two-voice staves. By way of background, without this option, rests in two-voice -staves have default positions based on a simple rule that is not -context-sensitive: those in the lower voice (the one before {\tt//}) are -4\bs{\tt internote}s below their single-voice default positions, and those in -the upper line are 2\bs{\tt internote}s above the single-voice default. In contrast, the -option {\tt AK} invokes a set of context-sensitive rules to set the default -position. The baseline rule is to align the rest in a horizontal line with the -next following note in the same bar. If there is no following note in the bar, -then it is aligned with the next prior note. If there are simulataneous rests -in both voices, the old rule is applied. When the {\tt AK} option is in force, -it only affects places where there are two voices in a staff. It may be toggled -on and off at the beginning of any input block, using just {\tt AK}. When the -option is in effect, any user-defined tweaks on the height of a rest will -supersede the option for that particular rest, i.e., the tweak will be applied -relative to the single-voice default position. When {\tt AK} is in effect, the -option {\tt L} in a rest command will cause the vertical position of that rest -to be based on the {\it preceding} note, rather than the following one as is -the default. - -{\bf Names of \PMX files for parts.} -The \label{ANDirective}option {\tt N} to the {\tt A} command allows you to specify -arbitrary names for the part files generated by -{\bfx scor2prt}. Follow {\tt AN} with the part number and the new file base name in double -quotes. Immediately follow this with any number of additional part numbers and -alternate file base names in quotes. When part files are generated, {\tt .pmx} will be -appended to the requested base name. - -{\bf Gapped bracket for nonbeamed xtuplets.} -Non-beamed \label{ATDirective}\NEW{2.5}xtuplets will normally be printed with -a bracket above or below, and -a number above or below that. If you would like this number instead to be -positioned within a gap in the bracket itself, enter {\tt AT} .You must have -{\tt tuplet.tex} available to your \TeX~processor. If missing, this file -can be found -\href{http://www.icking-music-archive.org/software/musixtex/musixtex.zip} -{\underline{here}}. - -{\bf ``Include'' file.} -\PMX commands \NEW{2.5}in an external file can be included at the start of any input -block by designating the file as a {\it normal include} file, using the -command {\tt AR}[{\it filename}] . See section~\ref{ARDirective} for details. - -{\bf Positioning printed pages.} -For \NEW{2.7} printing on {\bf l}etter or a{\bf 4} paper, the command {\tt Acl} or -{\tt Ac4} will set the margins -of the printed area so it will be properly centered with no further -adjustments needed when running {\bfx dvips}. - -\subsubsection{Extra hardspace, horizontal shifts} \label{hardspace} - - Despite the author's best intentions to relieve you of the chore -of adjusting {\it any} horizontal spacing by hand, there may be some occasions -where you -will want to do it. A command starting with {\tt X} initiates one of two -types of horizontal adjustment: A {\it shift} moves one or more -characters but does not affect any other spacing anywhere; a -{\it hardspace} inserts a fixed amount of space at a particular time and -affects the horizontal positions of everything in all staves in the system. -If the command includes {\tt S}, it is a {\bfi s}{\it ingle} shift and affects -only the next note or rest. If it includes a {\tt :} it either starts or -terminates a {\it group} shift. -All {\tt X} commands except group shift terminations -must include a decimal number for the size of the offset in notehead widths. -If the number is immediately followed by -{\tt p}, then the number represents points, otherwise, notehead widths. -If there is no such number but there is a {\tt :} the command -signals a group shift termination. -Group-shift commands must occur in -start/terminate pairs, and group shifts cannot extend across a bar line. - -An {\tt X} command containing neither {\tt S} nor {\tt :} is -automatically a hardspace. - -Because horizontal spacing in parts will usually differ from that in the -score, by default the hardspace command will {\it not} be copied into parts -by {\bfx scor2prt}; however the shift commands will be copied. -These behaviors can be overridden using the methods to be described in -section~\ref{scor2prt}, Alternatively, \NEW{1.42} to help keep \PMX score -files neat -and readable, the character {\tt B} can be used within the {\tt X} command -to signify that it applies to {\bf b}oth score and part, or {\tt P} for -{\bf p}art only. - -\subsubsection{Minimum spacing between notes in crowded systems} - - \PMX does some special, complex analysis to adjust horizontal spacing -in crowded systems. By default, the minimum space between consecutive -noteheads is 0.3 notehead widths. In very special situations you may want to -change 0.3 to some other fraction. To do so, enter {\tt W. }(decimal point is required) - followed by {\tt 1}-{\tt 9} to represent the number -of tenths of a notehead width to be used as the minimum spacing. Use of this option -is demonstrated in the example file {\tt barsant.pmx}. - -\subsubsection{Page size} - - The default page size is 740 by 524 pt (10.3 by 7.3 in). To change -the height or width, use the special commands {\tt h}[{\it n}][{\it u}] or -{\tt w}[{\it n}][{\it u}] at -the beginning of the first input block. Here {\it n} is a decimal number -for the new dimension and {\it u} defines the units; {\tt i} for inches, {\tt m} for -millimeters, and {\tt p} or nothing for points. This command can be used -together with {\tt \%\%} or {\tt \%!} -(see section~\ref{scor2prt}) to give the parts made by -{\bfx scor2prt} different page sizes than the parent score. - -\subsubsection{Line, page, and movement breaks} \label{movbrk} - - It is possible to force line, page, or movement breaks anywhere. -For a line break, just enter {\tt L}[{\it n}] at -the start of an input block (in the first voice only), and the {\it n}-th -system will start there. To start page {\it m} at line {\it n}, enter -{\tt L}[{\it n}]{\tt P}[{\it m}]. You can't force a page break without -first forcing a line break. - - To force a movement break, you must first force a line break as above, -then enter {\tt M}. If a page break also occurs here, the {\tt P} must precede -the {\tt M}. Options following {\tt M} are {\tt +}[{\it integer}] to insert -vertical space in \bs{\tt internote}s before the break, -{\tt i}[{\it decimal number}] to reset the first-line indentation as a fraction -of the line width, and {\tt c}\NEW{1.41} to {\bf c}ontinue bar numbering rather -than resetting the bar number to 0 (which is the default). \NEW{1.4}Also, to -change the {\bf n}umber of instruments, -enter {\tt n}[{\it integer}], then the number of each instrument in their new -order, then a clef-designating character for each staff of each instrument. -(An instrument's number is simply its position in the original sequence.) -There can never be more than the original number of instruments. In this -instance, \NEW{2.5}two-digit instrument numbers must be preceded with -{\tt :} (colon). If you want to start with some number of instruments and -later increase it, you'll need to insert -a dummy page at the beginning with the full set of instruments, then start the -second page with a movement break and decrease the number there. - -Another\NEW{1.4} option after {\tt M} is {\tt r+} or {\tt r-}, which either -forces or -suppresses {\bf r}eprinting the instrument names. The default is to print -them if the number of instruments changes, but otherwise not. - - Immediately after a movement break, any desired meter changes, -key changes, or text can be entered in the normal way. - -\subsubsection{Blank gaps} \label{Gaps} - -A blank gaps can be insterted in the middle or at the end of almost any system. -The middle gap might be used to create a very short coda at the end of a -system. The end gap leaves the system shorter than the others. Both types -create a space that could be used for text comments. - -Both types of gapped systems are initiated by an option to an {\tt L} command at -the beginning of the system in question. The syntax is -{\tt L}[{\it n}]{\tt S}[{\it x}] where [{\it n}] is the system number, -[{\it x}] is the fraction of the width of the system up to the beginning of the -gap, and no brackets are to be entered. This must be soon followed by a normal -{\tt L}[{\it n+1}] command to start the next line. With no intervening {\tt LC} -command (see below), the system entered between the two {\tt L}'s will simply -start at the left margin and be shortened to a length of {\it x} times the -default. - -To create a middle gap, begin as above with {\tt L}[{\it n}]{\tt S}[{\it x}] -followed by the material to the left of the gap. Then enter {\tt LC}[{\it y}] -to insert a gap followed by another segment of music extending to the end of -the system. Here {\it y} is the fraction of the total system length occupied -by the second segment (so the fraction of the width occupied by the gap will -be 1-{\it x}-{\it y} ). The second segment must soon be followed by -{\tt L}[{\it n+1}] to start the next normal line. Obviously {\it x}+{\it y} -must be less than 1. - -Normally a bar number will appear at the beginning of the second segment after -a gap. To suppress this, use {\tt LC}[{\it y}]{\tt n} to start the second -segment. - -If you want to insert text into the gap, one way is to use the text-dynamics -command after the last note before the gap: -{\tt D"}{\it text}{\tt "}[{\tt +},{\tt -}][{\it n}][{\tt +},{\tt -}][{\it m}] , where -{\it n} and {\it m} are the vertical and horizontal offsets from default -position. Some trial and error will always be needed here. - -In a system with a gap, the default barline at the end of one or two segments -of music will be a single bar unless the following line starts a new movement -in which case it will be a double bar. If you want to change either of these -segment-ending barline symbols to something else, then after the last note in -the lowest voice before the gap, you may use the normal ``repeat'' command, -e.g. {\tt RD} for a thin-thick double bar, or with other options for different -symbols as explained in \ref{Repeats}. If you use this option, it must be -immediately followed by a space and {\tt /} to end the input block. So in -particular if you have entered some text with the {\tt D} command, that must -come before the {\tt R} command. - -Here is an example \PMX file incorporating the different types of gaps, -followed by the output it produces: - -%\pagebreak -\begin{verbatim} -1 1 2 4 2 4 0 -1 -1 9 20 .1 -Harp -t -.\ -h7.4i -Abe -h -Movement 1 -f44 g a g f g a g / -L2S.4 -f44 g a g a g D"\bigfont Hello"+8+8 / -LC.4 -f44 g a g a g / -L3 -f44 g a g f g a g / -L4Mi.1+11 -h -Movement 2 -f44 g a g f g a g / -f44 g a g oC+1+6 f g a g / -L6S.4 -f44 g a g a g - D"\bigfont D.C. al"+10+6 D"\bigfont Coda"+4+6 RD / -LC.4n -f44 oC+2 D"\bigfont Coda"+18-8 g a g a g / -L7Mi.1+11 -h -Movement 3 -f44 g a g f g a g / -f44 g a g f g a g / -L9S.8 -f44 g a g a g D"\BIgfont The end"+6+11 / -\end{verbatim} - -\includegraphics[scale=.7]{gapxmpl.eps} - -\subsubsection{Fractional bars} - - Often if a piece starts with a pickup, the last bar may not be -complete. In such cases, it is usually possible to -place the last bar in an input block by itself, headed by a {\it blind} meter -change. -For example, if the meter had been 4/4 and there was a quarter note -pickup, leaving 3 beats in the last bar, the last bar might be coded -{\tt m3400 cd24 /}. - -\subsubsection{Stem direction of bass notes} - - By default \PMX makes stems go up for middle-line D's in bass -clef, but down for notes on the middle line of all other clefs. If -you want middle-line bass-clef notes also to have downward stems by default, -enter a {\tt B} near the beginning of the file. - -\subsection{Putting {\TeX} Commands into the {\PMX}File } \label{LitTeX} - - There are five ways to enter \TeX ~commands into the {\tt .pmx} file. -Four of -them are {\it in-line}, where the commands are entered directly; the fifth -is by way of an external file. - - The four categories of in-line \TeX~strings -differ mainly in where they will appear in the {\tt .tex} file. -(A \TeX\ {\it string} consists of a starting character, a sequence of -\TeX~commands, and a terminal character). -In the {\tt .pmx} file, -only type 4 \TeX~strings may wrap over line breaks. All in-line \TeX\ must -adhere to the 128-character limit per line, but each line can have more than -one \TeX\ command. -Type 1 begins with a single \bs\ and will appear in the {\tt .tex} file -right before the \TeX -~command for the next note or rest in the {\tt .pmx} file. Multiple -type 1 strings associated with the same note or rest are allowed, although -the total length may not exceed 128 characters (so there is generally no -reason not to combine all \TeX\ commands for a single note into a single -type 1 string). - -A type 2 string begins with \bs\bs\ -and will appear near the top of the {\tt .tex} file, right before -\bs{\tt startmuflex}, regardless of where it appears in the {\tt .pmx} file. -A type 3 string starts with \bs\bs\bs\ and will appear right before the -{\tt\bs xbar} -or {\tt \bs alaligne} at the beginning of the current input block, before the -first barline of the block. While individual type 2 and 3 strings may not wrap -over line breaks in the {\tt .pmx} file, strings of like type on consecutive -lines will appear together in the {\tt .tex} file. -Types 1, 2, and 3 strings must end with \bs\ (backslash-space). -This means that they may not contain -the \TeX\ macro \bs\ (backslash-space). Finally, each type 2 or 3 string -should be isolated on a line of its own, and should be started in column 1. - -Type four permits multiple -lines of arbitrary text to be entered at the top of the {\tt .pmx} file; -they will be transferred verbatim to the top of the {\tt .tex} file. Type -four is initiated with {\tt ---} alone as the top line of the {\tt .pmx} -file. Then follows any text on any number of lines, until the next line -starting with {\tt ---} terminates the block to be transferred. - -The only other distinction among the types of in-line \TeX\ strings arises when -{\bfx scor2prt} is used to make separate parts -(see section~\ref{scor2prt}): -types 2-4 will be copied into all parts, while type 1 only goes into its -original part. - -If you should want to enter a type-1 (note-based) string longer than -128 characters, you could use a series of type-2 or -3 strings to define -a \TeX\ macro containing the desired commands. - - \PMX provides one further option for entering an unlimited set of -\TeX ~commands -just before \bs{\tt startmuflex}, and before any Type 2 in-line \TeX ~strings. -Simply put the commands into a text file named [{\it basename}]{\tt .mod} -in the texinput directory. It will then automatically be -entered with an \bs{\tt input} command. This feature is retained mainly for -backward compatibility; it has been essentially replaced by the various options -for in-line \TeX ~strings. - -\subsection{Figured Bass} - - Figure commands are entered {\it after} their associated note commands. -They only work in the first (lowest) voice, and in any one other voice\NEW{2.6}. -Enter the characters as -they would appear from top to bottom, and as you might pronounce them, -e.g., {\tt 64} or {\tt 73}. Flats here are {\tt -} (minus), sharps are -{\tt \#}, and -naturals {\tt n}, {\it before} the number (if there is a number) (notice -the characters are different here than in notes). -So for example {\it sharp third} is {\tt \#3}, just a sharp is {\tt \#}, {\it six (over) -flat five} is {\tt 6-5}, and {\it sharp six (over) 4} is {\tt \#64}. -In addition to the symbols just described, the following special symbols -are available: {\specfig 2}, {\specfig 4}, {\specfig 5}, {\specfig 6}, {\specfig 9} . -\NEW{2.6}To use them, you must have the font -\href{http://www.icking-music-archive.org/software/musixtex/add-ons/figbas.zip}{\underline{\tt cmrj}} -in your \TeX~system, and then just put an {\tt s} after the number. - -The program -positions all the figures for each system below the lowest staff of that -system, with their tops aligned, and just low enough to clear the -lowest beam, notehead, or stem that could interfere. If you would like to -change the vertical alignment for the remainder of the staff starting at a -figure after the first, \NEW{2.71}append {\tt v}[{\it n}], where {\it n} is an -integer representing the vertical shift in \bs{\tt internote}s, which may -have a minus sign. - -If you want a figure to -align horizontally in the second tier, insert the placeholder figure -{\tt\_} (underscore) before the one you want lowered. This is equivalent to -lowering the figure stack by 4 \bs{\tt internote}s. -\NEW{2.6}If you want to {\it raise} the entire stack by an integral number of -\bs{\tt internote}s, append {\tt +} and the number. This can be combined with -the placeholder figure {\tt\_} to provide full control over the vertical -position of the stack. - - Sometimes you may need to enter a figure when there's no bass -note sounding. To do this, just after the most recent bass note enter -{\tt x}, followed by a two single digits (the first is a repeat count; the -second a time value, i.e., {\tt 2,4,8,1,} or {\tt 3}), immediately followed by a figure symbol -as defined in the previous paragraph. This will -offset the figure from the associated note by the specified time -value. For example, if the lowest voice contained {\tt c03 x3465}, there -would be a whole-note c, and 3 quarter notes later a figure 65 below -the staff. - - There is also a {\it continuation} command, a zero followed immediately -by another \NEW{2.4} -unsigned number. This produces a horizontal line under the bass note, starting -just to the left and extending to the right by the given number of -\bs{\tt noteskip}s. The height and length of the line are set by the current -note's level and \bs{\tt noteskip} respectively. These \NEW{2.4} can be mixed in with -other figures to produce vertical stacks. If another figure follows in the -same command, use {\tt:} as a separator. -If \bs{\tt noteskip} changes or a note drops -below the starting level before the line ends, it is possible to trick -\PMX by entering separate {\tt 0}[{\it n}] commands under each consecutive note; \PMX -will automagically join them together at the same height -(thanks to Werner Icking for this idea). - - If there are figured bass commands in a {\tt .pmx} file but -you want them to be ignored, then enter the command {\tt F} at the -beginning of the body of the file. This feature would most often be -used in the form {\tt \%1F} -(see section~\ref{scor2prt}), which makes a -separate bass part with no figures. - - Figured bass commands will not be altered in any way under -transposition. There is no universal set of interpretations of figured bass -symbols, so no automatic transposition is possible. - -\subsection{Macros} - - A \PMX macro is a single command that stands literally for any -any string of characters that may occur in the input file (sorry, no -variables). It may be useful if you need to repeat the same string later. -There is no practical length limit. - -To -{\bfi r}{\it ecord} a macro, type {\tt MR}{\it n} where {\it n} is between -1 and 20. -Everything you then type will be processed normally as well as stored, -until you enter the command {\tt M}. The next time you need to enter the same -string, just type {\tt MP}{\it n} to {\bf p}lay back the macro. - -To just {\bf s}{\it ave} a macro without having \PMX process it as you -enter it, start it with {\tt MS}{\it n}. - -Macros can be redefined at will. \PMX will print a warning whenever this -occurs. - -If you use macros and want to make separate parts, some care is necessary. -{\bfx Scor2prt} will only transfer {\tt MR} macros into the part where they -originated, but will transfer {\tt MS} macros into all parts. - -\subsection{Include Files}\NEW{2.5}\label{ARDirective} -{\it Include} files are separate text files - containing arbitrary (but contextually appropriate) sequences of - valid \PMX commands. By using the techniques described in this section, - the commands in an include file can be inserted at any desired - place in the virtual \PMX file that the code processes. - They will always be syntax-checked. - -There are two types of include files, {\it global} and - {\it normal}. There can only be one global include file and it must be named - {\tt pmx.mod}. If activated, its contents will always be inserted right after - the setup data. - To activate it, two conditions must be met: (1) an environment variable - {\tt PMXMODDIR} must be defined to contain a valid path, ending with {\tt /} or - \bs~; (2) a file named {\tt pmx.mod} must be present in the directory so defined. - If {\tt PMXMODDIR} is not set, or if it is defined but there is no file - {\tt pmx.mod}, then processing will proceed as usual. - - Normal include files - can have any name and do not require any environment variable to be set. - They are activated by the PMX command {\tt AR[{\it filename}]} , placed in the - .pmx file - at the location where the included lines are to go. It will generally - only make sense to place this command at the beginning of an input block. - \PMX will first check - for the file as pointed to by [{\it filename}], which may contain a complete - or partial pathname preceding the actual file name. If [{\it filename}] is not - found, then \PMX will look for {\tt \%PMXMODDIR[{\it filename}]}, i.e., it will check - the directory defined by {\tt PMXMODDIR} if {\tt PMXMODDIR} has been set. However, - it is not necessary to define {\tt PMXMODDIR} to use a - normal include file. There may be any number of normal include files. The same - file may be used multiple times. Include files cannot contain references to - other include files via the {\tt AR} command; if you try to do that - your computer will - explode. The following information regarding all activated include - files will be printed both to the screen and to the .pml file: notice of - opening or closing, echo of the contents, error messages pertaining to syntax - errors in the included \PMX commands, and an error message if \PMX cannot find - a referenced normal include file. In the latter two cases \PMX will stop. - -\subsection{Batch Processing} - -Due \NEW{2.0} to the number of different programs that must be run in sequence -to produce a printed sheet of music with the \MusiXTeX{} system, most users -prefer to use a batch script to control the process. Since batch commands are -platform-dependent we will not provide examples here, but will mention -several \PMX features that can facilitate batch processing. - -First, whenever {\bfx pmxab} terminates due to a syntax -error, the exit code is set to 1. There are various ways of detecting this -with batch commands, then acting accordingly. -\NEW{1.4} Second, {\bfx pmxab} always writes a file -{\tt pmxaerr.dat} containing a single number: 0 if it exited normally, -otherwise the line number in the {\tt .pmx} file where the syntax -error was. With advanced batch programming techniques, this file can be -opened and read, and if there was an input error, a text editor can be -opened and the input point placed on the line with the error. - -There have been several requests to allow \PMX to keep running even -after it detects an input error. -This has not been done because in many cases any error messages after -the first one would be meaningless, or worse, uncorrected errors could -cause crashes. In any event, all the output from {\bfx pmxab} will be -stored in the log file [{\it jobname}]{\tt.pml}. - -%\setcounter{secnumdepth}1 -\section{Making Parts from a Score} \label{scor2prt} - - Separate parts can be made by running {\bfx scor2prt} and entering the -basename when prompted. The program will create {\tt noinst} separate -{\tt .pmx} files, one for each instrument. By default the files will be named -[{\it basename}][{\it n}]{\tt .pmx}, where [{\it n}] -is the sequential position of the instrument. If desired, part file names can -be customized with {\tt AN} as described in section~\ref{ANDirective}. - - In this section we describe how to control the layout of the -parts separately from that of the score, but by using commands -that are placed in the {\tt .pmx} file for the score. This eliminates the -need for ever editing the {\tt .pmx} files for the parts separately. You -can make all corrections in the file for the score, and then re-run -{\bfx scor2prt}. - - Normally all lines starting with {\tt \%} in the parent {\tt .pmx} are -transferred into all the parts. However, if a line has {\tt \%\%} in -columns 1-2, both it {\it and the following line} will be ignored when -making parts. If the ignored line contains only {\tt h}~, {\tt l}~, - {\tt Tc}~, {\tt Ti}~, or {\tt Tc} to start, -then one additional line will be ignored. - - Conversely, if a line begins with {\tt \%!} then it will be ignored as -usual in creating the parent {\tt .tex} file, but after stripping the first -2 characters the rest will be put in the {\tt .pmx} file for {\it all} the -parts. - -To enter a line into the score file that is only to be transferred to one part, -begin the line with \NEW{2.6} {\tt\%}{\it h}, where {\it h} is an {\it extended -hexadecimal digit} representing the part number from 1 to 24 -({\tt1,2,...,9,a,b,c,...,n,o}). The first -two characters will then be stripped and the rest transferred to the desired part. -For example, to force a line break to system 15 and a page -break to page 2 in part 11 only, enter {\tt \%bL15P2}. The use of the extended hex -digits {\tt a-o} creates a potential incompatibility with prior versions. -To minimize this, the -character after ``{\tt\%}" will {\it only} be interpreted as a part number if -it represents a number less than or equal to {\tt noinst}; otherwise the entire -line will be treated as an ordinary comment and transferred to all parts as -a comment. - - Although only permitted in the first voice in the score, the -following commands with all their options will automatically be copied -into all parts (unless the preceding line has {\tt \%\%}): - {\tt m, V, R, A, h, w, K}. Literal \TeX\ strings of types 2-4 will also be -copied into all parts, while type 1 will only go into its original part. - -User-defined hardspaces ({\tt X} without {\tt :}) are handled specially. By -default they are not copied into parts. There are two ways to circumvent this. -One way to insert hardspace {\it x} into part -{\it n} is to place in the score, on a line of its own, the command -{\tt\%}[{\it n}]{\tt X}[{\it x}] . The \NEW{1.42} other way is with options -in the {\tt X} command in the score: {\tt B} causes the hardspace to be -used in {\bf b}oth score and parts; {\tt P} puts it into the {\bf p}art but not -the score. - -Instrument-wise \NEW{2.7} transposition commands (see section \ref{transpose}) -are also handled specially. -When {\bfx scor2prt} encounters {\tt Ki}[{\it n}] (for instrument {\it n}) in -the score, it transfers the transposition information (transposition amount and -key signature) for that instrument into -the corresponding part, replacing {\tt Ki} by {\tt K} and keeping only the -information for instrument {\tt n}. - -Lateral shifts ({\tt X}[$\dots$]{\tt :}) will be handled normally, -staying with their original voice. - - By default the total number of systems in each part will be the -same as in the score. If you want to override this, there is a command -{\tt S}[{\it n}] (where {\it n} is the desired number of systems), which -can only appear at -the beginning of the first input block. This can be used after {\tt \%!} -to affect all the parts, or after {\tt \%}[{\it h}] to affect just part {\it h}. - {\bfx Scor2prt} will also -compute how many pages it thinks each part should have, and enter that -in the startup data for that part. If you wish to override that, then -in the {\tt .pmx} file for the score, insert for example {\tt \%3S14P2} to -force the third part to have 14 systems and 2 pages (you cannot override the -number of pages without first overriding the number of systems). - - A \NEW{2.0} musicsize of 20 is the default in all parts. This may be -overridden with the option {\tt m} in the command {\tt S}; e.g., -{\tt \%2S15m16} . - - As already noted, a {\tt P} command for page numbering in the parent -file is ignored when making parts. To initiate page numbering in the -parts, use for example {\tt \%!P} anywhere within the \PMX code representing -the first page of the parts (from \TeX 's standpoint the command must occur -between the beginning and end of the page on which the numbering is to begin). -It \NEW{2.0} will often be useful in this case to use the option {\tt c} , -which by default causes the instrument name to be centered in small type at -the top of every page after the first. - -Note the distinctions among the various usages of {\tt P}: as an option with -{\tt S}, it sets the total number of pages in a part; as an option with -{\tt L}, it forces a page break; and as a command on its own, it controls page -numbering and centered headings. - -MIDI \NEW{2.2} commands, i.e., those starting with {\tt I}, will never be -copied into parts, unless they are in a special comment line as just described. - - One function of {\bfx scor2prt} is to condense consecutive bars of rest -into a single group of special printed characters with a number above it. -The command {\tt rm} defines such a {\bf m}ulti-bar {\bf r}est as described -in section~\ref{MultibarRest}. -{\bfx Scor2prt} will automatically insert {\tt rm} commands into the -{\tt .pmx} files -for the parts where appropriate. However, for this feature to work, -the {\it first} full-bar rest in the sequence {\it must} have its duration -explicitly defined in the parent {\tt .pmx} file, either with a digit or -with {\tt p}. I.e., the feature will not work if the first rest in the -sequence inherits its duration from the previous note. - -Using the special \PMX commands listed in this section, -augmented where needed with literal \TeX ~commands, it is possible to store -{\it all} the information for both the score and the parts in a single -{\tt .pmx} file. This greatly simplifies the editing process, since -both the score and the part can be corrected at once, and parts need not be -re-edited each time they are regenerated from the score. - -\section{Making MIDI Files}\label{MIDI} - -\PMX has an elementary capability to create MIDI files. It is intended mainly -to aid in editing scores, so it does not have advanced facilities one would -want for making musically satisfying sound files. - -As \NEW{2.6} of version 2.6, \PMX can only generate MIDI files for scores with -15 or fewer voices. - -Entering the command {\tt I} before any notes have been entered -will cause a MIDI file [{\it jobname}]{\tt.mid} to be -generated in the current directory. Options may follow, without spaces. They -are defined in the following paragraphs. Multiple -options can be combined in one {\tt I} command. -{\tt I} commands can appear later in the file as well, but only at the start -of an input block. Sometimes the order of the -options matters, determining for example whether or not a user-defined pause -is included inside a macro block. - -{\tt t}{\it x} sets the tempo to {\it x} quarter notes per minute. -Default is 96. You can change tempos as often as you like, but only at the -start of an input block (as with all MIDI commands). - -{\tt i}{\it i1i2...in} assigns MIDI instruments {\it i1,i2,...,in} to the -respective \PMX instruments. The default is harpsichord, of course. If -you use this option, you must specify {\it all} instruments. -Each {\it in} is either -a 2-letter abbreviation or an integer between 1 and 255. Acceptable -abbreviations are listed below. Numbers and pairs of letters may be mixed, -but consecutive pairs of numbers must be separated by {\tt :} (colon) . -This option can only be exercised once per file. -Also, the number of instruments cannot change during a piece. - -The \NEW{2.7} number of arguments following suboption {\tt i}, as well as the next -three described suboptions, must in fact equal the number of {\it instruments}. Before -version 2.7, it was the number of {\it staves} (despite the incorrect -description in the manual!) These numbers may differ and this creates a -backward incompatibility. Hoping this won't cause too much distress, -I've enhanced the real-time error messages. - -{\tt v}{\it i1}:{\it i2}:{\it...}:{\it in} assigns MIDI \NEW{2.3} velocities -to each instrument. The colons are required. Values may range from 1 to 127. -The default is 127. - -{\tt b}{\it i1}:{\it i2}:{\it...}:{\it in} assigns MIDI \NEW{2.3} balances to -each instrument. The colons are required. Values may range from 1 to 128. -The default value is 64, which represents the center. Smaller numbers favor -the left stereo channel; larger ones the right. - -{\tt T} allows transposing any instrument by a selected number of steps \NEW{2.7} - ({\tt\bs internote}s). -It must be followed by exactly {\tt noinst} signed integers representing the -amount of transposition for each instrument in order. In practice it is useful -in two situations (1) To transpose a MIDI output up or down by one octave -(7 {\tt\bs internote}s); and (2) when a transposing instrument is printed -in the transposed key in the score after having issued {\tt Ki}, to undo -the transposition in the MIDI. - -{\tt M} initiates a macro operation. This is used for repeats, da capo's, etc. -Macros must have ID numbers between 1 and 20. Operations are start record -macro {\it i}: {\tt MR}{\it i} ; end recording: {\tt M} ; and playback (insert) -macro {\it i}: {\tt MP}{\it i} . Only one macro can be active at a time, -recording or playing but not both. If you try nesting or overlapping macros, -your computer will become psychotic. - -{\tt p}{\it x} inserts a pause of {\it x} quarter notes. Decimals are -allowed, but will be rounded to the nearest sixteenth note. - -{\tt g}{\it i} sets the MIDI gap to {\it i} MIDI clock tics. This is a silence -inserted at the end of every note, while decreasing the sounding duration -by the same amount. The default is 10, which is 2/3 of a 64th note. - - The MIDI module does not recognize graces, ornaments, repeats, voltas, or -segnos. The only ties that are recognized are those using {\tt s} or {\tt (} -alone, with no explicit ID number. Key signatures, -time signatures (meter) and instrument names will be written into the MIDI file, -the latter as track names. This will have no effect whatsoever on audible -output but will affect on-screen appearance of some MIDI file players -and editors. Location of the \PMX key-change and meter-change commands -relative to MIDI macro delimiters in the source will affect (in the obvious -way) how these data are passed to such programs. - -The MIDI file generator does not yet support changing the number of -instruments in midstream. Doing so will cause unpredictable results. - - The instruments are a subset of ``The General MIDI Instrument -Specification." Of course how they sound depends on your hardware and software. -Instruments not listed below can still be used but must be specified by number. -The numbers listed here are from the 1-128 range; when passed to the MIDI file -they are reduced by one. - -%\def\toc#1#2{\hbox to 3.1in{{#2}\leaderfill{#1}}} -\def\tentry#1#2#3{\hbox to 2in{ -\hbox to .24in{\tt #1\hfill}\hbox to 1.7in{#2 (#3)\hfill}\hss}} - -\null -\hbox to 6.5in{\vbox to 1.7in{ -\tentry{pi}{Acoustic Grand Piano}{1} -\tentry{rh}{Rhodes Piano}{5} -\tentry{ha}{Harpsichord}{7} -\tentry{ct}{Clavinet}{8} -\tentry{ma}{Marimba}{13} -\tentry{or}{Church Organ}{20} -\tentry{gu}{Acoustic Nylon Guitar}{25} -\tentry{ab}{Acoustic Bass}{33} -\tentry{vl}{Violin}{41} -}\hss\vbox to 1.7in{ -\tentry{va}{Viola}{42} -\tentry{vc}{Cello}{43} -\tentry{cb}{Contrabass}{44} -\tentry{vo}{Synth Voice}{55} -\tentry{tr}{Trumpet}{57} -\tentry{tb}{Trombone}{58} -\tentry{tu}{Tuba}{59} -\tentry{fr}{French Horn}{61} -\tentry{so}{Soprano Sax}{65} -}\hss\vbox to 1.7in{ -\tentry{al}{Alto Sax}{66} -\tentry{te}{Tenor Sax}{67} -\tentry{bs}{Baritone Sax}{68} -\tentry{ob}{Oboe}{69} -\tentry{ba}{Bassoon}{71} -\tentry{cl}{Clarinet}{72} -\tentry{fl}{Flute}{74} -\tentry{re}{Recorder}{75} -}} - -\section{Limits} - -For simplicity in writing the program, \PMX has numerous variables with -fixed dimensions. In most cases there are no checks against these limits -(hey, I've got more important things to program), so -occasionally there may be hangups due to exceeding a dimension. -Any of these can potentially be increased by making a request via the -mailing list. However, before making such a -request, try working around the problem by -breaking the input into smaller blocks. - -\subsection{Limits on quantities that a user can control} - -(The user can control the {\it number} of these items, but cannot control -the {\it limit on the maximum number} of them.) - -128 characters per input line. - -24 \NEW{2.6} staves. - -2 voices per staff. - -24 \NEW{2.6} voices per system. - -125 systems. - -600 bars. - -40 forced line breaks. - -10 forced page breaks. - -18 key changes. - -75 \NEW{2.78} pages. - -600 \NEW{2.6} notes per input block. - -15 bars per input block. - -101 slurs per input block. - -74 figures (figured bass) per input block. - -37 grace note groups per input block. - -74 notes in grace note groups per input block. - -52 literal \TeX\ strings per input block. - -6 voltas per input block. - -24 \NEW{2.6} trills per input block. - -62 chordal notes (non-spacing) per input block. - -8 beams per voice per bar. - -40 \NEW{2.5}forced beams per voice per input block. - -10 clef changes per voice per input block. - -24 notes per beam. - -24 notes per xtuplet. - -41 text-dynamic strings per input block.\NEW{2.5} - -9600 \NEW{2.78} lines in input file - -\subsection{Limits not under immediate user control} - -% Need all the spaces because this damn format insists on left-justifying -% first line of *first* paragraph in a section.. -% -\ \ \ \ \ \kern6pt 131072 \NEW{2.78} bytes in the entire input file - -20 \bs{\tt notes} groups per bar. - -20 inserted standard anti-collision spaces (not xtuplet or end-of-bar) per bar. - -20 inserted anti-collision spaces within xtuplets per bar. - -19 inserted anti-collision end-of-bar hardspaces per system. - -83 inserted anti-collision end-of-bar hardspaces. - -400 inserted standard anti-collision spaces per system. - -100 inserted anti-collision spaces within xtuplets per system. - -1000 inserted standard anti-collision spaces. - -200 inserted anti-collision spaces within xtuplets. - -24576 \NEW{2.2} bytes of MIDI output data per voice. - -\section{Closing Notes} - -\subsection{About the Example Files} - -{\tt most.pmx} contains examples of most of the \PMX commands, and a few -programming tricks, including examples in the last line of beam groups whose -notes vary widely in pitch. The printed -output displays the \PMX commands near to the resulting typeset characters. -It is more -useful to look at the printed output rather than the source file, since the -file is littered with in-line \TeX ~needed to output the text strings -representing the \PMX commands. -{\bfx WARNING:} Do not try to play this music; it could be hazardous. - -{\tt barsant.pmx} contains the first movement of a recorder sonata by the -Italian Francesco Barsanti (1690-1772). It demonstrates many of \PMXX 's -strong points in a ``battlefield'' situation: figured -bass, complex beaming patterns, xtuplets, and -automatically adjusted horizontal and vertical spacing in crowded scores. -In fact, -this single-page score pushes the limits of vertical and horizontal crowding. -To get the final result, it makes subtle adjustments using various available options: -{\tt Ae} for equal space between systems, {\tt AI1.1} to increase the vertical -space between staves in a system, {\tt Apl} to activate postscript slurs and -special treatment of line-breaking slurs/ties (note slur at end of fourth -system), and {\tt W.5} to increase minimum space between noteheads so the 64th -notes don't touch each other. This is also a -good score to try making parts with {\bfx scor2prt}. A special command -{\tt \%2S9} is used to increase the number of systems in the recorder part. - -{\tt mwalmnd.pmx} is an Allemand for harpsichord by the German -Matthias Weckmann -(1616-1674). It uses many techniques peculiar to keyboard scores, most notably -two voices per staff. - -{\tt prad5.pmx} {\tt netsoos.pmx} are examples of how to enter lyrics purely in \PMX. -They include several inline \TeX\ commands to enhance the layout. - -{\tt staffcrossall.pmx}\NEW{2.74} contains examples of staff-crossing chords. Some are -single-stemmed, some are beamed non-xtuplets, and finally beamed xtuplets. - -{\tt dyntest.pmx} contains examples showing the default vertical positions of dynamic marks. - -\subsection{A Benign Bug} - - When \TeX 'ing the output of \PMX you will usually get an {\tt Underfull -\bs vbox} message at the end of each page. This is due to my using -\bs{\tt eject} at the end of every page, which automatically spaces the -systems vertically without having to fiddle with \bs{\tt staffbotmarg}. As far -as I know, the -warning is benign, and may be ignored. - -\subsection{Where to Get Help} \label{where} - -The main home of \PMX on the internet is the software section of the -\href{http://icking-music-archive.org}{\underline{Werner Icking Music Archive}}. This -site also links to a mailing list devoted to \MusiXTeX\ and related programs including -\PMX. The denizens of this list are always willing to answer questions about any -aspect of the software. New users are strongly advised to take advantage of this -resource. - -\subsection{Acknowledgments} - - To Daniel Taupin, Ross Mitchell, and Andreas Egler for creating -\MusiXTeX{}; to Olivier Clary for suggesting a crucial modification in -the note-entry scheme; -to my colleague John DiPol (a non-musician!) for the idea of using binary masks -to define beam groupings; -to Joel Hunsberger for unraveling some deep \MusiXTeX~tangles; -to Dirk Laurie -for making \PMX accessible to vocal music by creating {\tt\bs pmxlyr} -and {\bfx M-Tx}; -to Stanislav Kneifl and Hiroaki Morimoto for developing the postscript -slur packages; to -Christian Mondrup, Andre Van Ryckeghem, Christof Biebricher, Joerg Anders, -Olivier Vogel, and other denizens of the TeX-music mailing list -for first-class bug-finding and support in responding to queries about -\PMX on the mailing list; to Luigi Cataldi, Olivier Vogel, Christof -Biebricher, and Cornelius Noack for producing translated and enhanced -\PMX tutorials; and to Bob Tennent for maintaining the software section -of the web site. -Finally, I want to mention again the invaluable contributions by -Werner Icking: his exhaustive beta testing, -uncanny bug-finding, continuing encouragement, and promotion -of \PMX right up until his sudden and premature departure from this -earthly realm. - -\end{document} diff --git a/support/pmx/doc/pmx298.pdf b/support/pmx/doc/pmx298.pdf new file mode 100644 index 0000000000..ee89215541 Binary files /dev/null and b/support/pmx/doc/pmx298.pdf differ diff --git a/support/pmx/doc/pmx298.tex b/support/pmx/doc/pmx298.tex new file mode 100644 index 0000000000..82e8d24a4e --- /dev/null +++ b/support/pmx/doc/pmx298.tex @@ -0,0 +1,2949 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% pmx298.tex 2/4/2022 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\documentclass[11pt]{article} +% +\let\reft\ref + \usepackage[dvips,colorlinks=true,linkcolor=blue]{hyperref} + \usepackage[dvips]{graphicx} + \usepackage{multicol} +% +\def\MusiXTeX{MusiX\TeX} +\def\bs{{\tt\char'134}} +\newcommand\PMXX{\textbf{PMX}} +\newcommand\PMX{\PMXX~} +\newcommand\IMA{\href{http://Icking-Music-Archive.org}{\underline{Icking Music Archive}}} +% +% Use \bfx for program names only. Use \bf for single embedded letters +% +\font\bfx=cmb10 scaled\magstephalf +\font\bfi=cmbxti10 scaled\magstephalf +\font\specfig=cmrj +\setcounter{secnumdepth}3 +\setcounter{tocdepth}3 +\def\Bslash{\tt\char'134} +\def\|{{\tt\char'174}} +\def\LBR{{\tt\char'173}} +\def\RBR{{\tt\char'175}} +\textheight= 9.5in \voffset-.8in% +\textwidth= 6.5in \hoffset-1.0in +\def\newfrom{2.59} % changed every now and then +\def\NEW#1{\ifdim#1 pt<\newfrom pt\else% +\marginpar{\fbox{#1}}\fi} + +\hoffset-54pt + +%\let\rulet\rule\def\rule#1#2{\if#1<#2\rulet{.05in}{#2}\else\rulet{#1}{.05in}\fi} + +\begin{document} + +\raggedright +\parindent24pt + +\title{ + \Huge\bf + PMX~--~a Preprocessor for \MusiXTeX{}\\ + \null\vskip-15pt + \Large\sl + Version 2.98~--~4 February 2022\\ + \author{\Large\rm Don \sc Simons\\ + \large\sl + Dr. Don's PC and Harpsichord Emporium\\ + \normalsize\sl + Redondo Beach, California, USA.\\ +% To make the bitmapped eps: (1) TeX file with cmtt scaled 2500, +% (2) dvips -> gsview -> pdf. +% (3) gwin32 -sDEVICE=pnggray -sOutputFile=file.png -r100 -dEPSCrop -dbatch -q +% -dNOPAUSE -dTextAlphaBits=4 file.eps -c quit +% (4) file.png -> GIMP (crop out blank space) -> save as .eps. +% + \includegraphics[scale=0.4]{file600.eps}}} + +\date{} + +\maketitle + +\section*{Preface} +Compared to version 2.94, \PMX version 2.98 does not have any new functionality. +As documented in the opening comments in the source code file pmx298.for, +it does have several bug fixes, and changes in coding formalism to make it more +broadly compatible with other FORTRAN compilers beyond GNU, and for translation from +FORTRAN to C. + +\setcounter{page}1 +% Need extra line to push last line of TOC to next page + +~~ + +~~ + +\tableofcontents +%\setcounter{secnumdepth}1 +\pagestyle{headings} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\def\boxitsep{10pt} +\let\hrt\hrule\def\hrule{\hrt height2pt} +\let\vrt\vrule\def\vrule{\vrt width2pt} +\def\boxit#1{\vbox{\hrule\hbox{\vrule\kern\boxitsep\vbox{% +\kern\boxitsep\hbox{#1}\kern\boxitsep}\kern\boxitsep\vrule}\hrule}} +\font\ded=cmssdc10 scaled \magstep3 +\bigskip +\setbox4=\vbox{ +% \hsize3in\noindent\strut + \hsize4in\noindent\strut + \centerline{\ded Dedication} +\vskip 3pt +The \MusiXTeX~community was stunned by the sudden death of Werner Icking on +February 8, 2001. He had been a benevolent patriarch, touching many +of us not only +with his technical savvy and gentle guidance, but also his genuine kindness +and generosity. His spirit runs deep through all of \PMX. His encouragement +fueled its development from its very beginning. Many +enhancements have been his proposals, including one he made on what +turned out to be his last day. Werner, my friend, I dedicate this work to +you and your memory. +} +\vfill +$$\boxit{\box4}$$ +\let\hrule\hrt\let\vrule\vrt +\vfill +\eject + +\section{Introduction} +%\setcounter{secnumdepth}1 + + \PMX is a preprocessor for \MusiXTeX{}. Before using it you should +have installed \MusiXTeX~Version 1.21 \NEW{2.71} or higher, and +any available version of \TeX~that includes e-\TeX. The goal of \PMX is to +facilitate the efficient typesetting of scores and parts +that have an almost professional appearance. It can do {\it all} the work +involved in setting up {\tt \bs notes-\bs enotes} groupings, +selecting groups of +notes to be beamed, defining beam heights and slopes, spreading the +entire piece evenly over specified numbers of systems and pages, and inserting +extra spaces where needed to make room for accidentals, flags, dots, +and new clefs. The input language for \PMX is much simpler than +\MusiXTeX. You can enter note values and rests from 64ths to double +whole notes ({\it breves}), ornaments, slurs, and limited text strings. Every +voice in every bar must have exactly the correct number of beats in +the current meter, but you may change the meter at the beginning of any +measure, with or without printing the new time signature. Before making a +\TeX{} file, \PMX checks these timings and other aspects of the input. +\PMX has special features for dealing with baroque chamber music, including +the ability +to notate figured bass below the bottom staff in each system. If \PMX hasn't +yet learned to do something you want to do, you can usually work around the +problem by inserting literal \TeX\ strings in the \PMX input file. + + You can automatically create parts from a score using {\bfx scor2prt}. +This auxiliary program generates a set of {\tt .pmx} input files, one for +each part, from a single {\tt .pmx} file for the score. +You can control the appearance of the +parts with special commands in the main file, thereby making it +possible to include within a single input file all the information +that defines the score and the individual parts. + +The basic \PMX +distribution as of this version of the manual is +\href{http://icking-music-archive.org/software/pmx/pmx298.zip} +{\underline{\tt pmx298.zip}}.\NEW{2.98} It +contains the FORTRAN sources, binaries that will run in a DOS +window on a PC with WINDOWS95 or higher, manuals for usage and for installation +in DOS/Windows, and example typesetting files. Alternatively, the +\href{http://www.icking-music-archive.org/software/htdocs/Getting_Started_Four_Scenar.html} +{\underline{software section}} of the Werner Icking Music Archive (WIMA) has instructions +for acquiring and installing \MusiXTeX~and \PMX on various platforms +(Windows, Mac-OSX, Unix-like systems) including using automated procedures from +several external \TeX~distribution sites. +The packages from those other sites will +all eventually incorporate all the upgrades in {\tt pmx298.zip} but will take +varying amounts of time to do so. If~\PMX~is upgraded, the most current version will +be available directly from the ``News'' paragraph +\href{http://www.icking-music-archive.org/software/htdocs/htdocs.html}{\underline{here}}. + +\subsection{Conventions for This Manual} + + Hey, this is boring stuff, but if you take a minute to understand +the typographic conventions and a little jargon, +it may avoid some confusion down the road. + + The typewriter typeface always indicates verbatim text as it would +be input to a computer. This includes file names, \MusiXTeX{} tokens, and +\PMX commands, e.g., {\tt barsant.pmx, \bs internote, c44}. + + Bold is used for program names (e.g., {\bfx pmxab}), or when applied +to a single letter, to relate a \PMX command to its meaning (e.g., ``{\tt e} +signifies a l{\bf e}ft shift''). + + When\NEW{2.5}~viewing the PDF version of this document on a computer +screen, clickable internal hyperlinks are colored blue, and clickable external +links are underlined and colored cyan. + + Italics may mean several different things depending on the context: +simple emphasis, or the first appearance of {\it jargon} +(buzz-words that need to be explicitly defined), or finally +to represent input variables for which some verbatim text would need to be +substituted. In the latter case the variable will be surrounded by +square brackets, e.g., [{\it basename}], but the brackets are not to be +included with the substituted text. + + Speaking of jargon, there are several special words that have very +specific meanings here: A {\it staff} is one set of 5 lines (plural +{\it staves}), a {\it system} is a group of staves, and {\it voice} refers to +one of the one or two +simultaneous allowable sequences of notes in a staff. Note that this +is a change \NEW{2.5}from versions prior to 2.5, where {\it voice} was used +interchangeably with staff. + +A \PMX {\it command} is a string of characters with no spaces between them. +The first character determines the type of command. Any other characters +are parameters that may be either required or optional. Sometimes we loosely +use the word {\it command} to refer just to the initial character. + +\subsection{Setup} + + Here we briefly describe the setup for the Windows OS, +assuming \TeX\ and \MusiXTeX\ have already been installed. After compiling the +FORTRAN source code, users of other OS's +may either adapt these instructions as needed or use one of the other setup +methods referenced earlier. + +After decompressing the distribution file {\tt pmx276.zip}, +you should have these +files: \NEW{2.76} {\tt pmx276.for}, {\tt scor2prt.for}, two +Windows executables {\tt pmxab.exe} and {\tt scor2prt.exe}, several sample +{\tt .pmx} files, +{\tt pmx.tex}, {\tt ref276.tex} (\TeX\ source for a command summary), +{\tt pmx276.tex }(\TeX\ source for this file), +PDF images of the latter two files, {\tt pmx25-276.html} showing +changes from version 2.50 to 2.76, and {\tt install\_run\_PMX271.pdf} which gives more +details about installing and running on different platforms. + +%If necessary, compile the FORTRAN programs. +%I have tried to keep the source code as generic as possible, but minor +%modifications may be needed for FORTRAN-to-C translation and/or other +%compilers. + + Once you have assembled a full set of files, put the executables +somewhere in the path or in your working directory, {\tt pmx.tex} into the +texinput directory, the sample {\tt *.pmx} files in your working +directory (the one from which you will run \PMXX), and the source code and +document files wherevever you wish. + +\subsection{Basic Operation, by Example} + +Edit the 15th line of {\tt barsant.pmx} to contain the path to the +directory where you want \PMX to write the {\tt .tex} file. For example, +if you want this to be the same as the working directory, type {\tt .\bs}~for Windows, +or {\tt ./} for UNIX. + +If you haven't done so, open a command window and navigate to the +folder containing {\tt barsant.pmx}. Execute \PMX by typing +{\tt pmxab barsant} . Alternatively, you may +just type {\tt pmxab } and you will be prompted +for a jobname, which in this case is just {\tt barsant} . +{\bfx pmxab} will always generate two files in the working +directory: {\tt barsant.pml} +is a log file, and {\tt pmxaerr.dat} contains a single integer, 0 if +the run was successful, otherwise the line number in the {\tt .pmx} file of the +fatal error (useful for batch processing). Also, on successful completion, +{\tt barsant.tex} will be placed in the path specified in the setup. + +Now you are right where you would be after +entering, debugging, and rough-editing the {\tt .tex} file manually. To see +the results, process {\tt barsant.tex} just as you would for any \MusiXTeX{} +file, running all three passes, and view the {\tt .dvi} file, or go on and run +{\bf dvips} to create a postscript file and view that with a postscript viewer +such as {\bf GSview}. To make +separate parts, run {\bfx scor2prt} by typing {\tt scor2prt barsant} .\NEW{2.0} +The program will create a new {\tt .pmx} file for each instrument, in this +case {\tt barsant1.pmx} and {\tt barsant2.pmx}. +You may then process these +files like you did the original one to create separate parts. + +\section{Elements of PMX} +\def\l@subsection{\@dottedtocline{2}{5em}{20em}}%original 2 3.8 3.2 +%\setcounter{secnumdepth}2 + +\subsection{Setup Data in the Input File} \label{setupdata} + + To see how the input file is put together, we'll look at +{\tt barsant.pmx}. For reference, here are are the first few lines: +\pagebreak +\begin{verbatim} +%----------------% +% +% barsant.pmx Revised 29 June 2002 +% +%----------------% +% +% nv,noinst,mtrnuml,mtrdenl,mtrnmp,mtrdnp,xmtrnum0,isig, + 2 2 4 4 0 6 0 0 +% +% npages,nsyst,musicsize,fracindent + 1 7 20 0.07 +Basso +Recorder +bt +./ +\end{verbatim} +The lines +with {\tt \%} in column 1 are comments. +Some special handling of comment lines will be +discussed in the section on creating parts from a score in +section~\ref{scor2prt}. + +The rest of the lines in this example are the {\it setup data}. +Starting in the first non-comment line above, + +{\tt nv} (integer$\leq$24) \NEW{2.6} is the total number of +sta{\bf v}es per system. Each staff may contain either one or two voices, +but the total number of voices at any one time may not exceed 24. + +{\tt noinst} (integer$\leq${\tt nv}) is number of {\it instruments}. Each +instrument has a unique name (see below), and any instrument +with more than one staff will have its staves joined with a curly bracket. +Usually there is only one staff per instrument and {\tt noinst=nv}. There +are two ways to assign more than one staff to one or more instruments. +If only the first (lowest) instrument has more than one staff, such as in +a score for piano and a solo instrument, simply make +{\tt noinst$<$nv} and any difference will show up in instrument 1, the bottom +one in each system. +\NEW{1.4} For a +more general distribution of staves among instruments, +put a minus sign in front of {\tt noinst}, +and follow {\tt noinst} with the number of staves in each instrument in +succession, separated by spaces. These numbers must add up to {\tt nv} or your +computer will explode. For a typical example of keyboard music, see +{\tt mwalmnd.pmx}, in which {\tt nv=2} and {\tt noinst=1}, producing two +staves per system with a curly bracket at the left. + +The number of instruments can be changed as well after the start of the +score, but only to a number less than the original one. See +section~\ref{movbrk} to learn how to start with a smaller +number of instruments and later increase it. + +{\tt mtrnuml} is the {\it logical} numerator of the meter, or the number of +beats per measure; {\tt mtrdenl} the denominator. Please note the special +considerations in the paragraph after the next. If {\tt mtrnuml} is +divisible by 2 or 3, beam grouping will be automatic; otherwise you will +have to force all beams using {\tt [}$\dots${\tt ]} as described in +section~\ref{beams}. + +{\tt mtrnmp} and {\tt mtrdnp} are the {\it printed} numerator and denominator. +These determine the appearance of the meter in the printed output but +have no effect on the internal timing analysis. If {\tt mtrnmp$>$0} then it +and {\tt mtrdnp} are printed literally as the numerator and denominator +of the time signature. Please note the special considerations in the following +paragraph. If +{\tt mtrnmp$<$0}, then the numerator is abs({\tt mtrnmp}) and the +entire time signature will be printed with a vertical slash through +it. If {\tt mtrnmp}=0, then {\tt mtrdnp} determines the printed meter +as follows: + +\medskip + +\begin{tabular}{ll} +\tt 0 & No meter is printed ({\it blind} meter change)\\ +\tt 1, 2, 3, or 4 & A single digit, between the 2nd and 4th lines\\ +\tt 5 & Cut time (alla breve)\\ +\tt 6 & Common time\\ +\tt 7 & Numeral 3 with a vertical slash\\ +\end{tabular} + +\medskip + +There are special considerations for n/16 and n/1 time signatures (where the +latter "1" normally means a whole note). To get +n/1 time, use {\tt 0} (zero) for {\tt mtrdenl} and {\tt 1} for {\tt mtrdnp}. To +remember this rule, recall that the printed denominator is taken literally, +while the logical denominator can always be represented +by the same single digit used for the corresponding time value when entering +ordinary notes (see section~\ref{notes}). So +for n/16 time, use {\tt 1} for {\tt mtrdenl} and {\tt 16} for {\tt mtrdnp}. + +If the first bar is a partial bar containing a pickup, {\tt xmtrnum0} is +the number of beats in it; otherwise set it to 0. It need not be an +integer. The first bar is the {\it only} bar that can have a different +number of beats than the current value of {\tt mtrnuml} (Later we'll see how +to change the meter). + +{\tt isig} is the key signature, positive integer for sharps, negative for +flats. + +If {\tt npages}$>$0, it is the number of pages and {\tt nsyst} is the total +number of systems in the entire piece. \PMX will spread the entire +piece horizontally over this number of systems, and vertically over +{\tt npages} pages. For proper vertical spacing there should be from +about 9 to 16 staves per page. If you specify too many staves for the number +of pages, one or more staves may spill over onto an extra sheet. If this +happens it will only become obvious when you preview the {\tt .dvi} file. +One solution is to use the global option {\tt Ae} +(see section~\ref{AeDirective}); another is to increase {\tt npages} or +decrease {\tt nsyst}. + +If {\tt npages} is set to 0, then {\tt nsyst} is interpreted as the average +number of measures per system. This is useful while building up a +file a little at a time. \PMX will calculate how many systems to use, and +spread them over an appropriate number of pages. + +{\tt musicsize} is 16, 20, 24, or 29, the height of a staff in points, with +20 considered the default\NEW{2.6}. + +{\tt fracindent} is the indentation of the first system from the left +margin, expressed as a decimal fraction of the total line width. + +Next come the names of the {\tt noinst} instruments as you want them to +appear within the indentation in the first system, one per line, +starting with the {\it bottom} instrument. If you've set {\tt fracindent}=0 +and don't +want instrument names to appear, you must still leave {\tt noinst} +blank lines here. Next comes a single string of {\tt nv} +letters or numbers for the clefs, again starting with the bottom staff: +\label{ClefCodes} +{\tt b,~r,~n,~a,~m,~s,~t,~f,~8} or digits 0-8 \NEW{2.71} respectively for {\bf b}ass, +ba{\bf r}itone, te{\bf n}or, {\bf a}lto, {\bf m}ezzo-soprano, {\bf s}oprano, +{\bf t}reble,\NEW{2.2} {\bf F}rench violin clef, or octave treble clef. +The last line of setup data contains the path to the directory +where you want the {\tt tex} file to go when \PMX creates it. The one +in {\tt barsant.pmx}~, +{\tt ./}~, represents the current directory in UNIX and some versions of DOS. +The path must terminate with {\tt /} or {\tt \bs}~. + +\subsection{Structure of the Body of the Input File} \label{structure} + + The rest of the {\tt .pmx} file is the {\it body} of the input. +The basic unit of input from here on is called an {\it input block} or +just {\it block}, each one representing an integral number of bars. If there +is a pickup bar defined by {\tt xmtrnum0} $>$ 0, +it must be included in the first block {\it together with at least one full bar}. +If you wish to put a pickup in a separate block, for example at the start +of a new movement, set the initial logical +meter to fit the pickup bar, then after the pickup bar do a blind meter change +as described in section~\ref{MeterChange}). + +There will usually be +4 to 8 bars in a block. 15 is the most allowed. It is good practice +to separate the blocks with comment lines that state which bars are +represented, as I've done in {\tt barsant.pmx}. +It is also advisable, although not required, to separate the bars with +the command {\tt |}. Its main functions +are to provide visual separation in the input file, and to help isolate input +errors: if you put one anywhere except +at a bar-end, {\bfx pmxab} will stop and show you where it detected the +timing error. Otherwise, with several minor exceptions, +{\tt |} has no effect. + +At the start of each block there may be a few special commands +(described starting in section~\ref{pmxcmds}). +Next come the input data for the selected number +of bars of the first (lowest in the system) voice in the first staff, followed by +either {\tt /} to move to the next staff, or {\tt //} to move to the next voice +on the same staff. Each new voice must start on a new line +in the input file, i.e., there should be no further data on the same input line +after {\tt /} or {\tt // }. + Continue entering other voices, each with +{\it exactly} the same number of bars as the first, +terminated by {\tt /} or {\tt //}, until + the last (topmost in the system) ends with a {\tt /} and the block is +finished. Within +a block every voice must have the same number of bars, but every block +needn't have the same number of bars as other blocks. The number of +voices in a staff can only be 1 or 2, and cannot change within a block, but +may vary from block to block. + + The data for each voice in each staff are a sequence of commands +containing one or more adjacent characters. Commands are separated from each +other by spaces. The line-terminating commands {\tt /} and {\tt //} should also +naturally be preceded by a space. + +\subsubsection{Notes} \label{notes} + + Commands for notes always start with a lower-case letter and, as +with all commands, end at +the first space. The first letter is the note name ({\tt a-g}). The +rest of the characters can be in any order with only a few +restrictions. The first digit defines the {\it basic time value} of the +note: {\tt 9, 0, 2, 4, 8, 1, 3} or {\tt 6} respectively for double-whole, +whole, half, quarter, +eighth, sixteenth, thirty-second, and sixty-fourth notes. The second +digit sets the octave (for reference, octave 4 runs from middle C to +the B above). Certain letters may appear after the initial one: {\tt d} +for {\bf d}ot; {\tt dd} for \NEW{1.4} double dot; +{\tt f, n,} or {\tt s} for {\bf f}lat, {\bf n}atural, +or {\bf s}harp (repeat the letter +immediately for a double); {\tt u} or {\tt l}, which force the stem +direction of any un-beamed note; {\tt e} or {\tt r} to shift the notehead +l{\bf e}ft +or {\bf r}ight by its own width; {\tt a} (for {\bf a}lone) which inhibits +beaming for this note (or, if the first note of an xtuplet, for the +entire xtuplet); and \NEW{2.80}{\tt T} to insert a single-note {\it tremolo} +on the stem (not to be confused with a 2-note tremolo, discussed later in +section~\ref{TwoNoteT}). +The {\tt T} may be followed by a single digit {\tt 1}, {\tt 2}, or {\tt 3} +to indicate the +number of slashes in the tremolo symbol; {\tt 1} is the default if no digit +is entered. \NEW{2.4}A single accidental may be immediately +followed by {\tt c} to +make it {\bf c}autionary, i.e., surround it with parentheses. +Alternatively, it may also be followed by {\tt i} to +suppress typesetting \NEW{2.3} but still have +the M{\bf I}DI processor honor the accidental. Other characters allowed in note +commands are {\tt +}, {\tt -}, {\tt .}(period), {\tt ,}(comma), {\tt x}, and +several special characters following {\tt x}, all to be described below. +Between the first letter and the end or {\tt x} if present, +non-digits can be in any order with respect to each other and to the digits, +with minor exceptions involving shifting dots and accidentals. + +To move +a dot from its default location, simply follow the {\tt d} +with one or two decimal numbers, each predeced by +{\tt +} or {\tt -}. +The first is the +vertical shift in \bs{\tt internote}s, the second, the horizontal shift in +notehead widths. + +\label{AccidentalPosition} +Accidentals \NEW{1.4} can be shifted too. One way is to enter +{\tt +} or {\tt -} right after the accidental character, +then an integer +for the vertical shift, then another {\tt +} or {\tt -} followed by the +horizontal shift in notehead widths. If you use this method, you {\it must} +enter both numbers. Or, to just shift horizontally, use +{\tt <} or {\tt >} followed by the shift in notehead widths. When shifting +a sharp to avoid another sharp, a left shift of 0.85 is usually best. When +shifting a flat to avoid a flat above it, a left shift of 0.3 is suggested. +In chords (see section~\ref{chords}), if all the notes are in the same \NEW{2.4}voice, +\PMX will automatically shift accidentals if required. This will be disabled +for the current chord +if any user-defined accidental shifts are entered, unless {\tt A} is entered +along with the shift, e.g., {\tt zcsA<.5} . In that case the user-defined +shift will be added to the PMX-computed one. +\NEW{2.4} Another option that affects accidental positioning in +chords is {\tt Ao}, +entered in the main note command of a chord. It will force the accidentals +in that chord will be posted in the order +they come in the source file (starting with the main note), each one as far +to the right as it will go without crashing into a notehead, stem, or +another accidental. + + + Dots and accidentals always have to be entered when and if a note +calls for them. i.e., they are never carried over from previous notes. +On the other hand, the octave only needs to be entered if the note is +more than a fourth away from the most recent note in the same voice. +This feature lets you go for long stretches in a voice before needing +to enter the octave. An alternate way to jump more than a fourth but +less than a twelfth is to type {\tt +} or {\tt -}. In other words, these +mean to put the note an octave higher or lower than it +otherwise would have gone. Two {\tt +}'s will raise the pitch two octaves +above what it otherwise would have been, and so forth. +The basic time +value is also carried over from the past if it is not re-entered, +except for the first note or rest in each voice in an input block, +for which it {\it must} be entered. +Therefore, when the melody jumps more than a 4th, using {\tt +} or {\tt -} is +often more convenient than using a digit. This is because in order to +use the digit, you must first enter the basic time value whether it +changes or not. + + For example {\tt c44 d e f g a b c c0-} is an ascending quarter-note +scale starting on middle C, followed by an octave jump down to a +whole note middle C. + + Explicit octave \NEW{2.1} numbers can be combined with one or +more {\tt +} or {\tt -} . In earlier versions, {\tt +} or {\tt -} was +ignored if an octave number was specified. This is a slight backward +incompatibility; \PMX prints a warning when it happens. + +\label{Stemlength}Stem length \NEW{2.73} can be {\bf s}hortened or {\bf l}engthened by {\it x} +\bs{\tt internote} with the options {\tt S}{\it x} or {\tt L}{\it x}~. +{\it x} is restricted to the range (0.5,4.0) for shortening and 0.5 to 27.5 +for lengthening. +The shortening can be made ``sticky'' by following the number {\it x} with +{\tt :} . Then every note's stem in the voice will be shortened until +one is encountered with the option {\tt S:} . By lengthening a stem enough +to span to the next staff and connect with notes there, unflagged staff-spanning +chords can be constructed. See section \ref{chords}~for further details +about staff-spanning chords. + +The first note command in each voice in a block must +contain at a minimum the note name or {\tt r} for a rest (see below), +and a basic time value. For notes, it is good practice and can simplify +editing +if in addition an explicit octave is set here. However if it is not, +\PMX will make some assumptions. At \NEW{2.4} the start of the first +input block the pitch will be set as if the prior note were middle C. +In later blocks \PMX will use the +obvious inheritance rules from the end of the prior block. +However, if the number of voices in a staff +has changed from the prior block, it is safest to reset the octave at the +start of a new block. Duration is never inherited and must be set at the +start of each input block. + + Dots can be a little tricky, because even though they affect the +actual time value, they don't affect the basic time value, and it is only the +latter that is ``sticky". Therefore, if a note is to be dotted, you always have to +enter a {\tt d} (or a period, see next paragraph) somewhere within the +command, after +the note name, even if the actual time value and octave are the same +as the prior note. But the {\it basic} time value need not be re-entered if +it hasn't changed (unless the note is more than a fourth from the +prior note {\it and} you have for some strange reason elected to indicate the +octave with a number rather than {\tt +} or {\tt -} ). So for example, +consecutive dotted half notes, each within a fourth of the previous +one, could be most cleanly entered as {\tt cd24 ed gd ed}, whereas {\tt cd24 e} +would represent a dotted half note followed by a plain half note +(since the basic time value---as defined by the first digit---was a half +note all along). + + There are two special shortcut rhythmic notations. For normal dotted +rhythms (3:1 ratio), if you +include a period ({\tt .}) in the note command, it will +(a) assign a dot to the note just entered, (b) terminate that note, +(c) prepare to +receive the next note name {\it without any space}, and (d)~automatically +assign a time value to the second note equal to one-third of the first one. +No time value may be entered for the second note, but octave and accidental +data may. Ornaments and slurs (see below) following this command will apply +to the second member. If you need to follow the main note +with some modifying +\NEW{2.3} +command, you can still use the shortcut ({\tt .}) after that command and a +space. +The main advantage of this shortcut comes if you want to +follow one dotted pair with another of the same rhythm; then you +needn't enter any explicit time value for {\it either} member of the second pair. +This is possible because after using the shortcut, +the basic (inheritable) duration is set to that of the +{\it first} note in the pair, without the dot. + + For paired notes with 2:1 rhythmic ratios, the character {\tt ,}~(comma) +behaves similarly to the {\tt .}~(period) for 3:1 rhythms. + + Xtuplets, or groups of notes with their stems connected, +can have from 2 to 24 notes or\NEW{1.4} rests. Normally they +all have the same duration, but there are several options---described +below---to change this. The command for the first note of an xtuplet begins +exactly like a +note or rest command, with the name of the first note in the xtuplet, or +{\tt r} if it starts with a {\bf r}est (see subsection below on rests), +and an optional time value. +However, the actual time value (including a dot if present and a basic +duration that may have been inherited from the prior note) now represents the +{\it total} duration of the xtuplet. Next (with no space, as usual) comes +{\tt x} followed by either a one- or two-digit integer for the number of notes in +the xtuplet, or \NEW{2.80}{\tt T} to initiate a 2-note tremolo, to be further +discussed below. The only options allowed immediately following the number are +{\tt d} and {\tt n} . \NEW{2.4}{\tt d} signifies that the {\it first} note +of the xtuplet should have a dot and the second, and extra flag. +{\tt n} controls the printing of the {\bf n}umber and bracket. +If {\tt n} is followed by a blank, then no number will be +printed. On the other hand, +an \NEW{2.3}{\it unsigned} integer here is taken as a substitute number to +be printed instead of the natural one. +If one or two {\it signed} decimal numbers follow {\tt n} +(each starting with {\tt +} or {\tt -}), the first +is a vertical shift in {\tt \bs internote}s, and the second, a horizontal shift +in notehead widths. Another suboption to {\tt n} is {\tt f}, +to {\bf f}lip the number vertically from its default position. A \NEW{2.5}final +suboption to {\tt n} is {\tt s} followed by a signed integer. It applies only +to non-beamed xtuplets, for which it tweaks the slope of the bracket above or +below the xtuplet. For non-beamed xtuplets, you can further change the +appearance of the bracket and number as explain in section~\ref{ATDirective}. + +The second through last notes of the xtuplet are each then +represented by a separate command containing a subset of the characters +permitted for ordinary notes or rests: note name or {\tt r} (the only required +character), accidental, and octave change character ({\tt +} or {\tt -}). +\NEW{1.4} The octave may be given explicitly instead, and any integer will be +interpreted as such, as no numerical time value is permitted. + +To double\NEW{2.3} the duration of any note in an xtuplet, add the +character {\tt D} to the command for that note. This will decrease the expected +number of notes in the xtuplet by one. To add a dot to the doubled note +(as Bach sometimes did), use {\tt F} instead of {\tt D}. +\NEW{2.4}To add a dot to one +note and an extra flag to the next, include {\tt d} in the note command, +{\it after} the {\tt x} if it's the first note of the xtuplet as noted above. + +As an example, an ascending quarter-note triplet scale would be +notated\hfil\break {\tt~c44x3~d~e~f4x3~g~a~b4x3~c~d~\dots} + +\subsubsection{2-note tremolos}\label{TwoNoteT} + +A 2-note tremolo \NEW{2.80}is a special case of an xtuplet. +It represent a rapid alternation between two notes. +It is notated with a pair of +notes, either beamed or unbeamed, with the possible addition of from one to three +indented, disconnected beams between the two note stems. +Like an ordinary +xtuplet, it begins with a note name, optional duration and octave, then +the character {\tt x}. The duration applies to the total time value of the +two notes, is currently limited to either a half note ({\tt 2}), +quarter ({\tt 4}), or eighth ({\tt 8}), and may be dotted by including~{\tt d}~after +the duration digit. +Next comes a {\tt T}. This is optionally followed by one or two +integers from 0 to 3. The first indicates the number of ordinary beams +connecting the two notes; the second, the number of indented beams. + +The only other option allowed on the first note is to move the dot. After +the~{\tt d}~enter one or two signed integers, where the first +is a vertical shift in {\tt \bs internote}s, and the second, a horizontal shift +in notehead widths. If the note has both a moved dot and a digit for an explicit octave, +the~{\tt d} must follow the octave number + +No other options are allowed, and some options are prohibited, such as zero +ordinary beams on anything except a quarter or dotted quarter tremolo. If no +integers are entered after the~{\tt T}, defaults are assigned: (3,0) for a half, +(0,3) for a quarter, and (1,2) for an eighth. + +After a space, the second note of the tremolo is entered. If the total duration +is a half or dotted half, the +noteheads will be open. For a whole note tremolo, two consecutive half note +tremolos should be used. As with ordinary xtuplets, the horizontal spacing of the +notes will always be the +correct value for notes with half the duration of the total. If the tremolo duration +is dotted, a dot will appear by default on the second note, and no~{\tt d}~should +be entered there unless the dot needs to be moved, in which case the syntax is as +described above for the first note. + +Either\NEW{2.84} or both members of the tremolo may include chordal notes, +using the normal {\tt z} notation described in section~\ref{chords}. If the +duration is dotted, dots will appear by default on chord notes, and again +no~{\tt d}~should be entered there unless the dot needs to be moved. +If the tremolo is beamed, the height and angle of the beam may be adjusted +after making it a forced beam as described in section~\ref{beams}. + +Some examples of 2-note tremolos are shown below. When two versions are shown +for a given duration, +the first is the default. The following \PMX code generates the example. + +~ + +{\tt f24xT a fxT a | fxT20 a fxT20 a /} + +{\tt L2 fd24xT zefd-2+1 zcd-2+1 a r4 | f24xT a f2xT20 a /} + +{\tt L3 fd44xT a r8 f44xT a r4 | f44xT02 a fd8xT a r1 f8xT a r4 f8xT11 a /} + +~ + +\includegraphics[scale=1.0]{tremxmpl4.eps} + +\subsubsection{Rests} + + The command for a rest starts with {\tt r}. +Then for a normal rest, in either order come a digit for the basic time value +(using same codes as for notes, optional if unchanged from previous value), +a {\tt d} if the rest is dotted, and a second {\tt d} if double dotted. +\NEW{2.0} The basic time value of a rest +affects future notes and rests the same as if it had come from a note, +i.e., it applies until another value is entered with a subsequent note +or rest in the same voice. The command {\tt rp} represents a +full-bar rest notated with a {\bfi p}{\it ause} character (whole rest) +regardless of +the time signature; in this case no other duration information is +needed or allowed. {\tt rb}, followed if necessary by a duration +specifier, denotes a {\bfi b}{\it lank} rest, one that occupies space and time +but is invisible. This is most often used when there are +two voices in a staff and one drops out for some of the duration +of the current input block. (See {\tt mwalmnd.pmx} for examples). +\NEW{1.4} The +option {\tt o} (for {\bf o}ff-center) suppresses centering a full bar rest. If +you don't exercise this option, then +{\it all} full-bar rests will be horizontally centered between bar +lines, including pauses ({\tt rp}) as well as normal rests that fill the bar. + + The default vertical position of a rest depends on whether there +are one or two voices in the staff. +For one voice it is just the \MusiXTeX{} default +(approximately centered on the middle line). On the other hand, in +the lower voice in +a two-voice staff, the rest is lowered {\tt 4\bs internote}, while +in the upper voice it is raised {\tt 2\bs internote}. The \PMX default can be +manually overridden by appending {\tt +}~or~{\tt -} and an integer +representing the offset from the {\it middle} line of the staff +(not from the \PMX default if there are two voices in the staff!). +So for example, in a single staff +in 3/4 meter, two voices, each with a half note followed by its own +quarter rest would be either +\begin{verbatim} +c24 r4 // +c25 r4 / +\end{verbatim} +or equivalently +\begin{verbatim} +c24 r4-4 // +c25 r4+2 / +\end{verbatim} +while +\begin{verbatim} +c24 r4+0 // +c25 r4b / +\end{verbatim} +would produce two notes followed by a single, vertically centered rest. + +Another way to override the default vertical positioning of rests is useful in +keyboard scores, or in fact any score containing two voices on a staff. +The option {\tt K} (for {\bf K}eyboard) in the +{\tt A} command generally causes rests to be +aligned horizontally with notes in the voice in which they are entered. See +section~\ref{Acommands} for a detailed description. + + \label{MultibarRest}The command {\tt rm} followed immediately by an +unsigned integer will generate a {\bfi m}{\it ulti-bar} +rest, a special combination of characters between two bar lines +representing two or more bars of rest. The integer will always be printed, +horizontally centered. The integer in the command \NEW{2.91}may optionally +be followed by {\tt n} and then another integer, possibly negative, indicating a +different vertical position for the number relative to the bottom staff line. +The default is 9. To put the number +below the staff use -5 or -6. Once the height is changed it will stay the same until +changed again. The {\tt rm} command will generally only be used in separate parts +that have been automatically generated by {\bfx scor2prt}. However, it +\NEW{2.4}may be used in a multi-line score, provided it is entered for the same +number of bars in every staff. + +\subsubsection{Chords}\label{chords} + + Chordal notes, which always share a stem and the same time value as the +prior note, are symbolized with {\tt z} (for {\bf z}ero time) followed by a note name and +optionally an accidental, {\tt +} or {\tt -} as octave indicator, and {\tt e} +or {\tt r} for a l{\bf e}ft or {\bf r}ight shift by one notehead width. +No basic time value is allowed. If the main note +is dotted, then the chordal note will appear with a dot regardless of whether +a {\tt d} is entered. The only time a {\tt d} is required in a chordal note +command is if the dot's position is to be adjusted; in this case the +{\tt d} is required, followed by one or two decimal numbers, each preceded by +{\tt +} or {\tt -}. The first is the vertical shift in \bs{\tt internote}s; +the second, the horizontal shift in notehead widths. +Any number of chordal notes can follow a +single main note. The stem direction of a chord is controlled by the main +note, but may be manually overridden with {\tt u} or {\tt l} in the main note +command. + + When chordal notes are beamed together, the default height and angle of +the beam will be determined by the main note on each stem (the one without +{\tt z}). If a beam joining chordal notes looks bad, you can usually +fix it either by changing which note acts as the main one, +or by fine-tuning the beam parameters as described +in section~\ref{beams}. + +\PMX uses a complex algorithm to automatically position accidentals in chords. +If you are unhappy with the result, you can manually tweak the horizontal +positions as described in section~\ref{AccidentalPosition}. + +Although there is no dedicated command for it, chords can be made to span from +one staff to another using various techniques\NEW{2.73}. The approach will depend on +whether +the chord is single-stemmed with no flag, single-stemmed with a flag, or beamed. +If beamed, it will also depend on whether it is an xtuplet or not. Examples of all +the basic possibilities are contained in the sample file {\tt staffcrossall.pmx}. + +For unbeamed, unflagged staff-crossing chords, +by lengthening the stem with the {\tt L} option on the main note, it can +be made long enough to join with an unflagged single-stemmed note or chord in the +next staff. Single-stemmed notes with one or more flags can be joined across staves +with a trick discovered by Andre Van Ryckeghem: In one staff create a standard note or +chord with +the stem pointing away from the other staff. In the other staff, place the chord notes +in a one-note forced beam that has been lowered or raised into the first staff +(e.g. {\tt [-10 b14 ]}); that +will stretch the stem to join the other notes, but with just one note (or chord) in the +beam, the crossbar will have zero length and be invisible. + +Beamed chords may also span from one staff to another, using joined beams (see +section~\ref{beams}). The general approach is to construct a set of chords +(or single notes, if the other chord notes are in the other staff) in each of +the two staves, enclose each set in a separate forced beam, and join the two +beams with {\tt ]j}...{\tt [j}~. It is important to remember that the +lower staff is processed first. So in most cases, the end of the segment in the lower +staff must be joined (using {\tt ]j}) to the start of the upper segment (with {\tt [j}). +It turns out that for non-xtuplet beamed chords, in all cases where the chord at the +beginning of the beam has a note +in the {\it lower} staff, this works fine provided that the forced beams are of equal +duration and cover the same time span, and that positions in either staff with no note +are represented with +blank rests \bs{\tt rb} inside the force beam. So for example a set of beamed chords +that starts only in the +lower staff and ends only in the upper could be represented by +\begin{verbatim} +[+28 g83 g g rb ]j / +[jf rb g84 g g ] / +\end{verbatim} +This example highlights some other issues, viz., that the beam height or direction of one +or both beam groups may need to be altered. Often this will require trial and error. + +Unfortunately this two-group procedure breaks down if the first chord in the beam has no +notes in the lower staff. There are tricks to get around this; the user is referred to +the file {\tt staffcrossall.pmx} for examples. However, there is a much more +straightforward way to define +staff-crossing beamed chords that begin in the upper staff: it simply requires defining +the beamed group in each staff as an xtuplet within a forced beam. It turns out that +the treatment of +staff-crossing beamed xtuplets is more robust than for non-xtuplets, and will admit +more intuitive coding. So for example, the reverse of the above example, where +the beam starts in the upper staff and ends in the lower, could be obtained with +\begin{verbatim} +[+28 rb2x4n g3 g g ]j / +[jf g24x4 g g rb ] / +\end{verbatim} +\newdimen\psav\psav=\parindent\parindent=0pt where we used the option {\tt n} to +suppress printing the number. As you might expect, more general staff-crossing +beamed chordal xtuplets follow the same concepts already described for non-xtuplets, +but as noted, they are more robust and admit patterns that start in the upper staff +and end in the lower one. {\tt staffcrossall.pmx} also contains examples this +approach. + +\parindent=\psav + +\subsubsection{Grace notes}\label{graces} + + A grace note command starts with a {\tt G}. It is entered in its natural +order, normally before the main note, but sometimes after. After {\tt G} and +before the note name, comes any +combination of the following options: an unsigned integer (which may have 2 digits) +representing the number of +notes in the grace (default is 1), {\tt m} and a digit for +{\bfi m}{\it ultiplicity} +(number of flags or beams, default is 1, 0 is allowed), +{\tt s} for {\bf s}lur (joining all notes of the +grace to the main note; no other {\bf s} is needed on the main note), +{\tt x} for a slash (only for single graces), +{\tt l} or {\tt u} to force the direction of the stem(s), +{\tt X} followed by a decimal number {\it x} to insert a gap of {\it x} +notehead widths between a normal grace and its main note\NEW{2.6}, +{\tt A} (for +{\bf A}fter) or {\tt W} (for {\bf W}ay-after) to associate +the grace note with the {\it prior} note. Next comes the only +required character, the +first note name. No time value can be entered, but if needed, the +octave or an accidental can be given as in a normal note. Second and +later notes must follow immediately in sequence, set apart by spaces, likewise +without any time value, and without any intervening commands. + + Normal or after-graces will be placed {\it immediately} before or after +the main note; way-after's, as far to right as possible before the next note +or bar line. If either type of after-grace is slurred, the slur will start +on the main note and end on the last one in the grace. + + +\subsubsection{Ornaments} + + Commands for ornaments are entered {\it after} their associated +note command. The ornaments now available are shake ({\tt ot}), {\bf m}ordent +({\tt om}), ``x"- or ``+"-shaped ornament symbols ({\tt ox, o+}), pizzicato +({\tt ou}), strong {\bf p}izzicato ({\tt op}), left parenthesis before +notehead ({\tt o(}), right parenthesis after notehead ({\tt o)}), +upper {\bf f}ermata ({\tt of}), {\bf d}own {\bf f}ermata ({\tt ofd}), +staccato ({\tt o.}), tenuto ({\tt o\_}), two different se{\bf g}nos +({\tt og} or {\tt oG}), {\bf C}oda ({\tt oC})\NEW{2.71}, +arbitrary-length wavy-line {\bf t}rill with {\it tr} ({\tt oT}), +arbitrary-length wavy-line +trill without {\it tr} ({\tt oTt}), sforzando ({\tt o>}), +%duncecap ({\tt o}\hbox to 6pt{\tt\^~}), \NEW{2.4}{\bf c}aesura ({\tt oc}), and +duncecap ({\tt o\verb|^|}), \NEW{2.4}{\bf c}aesura ({\tt oc}), and +{\bf b}reath ({\tt ob}). +All except the parentheses, staccato, +tenuto, and down fermata will normally +appear above the staff; the parentheses appear at the level of the note +head, and staccato and tenuto just above or below depending on the +stem direction. The only difference between staccato and +pizzicato is the vertical positioning of the dot. + +Either type of trill may immediately include an unsigned decimal number +to specify the length of the printed symbol in current \bs{\tt noteskip}s; the +default is 1. Thus {\tt oT0} represents {\it tr} with no wavy line. + +Once the ornament type has been specified, most of them can be raised +or lowered from their default position by appending +a signed integer to the command, representing the vertical offset +in \bs{\tt internote}s. \NEW{2.4}. A second signed integer specifies a +horizontal shift from default in notehead widths. + +The caesura and breath marks differ from the others in their default horizontal position, +which is 0.5\bs{\tt noteskip} past the note. + +The {\tt og} segno has several special properties. It must be entered in the first (lowest) +staff, but will appear above +every staff. Its vertical position cannot be altered, but if appended by a number...unsigned +if positive...all appearances will be shifted horizontally by that number of points. On the +other hand, the {\tt oG} segno\NEW{2.71} has a smaller symbol than {\tt og}, +applies only to the note after which it is entered, and can be shifted just as a +normal ornament. + + An ornament can be automatically repeated on a series of consecutive notes, +provided the notes are all in the same voice and the same input block. +To activate this feature, terminate +the first ornament command with~{\tt:}~. Then every note in that voice will +have the same ornament until a note is followed by the repeat terminator +{\tt o:} . + +\subsubsection{Editorial accidentals} + + To place a small sharp, flat, natural, or question mark above the staff, +after the affected note enter {\tt oe} followed by {\tt s, f, n} or {\tt ?}. +\NEW{2.2} You may also put a question mark right after the accidental. + +\subsubsection{Slurs} \label{slurs} + + By default \PMX will use \MusiXTeX's built-in font-based slurs. +But through user intervention it is possible to use either one of +\NEW{2.4}two different types of postscript slurs. {\it Type K} slurs, +developed by Stanislav Kneifl, are directly supported by \PMX and will +be the focus of any future \PMX enhancements. +They are globally activated with {\tt Ap} and several global +defaults set with other options to the {\tt A} command as described in +section~\ref{ApDirective}. If these are used, so will an alternate +set of hairpins (see section~\ref{dynamics}). +The other postscript slur option is Hiroaki Morimoto's {\it Type M} slurs. +These +are not directly supported by \PMXX, but are intended to be fully +compatible with the default font-based slurs. To use them, one would +use the in-line \TeX~command \bs\bs{\tt input musixpss}\bs~, and be sure +{\it not} to enter {\tt Ap} . From \PMXX's standpoint they are no different +from font-based slurs. + +There are some advanced options available only +with Type K postscript slurs, and a few obsolete ones only with font-based. +At this point the main +difference in functionality between the two is that with postscript, \PMX +provides support for +true ties, which are shaped and positioned slightly differently from +slurs. Future enhancements +will probably only work with Type K postscript slurs. Some users do still +prefer +font-based, possibly because Type K postscript slurs are not visible in some +DVI viewers. +New users should experiment with the various types of slurs and decide for +themselves. + + The normal commands for slurs are {\tt (} placed with a space +before a note, and {\tt )} placed after. The command {\tt s} is equivalent to +{\it both} of them (!), except that it always follows the affected note. +With font-based slurs, {\tt t} is equivalent to {\tt s} but +with several minor differences to be explained later. With postscript slurs, +{\tt t} signals to use a true tie. +The commands {\tt s} and {\tt t} are {\it toggles}, turning +a slur or tie off if it's already on and starting one otherwise. + +A \NEW{2.5} slur or tie may end on a rest, but not start on one. The default +ending height in this case will be the same as the starting height, and it +may be tweaked as described below. + + The first character is optionally followed by +a single-character ID code {\tt 0-9} or {\tt A-Z}, then by other +options described below. ID codes are only needed if two or more slurs are +open at the same time within one voice, such as when several chord +notes are tied. Using ID codes in such cases tells \PMX which open slur to +close. ID codes cannot be used with font-based {\tt t} slurs. + +The rules for finding the default direction and position of a slur +are complex; many factors enter into defining visually pleasing values. But +there's no need for gory details here; the result will usually satisfy, and if +not, it can easily be tweaked. The default direction of curvature can be +overridden with {\tt u} ({\bf u}pper), {\tt l} ({\bf l}ower), +or equivalently {\tt d} ({\bf d}own). +Starting or ending position can be shifted from its default by +entering one or two explicitly signed numbers. The first, which must be +an integer, represents the vertical shift in \bs{\tt internote}s; the second, +which may be decimal, the horizontal offset in notehead widths. \NEW{2.71}Starting +or ending +position of a postscript slur or tie can be made to align with the end of the stem +of an unbeamed note by using the option {\tt v}. No other options are permitted +with {\tt sv}, but any desired position can be forced with the numeric options. + +The shape of the slur may be altered as well\NEW{2.1}. This paragraph +deals with font-based slurs, for which the shapes may be less +than fully satisfying due to fundamental limitations of \MusiXTeX. +At the slur termination only, one or three +more parameters may follow the ones just described. The first, a signed, +nonzero +integer, is a vertical adjustment to the mid-height of the slur in +\bs{\tt internote}s. The next two, integers between 1 and 7 following a +``{\tt :}", are alterations to the starting and ending slopes. +These numbers are +passed directly as arguments of the \MusiXTeX{} macros \bs{\tt midslur} +(if only +one is given) or \bs{\tt curve} (if there are three). + +For \NEW{2.4}Type-K slurs, +the shape may be changed locally by including {\tt f} in either the +slur's starting or ending command to flatten it a bit, or {\tt h}, +{\tt H}, or {\tt HH} to +increase its curvature and raise or lower its middle by increasing degrees. +The default \NEW{2.5}curvature can be altered from normal +with new suboptions +to {\tt Ap} as described in section~\ref{ApDirective}. Local +curvature tweaks will take precedence over the global default. A special +option {\tt n} to the slur command can be used to locally restore the normal +curvature if the default curvature has been globally changed. + +Another option peculiar to Type-K slurs and ties is to locally +override the global +setting for automatic height adjustment (to avoid tangencies with staff +lines). The global defaults may be changed with the {\tt A} command as +described in section~\ref{ApDirective}. To +override the global setting for the current slur or tie only, use +the option {\tt p} in the command that starts the slur or tie, +followed by {\tt +} or {\tt -} (to turn adjustment +on or off), followed by {\tt s} or {\tt t} (for slur or tie). + +A dotted \NEW{1.41} slur is activated by including the option {\tt b} (for +{\bf b}roken) in the command that starts the slur. + +Slurs involving grace notes are specified within the command for the grace +(see section~\ref{graces}). + +For font-based slurs, the unique aspect of {\tt t} slurs is that if one +starts or ends on the same +note as an {\tt s} slur, the former will be moved away from the notehead to +avoid a collision. {\it This only works if neither slur has an ID code.} +This feature is only retained for backward compatibility. + +The available options should cover most circumstances, but if not, +the \TeX\ macros \bs{\tt isu} etc, defined in {\tt pmx.tex}, can be entered +as in-line \TeX\ commands (see section~\ref{LitTeX}). +These commands have three arguments: +slur number, vertical position (pitch, or offset from bottom staff line in +\bs{\tt internote}s), and horizontal offset in +notehead widths. When using these commands, you must choose an explicit +slur number. Use one large enough to avoid +conflicts with \PMXX 's automatic slurs, which are numbered from \NEW{2.4} +0 upward. +Also, remember that non-spacing in-line \TeX\ commands such as this one must +come {\it before} the note they apply to, in contrast with the \PMX +slur toggles which may come after. + +\subsubsection{Ties} + +With font-based slurs, in \PMX the only difference between ties and slurs +is the default positioning. +Ordinary slur ends are centered horizontally above or below the notehead, +while tie ends are shifted inboard and closer to the midheight of the +notehead. To specify a font-based tie in \PMXX, use a slur command and +include the option {\tt t} +in it, somewhere after the initial {\tt ( , ) , s } or {\tt t} . + +\NEW{2.4} With postscript slurs, ties---indicated with {\tt t} or +{\tt st}---will have similar differences +in endpoint positions, +but in addition will have a different shape (somewhat flatter) and will +always end at the same height they start. There is also an option to the +{\tt A} command that affects ties across line breaks +(see section~\ref{ApDirective}). By default the +second part of such ties will be drawn as a complete tie symbol. However, +if you want them to be a {\it half tie}---a special shape that is horizontal +at its left end---use the command {\tt Ap+h} at the start of the file. + +In addition to the notation options just mentioned, ties may also be +%indicated with the character {\tt\{} before the starting note and {\tt\}} after +indicated with the character {\tt$\{$} before the starting note and {\tt$\}$} after +the ending note\NEW{2.6}. + +\subsubsection{Line-breaking Type K slurs and ties} \NEW{2.5} \label{lbslurs} + +No special action is required if a slur or tie happens to cross a line break. +However, some special, manual adjustments are available for Type K postscript +slurs in these cases. The global option {\tt Apl} by itself adjusts several +parameters as described in section~\ref{ApDirective}. Further, if {\tt Apl} +has been issued, +then case-by-case adjustments for line-breaking Type K slurs and ties are +available as suboptions to the +slur commands. To tweak the horizontal and vertical positions of the end of +the first segment, enter the suboption {\tt s} in the command that starts +the line-breaking slur or tie, followed by two signed numbers representing +respectively the vertical shift +in \bs{\tt internote}s and the the horizontal shift in notehead widths. To +tweak the position of the start of the second segment, follow the above by +another {\tt s} and two more signed numbers. The usual curvature options +{\tt h}, {\tt H}, {\tt HH}, and {\tt f}, if included in +the starting command for a line-breaking slur, will apply only to the first +segment, and if in the closing command, to the second segment. If the tweaked +slur or tie does not happen to come at a linebreak, +the special position tweaks (after {\tt s} ) will all be ignored, and the +curvature tweaks on the closing note will take precedence as they normally +would. + +\subsubsection{Dynamics} \label{dynamics} + +\NEW{2.3} +After the affected note, enter {\tt D} followed by one of the +following {\tt pppp, ppp, pp, p, ffff, fff, ff, f, mf, mp, fp, sfz, +"[{\it any text}]", >,} +or {\tt <} . The last two are diminuendo and crescendo, and they are toggles, +i.e., the first one of each starts the symbol and the next one ends it. +The one surrounded by \NEW{2.76} double quotes is an arbitrary text string +no longer than 64 characters, which may include embedded \TeX. +By default a single note dynamic mark is horizontally centered below the note +to which it is assigned, or below the staff, whichever is lower. Dim. or cresc. +follow the obvious extension of that rule to the starting and ending note taken +together. Examples of the default positions of dynamic marks are contained +in the file {\tt dyntest.pmx}. However, with any dynamic mark you can also +enter position shifts, vertical as a signed integer representing +the number of {\tt \bs internote}s, then (if desired) horizontal as a signed +number representing a +number of notehead widths. There can only be one of the letter-groups on each +note, but there may also be {\tt D<} and/or {\tt D>} on the same note. These must be +entered as separate {\tt D...} commands, and must come in the right order, e.g., + +\medskip +[{\it some notes}] {\tt D<} [{\it more notes}] {\tt D< Dffff D>} +[{\it more notes}] {\tt D>} +\medskip + +Hairpins \NEW{2.7} may span from one input block to the next. + +There are numerous context-sensistive automagic adjustments to the positions +of all the dynamic symbols. If you don't like the result you can adjust the +position as just described. + +Due to \MusiXTeX's limitations, +there are some restrictions on hairpins when using font-based slurs. +They cannot be longer than 68mm, they cannot wrap over a system break, and they +must be horizontal. Finally, +only certain specific lengths are available so some horizontal position +tweaking may be needed, especially when letter-groups and +hairpins are combined. +These restrictions are all removed when using postscript slurs. + +\subsubsection{Beams} \label{beams} + + For the most part, \PMX automatically takes care of the details of +defining beams: selecting which notes are beamed together, and setting +the angle, direction, height, and {\it multiplicity} (the number of bars +along the top or bottom). However, one may define a {\it forced} +beam---which overrides \PMXX 's selection of which notes are beamed +together---by +surrounding the included notes with {\tt [} and {\tt ]}, being certain to +separate these commands and their options from the included note commands with +spaces. One may also wish to edit certain features of a beam even when +\PMXX 's grouping decision +would otherwise be acceptable; here again the beamed notes must be set +apart with {\tt [} and {\tt ]}. + +The {\tt [} may optionally be followed +immediately by several options. + +{\tt u} or {\tt l} will override +\PMXX 's selection of the direction of the beam, while {\tt f} will +{\bf f}lip it from whatever \PMX decided. + +{\tt j} {\bf j}oins the beam +grouping to a prior one started in another system (see below). + +One, two, or three consecutive integers, each preceded with {\tt +} +or {\tt -} , will affect the beam's appearance. The first integer is +an adjustment to the starting level (in \bs{\tt internote}s) and may range +from -30 to 30; the second is a slope adjustment with the same +permissible range; the third is an alternate adjustment to the +starting level (in beam thicknesses) and may only range from 1 to 3, +always acting to increase the stem length. The latter may be used to +align consecutive horizontal beams which have internal multiplicity +changes. For example, in 2/4 time, {\tt c84~c1~c~c~c~c8} would cause two +beams but the +first one would be lower than the second; {\tt [+0+0+1~c84~c1~c~]~c~c~c8} +would align the tops of the beams with each other. Due to the +complexity of \PMXX 's beam analysis procedures, these editing commands +may sometimes produce unexpected results, and some iteration may be +required to get exactly what you want. For example, +{\tt [+0+0+3~cd8~c3~c6~c~]~c~c~c3~cd8} +will not produce two aligned beams as desired, because +when \PMX analyzes the first beam, it automatically raises the starting +level a bit for another reason, namely, to avoid too short a stem on +the 64th notes at the end of that beam. In this case, +the user could counteract \PMXX 's internal adjustment by using +{\tt [-1+0+3~cd8~c3~c6~c~]~c~c~c3~cd8}. + +The option {\tt h} forces the beam to be {\bf h}orizontal. + +The character {\tt m} followed by a digit 1-4 forces the {\bf m}ultiplicity +of the beam, the number of stem-joining bars. + + By default, xtuplets are set apart with their own beam. To beam +an xtuplet together with other non-xtuplets, just include it with the +other notes in a forced beam. + + Rests may also be included within forced beams, provided they are +shorter than quarter rests, and of course that they come {\it between} the first +and last notes under the beam. + +It's \NEW{2.5} now easy to define a repeating forced beam pattern. +If the option {\tt :}~(colon) is included in the starting command {\tt [}~for +a forced beam, then after you end the beam, more beams of the same duration +will be forced in +that voice, until stopped. They will be stopped at either the next regular +forced beam, or the end of the input block for that voice, whichever comes +first. + + Some users may wish to define beamed groupings with subgroups +joined by a single beam. The command {\tt ][}, standing alone between two +note commands in a forced beam, causes the multiplicity to decrease to +unity and immediately increase to its natural value for the next note. +For example, {\tt [~c14~c~c~c~][~c~c~c~c~]} will generate two doubly-beamed +groups connected by a single beam. + +Related \NEW{2.3} to this is a {\it single-slope beam group}, which is the +same as described +in the previous paragraph except that the beam disappears between segments. +Segments should be separated by {\tt ]-[} standing alone between two notes +inside the forced beam. + + If there are large jumps in pitch between notes in a beam within +a single staff, as a matter of taste you may wish +to start the beam for example as an upper one and end it as a +lower. \PMX will never do this automatically, but you can accomplish +it by forcing the beam with appropriately modified up/down-ness, starting level, +and slope. If you use this technique, there are two details to note: (1)~if +there are any intermediate multiplicity changes, they will only be handled +properly if the initially specified up-down-ness is consistent with the +vertical position +of the intermediate notes involved, and (2)~for proper appearance in crowded +scores you may wish +to insert hardspace or shifts as described in +section~\ref{hardspace}. Some examples are included in {\tt most.pmx}. + + Beams cannot normally jump staves. But if that is desired, start +the beam normally in one staff, and terminate the part of the beam in that +staff with {\tt ...~]j} . Then resume the beam in the new, adjacent staff with +{\tt [j~...} . For staff-jumping beams, it's OK to have just a single note +inside one or both of the members. Some adjustment of the beam height and +slope may be required. Sometimes the ending section's up-downness must be +overridden; you will know this is so if the ending is shifted horizontally +from its proper position by one notehead width. +Each voice must still have the right number +of beats, so you will probably need to fill time with blank rests after the +first member of the beam in one staff and before the second member in the other. +There can still only be one staff-jumping beam open at a time. + + \label{Jumps}In most cases \NEW{2.91} it is possible within \PMX to set a staff-jumping +beam that changes multiplicity right at the jump. The only cases where the author +hasn't yet found a way are where multiplicity increases and the beam runs +at a height between the notes in the two staves. In that case some inline \TeX\ +is needed. The example below covers all possible combinations of jump direction; +whether the beam runs below all, between, or above all of the notes; and +whether multiplicity stays the same, increases, or decreases at the jump. + +~ +\begin{verbatim} +h4.4i +w5.5i +\\let\nbbut\nbbu\let\nbblt\nbbl\ +% Fixed mult, up jump +[ g83 g ]j rb4 | [u g83 g ]j rb4 | [u+14 g83 g ]j rb4 / +rb4 [j f84 f ] | rb4 [j f84 f ] | rb4 [jl f84 f ] / +% down jump +rb4 [j g83 g ] | rb4 [j g83 g ] | rb4 [ju g83 g ] / +[ f84 f ]j rb4 | [l f84 f ]j rb4 | [l-14 f84 f ]j rb4 / +L2 +% Bar 7 Incr mult, up jump +[ g83 g ]j rb4 | [l+14 g83 g ]j rb4 / +rb4 [j f14 f f8 ] | rb4 \def\nbbu#1{\nbbl{#1}\let\nbbu\nbbut}\ [ju f14 f f8 ] / +[u+14 g83 g ]j rb4 / +rb4 [jl f14 f f8 ] / +% down jump +rb4 [j g13 g g8 ] | rb4 \def\nbbl#1{\nbbu{#1}\let\nbbl\nbblt}\ [j g13 g g8 ] / +[ f84 f ]j rb4 | [u-14 f84 f ]j rb4 / +rb4 [ju g13 g g8 ] / +[l-14 f84 f ]j rb4 / +L3 +% Bar 13 Decrease mult, up jump +[ g83 g1 g1 ]j rb4 | [u g83 g1 g1 ]j rb4 | [u+14 g83 g1 g1 ]j rb4 / +rb4 [j f84 f ] | rb4 [j f84 f ] | rb4 [jl f84 f ] / +% down jump +rb4 [j g83 g ] | rb4 [j g83 g ] | rb4 [ju g83 g ] / +[ f84 f1 f ]j rb4 | [l f84 f1 f ]j rb4 | [l-14 f84 f1 f ]j rb4 / +\end{verbatim} + +\includegraphics[scale=1.0]{sjb291.eps} + +~ + +\subsubsection{Clefs} + + A clef change is signaled by {\tt C} followed by a single lower-case +letter or digit using the code specified in +section~\ref{ClefCodes}. If clefs come out at the wrong +vertical position, refer to the note in {\tt pmx.tex}. + +\subsubsection{Arpeggios} + +To set an arpeggio (a vertical wavy line), simply place the \bs {\tt ?} +after the commands for both the first and last note. To shift the symbol to +the left by {\it x} notehead widths, use the option {\tt -}[{\it x}]\NEW{2.6} . + +\subsubsection{Lyrics}\NEW{2.73}\label{lyrics} + +Lyrics rely on the underlying \TeX\ command {\tt\bs pmxlyr} developed by Dirk +Laurie, which is defined in {\tt pmx.tex}. It in turn makes use of the macro +package {\tt musixlyr.tex} developed by Rainer Dunker. So to enable lyrics within \PMXX, +you will need to +ensure that {\tt musixlyr.tex} is installed somewhere in your system where your +\TeX\ processor can find it. + +Lyrics can be inserted by enclosing them in double-quotes inside the music line +just before the first note to which they apply, as in +{\tt "us-ing lyr---ics now\_\hglue1pt\_ "}. Once the first double quote is encountered, \PMX will +ensure that {\tt musixflx.tex} is input into the \TeX~file. + +Lyrics for several notes can be defined in one go. +The lyrics in each input string demand a specific number of notes, depending on +the number of syllables, hyphens, and underscores. If there are not enough lyrics, +question marks will appear; if too many, the excess syllables will not appear. + +The rules for aligning lyrics properly with notes are as follows. Words are +separated by whitespace, with any number of spaces counting as one. Syllables +within a word that require just one note each are separated by a single hyphen. There are +two ways to extend a syllable over two or more notes. If it is the last syllable in +a word (like {\tt "now\_\hglue1pt\_ "}), follow it with consecutive underscores, one for each extra +note, and finally a space. It will be printed with a continuous underscore. +To extend a syllable within a word (like {\tt "lyr---ics"}), insert one extra hyphen +(with no spaces) for each +extra note, and it will be printed with some number of hyphens filling the proper +space between syllables. Conversely, a tilde ({\tt \char126}) between two words +(with no spaces) prints a space between them while assigning the last syllable of the +first and the first syllable of the second to a single note\footnote{This is just an +example of using a standard \TeX\ feature within lyrics.}. So in the end, in a voice +with lyrics, every note must be associated with a syllable, its extension, or two +syllables joined with a tilde. + +Although underscores within a word or consecutive hyphens at the end may not crash the +code, they are not recommended for any foreseen useful purpose. + +Accented characters can be included in lyrics or elsewhere in several different ways. Here +we provide examples for just one of those methods, one which uses special \TeX~commands. +The following \PMX input contains most of the available accented characters and +leads to the example pictured below. + +\begin{verbatim} +"\'o \`o \^o \"o \~o \=o \.o \u{o} \v{o} \H{o} \t{oo}"@b+4 +c44 d e f g a b c c- d e r / + +"\c{o} \d{o} \b{o} {\oe} {\OE} {\ae} {\AE} {\aa} {\AA} {\o} {\O} {\l} {\L} {\ss}" +c44 d e f g a b c c- d e8 f g a / +\end{verbatim} + +\includegraphics[scale=1.0]{accents.eps} + +By default, lyrics will be placed below the staff where they are entered, half way between that +and the next lower staff. You may want to +alter the vertical position of a lyrics line, especially if both voices in +a staff have lyrics. This is accomplished with the opfion {\tt @}, immediately +following the closing quote of the +lyrics string with no space. That must be followed by either {\tt a} or {\tt b} for +{\bf a}bove or {\bf b}elow the staff, then a signed integer for the number of +\bs{\tt internote}s above or below the default height. This command is "sticky"; it +will remain in force for later lyrics in the same voice until altered. + +It may also be necessary to allow extra vertical space where the lyrics are positioned. +There is no \PMX command for this, but type 2 inline \TeX~can be used to insert extra +vertical space above any instrument. For example, if the voice is in instrument \#2 and +lyrics are below that staff, +\bs\bs{\tt interinstrument=0\bs internote\bs setinterinstrument1\{8\bs internote\}}\bs~ will +add \newline 8 \bs{\tt internote}s in the space for the lyrics. + +Present limitations allow lyrics at upper and lower voices on the bottom two +staves of instruments 1 to 4. Elsewhere they are quietly ignored. + +Most scores with lyrics will benefit from the type 2 command \bs\bs{\tt sepbarrules}\bs, which +stops bar lines from crossing through the vertical space between instruments. + +The notation {\tt "us-ing lyr---ics now\_\hglue1pt\_ "} is actually shorthand for the inline \TeX\ +string {\tt\bs pmxlyr\{us-ing lyr---ics now\_\hglue1pt\_ \}\bs}. All the rules given in +section~\ref{LitTeX}~for +Type~1 \TeX\ strings apply. To ensure that the length of all the Type 1 \TeX\ +strings belonging to a particular note combined does not exceed 128, remember +to account for the nine characters in {\tt\bs pmxlyr\{\}}. + +The sample files {\tt prad5.pmx} and {\tt netsoos.pmx} illustrate many aspects of +this direct method for entering lyrics in pure \PMX. + +This way of entering lyrics is a convenient interface to a subset of the +facilities offered by {\tt musixlyr}. If more advanced features than those supported by +{\tt\bs pmxlyr} are needed, the necessary {\tt musixlyr} macros could be manually +entered as in-line \TeX\ directly into the .pmx file. + +If really advanced features are needed (such as having several verses of lyrics +at once), most users would prefer the convenient interface to {\tt musixlyr} via +the program {\bfx M-Tx} developed by Dirk Laurie. It is a pre-preprocessor which produces +a {\tt .pmx} file containing the proper in-line \TeX\ commands. Its input language +is similar (but not identical) to \PMX and includes most \PMX functionality as a subset. + +\subsection{Commands That Affect All Voices} \label{pmxcmds} + + Most commands that affect all the voices can only appear in the first +(lowest) voice in the first (lowest) staff. Most such commands will +automatically be +transferred from score to parts when separate parts are generated by +{\bfx scor2prt} (see section~\ref{scor2prt}). + +\subsubsection{Repeats, double bars, forced single bars} \label{Repeats} + + Repeat signs, double bars, and other bar-ending options are signaled +by {\tt R} followed by +{\tt l, r, lr, d, D, dl, b} or {\tt z} for +{\bf l}eft repeat, {\bf r}ight repeat, {\bf l}eft-{\bf r}ight repeat, +thin-thin {\bf d}ouble +bar, thin-thick {\bf D}ouble bar, thin-thin {\bf d}ouble bar followed by +{\bf l}eft repeat, single {\bf b}ar, or blank (invisible) barline\NEW{2.4}. +Some of these have peculiarities. +{\tt Rb} forces a single bar before a movement break (see section~\ref{movbrk}), +where otherwise by default there is a double bar. That can be useful for +example if you +change the number of instruments (via an option in the movement-break command) +in the middle of a movement. {\tt Rz} will cause a blank barline at the end +of the current system, not necessarily the current bar. It can be used +together with blind meter changes if you want to split a bar across a +system break. +If {\tt Rlr} falls at a system break, \PMX will automatically split it in +two. The command {\tt Rdl} will likewise be split at a system break, but if +not at a system break, the {\tt d} will be ignored. + +These commands must be in the +first voice. It is best only to place them before the first note in an +input block or if necessary after the last one; otherwise {\bfx scor2prt} +may behave erratically. +Using two separate {\tt R} commands in succession will cause +unpredictable results. + + +\subsubsection{Voltas (first and second endings)} + + Beginnings and ends of first and second endings are signaled by +{\tt V} (for {\bfi v}{\it olta}). +If it's the {\it end} of the volta, add the option {\tt b} (for +{\bfi b}{\it ox}) or {\tt x} for {\it no bo}{\bfi x}. +If it's the {\it start} of a volta, you can +optionally enter any text at all that doesn't include a space and doesn't +start with {\tt b} or {\tt x} (most +commonly {\tt 1} or {\tt 2}). A period will automatically be +appended to the text. If one volta ends and another starts right +away, only a single {\tt V} is needed. Voltas must only be entered in the +first voice. If separate parts are to be created from a score using +{\bfx scor2prt}, then only a single volta is allowed in any given input +block, and it must be at the beginning of the block. + +\subsubsection{Meter changes}\label{MeterChange} + + Meter can only be changed at the beginning of an input block. +A {\bfi m}{\it eter change} command starts with the letter {\tt m}. +There are two different ways to complete the command. + +{\bfx Method 1.} Enter 4 numbers +with no intervening spaces. The four numbers are {\tt mtrnuml}, +{\tt mtrdenl}, {\tt mtrnmp}, {\tt mtrdnp} as defined in section~\ref{setupdata}, +with the following exceptions for this method only: +You must use {\tt o} to represent +the number 1; if you enter the digit {\tt 1} then \PMX will interpret that +digit and the next as a 2-digit integer, between 10 and 19 inclusive. +19 is the largest number that can be entered with this method. Note that +{\tt mtrdenl=0} still represents a whole note. + +{\bfx Method 2.} \NEW{1.4} Enter the four numbers verbatim in the order just +listed, but separate them with slashes ({\it /}). + +\subsubsection{Bar numbers} + + By default \PMX will place a boxed bar number at the start of every system +except the first, above the clef at the beginning of the top staff. Numbers start at +1 unless the first bar is a pickup included in the first input block, in which case +the pickup bar is numbered 0. There is no way to change any of this except with +inline \TeX. + + There are several ways to modify specific aspects of bar numbering +when blank gaps have been inserted (see section~\ref{Gaps}), or to continue +numbering rather than resetting to zero at a movement break +(see section~\ref{movbrk}). + + If you wish to mover the bar number box at the start of any system, +enter the type 1 inline \TeX~ command {\tt\bs bnrs[i][j]} anywhere in the +system before the linebreak, where {\tt [i]} is the vertical shift in +{\tt \bs internotes} and {\tt [j]} is the horizontal shift in notehead +widths. + +\subsubsection{Fundamentals of key changes and transposition}\label{transpose} + +As explained in section~\ref{setupdata}, the intial key signature, also called +the concert key, is specified in the setup data. In order to change the key +signature or to transpose (i.e. make the printed notes appear at a different +level than where +they were entered), use the {\tt K} command. The syntax is {\tt K}[{\it n}][{\it k}] +where {\it n} and {\it k} are explicitly signed digits respectively giving the distance +to transpose in \bs{\tt internotes}, and +new key signature. When transposing, you should always use relative accidentals, activated by +the separate command {\tt Ar} at the start of the first input block (see section~\ref{ArDirective}). +For example, to transpose a piece in C major to E major you would enter +{\tt Ar~K+2+4} at the beginning of the first block. + +To transpose by a half step to a key with the same +letter name, use {\tt K-0}[{\it k}] where as before {\it k} is an explicitly signed integer giving +the new signature. +(Using {\tt -0} instead of {\tt +0} eliminates confusion with a simple key +change, see the next paragraph.) + +A simple key change can be signalled at the start of any input block. Use +the command {\tt K} with {\it n}={\tt +0} as the first argument and the new key signature as the second. + +If the signature changes from sharps to flats +or vice-versa, the default will be to include naturals in the first instance of the new +signature. To suppress this behavior, use the \NEW{2.7}option {\tt n} right after {\tt K} . +For example, to change from +2 flats to 3 sharps and suppress the naturals, enter {\tt Kn+0+3} . + +The procedures described above will affect all instruments in the score. To change the key of or +transpose just a single instrument, use Ki[{\it m}][{\it n}][{\it k}] when {\it m} is an unsigned integer +representing the instrument number, and {\it n} and {\it k} are as just described. +For more than one instrument, you may immediately repeat everything after {\tt K} (including {\tt i}). +This may come either at start of score (right after setup) or at the beginning of any later input +block. But if it's later, it must be preceded by a normal +(full score) non-transposing key change command {\tt K+0}[{\it k}]. +For example, to change the keys of the second and third instruments to one sharp and two sharps +respectively, use {\tt Ki2+0+1i3+0+2} . + +\subsubsection{More on transposition; ``transposing'' instruments and example files} + +In practice, two fundamentally different situations may arise: (1) (Full-score transposition) A +score that has been entered in one key +is to be completely transposed to a different key and pitch level, usually to force the range to fit +different instruments than original; or (2) (``Transposing'' +instruments) some of the instruments require a part printed in a different key and at a different +pitch level than it sounds. + +To transpose +an entire score from the key specified in the setup data (Case TTA), simply use the +{\tt K} command at the +beginning of the first input block, as outlined in the previous section. + +It gets more complicated when some transposing instruments are involved, +because there are three different possibilities: +(Case~CTS)~The transposing instruments can be entered in concert key but printed +transposed in the score and in separate parts created with {\bfx scor2prt} (see +section~\ref{scor2prt}); +(Case~TTS)~They can be entered transposed and printed transposed in +both the score and in parts; +(Case~CCS)~They can be entered in concert key and printed in concert key in the score, but +printed transposed in parts. Matters are further complicated if there is a later key +change. Finally, if a MIDI file is to be produced, then in cases CTS and TTS an additional +step involving the transpose option to the MIDI command {\tt I} +(see section~\ref{MIDI}) must be taken. + +All of the required commands for all four of these cases are summarized in the table +below. Following that, they are discussed a bit further and illustrated in +four example files (named [Case]{\tt .pmx}) that are also included in the distribution. + +\font\smaller=cmr10 +{\smaller +\begin{center} + \begin{tabular}{cllcll} + \hline + Case & PMX entry & Printed score & MIDI pitch & Initial commands & Later key change \\ + \hline + TTA & All B flat major, & All transposed up & transposed & {\tt K+2+2} & {\tt K+0-5} \\ + ~ & later key change & 2 steps to D & ~ & {\tt I} & ~ \\ + ~ & to B flat minor & major, later to D & ~ & ~ & ~ \\ + ~ & ~ & minor & ~ & ~ & ~ \\ + \hline + CTS & All B flat major, & Trombone (1) & concert & {\tt Ki2+5+1i3+1+0} & {\tt K+0-5} \\ + ~ & later key change & concert; alto sax & ~ & {\tt IT+0-5-1} & {\tt Ki2+5-2i3+1-3} \\ + ~ & to B flat minor & (2) transposed up & ~ & ~ & ~ \\ + ~ & ~ & 5 to G, later G & ~ & ~ & ~ \\ + ~ & ~ & minor; clarinet (3) & ~ & ~ & ~ \\ + ~ & ~ & transposed up 1 to & ~ & ~ & ~ \\ + ~ & ~ & C, later C minor. & ~ & ~ & ~ \\ + \hline + TTS & Trombone (1) & Trombone (1) & concert & {\tt Ki2+0+1i3+0+0} & {\tt K+0-5} \\ + ~ & concert; alto sax & concert; alto sax & ~ & {\tt IT+0-5-1} & {\tt Ki2+0-2i3+0-3} \\ + ~ & (2) transposed up & (2) transposed up & ~ & ~ & ~ \\ + ~ & 5 to G, later G & 5 to G, later G & ~ & ~ & ~ \\ + ~ & minor; clarinet (3) & minor; clarinet (3) & ~ & ~ & ~ \\ + ~ & transposed up 1 to & transposed up 1 to & ~ & ~ & ~ \\ + ~ & C, later C minor. & C, later C minor. & ~ & ~ & ~ \\ + \hline + CCS & All B flat major, & All B flat major, & concert & {\tt \%2K+5+2} & {\tt K+0-5} \\ + ~ & later key change & later key change & ~ & {\tt \%3K+1+0} & ~ \\ + ~ & to B flat minor & to B flat minor; & ~ & ~ & ~ \\ + ~ & ~ & parts printed & ~ & ~ & ~ \\ + ~ & ~ & transposed & ~ & ~ & ~ \\ + \hline + \end{tabular} +\end{center} +\medskip +} + +{\bfx Case TTA: Full score transposition.} +Here the entire score is to be transposed. In the setup data the signature is set to -2. Then +the command {\tt K+2+2} says to transpose up 2 steps from the initial key of B flat to D, and put 2 +sharps in the key signature. No special attention is needed for the MIDI; it will come out in the +transposed key. A later (full-score) key change requires another {\tt K} command, but now the +transposition parameter is set to 0 and the new key is the concert key (I guarantee people will be +confused by this). In the example the command for the signature change is {\tt K+0-5} , making the +new concert key B flat minor with 5 flats, and, considering the initial transposition, causing the +score and MIDI to come out in D minor with 2 flats. + +{\bfx Case CTS: Parts all entered in concert key, but some transposed in the printed score.} +Here, to produce the +printed score, parts are all entered in concert key, but instrument-wise transposition is used for +the transposed instruments. In the example the alto sax part is entered in B flat but will be +transposed up 5 steps in the printed score, to G major. This is brought about with {\tt Ki2+5+1} . Similar +logic applies to the clarinet part, while the trombone part is not transposed. If a MIDI file is +desired, it will come out in concert key, but only after using the transpose option in the MIDI +command to undo the transpositions caused by the K command. In the example the command +{\tt IT+0-5-1} does this, ``de''transposing each of the three instruments by the necessary number of +steps. For a later key change, first the full-score {\tt K} command changes the concert key, then the +instrument-wise {\tt Ki command}, with the same transpositions as the initial one, sets the new key +signatures for the transposing instruments. Here the signatures to be entered are the transposed +signatures, i.e., the ones that will be printed. + +{\bfx Case TTS: Parts entered in respective transposed keys, and printed in those keys in the score.} +In this method of scoring transposing instruments, parts for transposing instruments +are transposed ahead of time and +entered exactly as they will appear in the score. So to produce the printed +score this way, the pitch does not have to be changed, but the key signatures must be set +separately for each transposing instrument using the {\tt Ki} command. In the example, the alto sax is +entered in the key of G so the instrument-wise option for it is {\tt Ki2+0+1} . Note that {\tt +0} means no +further transposition is needed before printing, because the part was transposed on entry. Once +again, if a MIDI file is desired, it will come out in concert key, but just as in the previous case, +you must use the transpose option in the MIDI command {\tt IT} to undo the transpositions caused +by the {\tt K} command. For a later key change, the same full-score {\tt K} command as in the previous +case is used to change the concert key. Then the instrument-wise {\tt Ki} command, now with {\tt +0} for +the transpositions, sets the new key signatures for the transposing instruments, again using the +transposed signatures. + +{\bfx Case CCS: Parts entered in concert key, printed in score in concert key, but transposed in +separate printed parts.} +This is the easiest case of all. Nothing special needs to be done for the score, but part-only, +full-score transposition commands {\tt\%}[instrument number]{\tt K...} should be entered in the score. Then +{\bfx scor2prt} will generate a transposed part. Of course if a MIDI is made from the score it will +come out at concert pitch. For example, to transpose the alto sax part up 5 steps, initially to G +major, near the top of the score file enter {\tt\%2K+5+1} . Later, where the concert key changes to B +flat minor and the alto sax to G minor, enter simply {\tt K+0-5}, making the new concert key B flat +minor with 5 flats. When {\bfx scor2prt} is invoked to make separate parts, this will be transferred +verbatim into all parts, and then \PMX will internally adjust the signature for each transposed part +as required. + +{\bfx Making separate parts.} +In all of the cases discussed, if the patterns of commands in the table are followed, then +separate parts can be made as usual using {\bfx scor2prt}. They will +automatically come out transposed as desired. + +\medskip +%\pagebreak +{\bfx Texts of the transposition sample files:} +% Note: when editing is done, figure out how to make scripts size work without page break. +\begin{scriptsize} +%\begin{tiny} +\begin{multicols}{4} +\begin{verbatim} +%TTA.pmx +3 2 4 4 4 4 0 -2 +1 1 20 .13 +Trombone II+III +Trombone I +bbb +.\bs +Tt +TTA +Apr +I +K+2+2 +b42 d f b t b t gf df b / +b42 d f b t b t gf df b / +b42 d f b t b t gf df b / +K+0-5 +b42 c d e f gs as b / +b42 c d e f gs as b / +b42 c d e f gs as b / + + + +%CTS.pmx +3 3 4 4 4 4 0 -2 +1 1 20 .1 +Trombone +Alto Sax +Clarinet +btt +.\ +Tt +CTS +Apr +Ki2+5+1i3+1+0 +IT+0-5-1 +b42 d f b t b t gf df b / +b43 d f b t b t gf df b / +b44 d f b t b t gf df b / +K+0-5 +Ki2+5-2i3+1-3 +b42 c d e f gs as b / +b43 c d e f gs as b / +b44 c d e f gs as b / + +%TTS.pmx +3 3 4 4 4 4 0 -2 +1 1 20 .1 +Trombone +Alto Sax +Clarinet +btt +.\ +Tt +TTS +Apr +Ki2+0+1i3+0+0 +IT+0-5-1 +b42 d f b t b t gf df b / +g44 b d g t g t ef bf g / +c45 e g c t c t af ef c / +K+0-5 +Ki2+0-2i3+0-3 +b42 c d e f gs as b / +g44 a b c d es fs g / +c45 d e f g as bs c / + +%CCS.pmx +3 3 4 4 4 4 0 -2 +1 1 20 .1 +Trombone +Alto Sax +Clarinet +btt +.\ +Tt +CCS +Apr +%2K+5+1 +%3K+1+0 +I +b42 d f b t b t gf df b / +b43 d f b t b t gf df b / +b44 d f b t b t gf df b / +K+0-5 +b42 c d e f gs as b / +b43 c d e f gs as b / +b44 c d e f gs as b / +\end{verbatim} +\end{multicols} +\end{scriptsize} +%\end{tiny} + +\subsubsection{Text} + + The commands {\tt h} or {\tt l}, when placed in the first +column of an input line and followed by a blank or, for {\tt h} only, by +a signed integer, +stand for {\bfi h}{\it eader} and {\bfi l}{\it ower text}. They will put a +text string +above or below the {\it top} staff in the {\it first} bar of the block where +they are entered. The text string must be on a line of its own, +immediately following the command. The integer is a vertical shift in +\bs{\tt internote}s. + + A {\it title block} with up to three elements can be defined at the +beginning of the first input block. {\tt Tt} signals that the text +{\it on the following line} is to be set as a {\bf t}itle for the whole piece, +and it will be centered. {\tt Tc} similarly indicates a {\bf c}omposer's name, +to be set below the title and right justified. {\tt Ti} likewise stands for +an {\bf i}nstrument name, which will be set above the title, left-justified. +The text for any of these commands can be split over two or more lines +by including \bs\bs~at the location of the line break. + +{\tt Ti} will automatically be invoked by {\bfx scor2prt} when it generates +parts from a score. + +Extra vertical space can be added between the title +block and the top system by appending to {\tt Tt} a one- or two-digit +number representing the space in \bs{\tt internote}s. This only works if +{\tt Tt} is the {\it final} title block element entered. + +The {\tt D} command can be used to enter arbitrary text as described in +section~\ref{dynamics}. + +Lyrics may be entered as described in section~\ref{lyrics}.\NEW{2.73} + +\subsubsection{Page numbering, centered header text} + + If you want pages to be numbered at the top left or right, place +the command {\tt P} anywhere within the \PMX code that represents the first +page to be numbered (usually the first or second page). +{\tt P} can be followed optionally by the starting +page number and/or by {\tt l} or {\tt r}, the latter overriding the default +locations of odds on the right and evens on the left. \NEW{2.0} +There is also a special option {\tt c} for {\bf c}entered header text. +It must be the {\it last} +option in the {\tt P} command. It will define text to be printed at the top of +every page {\it after the first}. If a blank follows {\tt c}, the default +header text will +be the instrument name entered with the command {\tt Ti} . If any non-blank +character except {\tt "} follows {\tt c}, the header text will start with that +character and end at the next blank. If {\tt "} follows {\tt c}, the +header text will be everything between that and the next {\tt "} (this +permits headers containing spaces). The {\tt P} command and its options +will be ignored when making parts from a score (since page numbering +will usually be different in the score than in the parts), but page +numbering (and centered headers) for parts can be still be initiated +independently, for example with {\tt \%!P2} or {\tt \%1P2r} (see +section~\ref{scor2prt}). + +\subsubsection{Overriding certain defaults, or +getting the most from \PMXX}\label{Acommands} + +Understanding this section is important if you want to get the most out +of \PMXX. In many +cases the switches described here represent subtle but significant +improvements that have come along since \PMX was initially developed. Rather +than changing the defaults, they are treated as optional in order not to +upset the layout of older scores. For example, virtually every new score I +create begins with at least {\tt Abple}. + +As you may have guessed, it is the command {\tt A} that can be used to +override a grab-bag of default settings. The available options affect a +wide range of \PMX features: sizes +and interpretation of accidentals, +dot positions, space before the first note of every bar, space between staves, +slur package selection, vertical positioning of Type K postscript +slurs, line-breaking Type-K slurs, curvature of Type-K slurs, +naming of parts, vertical positioning of rests in 2-voice staves\NEW{2.6}, +brackets for non-beamed xtuplets, and inputting so-called +{\it normal include} files. + +{\bf Size of Accidentals.} +{\tt b} makes all accidentals +{\bf b}ig, {\tt s} makes them all {\bf s}mall. By default, big ones are used +unless unaltered spacing doesn't provide enough space. Thus the default +behavior may cause a mixture of big and small accidentals, and in fact is not +recommended. + +{\bf Relative accidentals.}\label{ArDirective} +If transposing, then the {\bf r}elative accidental convention must be used, +indicated by {\tt r}. This changes the way you enter accidentals. With +relative accidentals, the note options {\tt s}, {\tt f}, {\tt n} take on +unconventional meanings, now respectively signaling that a note should be raised +a half step, lowered a half step, or left alone {\it relative to the pitch +it would have according to the key signature}. So for example, with {\tt Ar}, +in the key of B flat major the note command {\tt bs} would cause a B natural +to be printed. By contrast, the default is +the normal, absolute convention, where the indicated pitch alteration is +relative to what the pitch would be if there were no key signature. + +{\bf Vertical position of dots.} +If there are staves with two voices, {\tt d} causes dots in the +lower one to appear on or {\it below} center, in contrast with the default. + +{\bf Gap at start of bar.} +Use {\tt a} followed by a +decimal number to override the default setting for \bs{\tt afterruleskip}, +the space before the first note in a bar. The default in \PMX is +{\tt 1}\bs{\tt elemskip}, 20 percent smaller than \MusiXTeX{}'s. + +{\bf Space between staves within a system.} +If \PMXX's vertical spacing between staves within a system is not pleasing, use {\tt I} or +{\tt i} , followed by a decimal number, to apply a scale factor to +\bs{\tt interstaff} . {\tt I} +affects all pages, {\tt i} only the current one. Shrinking the space between +staves within each system will cause the space between systems to increase, and +conversely. These options have no effect if there is only one staff per system. + +{\bf Equal space between systems.} +\label{AeDirective}\MusiXTeX~normally draws a virtual box around each system +and inserts equal vertical space between boxes. \NEW{2.3} +When objects protrude above the top staff in a system or +below the bottom one, this can lead to unequal spacing between the top staff +line in one system and the next. If you prefer that the vertical spacing +between the staves of consecutive systems be constant for the whole page, +use the {\tt e} option of the {\tt A} command. One side benefit of {\tt Ae} +is that it will prevent systems from spilling over onto extra pages, +regardless of how many systems are put on the page. When using this option, +you may occasionally want to force more vertical space between certain systems. +There is a \TeX~macro +{\tt \bs spread} that can be inserted anywhere in the system before the +desired wider gap. It has one argument, the desired extra space in +{\tt\bs internote}s. + +{\bf Stop grouping systems at top in sparse pages.} +Another \NEW{2.4}\ command affecting vertical spacing is the {\tt v} +option of the {\tt A} command (for +{\bf v}ertical). \PMX normally spreads staves +vertically over a full page, unless the white space becomes excessive, +in which case it groups all staves near the top of the page. Entering +{\tt Av} will suppress this grouping near the top, and ensure that +systems will always be spread vertically regardless of how much white +space is left. It is a toggle; the second time it is issued, the +behavior reverts to the default. + +{\bf Add extra vertical space before and/or page eject (last resort)}\NEW{2.8} +As a last resort in getting the right spacing at the top or bottom of a page, +the option {\tt V} will insert a vertical skip of the specified number of +{\tt \bs Internote}s before and after the next page eject. It must be followed by +{\tt +} or {\tt -}, then a number, then another {\tt +} or {\tt -} and number. + +{\bf Make some staves smaller.} +The {\tt S} +option to the {\tt A} command\NEW{2.7} allows you to specify a +different size for selected staves and their notes compared to the +global value set in the setup data. It is followed by exactly {\tt noinst} +characters, one for each instrument, selected from +{\tt 0}, {\tt -}, {\tt s}, or {\tt t} for +normal, small, small, or tiny sizes respectively. + +{\bf Postscript slurs.} +The \label{ApDirective}\NEW{2.4} command {\tt Ap} activates Type K +{\bf p}ostscript slurs. To use this +you must have {\tt musixps.tex} somewhere that \TeX~can find it, and +{\tt psslurs.pro} somewhere that {\bfx dvips} can find it. +If these files happen to be missing from your \TeX~distribution, they +can be found +\href{http://www.icking-music-archive.org/software/musixtex/musixtex.zip} +{\underline{here}}. +Several suboptions affecting Type K +postscript slurs are described here and in the following paragraphs. First, +by default these slurs and ties will not have their vertical positioning tweaked +to avoid tangencies with staff lines. To activate this type of adjustment, +use one of the suboptions {\tt +s} or {\tt +t} for +slurs or ties respectively. +(For example, {\tt Ap+s}). Be +warned that this may alter the endpoint positions from what one would normally +expect. To deactivate the adjustment, use the same command but with {\tt -} . +Another suboption of {\tt Ap} affects line-breaking slurs. Normally a full tie +is drawn at the start of the second line. +However, the suboption {\tt Ap+h} causes the use of +{\it{\bfi h}alfties} for the second part, which are flattened at their +left-hand end, and require the +special font {\tt mxsk} provided with the Type K postscript slur distribution. +It may be cancelled with {\tt Ap-h} . + +The \NEW{2.5} suboption {\tt l} (e.g. {\tt Apl}~) activates some other tweaks +and tweaking capabilities for line-breaking Type K slurs and ties. It +automatically tweaks the +horizontal positions of the end point of the first segment and the start of the +second, uses a normal tie character for both segments of a tie, and enables +further tweaking of the horizontal and vertical positions of internal endpoints +on a case-by-case basis, using options in the initial slur or tie command (see +section~\ref{lbslurs}, and the end of the fourth system in the example file +{\tt barsant.pmx}). + +Another pair of \NEW{2.5}suboptions to {\tt Ap} affects the default curvature of +Type-K postscript slurs. {\tt Ap+c} and {\tt Ap-c} will respectively increase or +decrease the default curvature of all slurs to the next level in the sequence +{\tt f, n, h, H, HH} . (Here {\tt n} stands for {\bf n}ormal.) Several levels +may be traversed by repeating the suboption, e.g., {\tt Ap+c+c} increases the +default curvature by two levels. If you try to +go outside the allowable range, a warning will be issued, the curvature will be +set to +{\tt f} or {\tt HH} , and processing will continue. See section~\ref{slurs} for +further details. + +If \NEW{2.5} your score contains Type K slurs and if you use a program such as +{\bf dviselec} to extract single pages +from a {\tt .dvi} file, you should use the suboption {\tt h} (e.g. +{\tt Aph}~) . This will cause the header file {\tt psslurs.pro} to be written +into the postscript file at the top of of every page. + +{\bf Vertical rest positioning in keyboard scores.} +The\NEW{2.6} option {\tt AK} activates special rules for vertical positioning of rests in +two-voice staves. By way of background, without this option, rests in two-voice +staves have default positions based on a simple rule that is not +context-sensitive: those in the lower voice (the one before {\tt//}) are +4\bs{\tt internote}s below their single-voice default positions, and those in +the upper line are 2\bs{\tt internote}s above the single-voice default. In contrast, the +option {\tt AK} invokes a set of context-sensitive rules to set the default +position. The baseline rule is to align the rest in a horizontal line with the +next following note in the same bar. If there is no following note in the bar, +then it is aligned with the next prior note. If there are simulataneous rests +in both voices, the old rule is applied. When the {\tt AK} option is in force, +it only affects places where there are two voices in a staff. It may be toggled +on and off at the beginning of any input block, using just {\tt AK}. When the +option is in effect, any user-defined tweaks on the height of a rest will +supersede the option for that particular rest, i.e., the tweak will be applied +relative to the single-voice default position. When {\tt AK} is in effect, the +option {\tt L} in a rest command will cause the vertical position of that rest +to be based on the {\it preceding} note, rather than the following one as is +the default. + +{\bf Names of \PMX files for parts.} +The \label{ANDirective}option {\tt N} to the {\tt A} command allows you to specify +arbitrary names for the part files generated by +{\bfx scor2prt}. Follow {\tt AN} with the part number and the new file base name in double +quotes. Immediately follow this with any number of additional part numbers and +alternate file base names in quotes. When part files are generated, {\tt .pmx} will be +appended to the requested base name. + +{\bf Gapped bracket for nonbeamed xtuplets.} +Non-beamed \label{ATDirective}\NEW{2.5}xtuplets will normally be printed with +a bracket above or below, and +a number above or below that. If you would like this number instead to be +positioned within a gap in the bracket itself, enter {\tt AT} .You must have +{\tt tuplet.tex} available to your \TeX~processor. If missing, this file +can be found +\href{http://www.icking-music-archive.org/software/musixtex/musixtex.zip} +{\underline{here}}. + +{\bf ``Include'' file.} +\PMX commands \NEW{2.5}in an external file can be included at the start of any input +block by designating the file as a {\it normal include} file, using the +command {\tt AR}[{\it filename}] . See section~\ref{ARDirective} for details. + +{\bf Positioning printed pages.} +For \NEW{2.7} printing on {\bf l}etter or a{\bf 4} paper, the command {\tt Acl} or +{\tt Ac4} will set the margins +of the printed area so it will be properly centered with no further +adjustments needed when running {\bfx dvips}. + +\subsubsection{Extra hardspace, horizontal shifts} \label{hardspace} + + Despite the author's best intentions to relieve you of the chore +of adjusting {\it any} horizontal spacing by hand, there may be some occasions +where you +will want to do it. A command starting with {\tt X} initiates one of two +types of horizontal adjustment: A {\it shift} moves one or more +characters but does not affect any other spacing anywhere; a +{\it hardspace} inserts a fixed amount of space at a particular time and +affects the horizontal positions of everything in all staves in the system. +If the command includes {\tt S}, it is a {\bfi s}{\it ingle} shift and affects +only the next note or rest. If it includes a {\tt :} it either starts or +terminates a {\it group} shift. +All {\tt X} commands except group shift terminations +must include a decimal number for the size of the offset in notehead widths. +If the number is immediately followed by +{\tt p}, then the number represents points, otherwise, notehead widths. +If there is no such number but there is a {\tt :} the command +signals a group shift termination. +Group-shift commands must occur in +start/terminate pairs, and group shifts cannot extend across a bar line. + +An {\tt X} command containing neither {\tt S} nor {\tt :} is +automatically a hardspace. + +Because horizontal spacing in parts will usually differ from that in the +score, by default the hardspace command will {\it not} be copied into parts +by {\bfx scor2prt}; however the shift commands will be copied. +These behaviors can be overridden using the methods to be described in +section~\ref{scor2prt}, Alternatively, \NEW{1.42} to help keep \PMX score +files neat +and readable, the character {\tt B} can be used within the {\tt X} command +to signify that it applies to {\bf b}oth score and part, or {\tt P} for +{\bf p}art only. + +\subsubsection{Minimum spacing between notes in crowded systems} + + \PMX does some special, complex analysis to adjust horizontal spacing +in crowded systems. By default, the minimum space between consecutive +noteheads is 0.3 notehead widths. In very special situations you may want to +change 0.3 to some other fraction. To do so, enter {\tt W. }(decimal point is required) + followed by {\tt 1}-{\tt 9} to represent the number +of tenths of a notehead width to be used as the minimum spacing. Use of this option +is demonstrated in the example file {\tt barsant.pmx}. + +\subsubsection{Page size} + + The default page size is 740 by 524 pt (10.3 by 7.3 in). To change +the height or width, use the special commands {\tt h}[{\it n}][{\it u}] or +{\tt w}[{\it n}][{\it u}] at +the beginning of the first input block. Here {\it n} is a decimal number +for the new dimension and {\it u} defines the units; {\tt i} for inches, {\tt m} for +millimeters, and {\tt p} or nothing for points. This command can be used +together with {\tt \%\%} or {\tt \%!} +(see section~\ref{scor2prt}) to give the parts made by +{\bfx scor2prt} different page sizes than the parent score. + +\subsubsection{Line, page, and movement breaks} \label{movbrk} + + It is possible to force line, page, or movement breaks anywhere. +For a line break, just enter {\tt L}[{\it n}] at +the start of an input block (in the first voice only), and the {\it n}-th +system will start there. To start page {\it m} at line {\it n}, enter +{\tt L}[{\it n}]{\tt P}[{\it m}]. You can't force a page break without +first forcing a line break. + + To force a movement break, you must first force a line break as above, +then enter {\tt M}. If a page break also occurs here, the {\tt P} must precede +the {\tt M}. Options following {\tt M} are {\tt +}[{\it integer}] to insert +vertical space in \bs{\tt internote}s before the break, +{\tt i}[{\it decimal number}] to reset the first-line indentation as a fraction +of the line width, and {\tt c}\NEW{1.41} to {\bf c}ontinue bar numbering rather +than resetting the bar number to 0 (which is the default). \NEW{1.4}Also, to +change the {\bf n}umber of instruments, +enter {\tt n}[{\it integer}], then the number of each instrument in their new +order, then a clef-designating character for each staff of each instrument. +(An instrument's number is simply its position in the original sequence.) +There can never be more than the original number of instruments. In this +instance, \NEW{2.5}two-digit instrument numbers must be preceded with +{\tt :} (colon). If you want to start with some number of instruments and +later increase it, you'll need to insert +a dummy page at the beginning with the full set of instruments, then start the +second page with a movement break and decrease the number there. + +Another\NEW{1.4} option after {\tt M} is {\tt r+} or {\tt r-}, which either +forces or +suppresses {\bf r}eprinting the instrument names. The default is to print +them if the number of instruments changes, but otherwise not. + + Immediately after a movement break, any desired meter changes, +key changes, or text can be entered in the normal way. + +\subsubsection{Blank gaps} \label{Gaps} + +A blank gaps can be insterted in the middle or at the end of almost any system. +The middle gap might be used to create a very short coda at the end of a +system. The end gap leaves the system shorter than the others. Both types +create a space that could be used for text comments. + +Both types of gapped systems are initiated by an option to an {\tt L} command at +the beginning of the system in question. The syntax is +{\tt L}[{\it n}]{\tt S}[{\it x}] where [{\it n}] is the system number, +[{\it x}] is the fraction of the width of the system up to the beginning of the +gap, and no brackets are to be entered. This must be soon followed by a normal +{\tt L}[{\it n+1}] command to start the next line. With no intervening {\tt LC} +command (see below), the system entered between the two {\tt L}'s will simply +start at the left margin and be shortened to a length of {\it x} times the +default. + +To create a middle gap, begin as above with {\tt L}[{\it n}]{\tt S}[{\it x}] +followed by the material to the left of the gap. Then enter {\tt LC}[{\it y}] +to insert a gap followed by another segment of music extending to the end of +the system. Here {\it y} is the fraction of the total system length occupied +by the second segment (so the fraction of the width occupied by the gap will +be 1-{\it x}-{\it y} ). The second segment must soon be followed by +{\tt L}[{\it n+1}] to start the next normal line. Obviously {\it x}+{\it y} +must be less than 1. + +Normally a bar number will appear at the beginning of the second segment after +a gap. To suppress this, use {\tt LC}[{\it y}]{\tt n} to start the second +segment. + +If you want to insert text into the gap, one way is to use the text-dynamics +command after the last note before the gap: +{\tt D"}{\it text}{\tt "}[{\tt +},{\tt -}][{\it n}][{\tt +},{\tt -}][{\it m}] , where +{\it n} and {\it m} are the vertical and horizontal offsets from default +position. Some trial and error will always be needed here. + +In a system with a gap, the default barline at the end of one or two segments +of music will be a single bar unless the following line starts a new movement +in which case it will be a double bar. If you want to change either of these +segment-ending barline symbols to something else, then after the last note in +the lowest voice before the gap, you may use the normal ``repeat'' command, +e.g. {\tt RD} for a thin-thick double bar, or with other options for different +symbols as explained in \ref{Repeats}. If you use this option, it must be +immediately followed by a space and {\tt /} to end the input block. So in +particular if you have entered some text with the {\tt D} command, that must +come before the {\tt R} command. + +Here is an example \PMX file incorporating the different types of gaps, +followed by the output it produces: + +%\pagebreak +\begin{verbatim} +1 1 2 4 2 4 0 -1 +1 9 20 .1 +Harp +t +.\ +h7.4i +Abe +h +Movement 1 +f44 g a g f g a g / +L2S.4 +f44 g a g a g D"\bigfont Hello"+8+8 / +LC.4 +f44 g a g a g / +L3 +f44 g a g f g a g / +L4Mi.1+11 +h +Movement 2 +f44 g a g f g a g / +f44 g a g oC+1+6 f g a g / +L6S.4 +f44 g a g a g + D"\bigfont D.C. al"+10+6 D"\bigfont Coda"+4+6 RD / +LC.4n +f44 oC+2 D"\bigfont Coda"+18-8 g a g a g / +L7Mi.1+11 +h +Movement 3 +f44 g a g f g a g / +f44 g a g f g a g / +L9S.8 +f44 g a g a g D"\BIgfont The end"+6+11 / +\end{verbatim} + +\includegraphics[scale=.7]{gapxmpl.eps} + +\subsubsection{Fractional bars} + + Often if a piece starts with a pickup, the last bar may not be +complete. In such cases, it is usually possible to +place the last bar in an input block by itself, headed by a {\it blind} meter +change. +For example, if the meter had been 4/4 and there was a quarter note +pickup, leaving 3 beats in the last bar, the last bar might be coded +{\tt m3400 cd24 /}. + +\subsubsection{Stem direction of bass notes} + + By default \PMX makes stems go up for middle-line D's in bass +clef, but down for notes on the middle line of all other clefs. If +you want middle-line bass-clef notes also to have downward stems by default, +enter a {\tt B} near the beginning of the file. + +\subsection{Putting {\TeX} Commands into the {\PMX}File } \label{LitTeX} + + There are five ways to enter \TeX ~commands into the {\tt .pmx} file. +Four of +them are {\it in-line}, where the commands are entered directly; the fifth +is by way of an external file. + + The four categories of in-line \TeX~strings +differ mainly in where they will appear in the {\tt .tex} file. +(A \TeX\ {\it string} consists of a starting character, a sequence of +\TeX~commands, and a terminal character). +In the {\tt .pmx} file, +only type 4 \TeX~strings may wrap over line breaks. All in-line \TeX\ must +adhere to the 128-character limit per line, but each line can have more than +one \TeX\ command. +Type 1 begins with a single \bs\ and will appear in the {\tt .tex} file +right before the \TeX +~command for the next note or rest in the {\tt .pmx} file. Multiple +type 1 strings associated with the same note or rest are allowed, although +the total length may not exceed 128 characters (so there is generally no +reason not to combine all \TeX\ commands for a single note into a single +type 1 string). + +A type 2 string begins with \bs\bs\ +and will appear near the top of the {\tt .tex} file, right before +\bs{\tt startmuflex}, regardless of where it appears in the {\tt .pmx} file. +A type 3 string starts with \bs\bs\bs\ and will appear right before the +{\tt\bs xbar} +or {\tt \bs alaligne} at the beginning of the current input block, before the +first barline of the block. While individual type 2 and 3 strings may not wrap +over line breaks in the {\tt .pmx} file, strings of like type on consecutive +lines will appear together in the {\tt .tex} file. +Types 1, 2, and 3 strings must end with \bs\ (backslash-space). +This means that they may not contain +the \TeX\ macro \bs\ (backslash-space). Finally, each type 2 or 3 string +should be isolated on a line of its own, and should be started in column 1. + +Type four permits multiple +lines of arbitrary text to be entered at the top of the {\tt .pmx} file; +they will be transferred verbatim to the top of the {\tt .tex} file. Type +four is initiated with {\tt ---} alone as the top line of the {\tt .pmx} +file. Then follows any text on any number of lines, until the next line +starting with {\tt ---} terminates the block to be transferred. + +The only other distinction among the types of in-line \TeX\ strings arises when +{\bfx scor2prt} is used to make separate parts +(see section~\ref{scor2prt}): +types 2-4 will be copied into all parts, while type 1 only goes into its +original part. + +If you should want to enter a type-1 (note-based) string longer than +128 characters, you could use a series of type-2 or -3 strings to define +a \TeX\ macro containing the desired commands. + + \PMX provides one further option for entering an unlimited set of +\TeX ~commands +just before \bs{\tt startmuflex}, and before any Type 2 in-line \TeX ~strings. +Simply put the commands into a text file named [{\it basename}]{\tt .mod} +in the texinput directory. It will then automatically be +entered with an \bs{\tt input} command. This feature is retained mainly for +backward compatibility; it has been essentially replaced by the various options +for in-line \TeX ~strings. + +\subsection{Figured Bass} + + Figure commands are entered {\it after} their associated note commands. +They only work in the first (lowest) voice, and in any one other voice\NEW{2.6}. +Enter the characters as +they would appear from top to bottom, and as you might pronounce them, +e.g., {\tt 64} or {\tt 73}. Flats here are {\tt -} (minus), sharps are +{\tt \#}, and +naturals {\tt n}, {\it before} the number (if there is a number) (notice +the characters are different here than in notes). +So for example {\it sharp third} is {\tt \#3}, just a sharp is {\tt \#}, {\it six (over) +flat five} is {\tt 6-5}, and {\it sharp six (over) 4} is {\tt \#64}. +In addition to the symbols just described, the following special symbols +are available: {\specfig 2}, {\specfig 4}, {\specfig 5}, {\specfig 6}, {\specfig 9} . +\NEW{2.6}To use them, you must have the font +\href{http://www.icking-music-archive.org/software/musixtex/add-ons/figbas.zip}{\underline{\tt cmrj}} +in your \TeX~system, and then just put an {\tt s} after the number. + +The program +positions all the figures for each system below the lowest staff of that +system, with their tops aligned, and just low enough to clear the +lowest beam, notehead, or stem that could interfere. If you would like to +change the vertical alignment for the remainder of the staff starting at a +figure after the first, \NEW{2.71}append {\tt v}[{\it n}], where {\it n} is an +integer representing the vertical shift in \bs{\tt internote}s, which may +have a minus sign. + +If you want a figure to +align horizontally in the second tier, insert the placeholder figure +{\tt\_} (underscore) before the one you want lowered. This is equivalent to +lowering the figure stack by 4 \bs{\tt internote}s. +\NEW{2.6}If you want to {\it raise} the entire stack by an integral number of +\bs{\tt internote}s, append {\tt +} and the number. This can be combined with +the placeholder figure {\tt\_} to provide full control over the vertical +position of the stack. + + Sometimes you may need to enter a figure when there's no bass +note sounding. To do this, just after the most recent bass note enter +{\tt x}, followed by a two single digits (the first is a repeat count; the +second a time value, i.e., {\tt 2,4,8,1,} or {\tt 3}), immediately followed by a figure symbol +as defined in the previous paragraph. This will +offset the figure from the associated note by the specified time +value. For example, if the lowest voice contained {\tt c03 x3465}, there +would be a whole-note c, and 3 quarter notes later a figure 65 below +the staff. + + There is also a {\it continuation} command, a zero followed immediately +by another \NEW{2.4} +unsigned number. This produces a horizontal line under the bass note, starting +just to the left and extending to the right by the given number of +\bs{\tt noteskip}s. The height and length of the line are set by the current +note's level and \bs{\tt noteskip} respectively. These \NEW{2.4} can be mixed in with +other figures to produce vertical stacks. If another figure follows in the +same command, use {\tt:} as a separator. +If \bs{\tt noteskip} changes or a note drops +below the starting level before the line ends, it is possible to trick +\PMX by entering separate {\tt 0}[{\it n}] commands under each consecutive note; \PMX +will automagically join them together at the same height +(thanks to Werner Icking for this idea). + + If there are figured bass commands in a {\tt .pmx} file but +you want them to be ignored, then enter the command {\tt F} at the +beginning of the body of the file. This feature would most often be +used in the form {\tt \%1F} +(see section~\ref{scor2prt}), which makes a +separate bass part with no figures. + + Figured bass commands will not be altered in any way under +transposition. There is no universal set of interpretations of figured bass +symbols, so no automatic transposition is possible. + +\subsection{Macros} + + A \PMX macro is a single command that stands literally for any +any string of characters that may occur in the input file (sorry, no +variables). It may be useful if you need to repeat the same string later. +There is no practical length limit. + +To +{\bfi r}{\it ecord} a macro, type {\tt MR}{\it n} where {\it n} is between +1 and 20. +Everything you then type will be processed normally as well as stored, +until you enter the command {\tt M}. The next time you need to enter the same +string, just type {\tt MP}{\it n} to {\bf p}lay back the macro. + +To just {\bf s}{\it ave} a macro without having \PMX process it as you +enter it, start it with {\tt MS}{\it n}. + +Macros can be redefined at will. \PMX will print a warning whenever this +occurs. + +If you use macros and want to make separate parts, some care is necessary. +{\bfx Scor2prt} will only transfer {\tt MR} macros into the part where they +originated, but will transfer {\tt MS} macros into all parts. + +\subsection{Include Files}\NEW{2.5}\label{ARDirective} +{\it Include} files are separate text files + containing arbitrary (but contextually appropriate) sequences of + valid \PMX commands. By using the techniques described in this section, + the commands in an include file can be inserted at any desired + place in the virtual \PMX file that the code processes. + They will always be syntax-checked. + +There are two types of include files, {\it global} and + {\it normal}. There can only be one global include file and it must be named + {\tt pmx.mod}. If activated, its contents will always be inserted right after + the setup data. + To activate it, two conditions must be met: (1) an environment variable + {\tt PMXMODDIR} must be defined to contain a valid path, ending with {\tt /} or + \bs~; (2) a file named {\tt pmx.mod} must be present in the directory so defined. + If {\tt PMXMODDIR} is not set, or if it is defined but there is no file + {\tt pmx.mod}, then processing will proceed as usual. + + Normal include files + can have any name and do not require any environment variable to be set. + They are activated by the PMX command {\tt AR[{\it filename}]} , placed in the + .pmx file + at the location where the included lines are to go. It will generally + only make sense to place this command at the beginning of an input block. + \PMX will first check + for the file as pointed to by [{\it filename}], which may contain a complete + or partial pathname preceding the actual file name. If [{\it filename}] is not + found, then \PMX will look for {\tt \%PMXMODDIR[{\it filename}]}, i.e., it will check + the directory defined by {\tt PMXMODDIR} if {\tt PMXMODDIR} has been set. However, + it is not necessary to define {\tt PMXMODDIR} to use a + normal include file. There may be any number of normal include files. The same + file may be used multiple times. Include files cannot contain references to + other include files via the {\tt AR} command; if you try to do that + your computer will + explode. The following information regarding all activated include + files will be printed both to the screen and to the .pml file: notice of + opening or closing, echo of the contents, error messages pertaining to syntax + errors in the included \PMX commands, and an error message if \PMX cannot find + a referenced normal include file. In the latter two cases \PMX will stop. + +\subsection{Batch Processing} + +Due \NEW{2.0} to the number of different programs that must be run in sequence +to produce a printed sheet of music with the \MusiXTeX{} system, most users +prefer to use a batch script to control the process. Since batch commands are +platform-dependent we will not provide examples here, but will mention +several \PMX features that can facilitate batch processing. + +First, whenever {\bfx pmxab} terminates due to a syntax +error, the exit code is set to 1. There are various ways of detecting this +with batch commands, then acting accordingly. +\NEW{1.4} Second, {\bfx pmxab} always writes a file +{\tt pmxaerr.dat} containing a single number: 0 if it exited normally, +otherwise the line number in the {\tt .pmx} file where the syntax +error was. With advanced batch programming techniques, this file can be +opened and read, and if there was an input error, a text editor can be +opened and the input point placed on the line with the error. + +There have been several requests to allow \PMX to keep running even +after it detects an input error. +This has not been done because in many cases any error messages after +the first one would be meaningless, or worse, uncorrected errors could +cause crashes. In any event, all the output from {\bfx pmxab} will be +stored in the log file [{\it jobname}]{\tt.pml}. + +%\setcounter{secnumdepth}1 +\section{Making Parts from a Score} \label{scor2prt} + + Separate parts can be made by running {\bfx scor2prt} and entering the +basename when prompted. The program will create {\tt noinst} separate +{\tt .pmx} files, one for each instrument. By default the files will be named +[{\it basename}][{\it n}]{\tt .pmx}, where [{\it n}] +is the sequential position of the instrument. If desired, part file names can +be customized with {\tt AN} as described in section~\ref{ANDirective}. + + In this section we describe how to control the layout of the +parts separately from that of the score, but by using commands +that are placed in the {\tt .pmx} file for the score. This eliminates the +need for ever editing the {\tt .pmx} files for the parts separately. You +can make all corrections in the file for the score, and then re-run +{\bfx scor2prt}. + + Normally all lines starting with {\tt \%} in the parent {\tt .pmx} are +transferred into all the parts. However, if a line has {\tt \%\%} in +columns 1-2, both it {\it and the following line} will be ignored when +making parts. If the ignored line contains only {\tt h}~, {\tt l}~, + {\tt Tc}~, {\tt Ti}~, or {\tt Tc} to start, +then one additional line will be ignored. + + Conversely, if a line begins with {\tt \%!} then it will be ignored as +usual in creating the parent {\tt .tex} file, but after stripping the first +2 characters the rest will be put in the {\tt .pmx} file for {\it all} the +parts. + +To enter a line into the score file that is only to be transferred to one part, +begin the line with \NEW{2.6} {\tt\%}{\it h}, where {\it h} is an {\it extended +hexadecimal digit} representing the part number from 1 to 24 +({\tt1,2,...,9,a,b,c,...,n,o}). The first +two characters will then be stripped and the rest transferred to the desired part. +For example, to force a line break to system 15 and a page +break to page 2 in part 11 only, enter {\tt \%bL15P2}. The use of the extended hex +digits {\tt a-o} creates a potential incompatibility with prior versions. +To minimize this, the +character after ``{\tt\%}" will {\it only} be interpreted as a part number if +it represents a number less than or equal to {\tt noinst}; otherwise the entire +line will be treated as an ordinary comment and transferred to all parts as +a comment. + + Although only permitted in the first voice in the score, the +following commands with all their options will automatically be copied +into all parts (unless the preceding line has {\tt \%\%}): + {\tt m, V, R, A, h, w, K}. Literal \TeX\ strings of types 2-4 will also be +copied into all parts, while type 1 will only go into its original part. + +User-defined hardspaces ({\tt X} without {\tt :}) are handled specially. By +default they are not copied into parts. There are two ways to circumvent this. +One way to insert hardspace {\it x} into part +{\it n} is to place in the score, on a line of its own, the command +{\tt\%}[{\it n}]{\tt X}[{\it x}] . The \NEW{1.42} other way is with options +in the {\tt X} command in the score: {\tt B} causes the hardspace to be +used in {\bf b}oth score and parts; {\tt P} puts it into the {\bf p}art but not +the score. + +Instrument-wise \NEW{2.7} transposition commands (see section \ref{transpose}) +are also handled specially. +When {\bfx scor2prt} encounters {\tt Ki}[{\it n}] (for instrument {\it n}) in +the score, it transfers the transposition information (transposition amount and +key signature) for that instrument into +the corresponding part, replacing {\tt Ki} by {\tt K} and keeping only the +information for instrument {\tt n}. + +Lateral shifts ({\tt X}[$\dots$]{\tt :}) will be handled normally, +staying with their original voice. + + By default the total number of systems in each part will be the +same as in the score. If you want to override this, there is a command +{\tt S}[{\it n}] (where {\it n} is the desired number of systems), which +can only appear at +the beginning of the first input block. This can be used after {\tt \%!} +to affect all the parts, or after {\tt \%}[{\it h}] to affect just part {\it h}. + {\bfx Scor2prt} will also +compute how many pages it thinks each part should have, and enter that +in the startup data for that part. If you wish to override that, then +in the {\tt .pmx} file for the score, insert for example {\tt \%3S14P2} to +force the third part to have 14 systems and 2 pages (you cannot override the +number of pages without first overriding the number of systems). + + A \NEW{2.0} musicsize of 20 is the default in all parts. This may be +overridden with the option {\tt m} in the command {\tt S}; e.g., +{\tt \%2S15m16} . + + As already noted, a {\tt P} command for page numbering in the parent +file is ignored when making parts. To initiate page numbering in the +parts, use for example {\tt \%!P} anywhere within the \PMX code representing +the first page of the parts (from \TeX 's standpoint the command must occur +between the beginning and end of the page on which the numbering is to begin). +It \NEW{2.0} will often be useful in this case to use the option {\tt c} , +which by default causes the instrument name to be centered in small type at +the top of every page after the first. + +Note the distinctions among the various usages of {\tt P}: as an option with +{\tt S}, it sets the total number of pages in a part; as an option with +{\tt L}, it forces a page break; and as a command on its own, it controls page +numbering and centered headings. + +MIDI \NEW{2.2} commands, i.e., those starting with {\tt I}, will never be +copied into parts, unless they are in a special comment line as just described. + + One function of {\bfx scor2prt} is to condense consecutive bars of rest +into a single group of special printed characters with a number above it. +The command {\tt rm} defines such a {\bf m}ulti-bar {\bf r}est as described +in section~\ref{MultibarRest}. +{\bfx Scor2prt} will automatically insert {\tt rm} commands into the +{\tt .pmx} files +for the parts where appropriate. However, for this feature to work, +the {\it first} full-bar rest in the sequence {\it must} have its duration +explicitly defined in the parent {\tt .pmx} file, either with a digit or +with {\tt p}. I.e., the feature will not work if the first rest in the +sequence inherits its duration from the previous note. + +Using the special \PMX commands listed in this section, +augmented where needed with literal \TeX ~commands, it is possible to store +{\it all} the information for both the score and the parts in a single +{\tt .pmx} file. This greatly simplifies the editing process, since +both the score and the part can be corrected at once, and parts need not be +re-edited each time they are regenerated from the score. + +\section{Making MIDI Files}\label{MIDI} + +\PMX has an elementary capability to create MIDI files. It is intended mainly +to aid in editing scores, so it does not have advanced facilities one would +want for making musically satisfying sound files. + +As \NEW{2.6} of version 2.6, \PMX can only generate MIDI files for scores with +15 or fewer voices. + +Entering the command {\tt I} before any notes have been entered +will cause a MIDI file [{\it jobname}]{\tt.mid} to be +generated in the current directory. Options may follow, without spaces. They +are defined in the following paragraphs. Multiple +options can be combined in one {\tt I} command. +{\tt I} commands can appear later in the file as well, but only at the start +of an input block. Sometimes the order of the +options matters, determining for example whether or not a user-defined pause +is included inside a macro block. + +{\tt t}{\it x} sets the tempo to {\it x} quarter notes per minute. +Default is 96. You can change tempos as often as you like, but only at the +start of an input block (as with all MIDI commands). + +{\tt i}{\it i1i2...in} assigns MIDI instruments {\it i1,i2,...,in} to the +respective \PMX instruments. The default is harpsichord, of course. If +you use this option, you must specify {\it all} instruments. +Each {\it in} is either +a 2-letter abbreviation or an integer between 1 and 255. Acceptable +abbreviations are listed below. Numbers and pairs of letters may be mixed, +but consecutive pairs of numbers must be separated by {\tt :} (colon) . +This option can only be exercised once per file. +Also, the number of instruments cannot change during a piece. + +The \NEW{2.7} number of arguments following suboption {\tt i}, as well as the next +three described suboptions, must in fact equal the number of {\it instruments}. Before +version 2.7, it was the number of {\it staves} (despite the incorrect +description in the manual!) These numbers may differ and this creates a +backward incompatibility. Hoping this won't cause too much distress, +I've enhanced the real-time error messages. + +{\tt v}{\it i1}:{\it i2}:{\it...}:{\it in} assigns MIDI \NEW{2.3} velocities +to each instrument. The colons are required. Values may range from 1 to 127. +The default is 127. + +{\tt b}{\it i1}:{\it i2}:{\it...}:{\it in} assigns MIDI \NEW{2.3} balances to +each instrument. The colons are required. Values may range from 1 to 128. +The default value is 64, which represents the center. Smaller numbers favor +the left stereo channel; larger ones the right. + +{\tt T} allows transposing any instrument by a selected number of steps \NEW{2.7} + ({\tt\bs internote}s). +It must be followed by exactly {\tt noinst} signed integers representing the +amount of transposition for each instrument in order. In practice it is useful +in two situations (1) To transpose a MIDI output up or down by one octave +(7 {\tt\bs internote}s); and (2) when a transposing instrument is printed +in the transposed key in the score after having issued {\tt Ki}, to undo +the transposition in the MIDI. + +{\tt M} initiates a macro operation. This is used for repeats, da capo's, etc. +Macros must have ID numbers between 1 and 20. Operations are start record +macro {\it i}: {\tt MR}{\it i} ; end recording: {\tt M} ; and playback (insert) +macro {\it i}: {\tt MP}{\it i} . Only one macro can be active at a time, +recording or playing but not both. If you try nesting or overlapping macros, +your computer will become psychotic. + +{\tt p}{\it x} inserts a pause of {\it x} quarter notes. Decimals are +allowed, but will be rounded to the nearest sixteenth note. + +{\tt g}{\it i} sets the MIDI gap to {\it i} MIDI clock tics. This is a silence +inserted at the end of every note, while decreasing the sounding duration +by the same amount. The default is 10, which is 2/3 of a 64th note. + + The MIDI module does not recognize graces, ornaments, repeats, voltas, or +segnos. The only ties that are recognized are those using {\tt s} or {\tt (} +alone, with no explicit ID number. Key signatures, +time signatures (meter) and instrument names will be written into the MIDI file, +the latter as track names. This will have no effect whatsoever on audible +output but will affect on-screen appearance of some MIDI file players +and editors. Location of the \PMX key-change and meter-change commands +relative to MIDI macro delimiters in the source will affect (in the obvious +way) how these data are passed to such programs. + +The MIDI file generator does not yet support changing the number of +instruments in midstream. Doing so will cause unpredictable results. + + The instruments are a subset of ``The General MIDI Instrument +Specification." Of course how they sound depends on your hardware and software. +Instruments not listed below can still be used but must be specified by number. +The numbers listed here are from the 1-128 range; when passed to the MIDI file +they are reduced by one. + +%\def\toc#1#2{\hbox to 3.1in{{#2}\leaderfill{#1}}} +\def\tentry#1#2#3{\hbox to 2in{ +\hbox to .24in{\tt #1\hfill}\hbox to 1.7in{#2 (#3)\hfill}\hss}} + +\null +\hbox to 6.5in{\vbox to 1.7in{ +\tentry{pi}{Acoustic Grand Piano}{1} +\tentry{rh}{Rhodes Piano}{5} +\tentry{ha}{Harpsichord}{7} +\tentry{ct}{Clavinet}{8} +\tentry{ma}{Marimba}{13} +\tentry{or}{Church Organ}{20} +\tentry{gu}{Acoustic Nylon Guitar}{25} +\tentry{ab}{Acoustic Bass}{33} +\tentry{vl}{Violin}{41} +}\hss\vbox to 1.7in{ +\tentry{va}{Viola}{42} +\tentry{vc}{Cello}{43} +\tentry{cb}{Contrabass}{44} +\tentry{vo}{Synth Voice}{55} +\tentry{tr}{Trumpet}{57} +\tentry{tb}{Trombone}{58} +\tentry{tu}{Tuba}{59} +\tentry{fr}{French Horn}{61} +\tentry{so}{Soprano Sax}{65} +}\hss\vbox to 1.7in{ +\tentry{al}{Alto Sax}{66} +\tentry{te}{Tenor Sax}{67} +\tentry{bs}{Baritone Sax}{68} +\tentry{ob}{Oboe}{69} +\tentry{ba}{Bassoon}{71} +\tentry{cl}{Clarinet}{72} +\tentry{fl}{Flute}{74} +\tentry{re}{Recorder}{75} +}} + +\section{Limits} + +For simplicity in writing the program, \PMX has numerous variables with +fixed dimensions. In most cases there are no checks against these limits +(hey, I've got more important things to program), so +occasionally there may be hangups due to exceeding a dimension. +Any of these can potentially be increased by making a request via the +mailing list. However, before making such a +request, try working around the problem by +breaking the input into smaller blocks. + +\subsection{Limits on quantities that a user can control} + +(The user can control the {\it number} of these items, but cannot control +the {\it limit on the maximum number} of them.) + +128 characters per input line. + +24 \NEW{2.6} staves. + +2 voices per staff. + +24 \NEW{2.6} voices per system. + +125 systems. + +600 bars. + +40 forced line breaks. + +10 forced page breaks. + +18 key changes. + +75 \NEW{2.78} pages. + +600 \NEW{2.6} notes per input block. + +15 bars per input block. + +101 slurs per input block. + +74 figures (figured bass) per input block. + +37 grace note groups per input block. + +74 notes in grace note groups per input block. + +52 literal \TeX\ strings per input block. + +6 voltas per input block. + +24 \NEW{2.6} trills per input block. + +62 chordal notes (non-spacing) per input block. + +8 beams per voice per bar. + +40 \NEW{2.5}forced beams per voice per input block. + +10 clef changes per voice per input block. + +24 notes per beam. + +24 notes per xtuplet. + +41 text-dynamic strings per input block.\NEW{2.5} + +9600 \NEW{2.78} lines in input file + +\subsection{Limits not under immediate user control} + +% Need all the spaces because this damn format insists on left-justifying +% first line of *first* paragraph in a section.. +% +\ \ \ \ \ \kern6pt 131072 \NEW{2.78} bytes in the entire input file + +20 \bs{\tt notes} groups per bar. + +20 inserted standard anti-collision spaces (not xtuplet or end-of-bar) per bar. + +20 inserted anti-collision spaces within xtuplets per bar. + +19 inserted anti-collision end-of-bar hardspaces per system. + +83 inserted anti-collision end-of-bar hardspaces. + +400 inserted standard anti-collision spaces per system. + +100 inserted anti-collision spaces within xtuplets per system. + +1000 inserted standard anti-collision spaces. + +200 inserted anti-collision spaces within xtuplets. + +24576 \NEW{2.2} bytes of MIDI output data per voice. + +\section{Closing Notes} + +\subsection{About the Example Files} + +{\tt most.pmx} contains examples of most of the \PMX commands, and a few +programming tricks, including examples in the last line of beam groups whose +notes vary widely in pitch. The printed +output displays the \PMX commands near to the resulting typeset characters. +It is more +useful to look at the printed output rather than the source file, since the +file is littered with in-line \TeX ~needed to output the text strings +representing the \PMX commands. +{\bfx WARNING:} Do not try to play this music; it could be hazardous. + +{\tt barsant.pmx} contains the first movement of a recorder sonata by the +Italian Francesco Barsanti (1690-1772). It demonstrates many of \PMXX 's +strong points in a ``battlefield'' situation: figured +bass, complex beaming patterns, xtuplets, and +automatically adjusted horizontal and vertical spacing in crowded scores. +In fact, +this single-page score pushes the limits of vertical and horizontal crowding. +To get the final result, it makes subtle adjustments using various available options: +{\tt Ae} for equal space between systems, {\tt AI1.1} to increase the vertical +space between staves in a system, {\tt Apl} to activate postscript slurs and +special treatment of line-breaking slurs/ties (note slur at end of fourth +system), and {\tt W.5} to increase minimum space between noteheads so the 64th +notes don't touch each other. This is also a +good score to try making parts with {\bfx scor2prt}. A special command +{\tt \%2S9} is used to increase the number of systems in the recorder part. + +{\tt mwalmnd.pmx} is an Allemand for harpsichord by the German +Matthias Weckmann +(1616-1674). It uses many techniques peculiar to keyboard scores, most notably +two voices per staff. + +{\tt prad5.pmx} {\tt netsoos.pmx} are examples of how to enter lyrics purely in \PMX. +They include several inline \TeX\ commands to enhance the layout. + +{\tt staffcrossall.pmx}\NEW{2.74} contains examples of staff-crossing chords. Some are +single-stemmed, some are beamed non-xtuplets, and finally beamed xtuplets. + +{\tt dyntest.pmx} contains examples showing the default vertical positions of dynamic marks. + +\subsection{A Benign Bug} + + When \TeX 'ing the output of \PMX you will usually get an {\tt Underfull +\bs vbox} message at the end of each page. This is due to my using +\bs{\tt eject} at the end of every page, which automatically spaces the +systems vertically without having to fiddle with \bs{\tt staffbotmarg}. As far +as I know, the +warning is benign, and may be ignored. + +\subsection{Where to Get Help} \label{where} + +The main home of \PMX on the internet is the software section of the +\href{http://icking-music-archive.org}{\underline{Werner Icking Music Archive}}. This +site also links to a mailing list devoted to \MusiXTeX\ and related programs including +\PMX. The denizens of this list are always willing to answer questions about any +aspect of the software. New users are strongly advised to take advantage of this +resource. + +\subsection{Acknowledgments} + + To Daniel Taupin, Ross Mitchell, and Andreas Egler for creating +\MusiXTeX{}; to Olivier Clary for suggesting a crucial modification in +the note-entry scheme; +to my colleague John DiPol (a non-musician!) for the idea of using binary masks +to define beam groupings; +to Joel Hunsberger for unraveling some deep \MusiXTeX~tangles; +to Dirk Laurie +for making \PMX accessible to vocal music by creating {\tt\bs pmxlyr} +and {\bfx M-Tx}; +to Stanislav Kneifl and Hiroaki Morimoto for developing the postscript +slur packages; to +Christian Mondrup, Andre Van Ryckeghem, Christof Biebricher, Joerg Anders, +Olivier Vogel, and other denizens of the TeX-music mailing list +for first-class bug-finding and support in responding to queries about +\PMX on the mailing list; to Luigi Cataldi, Olivier Vogel, Christof +Biebricher, and Cornelius Noack for producing translated and enhanced +\PMX tutorials; and to Bob Tennent for maintaining the software section +of the web site. +Finally, I want to mention again the invaluable contributions by +Werner Icking: his exhaustive beta testing, +uncanny bug-finding, continuing encouragement, and promotion +of \PMX right up until his sudden and premature departure from this +earthly realm. + +\end{document} diff --git a/support/pmx/doc/ref294.pdf b/support/pmx/doc/ref294.pdf deleted file mode 100644 index 6161911998..0000000000 Binary files a/support/pmx/doc/ref294.pdf and /dev/null differ diff --git a/support/pmx/doc/ref294.tex b/support/pmx/doc/ref294.tex deleted file mode 100644 index 28c426f663..0000000000 --- a/support/pmx/doc/ref294.tex +++ /dev/null @@ -1,487 +0,0 @@ -%%%%%%%%%%%%%%%%% -%% -%% ref294.tex (latex) -%% -%%%%%%%%%%%%%%%%% -\ifx\documentstyle\undefined -% \documentstyle[11pt,multicol]{article} - \documentstyle[12pt,multicol]{article} -\else -% \documentclass[11pt]{article} - \documentclass[12pt]{article} - \usepackage{multicol} -\fi - -\pagestyle{empty} - -% A4 horizontal 210mm, letter vertical 11in: -\setlength{\textwidth}{21cm}\addtolength{\textwidth}{-2cm} -\setlength{\textheight}{11in}\addtolength{\textheight}{-2cm} -\addtolength{\topmargin}{-3.5cm} -\addtolength{\oddsidemargin}{-3.4cm} -\addtolength{\evensidemargin}{-3.4cm} -\setlength\columnsep{2mm} - -\hoffset22.5pt - -\message{h=\the\textheight, w=\the\textwidth, s=\the\columnsep} - -\begin{document} - -{\footnotesize\small - -\def\bs{{\tt\char'134}} -\def\bsn{\bs} -\def\dhline{\hline\hline} -\def\newcol{ -\hline -\end{tabular} - -\begintab -\hline -} -%\let\blank\ \def\ {\blank\blank} - -\centerline{QUICK REFERENCE TABLE FOR {\bf PMX}, -Version 2.94, -Jan 2020~~~ -\hfill Don Simons (dsimons@roadrunner.com)} - -%\begin{multicols}{2} -\null - - This table defines PMX command syntax. Each command starts with a -single character from a non-indented line, followed by characters from -subsequent indented lines, with no internal spaces. When characters -on the same line are separated by commas, only one can be used, unless -otherwise noted. Characters enclosed in brackets {\tt [~]} are optional, -but if one is used and the following line is indented and unbracketed, -then one character must be used from the unbracketed group. Several -characters, chosen from different lines that are indented the same -amount, may be used in sequence. {\it d1, d2} are single digits, so -for example {\it d1}{\tt[}{\it d2}{\tt]} is a one- or two-digit integer. -{\it i}, {\it i1}, or {\it i2} is any non-negative integer. -{\it x} or {\it y} is any non-negative decimal number. - -%\end{multicols} - -\begin{multicols}{2} -\begin{center} -%\def\begintab{\begin{tabular}{|p{3.0cm\tt}|p{5.5cm\hangindent5pt}|}} -\def\begintab{\begin{tabular}{|p{3.0cm\tt}|p{5.5cm\hangindent5pt}|}} -\begintab -\hline -a,b,c,d,e,f,g & Note name.\\ -\ [0,2,4,8,1,\break\rightline{3,6,9]} & If first digit, duration. - Must include if duration not yet set in current input block.\\ -\ [1,2,3,4,5,\break\rightline{6,7]} & If second digit, Octave number. - Must include if octave not yet set in current input block.\\ -\ [d] & Dot.\\ - \ \ [+.- {\it x}] & Vertical shift, \bsn{}internotes.\\ -\ \ \ [+.- {\it x}] & Horiz. shift, notehead widths.\\ -\ \ [d] & Double dot.\\ -\ [f,s,n] & Accidental. Repeat for double.\\ -\ \ [+,- {\it i} +,- {\it x}] & Vertical shift, \bsn{}internotes; - horiz. shift, notehead widths.\\ -\ \ [<,> {\it x}] & Horiz. shift, notehead widths.\\ -\ \ [i] & MIDI-only accidental.\\ -\ \ [c] & Cautionary accidental.\\ -\ [+,-] & Shift octave from default (default is within a 4th).\\ -\ [u,l] & Force stem direction.\\ -\ [a] & Prohibit beaming this note. If first note of xtuplet, prohibit - beaming the xtuplet.\\ -\ [r] & Right offset by one notehead.\\ -\ [e] & Left offset by one notehead.\\ -\ [.] & Dot shortcut: {\tt a8.b} = {\tt ad8 b1} \\ -\ [,] & 2:1 shortcut: {\tt a8,b} = {\tt a8 b1} \\ -\ [D] & In xtuplet note only, double duration. Reduce number of - notes in xtup by 1.\\ -\ [F] & As above, and add dot.\\ -\ [S,L {\it x}] & Shrink or lengthen stem length by {\it x} \bs{\tt internote}.\\ -\ \ [:] & Make it sticky.\\ -\ [S,L :] & Shrink or lengthen this stem, then return to default.\\ -\ [Ao] & In main chord note, post accidentals in order entered.\\ -\ [T] & Single-note tremolo (slashes across stem).\\ -\ \ [1,2,3] & Number of slashes; 1 is default.\\ -\newcol -~ & Note options, continued\\ -\ [x{\it i}] & An {\it i}-tuplet starts here. - Duration (already set) refers to total for xtuplet. - Next $i-1$ notes or rests are in - xtuplet. They must have no duration number; may have - octave number or {\tt d} for dot.\\ -\ \ [d] & Dot first xtup note, halve next.\\ -\ \ [n] & Fine-tune printed number. \\ -\ \ \ (\it{blank}) & Don't print number. \\ -\ \ \ [f] & Flip vertical location. \\ -\ \ \ [{\it i}] & Replacement printed number. \\ -\ \ \ [+,- {\it i}] & Vertical shift, \bsn{}internotes.\\ -\ \ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\ -\ \ \ [s] & Fine tune slope of bracket for non-beamed xtuplet.\\ -\ \ \ \ +,- {\it i} & Slope adjustment.\\ -\ [xT] & Start a 2-note tremolo. Next note is 2nd note. If starting note - has {\tt d}, 2nd note must not, unless dot needs to be moved.\\ -\ \ [0,1,2,3] & Number of main beams between 2 notes.\\ -\ \ \ [0,1,2,3] & Number of indented beams.\\ -\dhline -z & Chordal note. No duration allowed.\\ -\ a,b,c,d,e,f,g & Note name.\\ -\ \ [f,s,n] & Flat, sharp, natural. Repeat for double flat or sharp. - Shift options same as on main note.\\ -\ \ \ [A] & (Preceding a shift) Apply shift relative to PMX-computed one.\\ -\ \ [+,-] & Up or down one octave. - may use several in succession.\\ -\ \ [r,e] & Right or left offset by one notehead.\\ -\ \ [d] & Dot. Permitted but not required, unless dot is to - be shifted. \\ -\ \ \ [+,- {\it x}] & Vertical shift, \bsn{}internotes.\\ -\ \ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\ -\newcol -r & Rest.\\ -\ [0,2,4,8,1,\break\rightline{3,6,9]} & Duration. - Must include if duration not yet set in current input block.\\ -\ [d] & Dot.\\ -\ [p] & Full-bar rest using 'Pause' symbol (no digit).\\ -\ [m{\it i}] & Multi-bar rest of {\it i} bars.\\ -\ \ [n{\it j}] & Put number at level {\it j}. Default is 9, below staff - is -6. Change is ``sticky''.\\ -\ [b] & Blank rest, not printed (this line of music - drops from sight).\\ -\ [o] & Suppress centering full-bar rest.\\ -\ [+,- {\it i}] & Raise/lower rest from middle line, \bsn{}internotes.\\ -\ [L] & With AK, align rest with note to left. \\ -\ [x{\it i}] & Start xtup. After above options. See description for - main note.\\ -\dhline -o & Ornament. Symbol comes after note.\\ -%\ t,m,x,+,u,p,\break\rightline{),-,>,\raise1pt\hbox{\^\ }.} -\ t,m,x,+,u,p,\break\rightline{(,),\_,.,>,\^\ } - & Shake, mordent, ``x", ``+", pizz., strong pizz., ``(" before - notehead, - ``)" after notehead, tenuto, stacc., sfz, duncecap\\ -\ c,b & Caesura, breath.\\ -\ \ [+,- {\it i}] & Vertical shift, \bs{\tt internote}.\\ -\ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\ -\ f & Fermata. Default is up.\\ -\ \ [d] & Convert to down fermata. \\ -\ T,Tt & Trill ({\it tr}) with or without wavy line.\\ -\ \ [{\it x}] & Length to end of wavy line, \bsn{}noteskips. - Default is one \bsn{}noteskip. - Use {\tt oT0} for {\it tr} .\\ -\ g & Segno. Voice \#1 only.\\ -\ \ [-]{\it n} & Horizontal shift, points. \\ -\ G & Smaller segno, any voice. \\ -\ \ [[-]{\it d1}[{\it d1}]] & Offset of segno symbol in points.\\ -\ e & Editorial accidental. \\ -\ \ s,f,n & Sharp, flat, natural. \\ -\ \ \ [?] & Editorial accidental is dubious. \\ -\ \ ? & Text is dubious. \\ -\ C & Coda. \\ -\ [+,- {\it i}] & (After~setting~ornament~type)\break Raise/lower by - {\it i} \bsn{}internotes from default.\\ -\ [:] & Repeat toggle. Must come last. First instance, after setting - ornament type, gives all later notes same ornament, until - {\tt o:} shuts it off. \\ -\newcol -G & Grace note group.\\ -\ [{\it i}] & Number of notes in group. Not needed if 1. - If {\tt>}1, next $i-1$ notes are in grace.\\ -\ [s] & Slur to/from main note.\\ -\ [m {\it d1}] & Multiplicity (number of flags or beams). Default is 1.\\ -\ [x] & Slash. Single grace only. \\ -\ [l,u] & Forced stem direction.\\ -\ [A,W] & Put grace just after main note, or shifted as far - right as possible.\\ -\ [X{\it x}] & Gap to main note, notehead widths. \\ -\ ({\it first note}) & Must follow above options. - Use same symbols as normal note.\\ -\dhline -s,);t,\} & Slur/tie toggle, after note. With {\tt Ap}, {\tt t} or {\tt\}} causes - true tie.\\ -(;\{ & Placed before note, same as {\tt s} or {\tt\}} placed after. \\ -\ [{\it c}] & Optional ID code, {\tt 1-9} or {\tt A-Z} . Must be first - after {\tt s,t,(,\{} .\\ -\ [u,d,l] & Force direction. Only allowed at slur/tie start.\\ -\ [t] & Position slur end as tie rather than slur. With postscript - slurs, print a true tie.\\ -\ [b] & Dotted slur.\\ -\ [+,- {\it i}] & Raise/lower start/end of slur, \bsn{}internotes.\\ -\ \ [+,- {\it x}] & Horizontal shift start/end of slur, notehead widths. \\ -\ \ \ [+,- {\it i}] & Mid-height alteration, nonzero, only on termination.\\ -\ \ \ \ [:{\it d1d2}] & Alter starting and ending slope, 1-7.\\ -\ [f,n,h,H,HH] & Flatten, normalize, or increase curve. For font-based, on end - only. For Type K linebrk, 1st seg if on start, - 2nd if on end.\\ -\ [s +,- {\it i}] & On start of a line-breaking type K slur or tie, vertical adjustment - of end of first segment.\\ -\ \ +,- {\it x} & Horizontal tweak of end of first segment.\\ -\ \ \ [s +,- {\it i}] & Vertical adjustment of start of second segment.\\ -\ \ \ \ +,- {\it x} & Horizontal tweak of start of second segment.\\ -\ [p] & Local change in postscript slur or tie adjustment.\\ -\ \ +,- & Turn on or off automatic adjustment.\\ -\ \ \ s,t & Adjust slur or tie.\\ -\ [v] & Stem slur, postscript only.\\ -\newcol -A & Miscellaneous controls. - Only at start of first block except {\tt i} , {\tt I}\\ -\ [i,I {\it x}] & Factor on \bs{\tt interstaff}\\ -\ [d] & Lower dots in lower voice of 2 on a staff\\ -\ [a{\it x}] & Change afterruleskip to {\it x} \bs{\tt elemskip}s. Default - is 1.\\ -\ [b,s] & Force big or small accidentals.\\ -\ [r] & Relative accidentals. Must be set if transposing.\\ -\ [e] & Equalize inter-system spacing.\\ -\ [S] & Make some staves small.\\ -\ \ {\it c1c2...} & A string of specifiers {\tt 0} (normal); {\tt -,s} (small); - {\tt t} (tiny); one for each staff.\\ -\ [v] & Toggles vshrink (initially on), which collapses pages vertically - when computed \bs{\tt interstaff} exceeds 20.\\ -\ [N] & User-defined part file name.\\ -\ \ {\it i1}"{\it name1}" & Base name to use in part {\it i1}.\\ -\ \ \ [{\it i2}"{\it name2}"] & Base name to use in part {\it i2}.\\ -\ \ \ \ [...] & Continue with other parts as desired.\\ -\ [T] & Use Col. S's broken brackets for non-beamed xtups.\\ -\ [p] & Activate postscript slurs.\\ -\ \ l & Activate special adjustments for line-breaking slurs and ties.\\ -\ \ h & Input Type K postscript header at start of every page, so pages can be - separated e.g. with dviselec.\\ -\ \ [+,-] & Turn on or off global slur or tie adjustments, or halfties.\\ -\ \ \ s,t,h,c & Switch slur, tie, halftie, or ratchet curvature.\\ -\ [R] & Read in normal include file.\\ -\ \ {\it filename} & File name, may include path.\\ -\ [K] & Activate special rules for rest positions in 2-staff keyboard scores.\\ -\ [cl,c4] & Set vert. and horiz. page sizes and offsets for letter or a4 paper.\\ -\ [V +,- {\it n1} +,- {\it n2}] & Vertical skips, \bsn{}internotes, before and after next - ~\bsn{}eject.\\ -\dhline -B & Toggles default stem direction for middle line of bass clef. - (intial direction is up).\\ -\dhline -C & Clef change.\\ -\hbox{\ t,s,m,a,n,r,}\hbox{\ b,f,8 or 0-8} & {\bf t}reble, {\bf s}oprano, - {\bf m}ezzo-soprano, {\bf a}lto, te{\bf n}or, ba{\bf r}itone, - {\bf b}ass, {\bf F}rench violin, octave treble\\ -\newcol -D & Dynamics.\\ -\ p,pp,...,ffff & Pre-defined standard dynamics.\\ -\ "{\it text}" & Any text string.\\ -\ <.> & Hairpin toggles.\\ -\ \ [+,- {\it n }] & Vertical shift from default, \bs{\tt internote}s.\\ -\ \ \ [+,- {\it n }] & Horizontal shift from default, notehead widths.\\ -\dhline -F & Cancels figures in bass line - (use with {\tt \%1} in score file - to make a bass part with no figures).\\ -\dhline -h,w & If followed by number, page height or width. - Only at start of first input block.\\ -\ {\it x} & Page height or width.\\ -\ \ [i,m,p] & Inches, mm, points. Default is points.\\ -\dhline -h & If followed by blank or {\tt [+,-]}, heading. - Next input line will print above top staff.\\ -\ [+,- {\it i}] & Alter height from default, \bs{\tt internote} \\ -\dhline -I & MIDI controls. Only at start of an input block.\\ -\ [t{\it x}] & Set tempo to {\it x} beats per minute.\\ -\ [p{\it x}] & Insert a pause of {\it x} quarter notes.\\ -\ [i{\it i1i2...in}] & Specify {\tt noinst} MIDI instruments. {\it i1,i2...in} - are integers between 1 and 128 or 2-letter abbreviations. - Consecutive integers must be separated with {\tt ":"}.\\ -\ [v{\it i1}:{\it i2}:...{\it in}] & Specify {\tt noinst} velocities - (volumes), 1$\leq${\it i}$\leq$128. \\ -\ [b{\it i1}:{\it i2}:...{\it in}] & Specify {\tt noinst} balances - 1$\leq${\it i}$\leq$128, 64=center. \\ -\ [T] & MIDI-only transposition.\\ -\ \ +,- {\it i1} +,- {\it i2} ... +,- {\it in} & Amounts of transpositions in - \bs{\tt internote}s, {\tt noinst} values.\\ -\ [g{\it i}] & Internote gap in midi tics. Default = 10\\ -\ [MR{\it i}] & Start recording macro {\it i}.\\ -\ [M] & Stop recording.\\ -\ [MP{\it i}] & Playback (insert) macro {\it i}.\\ -\dhline -K & Key signature change and/or transposition.\\ -\ [n] & Suppress printing naturals.\\ -\ [i {\it i}] & Applies only to instrument {\it i}.\\ -\ +,- {\it i} & Amount of transposition in \bsn{}internotes. Use {\tt-0} to transpose - by 1/2 step to same-name key.\\ -\ \ +,- {\it i} & New key signature.\\ -\ \ \ [i {\it i}]... & Applies to another instrument {\it i}.\\ -\newcol -l & Next input line is a text string - to appear below top staff.\\ -\dhline -L{\it i} & Force a line break at line {\it i}. Voice \#1 only. Start of - block only.\\ -\ [P{\it i}] & Force a page break at page {\it i}.\\ -\ [M] & Movement break. Must follow {\tt P} if present. \\ -\ \ [+{\it i}] & Extra vertical space, \bs{\tt internote}. \\ -\ \ [i{\it x}] & New indent, decimal fraction of line width.\\ -\ \ [c] & Continue bar numbering, do not reset.\\ -\ \ [r +,-] & Force or suppress reprinting instrument names.\\ -\ \ [n{\it i}] & Change to {\it i} instruments.\\ -\ \ \ {\it d1d2...di} & Numbers of instruments. Precede 2-digit numbers with {\tt :}\\ -\ \ \ \ {\it c1c2...ck} & Clef symbols. Enter one for - every staff in new lineup.\\ -\ [S{\it x}] & Shorten this system to fraction {\it X} of orig.\\ -LC{\it y} & After L{\it i}S{\it x} and after gap, short segment of - length fraction {\it y} to end of system.\\ -\ [n] & Suppress bar number at start of 2nd segment\\ -\dhline -m & Meter change. Voice \#1 only. Start of input block only.\\ -\ o,{\it d1}[{\it d2}] & True numerator of meter. - Use {\tt o} if full value is exactly 1. - If {\it d1}=1, numerator is 10+{\it d2}.\\ -\ \ {\it d1}[{\it d2}] & True denominator.\\ -\ \ \ o,{\it d1}[{\it d2}] & Printed numerator of meter. Use {\tt o} as above.\\ -\ \ \ \ {\it d1}[{\it d2}] & Printed denominator.\\ -\ {\it d1}[{\it d2}]/ & (Alternate syntax) true numer-ator \\ -\ \ {\it d1}[{\it d2}]/ & true denominator \\ -\ \ \ {\it d1}[{\it d2}]/ & printed numerator \\ -\ \ \ \ {\it d1}[{\it d2}] & printed denominator \\ -\dhline -M & Macro. If alone, ends recording or saving.\\ -\ [R,S,P] & Record (store and execute), save (store but do not execute), - or playback. \\ -\ \ {\it i} & Macro ID number, from 1 to 20. \\ -\newcol -P & Start page numbering in this page. Voice \#1 only. - Start of input block only.\\ -\ [{\it i}] & Starting page number. Default is 1.\\ -\ [r,l] & Margin for starting page number. Default is 'r'.\\ -\ [c] & Centered header on each page. Must be last option in symbol. - Default text is instrument name \\ -\ \ [{\it text}] & Text with no blanks \\ -\ \ ["{\it text}"] & Text with blanks \\ -\dhline -R & Repeat or doublebar. Voice \#1 only. - Doublebars at start of bar only.\\ -\ l,r,lr,d,D,dl & Left repeat, right repeat, l-r rpt, doublebar, doubleBAR, - doublebar-left repeat.\\ -\ z & Blank barline at next system break.\\ -\ b & Single bar (end of movement or piece).\\ -\dhline -S{\it i} & Reset total number of systems to {\it i}. - Only at start of first input block. - Only useful with \bs{\tt \%}{\it j} for automatically - generated parts.\\ -\ [P{\it i}] & Force total number of pages to be {\it i}.\\ -\ [m{\it i}] & Change musicsize to {\it i}.\\ -\dhline -T & Title string. Only at start of first input block.\\ -\ t[{\it d1}[{\it d2}]],i,c & Title of piece (centered), instrument (left - justified), or composer (right justified). Following line - is the text. - {\tt Tt} may be followed by a number (\bsn{}internotes) to add - vertical space below entire title block. - {\tt Tt} must come after {\tt Ti} and {\tt Tc} for this to work.\\ -{\it text}\bs\bs{\it text} & Make a line break in the title string.\\ -\dhline -V & Toggle for Volta. Voice \#1 only. Start of bar only. - For scor2prt, only allowed one per input block, - and it must come at start of block.\\ -\ [{\it text}] & Text for start of volta. May not be ``b" or ``x".\\ -\ b,x & At end of volta, boxed end or horizontal (no box).\\ -\newcol -W & Set new minimum horizontal space between noteheads.\\ -\ . & Decimal point (required).\\ -\ \ {\it d1} & Tenths of notehead width. Default is 3.\\ -\dhline -x & Floating figure (offset to right).\\ -\ {\it d1} & Number of note-length units of offset.\\ -\ \ {\it d2} & Note-length unit. Same code as for note durations.\\ -\ \ \ 2,3,\dots,9,\break\rightline{\#,-,n,0{\it d1}} - & Characters for floating figure, - arranged as in normal figure.\\ -\dhline -X & Shift or insert hardspace. \\ -\ [-]{\it x} & Distance. Default units are notehead widths.\\ -\ \ [{\tt p}] & Units are points.\\ -\ [:] & Begin shift (if number\break also present), end shift - (if no number),\\ -\ [S] & Single-note shift ({\tt S}). \\ -\ [P] & Use only in part, not score. \\ -\ [B] & Use in both score and part. \\ -\dhline -2,3,\dots,9,\#,-,n & Normal figure. - Combine characters as needed. See manual.\\ -\ [v] & Start vertical shift for this line.\\ -\ \ [+,- {\it i}] & Vertical offset, \bsn{}internotes.\\ -0 {\rm (zero)} & Continuation figure.\\ -\ {\it x} & Length in \bsn{}internotes.\\ -\_ {\rm (underscore)} & Placeholder figure, to lower the next one. \\ -\ [+{\it i}] & In any figure, raise by {\it i}~\bs internotes. \\ -\ [s] & (With 2,4,5,6,9) add slash. Must have font cmrj. \\ -\dhline -[ & Start a forced beam.\\ -\ [j] & Continue an existing staff-\break jumping beam.\\ -\ [u,l] & Direction of forced beam.\\ -\ [f] & Flip beam direction.\\ -\ [m {\it d1}] & Forced multiplicity. {\it d1} = 1 - 4. \\ -\ [h] & Force horizontal beam (zero slope).\\ -\ [:] & After this forced beam, continue forced beaming over the - same interval until next explicit forced beam or end of - input block.\\ -\ [+,- {\it i}] & Vertical offset, \bsn{}internotes.\\ -\ \ [+,- {\it i}] & Change slope from default.\\ -\ \ \ [+,- {\it i}] & Distance to raise or lower beam, beam thk's.\\ -\dhline -] & End forced beam.\\ -\ [j] & Keep beam open, prepare to jump to other staff \\ -\newcol -][ & Between two notes in a forced beam, - decrease multiplicity to 1, then immediately increase. - Treated as a single symbol, set off by spaces.\\ -\dhline -]-[ & Between two notes in forced beam, end one segment and - start next of a single-slope beam group\\ -\dhline -( & Placed before a note, equivalent to {\tt s} after note. \\ -) & Equivalent to {\tt s} . \\ -\dhline -\{ & Placed before a note, equivalent to {\tt t} after note. \\ -\} & Equivalent to {\tt t} . \\ -\dhline -? & Arpeggio start/stop. Comes after note. \\ -\ [-{\it x}] & Shift left by {\it x} notehead widths. \\ -\dhline -\bs,\bs\bs,\bs\bs\bs & Start a literal \TeX~string before - next note, before \bsn{}startmuflex, or before - first \bsn{}notes group of current input block.\\ -\ {\it Text}\bs & TeX string and terminator. - May have more than one TeX command, strung end-to-end.\\ ---- (\rm 3 minus's) & Toggle for multiline \TeX\ block. Must start on first - line. All lines until next {\tt ---} will be copied verbatim - to top of \TeX\ file.\\ -\dhline -[|] & Bar line. Only used for checking, except required after - end-of-bar inserted hardspace.\\ -\dhline -/ & Terminate input for a staff in this input block.\\ -\dhline -// & Terminate first line of music on this staff for this input - block, start a second line of music on same staff.\\ -\dhline -\% & Comment line.\\ -\ [{\it h}]{\it text} & Scor2prt will put {\it text} - into the part whose hexadecimal number is {\it h}.\\ -\ [!]{\it text} & {\it text} - will be put in all parts by scor2prt.\\ -\ [\%] & Following line will be ignored by scor2prt.\\ -\dhline -.\break\null\ {\it note command} & Detatched dot-form shortcut.\break Note will have - 1/3 duration of prior note. See note name command.\\ -\dhline -,\break\null\ {\it note command} & Detatched 2:1 shortcut. Note will have - 1/2 duration of prior note. See note name command.\\ -\newcol -"\break\null\ {\it text}" & Lyrics. See pmx294.pdf section 2.2.15 for details.\\ -\ \ [@] & Set a vertical offset\\ -\ \ \ a,b & Above or below the staff\\ -\ \ \ \ +,- {\it i} & Amount of offset, \bsn{}internotes\\ -\hline -\end{tabular} -\end{center} -\end{multicols} -} -\end{document} diff --git a/support/pmx/doc/ref298.pdf b/support/pmx/doc/ref298.pdf new file mode 100644 index 0000000000..77f7ef2674 Binary files /dev/null and b/support/pmx/doc/ref298.pdf differ diff --git a/support/pmx/doc/ref298.tex b/support/pmx/doc/ref298.tex new file mode 100644 index 0000000000..af2b40d8bd --- /dev/null +++ b/support/pmx/doc/ref298.tex @@ -0,0 +1,487 @@ +%%%%%%%%%%%%%%%%% +%% +%% ref298.tex (latex) +%% +%%%%%%%%%%%%%%%%% +\ifx\documentstyle\undefined +% \documentstyle[11pt,multicol]{article} + \documentstyle[12pt,multicol]{article} +\else +% \documentclass[11pt]{article} + \documentclass[12pt]{article} + \usepackage{multicol} +\fi + +\pagestyle{empty} + +% A4 horizontal 210mm, letter vertical 11in: +\setlength{\textwidth}{21cm}\addtolength{\textwidth}{-2cm} +\setlength{\textheight}{11in}\addtolength{\textheight}{-2cm} +\addtolength{\topmargin}{-3.5cm} +\addtolength{\oddsidemargin}{-3.4cm} +\addtolength{\evensidemargin}{-3.4cm} +\setlength\columnsep{2mm} + +\hoffset22.5pt + +\message{h=\the\textheight, w=\the\textwidth, s=\the\columnsep} + +\begin{document} + +{\footnotesize\small + +\def\bs{{\tt\char'134}} +\def\bsn{\bs} +\def\dhline{\hline\hline} +\def\newcol{ +\hline +\end{tabular} + +\begintab +\hline +} +%\let\blank\ \def\ {\blank\blank} + +\centerline{QUICK REFERENCE TABLE FOR {\bf PMX}, +Version 2.98, +Feb 2022~~~ +\hfill Don Simons (dsimons@roadrunner.com)} + +%\begin{multicols}{2} +\null + + This table defines PMX command syntax. Each command starts with a +single character from a non-indented line, followed by characters from +subsequent indented lines, with no internal spaces. When characters +on the same line are separated by commas, only one can be used, unless +otherwise noted. Characters enclosed in brackets {\tt [~]} are optional, +but if one is used and the following line is indented and unbracketed, +then one character must be used from the unbracketed group. Several +characters, chosen from different lines that are indented the same +amount, may be used in sequence. {\it d1, d2} are single digits, so +for example {\it d1}{\tt[}{\it d2}{\tt]} is a one- or two-digit integer. +{\it i}, {\it i1}, or {\it i2} is any non-negative integer. +{\it x} or {\it y} is any non-negative decimal number. + +%\end{multicols} + +\begin{multicols}{2} +\begin{center} +%\def\begintab{\begin{tabular}{|p{3.0cm\tt}|p{5.5cm\hangindent5pt}|}} +\def\begintab{\begin{tabular}{|p{3.0cm\tt}|p{5.5cm\hangindent5pt}|}} +\begintab +\hline +a,b,c,d,e,f,g & Note name.\\ +\ [0,2,4,8,1,\break\rightline{3,6,9]} & If first digit, duration. + Must include if duration not yet set in current input block.\\ +\ [1,2,3,4,5,\break\rightline{6,7]} & If second digit, Octave number. + Must include if octave not yet set in current input block.\\ +\ [d] & Dot.\\ + \ \ [+.- {\it x}] & Vertical shift, \bsn{}internotes.\\ +\ \ \ [+.- {\it x}] & Horiz. shift, notehead widths.\\ +\ \ [d] & Double dot.\\ +\ [f,s,n] & Accidental. Repeat for double.\\ +\ \ [+,- {\it i} +,- {\it x}] & Vertical shift, \bsn{}internotes; + horiz. shift, notehead widths.\\ +\ \ [<,> {\it x}] & Horiz. shift, notehead widths.\\ +\ \ [i] & MIDI-only accidental.\\ +\ \ [c] & Cautionary accidental.\\ +\ [+,-] & Shift octave from default (default is within a 4th).\\ +\ [u,l] & Force stem direction.\\ +\ [a] & Prohibit beaming this note. If first note of xtuplet, prohibit + beaming the xtuplet.\\ +\ [r] & Right offset by one notehead.\\ +\ [e] & Left offset by one notehead.\\ +\ [.] & Dot shortcut: {\tt a8.b} = {\tt ad8 b1} \\ +\ [,] & 2:1 shortcut: {\tt a8,b} = {\tt a8 b1} \\ +\ [D] & In xtuplet note only, double duration. Reduce number of + notes in xtup by 1.\\ +\ [F] & As above, and add dot.\\ +\ [S,L {\it x}] & Shrink or lengthen stem length by {\it x} \bs{\tt internote}.\\ +\ \ [:] & Make it sticky.\\ +\ [S,L :] & Shrink or lengthen this stem, then return to default.\\ +\ [Ao] & In main chord note, post accidentals in order entered.\\ +\ [T] & Single-note tremolo (slashes across stem).\\ +\ \ [1,2,3] & Number of slashes; 1 is default.\\ +\newcol +~ & Note options, continued\\ +\ [x{\it i}] & An {\it i}-tuplet starts here. + Duration (already set) refers to total for xtuplet. + Next $i-1$ notes or rests are in + xtuplet. They must have no duration number; may have + octave number or {\tt d} for dot.\\ +\ \ [d] & Dot first xtup note, halve next.\\ +\ \ [n] & Fine-tune printed number. \\ +\ \ \ (\it{blank}) & Don't print number. \\ +\ \ \ [f] & Flip vertical location. \\ +\ \ \ [{\it i}] & Replacement printed number. \\ +\ \ \ [+,- {\it i}] & Vertical shift, \bsn{}internotes.\\ +\ \ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\ +\ \ \ [s] & Fine tune slope of bracket for non-beamed xtuplet.\\ +\ \ \ \ +,- {\it i} & Slope adjustment.\\ +\ [xT] & Start a 2-note tremolo. Next note is 2nd note. If starting note + has {\tt d}, 2nd note must not, unless dot needs to be moved.\\ +\ \ [0,1,2,3] & Number of main beams between 2 notes.\\ +\ \ \ [0,1,2,3] & Number of indented beams.\\ +\dhline +z & Chordal note. No duration allowed.\\ +\ a,b,c,d,e,f,g & Note name.\\ +\ \ [f,s,n] & Flat, sharp, natural. Repeat for double flat or sharp. + Shift options same as on main note.\\ +\ \ \ [A] & (Preceding a shift) Apply shift relative to PMX-computed one.\\ +\ \ [+,-] & Up or down one octave. + may use several in succession.\\ +\ \ [r,e] & Right or left offset by one notehead.\\ +\ \ [d] & Dot. Permitted but not required, unless dot is to + be shifted. \\ +\ \ \ [+,- {\it x}] & Vertical shift, \bsn{}internotes.\\ +\ \ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\ +\newcol +r & Rest.\\ +\ [0,2,4,8,1,\break\rightline{3,6,9]} & Duration. + Must include if duration not yet set in current input block.\\ +\ [d] & Dot.\\ +\ [p] & Full-bar rest using 'Pause' symbol (no digit).\\ +\ [m{\it i}] & Multi-bar rest of {\it i} bars.\\ +\ \ [n{\it j}] & Put number at level {\it j}. Default is 9, below staff + is -6. Change is ``sticky''.\\ +\ [b] & Blank rest, not printed (this line of music + drops from sight).\\ +\ [o] & Suppress centering full-bar rest.\\ +\ [+,- {\it i}] & Raise/lower rest from middle line, \bsn{}internotes.\\ +\ [L] & With AK, align rest with note to left. \\ +\ [x{\it i}] & Start xtup. After above options. See description for + main note.\\ +\dhline +o & Ornament. Symbol comes after note.\\ +%\ t,m,x,+,u,p,\break\rightline{),-,>,\raise1pt\hbox{\^\ }.} +\ t,m,x,+,u,p,\break\rightline{(,),\_,.,>,\^\ } + & Shake, mordent, ``x", ``+", pizz., strong pizz., ``(" before + notehead, + ``)" after notehead, tenuto, stacc., sfz, duncecap\\ +\ c,b & Caesura, breath.\\ +\ \ [+,- {\it i}] & Vertical shift, \bs{\tt internote}.\\ +\ \ \ [+,- {\it x}] & Horiz. shift, notehead widths.\\ +\ f & Fermata. Default is up.\\ +\ \ [d] & Convert to down fermata. \\ +\ T,Tt & Trill ({\it tr}) with or without wavy line.\\ +\ \ [{\it x}] & Length to end of wavy line, \bsn{}noteskips. + Default is one \bsn{}noteskip. + Use {\tt oT0} for {\it tr} .\\ +\ g & Segno. Voice \#1 only.\\ +\ \ [-]{\it n} & Horizontal shift, points. \\ +\ G & Smaller segno, any voice. \\ +\ \ [[-]{\it d1}[{\it d1}]] & Offset of segno symbol in points.\\ +\ e & Editorial accidental. \\ +\ \ s,f,n & Sharp, flat, natural. \\ +\ \ \ [?] & Editorial accidental is dubious. \\ +\ \ ? & Text is dubious. \\ +\ C & Coda. \\ +\ [+,- {\it i}] & (After~setting~ornament~type)\break Raise/lower by + {\it i} \bsn{}internotes from default.\\ +\ [:] & Repeat toggle. Must come last. First instance, after setting + ornament type, gives all later notes same ornament, until + {\tt o:} shuts it off. \\ +\newcol +G & Grace note group.\\ +\ [{\it i}] & Number of notes in group. Not needed if 1. + If {\tt>}1, next $i-1$ notes are in grace.\\ +\ [s] & Slur to/from main note.\\ +\ [m {\it d1}] & Multiplicity (number of flags or beams). Default is 1.\\ +\ [x] & Slash. Single grace only. \\ +\ [l,u] & Forced stem direction.\\ +\ [A,W] & Put grace just after main note, or shifted as far + right as possible.\\ +\ [X{\it x}] & Gap to main note, notehead widths. \\ +\ ({\it first note}) & Must follow above options. + Use same symbols as normal note.\\ +\dhline +s,);t,\} & Slur/tie toggle, after note. With {\tt Ap}, {\tt t} or {\tt\}} causes + true tie.\\ +(;\{ & Placed before note, same as {\tt s} or {\tt\}} placed after. \\ +\ [{\it c}] & Optional ID code, {\tt 1-9} or {\tt A-Z} . Must be first + after {\tt s,t,(,\{} .\\ +\ [u,d,l] & Force direction. Only allowed at slur/tie start.\\ +\ [t] & Position slur end as tie rather than slur. With postscript + slurs, print a true tie.\\ +\ [b] & Dotted slur.\\ +\ [+,- {\it i}] & Raise/lower start/end of slur, \bsn{}internotes.\\ +\ \ [+,- {\it x}] & Horizontal shift start/end of slur, notehead widths. \\ +\ \ \ [+,- {\it i}] & Mid-height alteration, nonzero, only on termination.\\ +\ \ \ \ [:{\it d1d2}] & Alter starting and ending slope, 1-7.\\ +\ [f,n,h,H,HH] & Flatten, normalize, or increase curve. For font-based, on end + only. For Type K linebrk, 1st seg if on start, + 2nd if on end.\\ +\ [s +,- {\it i}] & On start of a line-breaking type K slur or tie, vertical adjustment + of end of first segment.\\ +\ \ +,- {\it x} & Horizontal tweak of end of first segment.\\ +\ \ \ [s +,- {\it i}] & Vertical adjustment of start of second segment.\\ +\ \ \ \ +,- {\it x} & Horizontal tweak of start of second segment.\\ +\ [p] & Local change in postscript slur or tie adjustment.\\ +\ \ +,- & Turn on or off automatic adjustment.\\ +\ \ \ s,t & Adjust slur or tie.\\ +\ [v] & Stem slur, postscript only.\\ +\newcol +A & Miscellaneous controls. + Only at start of first block except {\tt i} , {\tt I}\\ +\ [i,I {\it x}] & Factor on \bs{\tt interstaff}\\ +\ [d] & Lower dots in lower voice of 2 on a staff\\ +\ [a{\it x}] & Change afterruleskip to {\it x} \bs{\tt elemskip}s. Default + is 1.\\ +\ [b,s] & Force big or small accidentals.\\ +\ [r] & Relative accidentals. Must be set if transposing.\\ +\ [e] & Equalize inter-system spacing.\\ +\ [S] & Make some staves small.\\ +\ \ {\it c1c2...} & A string of specifiers {\tt 0} (normal); {\tt -,s} (small); + {\tt t} (tiny); one for each staff.\\ +\ [v] & Toggles vshrink (initially on), which collapses pages vertically + when computed \bs{\tt interstaff} exceeds 20.\\ +\ [N] & User-defined part file name.\\ +\ \ {\it i1}"{\it name1}" & Base name to use in part {\it i1}.\\ +\ \ \ [{\it i2}"{\it name2}"] & Base name to use in part {\it i2}.\\ +\ \ \ \ [...] & Continue with other parts as desired.\\ +\ [T] & Use Col. S's broken brackets for non-beamed xtups.\\ +\ [p] & Activate postscript slurs.\\ +\ \ l & Activate special adjustments for line-breaking slurs and ties.\\ +\ \ h & Input Type K postscript header at start of every page, so pages can be + separated e.g. with dviselec.\\ +\ \ [+,-] & Turn on or off global slur or tie adjustments, or halfties.\\ +\ \ \ s,t,h,c & Switch slur, tie, halftie, or ratchet curvature.\\ +\ [R] & Read in normal include file.\\ +\ \ {\it filename} & File name, may include path.\\ +\ [K] & Activate special rules for rest positions in 2-staff keyboard scores.\\ +\ [cl,c4] & Set vert. and horiz. page sizes and offsets for letter or a4 paper.\\ +\ [V +,- {\it n1} +,- {\it n2}] & Vertical skips, \bsn{}internotes, before and after next + ~\bsn{}eject.\\ +\dhline +B & Toggles default stem direction for middle line of bass clef. + (intial direction is up).\\ +\dhline +C & Clef change.\\ +\hbox{\ t,s,m,a,n,r,}\hbox{\ b,f,8 or 0-8} & {\bf t}reble, {\bf s}oprano, + {\bf m}ezzo-soprano, {\bf a}lto, te{\bf n}or, ba{\bf r}itone, + {\bf b}ass, {\bf F}rench violin, octave treble\\ +\newcol +D & Dynamics.\\ +\ p,pp,...,ffff & Pre-defined standard dynamics.\\ +\ "{\it text}" & Any text string.\\ +\ <.> & Hairpin toggles.\\ +\ \ [+,- {\it n }] & Vertical shift from default, \bs{\tt internote}s.\\ +\ \ \ [+,- {\it n }] & Horizontal shift from default, notehead widths.\\ +\dhline +F & Cancels figures in bass line + (use with {\tt \%1} in score file + to make a bass part with no figures).\\ +\dhline +h,w & If followed by number, page height or width. + Only at start of first input block.\\ +\ {\it x} & Page height or width.\\ +\ \ [i,m,p] & Inches, mm, points. Default is points.\\ +\dhline +h & If followed by blank or {\tt [+,-]}, heading. + Next input line will print above top staff.\\ +\ [+,- {\it i}] & Alter height from default, \bs{\tt internote} \\ +\dhline +I & MIDI controls. Only at start of an input block.\\ +\ [t{\it x}] & Set tempo to {\it x} beats per minute.\\ +\ [p{\it x}] & Insert a pause of {\it x} quarter notes.\\ +\ [i{\it i1i2...in}] & Specify {\tt noinst} MIDI instruments. {\it i1,i2...in} + are integers between 1 and 128 or 2-letter abbreviations. + Consecutive integers must be separated with {\tt ":"}.\\ +\ [v{\it i1}:{\it i2}:...{\it in}] & Specify {\tt noinst} velocities + (volumes), 1$\leq${\it i}$\leq$128. \\ +\ [b{\it i1}:{\it i2}:...{\it in}] & Specify {\tt noinst} balances + 1$\leq${\it i}$\leq$128, 64=center. \\ +\ [T] & MIDI-only transposition.\\ +\ \ +,- {\it i1} +,- {\it i2} ... +,- {\it in} & Amounts of transpositions in + \bs{\tt internote}s, {\tt noinst} values.\\ +\ [g{\it i}] & Internote gap in midi tics. Default = 10\\ +\ [MR{\it i}] & Start recording macro {\it i}.\\ +\ [M] & Stop recording.\\ +\ [MP{\it i}] & Playback (insert) macro {\it i}.\\ +\dhline +K & Key signature change and/or transposition.\\ +\ [n] & Suppress printing naturals.\\ +\ [i {\it i}] & Applies only to instrument {\it i}.\\ +\ +,- {\it i} & Amount of transposition in \bsn{}internotes. Use {\tt-0} to transpose + by 1/2 step to same-name key.\\ +\ \ +,- {\it i} & New key signature.\\ +\ \ \ [i {\it i}]... & Applies to another instrument {\it i}.\\ +\newcol +l & Next input line is a text string + to appear below top staff.\\ +\dhline +L{\it i} & Force a line break at line {\it i}. Voice \#1 only. Start of + block only.\\ +\ [P{\it i}] & Force a page break at page {\it i}.\\ +\ [M] & Movement break. Must follow {\tt P} if present. \\ +\ \ [+{\it i}] & Extra vertical space, \bs{\tt internote}. \\ +\ \ [i{\it x}] & New indent, decimal fraction of line width.\\ +\ \ [c] & Continue bar numbering, do not reset.\\ +\ \ [r +,-] & Force or suppress reprinting instrument names.\\ +\ \ [n{\it i}] & Change to {\it i} instruments.\\ +\ \ \ {\it d1d2...di} & Numbers of instruments. Precede 2-digit numbers with {\tt :}\\ +\ \ \ \ {\it c1c2...ck} & Clef symbols. Enter one for + every staff in new lineup.\\ +\ [S{\it x}] & Shorten this system to fraction {\it X} of orig.\\ +LC{\it y} & After L{\it i}S{\it x} and after gap, short segment of + length fraction {\it y} to end of system.\\ +\ [n] & Suppress bar number at start of 2nd segment\\ +\dhline +m & Meter change. Voice \#1 only. Start of input block only.\\ +\ o,{\it d1}[{\it d2}] & True numerator of meter. + Use {\tt o} if full value is exactly 1. + If {\it d1}=1, numerator is 10+{\it d2}.\\ +\ \ {\it d1}[{\it d2}] & True denominator.\\ +\ \ \ o,{\it d1}[{\it d2}] & Printed numerator of meter. Use {\tt o} as above.\\ +\ \ \ \ {\it d1}[{\it d2}] & Printed denominator.\\ +\ {\it d1}[{\it d2}]/ & (Alternate syntax) true numer-ator \\ +\ \ {\it d1}[{\it d2}]/ & true denominator \\ +\ \ \ {\it d1}[{\it d2}]/ & printed numerator \\ +\ \ \ \ {\it d1}[{\it d2}] & printed denominator \\ +\dhline +M & Macro. If alone, ends recording or saving.\\ +\ [R,S,P] & Record (store and execute), save (store but do not execute), + or playback. \\ +\ \ {\it i} & Macro ID number, from 1 to 20. \\ +\newcol +P & Start page numbering in this page. Voice \#1 only. + Start of input block only.\\ +\ [{\it i}] & Starting page number. Default is 1.\\ +\ [r,l] & Margin for starting page number. Default is 'r'.\\ +\ [c] & Centered header on each page. Must be last option in symbol. + Default text is instrument name \\ +\ \ [{\it text}] & Text with no blanks \\ +\ \ ["{\it text}"] & Text with blanks \\ +\dhline +R & Repeat or doublebar. Voice \#1 only. + Doublebars at start of bar only.\\ +\ l,r,lr,d,D,dl & Left repeat, right repeat, l-r rpt, doublebar, doubleBAR, + doublebar-left repeat.\\ +\ z & Blank barline at next system break.\\ +\ b & Single bar (end of movement or piece).\\ +\dhline +S{\it i} & Reset total number of systems to {\it i}. + Only at start of first input block. + Only useful with \bs{\tt \%}{\it j} for automatically + generated parts.\\ +\ [P{\it i}] & Force total number of pages to be {\it i}.\\ +\ [m{\it i}] & Change musicsize to {\it i}.\\ +\dhline +T & Title string. Only at start of first input block.\\ +\ t[{\it d1}[{\it d2}]],i,c & Title of piece (centered), instrument (left + justified), or composer (right justified). Following line + is the text. + {\tt Tt} may be followed by a number (\bsn{}internotes) to add + vertical space below entire title block. + {\tt Tt} must come after {\tt Ti} and {\tt Tc} for this to work.\\ +{\it text}\bs\bs{\it text} & Make a line break in the title string.\\ +\dhline +V & Toggle for Volta. Voice \#1 only. Start of bar only. + For scor2prt, only allowed one per input block, + and it must come at start of block.\\ +\ [{\it text}] & Text for start of volta. May not be ``b" or ``x".\\ +\ b,x & At end of volta, boxed end or horizontal (no box).\\ +\newcol +W & Set new minimum horizontal space between noteheads.\\ +\ . & Decimal point (required).\\ +\ \ {\it d1} & Tenths of notehead width. Default is 3.\\ +\dhline +x & Floating figure (offset to right).\\ +\ {\it d1} & Number of note-length units of offset.\\ +\ \ {\it d2} & Note-length unit. Same code as for note durations.\\ +\ \ \ 2,3,\dots,9,\break\rightline{\#,-,n,0{\it d1}} + & Characters for floating figure, + arranged as in normal figure.\\ +\dhline +X & Shift or insert hardspace. \\ +\ [-]{\it x} & Distance. Default units are notehead widths.\\ +\ \ [{\tt p}] & Units are points.\\ +\ [:] & Begin shift (if number\break also present), end shift + (if no number),\\ +\ [S] & Single-note shift ({\tt S}). \\ +\ [P] & Use only in part, not score. \\ +\ [B] & Use in both score and part. \\ +\dhline +2,3,\dots,9,\#,-,n & Normal figure. + Combine characters as needed. See manual.\\ +\ [v] & Start vertical shift for this line.\\ +\ \ [+,- {\it i}] & Vertical offset, \bsn{}internotes.\\ +0 {\rm (zero)} & Continuation figure.\\ +\ {\it x} & Length in \bsn{}internotes.\\ +\_ {\rm (underscore)} & Placeholder figure, to lower the next one. \\ +\ [+{\it i}] & In any figure, raise by {\it i}~\bs internotes. \\ +\ [s] & (With 2,4,5,6,9) add slash. Must have font cmrj. \\ +\dhline +[ & Start a forced beam.\\ +\ [j] & Continue an existing staff-\break jumping beam.\\ +\ [u,l] & Direction of forced beam.\\ +\ [f] & Flip beam direction.\\ +\ [m {\it d1}] & Forced multiplicity. {\it d1} = 1 - 4. \\ +\ [h] & Force horizontal beam (zero slope).\\ +\ [:] & After this forced beam, continue forced beaming over the + same interval until next explicit forced beam or end of + input block.\\ +\ [+,- {\it i}] & Vertical offset, \bsn{}internotes.\\ +\ \ [+,- {\it i}] & Change slope from default.\\ +\ \ \ [+,- {\it i}] & Distance to raise or lower beam, beam thk's.\\ +\dhline +] & End forced beam.\\ +\ [j] & Keep beam open, prepare to jump to other staff \\ +\newcol +][ & Between two notes in a forced beam, + decrease multiplicity to 1, then immediately increase. + Treated as a single symbol, set off by spaces.\\ +\dhline +]-[ & Between two notes in forced beam, end one segment and + start next of a single-slope beam group\\ +\dhline +( & Placed before a note, equivalent to {\tt s} after note. \\ +) & Equivalent to {\tt s} . \\ +\dhline +\{ & Placed before a note, equivalent to {\tt t} after note. \\ +\} & Equivalent to {\tt t} . \\ +\dhline +? & Arpeggio start/stop. Comes after note. \\ +\ [-{\it x}] & Shift left by {\it x} notehead widths. \\ +\dhline +\bs,\bs\bs,\bs\bs\bs & Start a literal \TeX~string before + next note, before \bsn{}startmuflex, or before + first \bsn{}notes group of current input block.\\ +\ {\it Text}\bs & TeX string and terminator. + May have more than one TeX command, strung end-to-end.\\ +--- (\rm 3 minus's) & Toggle for multiline \TeX\ block. Must start on first + line. All lines until next {\tt ---} will be copied verbatim + to top of \TeX\ file.\\ +\dhline +[|] & Bar line. Only used for checking, except required after + end-of-bar inserted hardspace.\\ +\dhline +/ & Terminate input for a staff in this input block.\\ +\dhline +// & Terminate first line of music on this staff for this input + block, start a second line of music on same staff.\\ +\dhline +\% & Comment line.\\ +\ [{\it h}]{\it text} & Scor2prt will put {\it text} + into the part whose hexadecimal number is {\it h}.\\ +\ [!]{\it text} & {\it text} + will be put in all parts by scor2prt.\\ +\ [\%] & Following line will be ignored by scor2prt.\\ +\dhline +.\break\null\ {\it note command} & Detatched dot-form shortcut.\break Note will have + 1/3 duration of prior note. See note name command.\\ +\dhline +,\break\null\ {\it note command} & Detatched 2:1 shortcut. Note will have + 1/2 duration of prior note. See note name command.\\ +\newcol +"\break\null\ {\it text}" & Lyrics. See pmx294.pdf section 2.2.15 for details.\\ +\ \ [@] & Set a vertical offset\\ +\ \ \ a,b & Above or below the staff\\ +\ \ \ \ +,- {\it i} & Amount of offset, \bsn{}internotes\\ +\hline +\end{tabular} +\end{center} +\end{multicols} +} +\end{document} diff --git a/support/ps2eps/Changes.txt b/support/ps2eps/Changes.txt deleted file mode 100644 index ef0c46602c..0000000000 --- a/support/ps2eps/Changes.txt +++ /dev/null @@ -1,288 +0,0 @@ ----------------------------- -Detailed Change Log: ----------------------------- -revision 1.68 -date: 2010-05-07 21:42:35 +0200; author: bless; state: Exp; lines: +3 -3; -- quoted translate command string ----------------------------- -revision 1.67 -date: 2009-12-05 23:44:19 +0100; author: bless; state: Exp; lines: +39 -33; -- quote of tmpfname for coping with spaces in filenames -- added -a option -- changed handling of hiresBB (now rounded to hiresprecision, by default 0.5pt) ----------------------------- -revision 1.66 -date: 2007-10-30 12:04:24 +0100; author: bless; state: Exp; lines: +9 -5; -- added %%BeginData %%EndData as indicators for Binary Section -- added new option -b (treat as binary) to prevent filtering CR/LF stuff ----------------------------- -revision 1.65 -date: 2007-01-24 14:19:42 +0100; author: bless; state: Exp; lines: +3 -3; -- fixed help/usage formatting output ----------------------------- -revision 1.64 -date: 2007-01-24 13:32:59 +0100; author: bless; state: Exp; lines: +4 -4; -- Year (C) update ----------------------------- -revision 1.63 -date: 2007-01-24 13:29:37 +0100; author: bless; state: Exp; lines: +3 -3; -- Tried to make DSCfilter command more robust ----------------------------- -revision 1.62 (not released) -date: 2007-01-06 23:27:47 +0100; author: bless; state: Exp; lines: +11 -5; -- better detection for files that have a binary heading stuff containing - even %! as character sequence ----------------------------- -revision 1.61 -date: 2006-12-28 17:34:06 +0100; author: bless; state: Exp; lines: +5 -5; -- changed year in comment and info printout only ----------------------------- -revision 1.60 (not released) -date: 2006-12-28 17:31:39 +0100; author: bless; state: Exp; lines: +9 -13; -- incorporated changes for Windows/Cygwin detection by Karl Berry ----------------------------- -revision 1.59 (not released) -date: 2006-04-04 11:04:47 +0200; author: bless; state: Exp; lines: +4 -4; -- removed surrounding ticks '' for -c $translation in $translatecmd - (hint by Thomas Riedle) -- removed useless/unsupported 2>&1 in $bboxver for Windows ----------------------------- -revision 1.58 -date: 2005/01/19 08:23:12; author: bless; state: Exp; lines: +8 -5 -- fix for two negative offsets in translation (reported by Hans Ecke) ----------------------------- -revision 1.57 -date: 2005/01/19 07:59:52; author: bless; state: Exp; lines: +10 -3 -- more Windows friendly checking for bbox existence ----------------------------- -revision 1.56 -date: 2005/01/17 12:32:54; author: bless; state: Exp; lines: +11 -3 -- added -r option to specify a resolution ----------------------------- -revision 1.55 -date: 2005/01/14 15:28:09; author: bless; state: Exp; lines: +6 -4 -- minor fixes to the -g option (thanks to Koji Nakamaru): - * suppress info output if quiet option is active - * more robust parsing of gs call result ----------------------------- -revision 1.54 -date: 2004/04/23 07:56:54; author: bless; state: Exp; lines: +4 -3 -- added ^pdfIm ^%-EOD- as indicator for binary section ----------------------------- -revision 1.53 -date: 2004/04/01 19:28:02; author: bless; state: Exp; lines: +6 -2 -- Clipping code used always hiresBB, which gave wrong results when bbox returned no hiresBB ----------------------------- -revision 1.52 -date: 2004/02/19 20:20:57; author: bless; state: Exp; lines: +90 -10 -- added rotate option -R -- changed translate in order to avoid negative BB coordinates ----------------------------- -revision 1.51 -date: 2004/01/25 22:02:04; author: bless; state: Exp; lines: +18 -9 -- removed ^ in parsing for %! heading, because Adobe Photoshop generated a - binary heading where ^%! did not work -- added clipping along %%HiResBoundingBox +0.1 points -- added option --nohires ----------------------------- -revision 1.50 -date: 2004/01/25 10:04:56; author: bless; state: Exp; lines: +158 -41 -- ps2eps can now use the bbox device of ghostscript (either by option, environment variable or command line) -- new environment variable PS2EPS_GSBBOX for specifying a default behavior -- uses implicitly the ghostscript bbox device if external bbox command cannot be found -- Added %%HiResBoundingBox output -- now uses gswin32c as default for MSWin32 or cygwin platforms -- added handling/passing of predefined paper sizes of ghostscript (including validity check and help) -- added new environment variable PS2EPS_SIZE for default paper size -- improved format checking for numerically given size -- shows used page size if given while processing -- shows whether it uses the bbox device of ghostscript -- added use POSIX and check for OS -- moved ps2eps header comment now after %%EndComments -- removed looseBB option from call of bbox ----------------------------- -revision 1.49 -date: 2003/11/19 15:08:52; author: bless; state: Exp; lines: +83 -47 -- Added -t|--translate option which allows to specify an offset for drawings -- Existing Bounding Box will now be detected even if negative and fractional values are contained -- Translation will happen automatically if a Bounding Box comment exists with negative offsets -- Warning(s) are printed if Bounding Boxes with negative coordinates are detected -- Built-in wildcard processing is only effective for non-Unix platforms ----------------------------- -revision 1.48 -date: 2003/11/09 17:47:47; author: bless; state: Exp; lines: +5 -5 -- print help, license and version to stdout instead of stderr (incorporated patch from Rafael Laboissiere ) ----------------------------- -revision 1.47 -date: 2003/07/09 -- different informational message for -F flag ----------------------------- -revision 1.46 -date: 2003/07/09 -- now using Getopt::Long::Configure(), because the other way caused problems with module exports -- fixsearchpat/fixreplacepat now filters initmatrix initclip initgraphics which is more generic - and will hopefully fix more bad postscript code -- binary section detection had missing CRLFs -- binary section detection now includes PScript 4 doNimage end marker -- improved pattern for ADO detection ----------------------------- -revision 1.45 -date: 2003/07/04 -- improved processing of images for Pscript_Win_Dib_L2: comment filtering - will not occur within doNimage,doclutimage,beginjpeg etc. ----------------------------- -revision 1.44 -date: 2003/07/03 -- looseBB was not initialized -- disabled use warnings since it may confuse users ----------------------------- -revision 1.43 (not released) -date: 2003/07/02 -- deactivated triggered filter and replaced it with search/replace filter -- new $filtersearchpat,$filterreplacepat combo to filter "initclip" - for PScript5.dll Version 5.2 -- sanity check never worked, fixed it -- new option -W --warnings to allow optional sanity check -- added various comments and reformatted source a little bit -- changed output within option processing, --help, --version, etc. -- added use warnings; -- refined filter expression in $rangefilter_begin -- added $exclude_rangefilter_begin and $..._end pair to preserve non PPD - feature code (although DSCs are possibly removed) - (this feature was integrated from my filterfeatures script) ----------------------------- -revision 1.42 (not released) -date: 2003/04/14 -- provided more robustness if Postscript headerline is malformed ----------------------------- -revision 1.41 (not released) -date: 2003/03/21 -- converted option processing to Getopt::Long package (based on code from Christophe Druet) -- rudimentary internal wildcard support (based on code from Christophe Druet) - (currently only within current directory) ----------------------------- -revision 1.40 (not released) -date: 2003/01/30 -- added filter for Orientation: comment in header, see new option -O ----------------------------- -revision 1.39 -date: 2002/07/10 -- changed new XP filter to triggered filter -- improved processing of binary files with beginimage endimage ----------------------------- -revision 1.38 (not released) -date: 2002/07/09 -- changed comment filtering in order to prevent image distortion -- new filter for Windows XP PScript5.dll Version 5.2: - Bad lines are: - 0 GpPBeg - NP - 129 400 m 4629 400 l 4629 6400 l 129 6400 l CP - eoclip - 1 1 1 SC - NP - 128 400 m 4629 400 l 4629 6400 l 128 6400 l CP - AF - GSE - To avoid the white rectangle deleting all the text above, - it is sufficient to delete - "1 1 1 SC" to "AF", however, I used eoclip as indicator - for the whole sequence. ----------------------------- -revision 1.37 (not released) -date: 2001/10/10 -- added "/setpagedevice {pop} def" to prolog in order to fix - problems with pdf creation, pstricks and nested dvips output - (thanks to Hans Fredrik Nordhaug for - suggesting this addition) ----------------------------- -revision 1.36 (not released) -date: 2001/08/30 -Added filter for Staroffice 5.2 Linux -revision 1.35 -------------- -date: 2001/08/20 13:32:36 -- Improved removeADO (tolerates more spaces) ----------------------------- -revision 1.34 (not released) -------------- -date: 2001/08/20 12:38:22 -- Improved processing of files with leading or trailing binary code -- Improved processing of files with embedded binary coded images -- Removes gabby diagnostic output from Adobe Printer Driver (see variable removeADO) ----------------------------- -revision 1.33 (not released) -------------- -date: 2001/04/25 22:42:10 -- Corrected %%EOF handling (regex) once again, because of braindead Win-files with _CR_LF -- Corrected handling of existing %%BoundingBox comments. Now it takes the last one seen. - Should esp. work with %%BoundingBox: (atend) usage... ----------------------------- -revision 1.32 (not released) -------------- -date: 2001/04/06 22:31:27 -- Fixed case sensitiveness when checking for suffix replacement - (thanks to Erik Jørgensen) ----------------------------- -revision 1.31 -------------- -date: 2001/02/27 19:45:19 -- Heuristic added for finding end of file by counting %%EOF comments. - Now correctly treats already embedded EPS, too. - Usually only trailing garbage (e.g., PCL control sequences) follows - last %%EOF. However, sometimes the last %%EOF may be missing. - Therefore, the behavior is switchable by new -E option. ----------------------------- -revision 1.30 (not released) -------------- -date: 2001/02/09 16:55:32 -Just forgot the new options in usage line, corrected year in copyright ----------------------------- -revision 1.29 -------------- -date: 2001/02/09 15:43:28 -- New first line of code for getting rid of the #! comment -- EOF handling corrected, allowing better handling of already embedded eps files -- New -P option to allow selective removal of embedded preview images - (was previously default) -- Preview images were not filtered in the prolog section (now corrected with -P) -- New -N option to prevent inclusion of any surrounding postscript code ----------------------------- -revision 1.28 -------------- -date: 2000/10/13 09:51:55 -\n was missing at altered clipping bounding box ----------------------------- -revision 1.27 (not released) -date: 2000/10/13 09:39:07 -Clip option should now also print the enlarged BoundingBox in the -Postscript header, so it is not cut off if it gets clipped again. ----------------------------- -revision 1.26 -- just fixed the E-Mail address, because it will not change so often - in the future ----------------------------- -revision 1.25 (not released) -- new -C option clipping added -- fixed page bounding box search message -- bbox 1.10 now fixed scanf() which might cause crashes ----------------------------- -revision 1.24 -date: 2000/07/24 18:52:36; -- just forgot the new options in usage txt, now fixed ----------------------------- -revision 1.23 -date: 2000/07/24 18:34:52; -- ps2eps now uses existing Bounding Box for GS rendering - (can be switched off with -B option) -- Original Postscript version from first header line should now be retained - in output file -- provide --help and --version with usual meaning for GNU programs ----------------------------- -revision 1.22 -date: 2000/02/23 14:15:31; author: bless; state: Exp; lines: +12 -6 -ps2eps now draws in color (ppm) by default. -Monochrome option added. -Fixing message was not printed for each file. ----------------------------- -not released before... diff --git a/support/ps2eps/INSTALL.txt b/support/ps2eps/INSTALL.txt deleted file mode 100644 index d3ca8d0926..0000000000 --- a/support/ps2eps/INSTALL.txt +++ /dev/null @@ -1,67 +0,0 @@ -INSTALLATION ------------- - -* Prerequisites - you need: - - perl (an interpreter for the perl language, see http://www.perl.com) - - ghostscript (an interpreter/raster image processor - for the PostScript language, - see http://pages.cs.wisc.edu/~ghost/) - - maybe an ANSI-C compiler if the provided binaries for bbox do not work - for you. Sorry for the inconvenience, but I tried to write a bbox - equivalent in perl and it was terribly slow. Therefore I stick to C, - because of much better performance. - ALTERNATIVELY you can use ps2eps option -g, then no bbox binary is - required. - -* How to install - - Please check that you have working - perl and ghostscript packages. - - Linux/UNIX-based platform - ========================= - 1.) install bbox - - If a bbox binary is included for your platform you simply move it - into any directory of the system search path. Otherwise, you have - to compile bbox.c first by invoking - cc -o bbox bbox.c. - (sometimes "make bbox" also works). - Please make sure that bbox is executable (chmod a+x bbox). - If you already have a working perl and a working ghostscript, you're - finished here, else you have to install them first. - - 2.) install ps2eps - On Unix platforms you simply move the perl script ps2eps into - a directory which is included in the system or personal search - path (e.g., /usr/local/bin, $home/bin). Please make sure that - ps2eps is executable (chmod a+x ps2eps). - - Windows-based platform - ====================== - Use the command line interpreter: - Copy bbox.exe from bin/win32/ directory into a directory that is - in your's or the system's search path for executables. Please try - to invoke bbox -h afterwards. - - The best possibility is to use associated file types under - Windows NT/2000/XP: - 1.) rename ps2eps to ps2eps.pl and - 2.) SET PATHEXT=.pl;%PATHEXT% or use the - settings -> control panel -> system -> "advanced" tab -> environment variables - and edit the PATHEXT entry accordingly. - 3.) then simply typing ps2eps should invoke ps2eps correctly - - Another option is to call perl directly: - perl ps2eps ... - - The script assumes that you have "gswin32c" as - postscript interpreter in your path. Under Windows ps2eps - can perform wildcard expansion now on its own. - -UPDATES -------- -Possibly you can find the newest version at the -following URL: -http://tm.uka.de/~bless/ps2eps diff --git a/support/ps2eps/Latest_is_1.68 b/support/ps2eps/Latest_is_1.68 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/support/ps2eps/README b/support/ps2eps/README deleted file mode 100644 index 0f9784de35..0000000000 --- a/support/ps2eps/README +++ /dev/null @@ -1,43 +0,0 @@ -DOCUMENTATION -============= -Please see documentation in the manpage or doc/ sub directory. -Note that the manpage may have an older version number in it, -which is nothing to worry about since there may have been minor changes -incorporated into ps2eps not requiring any update of the -documentation. - -INSTALLATION -============ -Please see instructions in separate text file INSTALL.txt - -UPDATES -======= -Possibly you can find the newest version at the -following URL: -http://www.ipv6.tm.uka.de/~bless/ps2eps - - -Contact information: - Roland Bless, roland bless.de - - If you have problems, please send a gzipped file of - relevant postscript code with your error description - and ps2eps version number. - -License: - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ---------------------------------------------------------------------------- -End of README.txt ---------------------------------------------------------------------------- diff --git a/support/ps2eps/README.md b/support/ps2eps/README.md new file mode 100644 index 0000000000..9eb7a0e503 --- /dev/null +++ b/support/ps2eps/README.md @@ -0,0 +1,63 @@ +# ps2eps +ps2eps - calculate correct bounding boxes for PostScript and PDF files + +## Description + +ps2eps is a tool (written in Perl) to produce Encapsulated PostScript +Files (EPS/EPSF) from usual one-paged Postscript documents. It +calculates correct Bounding Boxes for those EPS files and filters some +special postscript command sequences that can produce erroneous +results on printers. EPS files are often needed for including +(scalable) graphics of high quality into TeX/LaTeX (or even Word) +documents. Included graphics can be clipped to their bounding box. + +Nowadays PDF is more widely used, but the original problems +described below still exist: pdfcrop sometimes does not +produce the correct bounding box. This program can be used +together with pdfcrop in order to produce reliable bounding +boxes for PDF files, too. + +Other programs like ps2epsi do not calculate the bounding box +always correctly (because the values are put on the postscript +stack which may get corrupted by bad postscript code) or rounded +it off so that clipping the EPS cut off some part of the image. +ps2eps uses a double precision resolution of 144 dpi and appropriate +rounding to get a proper bounding box. The internal bbox device of +ghostscript generates different values (sometimes even incorrect), +so using the provided bbox should be more robust. +However, because normal clipping has only a resolution of 1/72dpi +(postscript point), the clipping process may still erase parts +of your EPS image. In this case please use the -l option to add +an additional point of white space around the tight bounding box. + +## Documentation + +Please see documentation in the manpage or doc/ sub directory. +Note that the manpage may have an older version number in it, +which is nothing to worry about since there may have been minor +changes incorporated into ps2eps not requiring any update of the +documentation. + +## Installation + +see doc/INSTALL.md + +## Updates + +See the git repository: https://github.com/roland-bless/ps2eps + +## License (GNU GPL 2.0) + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA diff --git a/support/ps2eps/bin/linux/i386/bbox b/support/ps2eps/bin/linux/i386/bbox deleted file mode 100644 index c1d388036f..0000000000 Binary files a/support/ps2eps/bin/linux/i386/bbox and /dev/null differ diff --git a/support/ps2eps/bin/linux/x86_64/bbox b/support/ps2eps/bin/linux/x86_64/bbox deleted file mode 100755 index 42052fe2e2..0000000000 Binary files a/support/ps2eps/bin/linux/x86_64/bbox and /dev/null differ diff --git a/support/ps2eps/bin/ps2eps b/support/ps2eps/bin/ps2eps deleted file mode 100644 index f02e5a29cd..0000000000 --- a/support/ps2eps/bin/ps2eps +++ /dev/null @@ -1,946 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' # -*-perl-*- - if 0; -# The expression in the previous line replaces the unix specific line -# {#!/usr/bin/perl}. -# ps2eps - convert PostScript to EPS (Encapsulated PostScript) files -# ------------------------------------------------------------------- -# $Id: ps2eps,v 1.68 2010-05-07 19:42:35 bless Exp $ -# ------------------------------------------------------- -# (C)opyright 1999-2009 Roland Bless -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# Author: Roland Bless -# Send bug reports to roland bless.de -# ------------------------------------------------------------------- -# Additional filtering is performed when Windows generated PostScript files -# are processed. Some instructions will otherwise lead to bad output -# if EPS-file gets embedded into other PostScript files. -# -# Requirements: -# + perl -# + gs (ghostscript supporting pbm output) -# + bbox (a little C program [ANSI-C - should work on every platform] -# for calculation of the actual BoundingBox) - -use POSIX; - -#use warnings; - -#use Getopt package -use Getopt::Long; -Getopt::Long::Configure("no_ignore_case"); - -$prgname= "ps2eps"; - -if (! -d "/usr/bin") -{ # we assume that we are running under native windows - $ghostscriptname = "gswin32c"; - $NULLDEV = "nul"; -} -else -{ # Unix or cygwin - $ghostscriptname = "gs"; - $NULLDEV = "/dev/null 2>&1"; -} - -$bboxver=`bbox >$NULLDEV -V`; -$bboxname= ($?== -1) ? "" : "bbox"; -$version= '$Id: ps2eps,v 1.68 2010-05-07 19:42:35 bless Exp $'; #' -$insertPScode= 1; # Insert surrounding Postscript code -$infhandle = STDIN; # Standard input is the default input file -$outfhandle = STDOUT; # Standard output is default output if STDIN is input -$infname= '-'; -$outfname= '-'; -$forceoverwrite=0; # do not overwrite existing files -$ignoreBB= 0; # ignore existing Bounding Box comment -$removeDSC= 1; # remove Adobe document structure comments -$removeADO= 1; # remove Adobe printer Driver console Output [Page: ...] -$ignoreEOFDSC= 0; # ignore %%EOF DSC hint -$removePreview= 0; # remove preview -$quiet= 0; # write progress to stdout -$resolution= 144; # resolution for bounding box calculation is 2x72 dpi -$trytofixps= 1; # try to fix postscript code -$forcefixps= 0; # fix postscript code unconditionally if eq 1 -$filterorientation= 1;# filter Orientation line -$looseBB=''; # default: tight bounding box -$clip=0; # do not clip -$warnings=0; # do not print warnings concerning postscript sanity -$debuggs=0; # no debugging of ghostscript call, turn this on if you want to see the gs call -$inch=2.54; # one inch is 2.54cm -$fullcolors= 1; # use ppm format (24-bit full color) -$trailerseen= 0; # Trailer comment seen? -$PSversion="2.0"; # default Postscript Version -$PSDSCversion="2.0"; # default Postscript DSC Version -$translate_x= 0; # translate by x postscript points -$translate_y= 0; # translate by y postscript points -$allbinary= 0; # treat postscript as binary do not filter or change stuff -$alphaopt=""; # rendering option for ghostscript "-dTextAlphaBits=4 -dGraphicsAlphaBits=4" -$hiresprecision=0.5; # amount that is changed of HiresBB in case that looseBB was requested - -$defaultext = '(ps|prn)'; # default extension -$defaultoutext = '.eps'; # default output extension -$envname_size = 'PS2EPS_SIZE'; -$envname_gsbbox = 'PS2EPS_GSBBOX'; - -$gpar=""; -$known_papersizes="11x17|ledger|legal|letter(small)?|arch[A-E]|a([0-9]|10)|isob[0-6]|b[0-5]|c[0-6]|jisb[0-6]|fls(a|e)|halfletter"; -$papersize_help="11x17,ledger,legal,letter,lettersmall,archA,archB,archC,archD,archE\ -a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,isob0,isob1,isob2,isob3,isob4,isob5,isob6,\ -b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5,c6,\ -jisb0,jisb1,jisb2,jisb3,jisb4,jisb5,jisb6,flsa,flse,halfletter\n"; -$trigger= 0; -$notsane= 0; -$dummy=""; - -@ver= split(/ /,$version); - -# filename for temporary files -if ($^O =~ /MSWin32/i or $^O =~ /cygwin/i) -{ - # it is less trouble to use the current directory if working on - # cygwin and nevertheless using gswin32c. - $tmpfname= "$prgname.$$"; - $win=1; -} -elsif (defined($ENV{'TMP'})) -{ - $tmpdir= $ENV{'TMP'}; - $filesep= ($tmpdir =~ /^?\:\\/) ? '\\' : '/'; - if ($tmpdir =~ /$filesep$/) - { $tmpfname= $tmpdir . "$prgname.$$"; } - else - { $tmpfname= $tmpdir . "$filesep$prgname.$$"; } - $win=1; -} -else #assume we're on a UNIXBOX -{ - $tmpfname= "/tmp/" . "$prgname.$$"; - $win=0; -} - - -$licensetxt= "\ - This program is free software; you can redistribute it and/or modify\ - it under the terms of the GNU General Public License as published by\ - the Free Software Foundation; either version 2 of the License, or\ - (at your option) any later version.\ -\ - This program is distributed in the hope that it will be useful,\ - but WITHOUT ANY WARRANTY; without even the implied warranty of\ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\ - GNU General Public License for more details.\ -\ - You should have received a copy of the GNU General Public License\ - along with this program; if not, write to the Free Software\ - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"; - -@prgidtxt= ( "$prgname - convert PostScript to EPS (Encapsulated PostScript) files\n", - "(C)opyright 1998-2009 Roland Bless\n\n" ); - -@helptxt= ("Version: $ver[2]\n", - "Operation:\n", - " Without any argument, $prgname reads from standard input\n", - " and writes to standard output.\n", - " If filenames are given as arguments they are processed\n", - " one by one and output files are written to filenames\n", - " with extension '$defaultoutext'. If input filenames have the extension\n", - " '.ps' or '.prn', this extension is replaced with '$defaultoutext'.\n", - " In all other cases '$defaultoutext' is appended to the input filename.\n", - " Please note that PostScript files for input should contain\n", - " only one single page.\n\n", - " If BoundingBox in output seems to be wrong, please try options --size or --ignoreBB.\n\n" ); - -@usagetxt= ("Syntax:\n", - " $prgname [-f] [-q] [-N] [-O] [-n] [-P] [-c] [-b] [-C] [-m] [-B] [-E] [-s ] [-R +|-|^] [-t ] [-l] [-g] [-d] [-H] [-h|--help] [-g] [-a] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]\n", - "Options:\n", - " -f, --force force overwriting existing files\n", - " -q, --quiet quiet operation (no output while processing files)\n", - " -N, --noinsert do not insert any postscript code\n", - " -O, --preserveorientation do not filter Orientation: header comment\n", - " -n, --nofix do not try to fix postscript code\n", - " -P, --removepreview remove preview image (smaller file, but no preview)\n", - " -F, --fixps fix postscript code unconditionally\n", - " -c, --comments preserve document structure comments\n", - " -b, --binary treat postscript as binary, do not modify characters\n", - " -C, --clip insert postscript code for clipping\n", - " -m, --mono use black/white bitmap as base for calculation\n", - " -s, --size= page size (a0-a10,letter,...) or in format XxY[cm|in] (default:cm), where X and Y are numbers\n", - " use --size=list to list pre-defined page sizes\n", - " -R, --rotate= rotate resulting EPS. : +=+90 (clockw.),-=-90 (counter-clockw.) ^=180 degrees\n", - " -t, --translate specify x,y offset (may be negative) in postscript points (1/72 dpi)\n", - " -r, --resolution specify dpi resolution to render with ghostscript (default 144)\n", - " -l, --loose expand the original bounding box by one point in each direction\n", - " -B, --ignoreBB do not use existing bounding box as page size for rendering\n", - " -E, --ignoreEOF do not use %%EOF as hint for end of file\n", - " -g, --gsbbox use internal bbox device of ghostscript\n", - " -H, --no-hires do not use a HiResBoundingBox\n", - " -h, --help help information\n", - " -L, --license show licensing information\n", - " -V, --version show version information\n", - " -d, --debuggs show ghostscript call\n", - " -a, --accuracy improve accuracy during rendering (maybe slower)\n", - " -W, --warnings show warnings about sanity of generated eps file\n", - " -- all following arguments are treated as files\n", - " (allows filenames starting with -)\n", - "\n", - "Arguments:\n", - " One or more names of PostScript files for input\n"); - -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## -- argument checking -- -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -#environment variable for papersize -if (defined($ENV{"$envname_size"})) -{ - $opt_s= $ENV{"$envname_size"}; -} -else -{ - $opt_s = ''; # for s-option -} - -if (defined($ENV{"$envname_gsbbox"})) -{ - $bboxname=""; -} - -$opt_t = ''; # for t-option -$opt_R = ''; # for R-option -$opt_r = ''; # for r-option -$stopnow = 0; -die "Wrong option(s), please check usage with $prgname --help\n" unless -GetOptions('f|force' => \$forceoverwrite, - 'q|quiet' => \$quiet, - 'm|mono' => sub { $fullcolors = 0 }, - 'n|nofix' => sub { $trytofixps = 0 }, - 'F|fixps' => \$forcefixps, - 'N|noinsert' => sub { $insertPScode = 0 }, - 'O|preserveorientation' => sub { $filterorientation= 0 }, - 'P|removepreview' => \$removePreview, - 'c|comments' => sub { $removeDSC = 0 }, - 'b|binary' => sub { $allbinary = 1 }, - 'C|clip' => \$clip, - 'l|loose' => sub { $looseBB = '-l' }, - 'B|ignoreBB' => \$ignoreBB, - 'E|ignoreEOF'=> \$ignoreEOFDSC, - 's|size=s' => \$opt_s, - 't|translate=s' => \$opt_t, - 'r|resolution=s' => \$opt_r, - 'R|rotate=s' => \$opt_R, - 'g|gsbbox' => sub { $bboxname=""; }, - 'H|nohires' => \$nohires, - 'h|help' => sub { $stopnow = 1; print @prgidtxt,@helptxt,@usagetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, - 'L|license' => sub { $stopnow = 1; print @prgidtxt,$licensetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, - 'a|accuracy' => sub { $alphaopt = '-dTextAlphaBits=4 -dGraphicsAlphaBits=4' }, - 'd|debuggs' => \$debuggs, - 'W|warnings' => \$warnings, - 'V|version' => sub { $stopnow = 1; print @prgidtxt,"Version: $ver[2]\n"; });exit if ($stopnow); - -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## -- wildcard processing -- -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## internal wildcard processing for current directory, -## only used for non UNIX-based OSs (which may lack shell wildcard expansion) -@filenames = (); -foreach $object (@ARGV) { - if ($win && $object =~ m/\*/o) # asterisk is present in filename - { - $wildcard = $object; - $wildcard =~ s/\./\\\./g; # replace . in pattern with \. - $wildcard =~ s/\*/\(\.\*\)/g; # replace * in pattern with (.*) - opendir(DIR,'.') || die 'Unable to open current directory, stopped'; # open current directory - print STDERR $wildcard; - @fid = grep { /$wildcard(\.$defaultext)?/i } readdir(DIR); - foreach (@fid) { push @filenames, $_; } - closedir DIR; - } - else { push @filenames, $object; } -} # end foreach -$filenames[0]= '-' if (scalar(@filenames) == 0); # no file arguments, use STDIN as input - -print STDERR "Input files: @filenames\n" if (!$quiet); - -if ($opt_r ne '') -{ - $resolution=$opt_r; -} - -# papersize stuff -if ($opt_s ne '') -{ - # if explicit size is given, ignore existing BoundingBox always - $ignoreBB = 1; - $pagedimension = $opt_s; - if ($opt_s eq "list") - { - print STDERR "Available paper sizes: $papersize_help"; - exit 0; - } - - #explicit format XxY[cm|in] - if ($pagedimension =~ /(\d*\.?\d+)x(\d*\.?\d+)/) - { - ($x_dim, $dummy, $y_dim, $unit)= split(/(x|cm|in)/,$pagedimension); - if ( $x_dim !~ /^\d*\.?\d+$/ ) - { die "$x_dim in $arg is not a valid number, stopped"; } - if ( $y_dim !~ /^\d*\.?\d+$/ ) - { die "$y_dim in $arg is not a valid number, stopped"; } - - #print STDERR "xdim: $x_dim ydim: $y_dim unit:$unit\n" ; - if (!defined($unit) ) - { - $unit='cm'; - $opt_s=$opt_s . $unit; - } - if ( $unit ne 'in' ) # assume centimeters - { # calculate dimension in pixels (remember: resolution is in dpi) - $xpixels= int(($x_dim * $resolution) / $inch)+1; - $ypixels= int(($y_dim * $resolution) / $inch)+1; - $gpar= "-g${xpixels}x${ypixels}"; - } - else - { - $xpixels= int($x_dim * $resolution)+1; - $ypixels= int($y_dim * $resolution)+1; - $gpar= "-g${xpixels}x${ypixels}"; - } - } #endif XxY in opt_s - else - { - if ($opt_s =~ /$known_papersizes/) - { - $gpar="-sPAPERSIZE=$opt_s"; - } - else - { - print STDERR "Error: Unknown paper size: $opt_s\n Acceptable papersizes are:$papersize_help\n"; - exit 1; - } - } -} - -#translate option -if ($opt_t ne '') -{ - ($translate_x,$translate_y)= split(/\,/,$opt_t); -} - -#rotate -$rotright='-90 rotate'; -$rotleft='90 rotate'; -$rotupsidedown='180 rotate'; -$rotate=''; -if ($opt_R ne '') -{ - if ($opt_R eq '+') { $rotate=$rotright; } - elsif ($opt_R eq '-') { $rotate=$rotleft; } - elsif ($opt_R eq '^') { $rotate=$rotupsidedown; } - else { die "Wrong parameter for option -R: Valid are only +,-,^\n"; }; -} - -$device= $fullcolors ? "ppmraw" : "pbmraw"; - -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -## -- iterate over different input files -- -## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -PROCESSFILE: -while ($infname= (shift @filenames)) -{ - # reset filter definitions for each file - undef $linefilter; - undef $rangefilter_begin; - undef $rangefilter_end; - $fixthisps= $trytofixps; - $fixmsgprinted= 0; - - if (!$quiet) { print STDERR "Processing: $infname\n"; } - unless (open($infhandle,"<$infname")) - { # skip over this file - print STDERR "$prgname: Can't open $infname: $!\n"; - next PROCESSFILE; - } - - # buffer input from stdin into temporary file, because it has to be read twice - # one time for ghostscript processing, the second time for generating output - if ($infname eq '-') # input is stdin - { - $tmpfhandle=''; - open($tmpfhandle,">$tmpfname") or - die "Cannot open temporary file $tmpfname for writing: $!\n"; - } - else # input is not stdin - { - undef $tmpfhandle; - #if filename ends with $defaultext usually .ps or .prn, replace the extension with $defaultoutext - if ($infname =~ /\.$defaultext$/i) - { - $outfname= $infname; $outfname =~ s/\.$defaultext$/$defaultoutext/i; - } - else # otherwise simply append the extension $defaultoutext - { - $outfname= $infname . "$defaultoutext"; - } - } #end else input is not stdin - - ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - ## -- process input file -- - ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - $linefilter= '^$'; #'# filter empty lines by default - while (<$infhandle>) - { - # get postscript and DSC version - if (/%!PS-Adobe-(\S+).*EPSF-(\S+)/) - { - $PSversion=$1; - $PSDSCversion=$2; - if (! ($PSversion =~ /\d+\.\d+/)) - { - $PSDSCversion="2.0"; - } - if (! ($PSDSCversion =~ /\d+\.\d+/)) - { - $PSDSCversion="2.0"; - } - } - - # check for existing BoundingBox parameters - if ( /^%%\s*BoundingBox:\s*(.*)/ && !defined($eBBllx) ) - { - $BBarg= $1; - # accept even negative and fractional BBs - if ( $BBarg =~ /(\-?\d+\.?\d*\s+){3,}\d+/ ) # ignore %% BoundingBox: (atend) comments - { - ($eBBllx,$eBBlly,$eBBurx,$eBBury,$dummy)= split /\s/,$BBarg; - #print STDERR "Existing BB: $eBBllx,$eBBlly,$eBBurx,$eBBury\n"; - if (int($eBBllx) < 0) { $translate_x= - int($eBBllx-0.5); } - if (int($eBBlly) < 0) { $translate_y= - int($eBBlly-0.5); } - - $xpixels= int((($eBBurx-$eBBllx) * $resolution)/72 + 0.5); - $ypixels= int((($eBBury-$eBBlly) * $resolution)/72 + 0.5); - if (!$ignoreBB) - { - $gpar= "-g${xpixels}x${ypixels}"; - # check for meaningful values - if (($xpixels <= 1) || ($ypixels <= 1)) - { - $gpar=""; undef $eBBllx; undef $eBBlly; - } - else - { - if (!$quiet) - { - print STDERR "Rendering with existing $_"; - if (int($eBBllx) < 0 || int($eBBlly) < 0) - { - print STDERR "WARNING: existing Bounding Box shows negative values - shifting\n"; - } - } - } - } #endif !$ignoreBB - } #endif $BBarg =~ - } - - - if ($fixthisps) # try to fix bad postscript code - { - # check for Windows 3.x output - if ( /^Win.*Dict/ ) - { - if (!$quiet && !$fixmsgprinted) - { print STDERR "Windows 3.5 generated Postscript file detected, fixing\n"; } - $linefilter= '^(EJ|RS)'; - $rangefilter_begin= '^statusdict'; - $rangefilter_end= 'cvx\ settransfer$'; #' - $fixmsgprinted= 1; # stop printing message - } - else - { - if ( /^%%Creator:\s*Wind.U\s*Xprinter/ ) - { - if (!$quiet && !$fixmsgprinted) - { print STDERR "Star/OpenOffice generated Postscript file detected, fixing\n"; } - $linefilter= '^rs'; - $fixmsgprinted= 1; # stop printing message - } - else - { - if ( $forcefixps || - /^\/NTPS/ || - /Creator:\s*(AdobePS|Pscript|.*Windows)/i ) #check for NT generated output - { - if (!$quiet && !$fixmsgprinted) - { - if ($forcefixps) - { - print STDERR "Postscript filtering requested, fixing\n"; - } - else - { - print STDERR "Windows generated Postscript file detected, fixing\n"; - } - } - $rangefilter_begin= '^((\[\{)|(featurebegin\{))$'; #' - $rangefilter_end= '^(\} stopped cleartomark|\}featurecleanup)'; - $exclude_rangefilter_begin= '^(?i)%%BeginNonPPDFeature'; #' - $exclude_rangefilter_end= '^(?i)%%EndNonPPDFeature'; - #$triggered_rangefilter_begin= ''; #' - #$triggered_rangefilter_end= ''; #' - $fixsearchpat='(^|\s)(initmatrix|initclip|initgraphics)(\s|$)'; - $fixreplacepat=' '; - $fixmsgprinted= 1; # stop printing message - } # end if NTPS - } #end else - } - } #end if trytofixps - - if (defined($tmpfhandle)) - { - print $tmpfhandle $_ or die "$prgname: Failure during writing to temporary file $tmpfname"; - } - - if (/^%%EOF\s*$/) - { - $totalEOFDSC++ - } - } #end while <$infhandle> - - if (defined($tmpfhandle)) - { - close($tmpfhandle); - } - else - { - $tmpfhandle= $infhandle; - $tmpfname= $infname; - } - - ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - ## -- calculate the bounding box -- - ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - if ($translate_x!=0 || $translate_y!=0) - { - $translation="$translate_x $translate_y translate"; - $translatecmd="-c \'$translation\'"; - } - else - { - $translation=""; - $translatecmd=""; - } - - if (!$quiet) - { - print STDERR "Calculating Bounding Box..."; - if ($opt_s) - { - print STDERR "using page size $opt_s..."; - } - } - - $rotatecmd=''; - if ($rotate ne '') - { - $rotatecmd="-c \"$rotate\"" - } - if ($bboxname ne '') - { - $cmdline="$ghostscriptname -dSAFER -dNOPAUSE $alphaopt -q $gpar -r$resolution -sDEVICE=$device -sOutputFile=- $translatecmd -f \"$tmpfname\" -c showpage -c quit | $bboxname -r $resolution"; - } - else - { - if (!$quiet) { - print STDERR "...using bbox device of $ghostscriptname..."; - } - $cmdline = "$ghostscriptname -dSAFER -dBATCH -dNOPAUSE -q $gpar -r$resolution -sDEVICE=bbox -sOutputFile=- -c \"/setpagedevice {pop} def\" $translatecmd -f \"$tmpfname\" -c quit 2>&1"; - } - - if ($debuggs) { print STDERR "\nCalling: $cmdline\n"; } - - # actual ghostscript call - $boundingbox=`$cmdline`; - if ($debuggs) { print STDERR "Call result: $boundingbox"; } - - # check result of gs call - if ($boundingbox !~ /^%%BoundingBox/m) - { - die "Error: Could not determine bounding box!\n", - "I suppose $ghostscriptname had some trouble interpreting the postscript-file $infname. Exiting now.\n"; - } - - $boundingbox =~ /^%%HiResBoundingBox:\s*(.*)/m; - if (defined($1)) # HiResBoundingBox given - { - ($hcBBllx,$hcBBlly,$hcBBurx,$hcBBury,$dummy)= split(/\s/,$1); - $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; - $cBBllx = floor($hcBBllx); - $cBBlly = floor($hcBBlly); - $cBBurx = ceil($hcBBurx); - $cBBury = ceil($hcBBury); - } - else - { #use normal BoundingBox - $boundingbox =~ /^%%.*BoundingBox:\s*(.*)/; - ($cBBllx,$cBBlly,$cBBurx,$cBBury,$dummy)= split(/\s/,$1); - } - # if loose BB is requested - # apply changes to resulting bounding box if needed - if ($looseBB ne '') - { - if ($cBBllx > 0) { $cBBllx--; } - if ($cBBlly > 0) { $cBBlly--; } - $cBBurx++; - $cBBury++; - - if ($hcBBllx-$hiresprecision >= 0.0) { $hcBBllx-= $hiresprecision; } - if ($hcBBlly-$hiresprecision >= 0.0) { $hcBBlly-= $hiresprecision; } - $hcBBurx+= $hiresprecision; - $hcBBury+= $hiresprecision; - $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; - - } - if ($cBBllx < 0 || $cBBlly < 0) - { - if (!$quiet) - { - print STDERR "WARNING! Your drawing had a negative Bounding Box which is deprecated and may cause problems!. I'll shift it.\n"; - } - $translate_x= -int($cBBllx); - $translate_y= -int($cBBlly); - $cBBllx=0; - $cBBurx= $cBBurx + $translate_x; - $cBBlly=0; - $cBBury= $cBBury + $translate_y; - - $hcBBurx= $hcBBurx + $hcBBllx; - $hcBBury= $hcBBury + $hcBBlly; - $hcBBllx= 0; - $hcBBlly= 0; - - $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; - - $translation="$translate_x $translate_y translate"; - $translatecmd="-c \'$translation\'"; - } - $boundingbox = "%%BoundingBox: $cBBllx $cBBlly $cBBurx $cBBury\n"; - - if (!$quiet) { print STDERR "ready. $boundingbox" }; - - $before_startps= 1; - $inserted_prolog= 0; - $prolog_passed= 0; - - ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - ## -- Create output file -- - ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - if (!$quiet) { print STDERR "Creating output file $outfname ... "; } - if (!$forceoverwrite and -s "$outfname") - { - die "$prgname: Sorry, file named $outfname already exists,", - " will not overwrite it.\n", - " You will have to use the -f option, delete it or rename it", - " before running $prgname again.\n"; - } - else - { - open($outfhandle,">$outfname") or die "Can't open file $outfname for writing: $!\n"; - } - - - open($tmpfhandle,"<$tmpfname") or die "Cannot open file $tmpfname for reading"; - CREATEOUTPUT: - while (<$tmpfhandle>) - { - # check whether we are in a binary section - - $binarysection=$allbinary || - (/^(%%Begin(Binary|Data))|(beginimage)\r?\n?$/ ... /^(%%End(Binary|Data))|^(endimage)/) || - (/^(doNimage)|(doclutimage)\r?\n?$/ ... /(^|~> )Z\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 - (/^beginjpeg / ... /~> endjpeg\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 - (/^pdfIm/ ... /^%-EOD-/); - - if ( !$binarysection ) - { - s/\r?\n?$//; # remove CR and/or LF at end of line if not in binary section - } - - # check where magic Postscript header starts - skip leading binary stuff, e.g., HP PCL/PJL code - if ($before_startps) - { - if ( /%!/ ) # This is usually the smallest magic sequence - { # Note: Adobe Photoshop generated a binary heading, so ^ is not applicable - # %! may be part of a binary sequence, but then control characters follow - # so skip %! if non alphanumeric characters follow - if ( ! /%!.*[^\w]{2,}/ ) - { - # some heading without two control characters found - $before_startps= 0; - if (! /%!PS-Adobe.*/i) # some strange programs use other magics - { - print STDERR "** Warning **: Weird heading line -- ",$_," -- "; - } - } - } - next CREATEOUTPUT; - } - else # we are hopefully in regular postscript code now - { - # count %%EOFs as we want to know when we got the last EOF - if ( /^%%EOF\s*$/ ) - { - $seenEOF++; - } - - # We should insert our own prologue including the newly calculated BoundingBox - if (! $inserted_prolog) - { - print $outfhandle "%!PS-Adobe-$PSversion EPSF-$PSDSCversion\n"; - # check if we need to rotate - $transrotcmd=''; - if ($rotatecmd) - { - if ($rotate eq $rotright) - { - $transrotcmd="-$cBBlly $cBBurx translate"; - $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; - if ($hiresboundingbox ne "") - { - $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; - } - - } - elsif ($rotate eq $rotleft) - { - $transrotcmd="$cBBury -$cBBllx translate"; - $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; - if ($hiresboundingbox ne "") - { - $hiresboundingbox= '%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; - } - } - elsif ($rotate eq $rotupsidedown) - { - $transrotcmd="$cBBurx $cBBury translate"; - $boundingbox='%%BoundingBox: 0 0 ' . ($cBBurx-$cBBllx) . ' ' . ($cBBury-$cBBlly) . "\n"; - if ($hiresboundingbox ne "") - { - $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBurx-$hcBBllx) . ' ' . ($hcBBury-$hcBBlly) . "\n"; - } - } - } - print $outfhandle $boundingbox; - if (!defined($hiresboundingbox)) - { - $nohires=1; - } - if (defined($hiresboundingbox) && !defined($nohires)) { print $outfhandle $hiresboundingbox; } - $inserted_prolog= 1; - redo CREATEOUTPUT; - } - else # already inserted_prolog - { - if (! $prolog_passed) - { - #ignore the following lines in the prologue - if ( /^%%(HiRes)?BoundingBox/ || - /^%%Pages/ || - /^%%BeginProlog/ || - /^%%EndProlog/ || - ($filterorientation && /^%%Orientation/) || - ($removeDSC && /^%%.*: \(atend\)/) || - ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) ) - { - next CREATEOUTPUT; - } - else - { - if ( /^[^%].*/ || - /^%%EndComments/ ) # line is not a comment - { - #output postscript code for proper EPS file - if ($insertPScode) - { - print $outfhandle "%%EndComments\n", - "% EPSF created by ps2eps $ver[2]\n", - "%%BeginProlog\n"; - } - # Insert own postscript code for clipping - if ($clip) - { - if (!defined($nohires)) - { - printf $outfhandle "newpath %f %f moveto %f %f lineto %f %f lineto %f %f lineto closepath clip\n",$hcBBllx,$hcBBlly,$hcBBurx,$hcBBlly,$hcBBurx,$hcBBury,$hcBBllx,$hcBBury; - } - else - { - printf $outfhandle "newpath %d %d moveto %d %d lineto %d %d lineto %d %d lineto closepath clip\n",$cBBllx,$cBBlly,$cBBurx,$cBBlly,$cBBurx,$cBBury,$cBBllx,$cBBury; - } - } #endif clip - - if ($rotate ne '') - { - print $outfhandle "$transrotcmd\n"; - print $outfhandle "$rotate\n"; - } - if ($translation ne '') - { - print $outfhandle "$translation\n"; - } - - #insert surrounding postscript code - if ($insertPScode) - { - print $outfhandle "save\n", - "countdictstack\n", - "mark\n", - "newpath\n", - "/showpage {} def\n", - "/setpagedevice {pop} def\n", - "%%EndProlog\n", - "%%Page 1 1\n"; - } - $prolog_passed= 1; - if (/^%%EndComments/) { next CREATEOUTPUT; } - } #endif line is not a comment - } #end else - } #endif (we are in the prologue section) - else #we are in the main part of postscript file - { - #end of postscript file reached? - #Usually the DSC %%EOF signifies the end - if ( eof($tmpfhandle) || - ($ignoreEOFDSC == 0 && /^%%EOF\s*$/ && $seenEOF == $totalEOFDSC) - || ( $trailerseen && /^II\*\000.*/ ) - ) - { - #do not forget to print last line if not terminated by LF - if ( eof($tmpfhandle) && !/^$/ && !/^%%EOF\s*$/ ) # do not insert %%EOF twice - { - print $outfhandle $_,"\n"; - } - #add appropriate trailer - if ($insertPScode) - { - print $outfhandle "%%Trailer\n", - "cleartomark\n", - "countdictstack\n", - "exch sub { end } repeat\n", - "restore\n", - "%%EOF\n"; - } - last CREATEOUTPUT; - } # stop output - - # Trailer comment seen? - if ( /^%%Trailer\s*$/ ) - { - $trailerseen=1; - } - else - { - if (!/^\s*$/) #non empty lines follow - { - $trailerseen=0; - } - } - - # check for trigger - if (defined($triggerstring) && /^$triggerstring$/) - { - $trigger= 1; - }; - - # remove complete lines if one of the expression matches - if ( !$binarysection # only when not in binary section - && - ( - ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) - || # no preview - (defined($rangefilter_begin) && - (/$rangefilter_begin/ ... /$rangefilter_end/) && - (!(/$exclude_rangefilter_begin/ ... /$exclude_rangefilter_end/)) - ) - || - (defined($triggered_rangefilter_begin) && defined($triggered_rangefilter_end) && - $trigger && - (/$triggered_rangefilter_begin/ ... /$triggered_rangefilter_end/) - ) - || - /$linefilter/ # lines by linefilter - || - ($removeDSC && (/^%( |!)(\w )+/ || /^%%([A-Za-z]+\s)/)) # any type of structured comment - || - ($removeADO && - (/^statusdict begin.*ProductName.*print product print.*flush end\r?\n?$/ || - /^\(%%\[\s*(Page:.*|LastPage)\s*\]%%\)\s*=\s*\w*\s*\r?\n?/ )) - || - /^$/ # empty lines - ) - ) - { - next CREATEOUTPUT; - } - - # replacement - if ( defined($fixsearchpat) ) - { - #if (/$fixsearchpat/) { print STDERR "**filter** before:",$_,"\n"; } - #if (s/$fixsearchpat/$fixreplacepat/) { print STDERR "**filter** after:",$_,"\n";} - s/$fixsearchpat/$fixreplacepat/; - } - - # sanity check for potential dangerous commands - if ( /(^|\s)(clear|erasepage|initmatrix|initclip|initgraphics|startjob|cleardictstack|setmatrix|setpagedevice|copypage|grestoreall|exitserver|quit)(\s|$)/ ) - { - $notsane= 1; - #print STDERR "Warning: dangerous command in line: ",$_,"\n"; - } - } # end else (this is main part) - - # Output the postscript line to result file - print $outfhandle $_; - - if (!$binarysection) - { - print $outfhandle "\n"; # terminate line with LF - } - } # end else prolog_passed - } # end else inserted_prolog - } # end while CREATEOUTPUT - - close($tmpfhandle); - - if ($tmpfname ne $infname) { unlink "$tmpfname"; } #remove temporary file - - close ($outfhandle); - - # print warning if magic sequence not found - if ( $before_startps ) - { - print STDERR "\n ** Error!! **: could not identify begin of postscript code in file $infname, please check header line!\n First line should start with %!. No output generated.\n"; - } - - if (!$quiet) { print STDERR "ready.\n"; } - if ($warnings and $notsane and !$quiet) - { - print STDERR "** Warning **: EPS-output for $infname is not sane, at least one\n", - "of the following commands was still present:\n", - "clear erasepage initmatrix initclip initgraphics startjob\n", - "cleardictstack setmatrix setpagedevice copypage grestoreall\n", - "exitserver quit\n"; - } -} #end while PROCESSFILE - -# ---- end of perl-script ------- diff --git a/support/ps2eps/doc/INSTALL.md b/support/ps2eps/doc/INSTALL.md new file mode 100644 index 0000000000..c699dabbda --- /dev/null +++ b/support/ps2eps/doc/INSTALL.md @@ -0,0 +1,75 @@ +# INSTALLATION + +## Prerequisites + +you need: + +* perl (an interpreter for the perl language, see + http://www.perl.com) + +* ghostscript (an interpreter/raster image processor for the + PostScript language, see + https://www.ghostscript.com/) + +* maybe an ANSI-C compiler if the provided binaries for bbox do not + work for you. Sorry for the inconvenience, but I tried to write a + bbox equivalent in perl and it was terribly slow. Therefore I stick + to C, because of much better performance. *Alternatively* you can + use ps2eps option -g, then no bbox binary is required. + +## How to install + + Please check that you have working + perl and ghostscript packages. + +### Linux/UNIX-based platform + +1. install bbox + + If a bbox binary is included for your platform you simply move it + into any directory of the system search path. Otherwise, you have + to compile bbox.c first by invoking + + ``` + cc -o bbox bbox.c. + ``` + + (sometimes "make bbox" also works). + Please make sure that bbox is executable (chmod a+x bbox). + If you already have a working perl and a working ghostscript, you're + finished here, else you have to install them first. + +2. install ps2eps + + On Unix platforms you simply move the perl script ps2eps into a + directory which is included in the system or personal search path + (e.g., /usr/local/bin, $home/bin). Please make sure that ps2eps is + executable (chmod a+x ps2eps). + +### Windows-based platform + +Use the command line interpreter: +Copy bbox.exe into a directory that is +in your's or the system's search path for executables. Please try +to invoke bbox -h afterwards. + +The best possibility is to use associated file types under +Windows: + +1. rename ps2eps to ps2eps.pl and + +2. SET PATHEXT=.pl;%PATHEXT% or use the + settings -> control panel -> system -> "advanced" tab -> environment variables + and edit the PATHEXT entry accordingly. + +3. then simply typing ps2eps should invoke ps2eps correctly + + Another option is to call perl directly: +``` + perl ps2eps ... +``` + +The script assumes that you have "gswin32c" as +postscript interpreter in your path. Under Windows ps2eps +can perform wildcard expansion on its own. + diff --git a/support/ps2eps/doc/bbox.html b/support/ps2eps/doc/bbox.html new file mode 100644 index 0000000000..581d13f7bc --- /dev/null +++ b/support/ps2eps/doc/bbox.html @@ -0,0 +1,226 @@ + +bbox

bbox

Name

bbox --  prints out the bounding box of a rawppm or rawpbm image +

Synopsis

bbox [-l] [-r] [-h] [-V] [rawpbmfile]

DESCRIPTION

bbox reads a rawppm or rawpbm file + and prints out the bounding box of the image (as postscript comment and + in postscript points, i.e. 1/72dpi) as well as the high resolution + bounding box. Input is read from standard input if no filename is + specified. + Example output: +

	  %%BoundingBox: 12 253 829 837
+	  %%HiResBoundingBox: 12.500000 253.000000 828.500000 837.00000
+	  
+

bbox has only very limited memory requirements + as it reads the input line by line and thus needs to store only one picture + line in memory. +

OPTIONS

-h | --help

Show summary of options.

-V

Show version of program.

-r

resolution of picture in dpi

-l

loose bounding box (integer bounding box is expanded by 1 + point, hires bounding box is expanded by 0.5 points)

SEE ALSO

ps2eps (1)

AUTHOR

bbox was written by Roland Bless.

ACKNOWLEDGMENTS

Special thanks goes to Michael Sharpe from UCSD who suggested a lot of improvements for + bbox to become more precise and robust, especially for small drawings.

An earlier version of this manual page was originally written by + Rafael Laboissiere <rafael@debian.org> for + the Debian system. Thank you Rafael! Permission is + granted to copy, distribute and/or modify this document under + the terms of the GNU Free Documentation + License, Version 1.1 or any later version published by the Free + Software Foundation; with no Invariant Sections, no Front-Cover + Texts and no Back-Cover Texts.

BUGS

Though the code is quite small and the probability for bugs + is now small, there may be some left somewhere between the lines. + In case you find one, please send a short description with + bbox version number to <roland@bless.de> (please allow some time + to reply). +

\ No newline at end of file diff --git a/support/ps2eps/doc/bbox.pdf b/support/ps2eps/doc/bbox.pdf new file mode 100644 index 0000000000..91d95d6f57 Binary files /dev/null and b/support/ps2eps/doc/bbox.pdf differ diff --git a/support/ps2eps/doc/html/bbox.html b/support/ps2eps/doc/html/bbox.html deleted file mode 100644 index 581d13f7bc..0000000000 --- a/support/ps2eps/doc/html/bbox.html +++ /dev/null @@ -1,226 +0,0 @@ - -bbox

bbox

Name

bbox --  prints out the bounding box of a rawppm or rawpbm image -

Synopsis

bbox [-l] [-r] [-h] [-V] [rawpbmfile]

DESCRIPTION

bbox reads a rawppm or rawpbm file - and prints out the bounding box of the image (as postscript comment and - in postscript points, i.e. 1/72dpi) as well as the high resolution - bounding box. Input is read from standard input if no filename is - specified. - Example output: -

	  %%BoundingBox: 12 253 829 837
-	  %%HiResBoundingBox: 12.500000 253.000000 828.500000 837.00000
-	  
-

bbox has only very limited memory requirements - as it reads the input line by line and thus needs to store only one picture - line in memory. -

OPTIONS

-h | --help

Show summary of options.

-V

Show version of program.

-r

resolution of picture in dpi

-l

loose bounding box (integer bounding box is expanded by 1 - point, hires bounding box is expanded by 0.5 points)

SEE ALSO

ps2eps (1)

AUTHOR

bbox was written by Roland Bless.

ACKNOWLEDGMENTS

Special thanks goes to Michael Sharpe from UCSD who suggested a lot of improvements for - bbox to become more precise and robust, especially for small drawings.

An earlier version of this manual page was originally written by - Rafael Laboissiere <rafael@debian.org> for - the Debian system. Thank you Rafael! Permission is - granted to copy, distribute and/or modify this document under - the terms of the GNU Free Documentation - License, Version 1.1 or any later version published by the Free - Software Foundation; with no Invariant Sections, no Front-Cover - Texts and no Back-Cover Texts.

BUGS

Though the code is quite small and the probability for bugs - is now small, there may be some left somewhere between the lines. - In case you find one, please send a short description with - bbox version number to <roland@bless.de> (please allow some time - to reply). -

\ No newline at end of file diff --git a/support/ps2eps/doc/html/ps2eps.html b/support/ps2eps/doc/html/ps2eps.html deleted file mode 100644 index 505ed26db7..0000000000 --- a/support/ps2eps/doc/html/ps2eps.html +++ /dev/null @@ -1,1186 +0,0 @@ - -ps2eps

ps2eps

Name

ps2eps --  convert PostScript to EPS (Encapsulated PostScript) files -

Synopsis

ps2eps [-f] [-q] [-N] [-O] [-n] [-P] [-c] [-C] [-m] [-B] [-E] [-s pagedim] [-t offset] [-r resolution] [-R +|-|^] [-l] [-g] [-H] [-d] [-h|--help] [-a] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]

DESCRIPTION

This manual page documents ps2eps version 1.68.

ps2eps is a tool (written in Perl) to produce - Encapsulated PostScript Files (EPS/EPSF) from usual one-paged Postscript - documents. It calculates correct Bounding Boxes for those EPS files and - filters some special postscript command sequences that can produce - erroneous results on printers. EPS files are often needed for including - (scalable) graphics of high quality into TeX/LaTeX (or even Word) documents. -

Without any argument, ps2eps reads from standard input - and writes to standard output. - If filenames are given as arguments they are processed - one by one and output files are written to filenames - with extension .eps. If input filenames have the - extension .ps or .prn, this extension is replaced with .eps. - In all other cases .eps is appended to the input filename. - Please note that PostScript files for input should contain - only one single page (you can possibly use the psselect from the - psutils package to extract a single page from a document that - contains multiple pages).

If BoundingBox in output seems to be wrong, please try options --size or - --ignoreBB. See also section TROUBLESHOOTING. - -

OPTIONS

ps2eps follows the usual GNU command line syntax, - with long options starting with two dashes (`-'). A summary of - options is included below. -

-h, --help

Show summary of options.

-V, --version

Show version of program.

-f, --force

Force overwriting existing files. ps2eps - will not overwrite files by default to avoid deleting original EPS - files accidently. -

-q, --quiet

quiet operation (no output while processing files, except errors).

-N, --noinsert

do not insert any postscript code. Normally a few postscript - instructions are added around the original postscript code by - ps2eps which can be turned off by this option. -

-O, --preserveorientation

do not filter %%Orientation: header comment.

-n, --nofix

do not try to fix postscript code by filtering some instructions.

-P, --removepreview

remove preview image (smaller file, but no preview anymore).

-F, --fixps

fix postscript code unconditionally. Otherwise, filtering is - usually triggered by detection of certain drivers only. -

-c, --comments

preserve document structure comments.

-C, --clip

insert postscript code for clipping. Unless - --nohires is specified, the HiResBoundingBox - (enlarged by 0.1 points) is used for clipping.

-m, --mono

use black/white bitmap as base for calculation (default: off).

-s, --size=pagedim

where pagedim is a pre-defined standard page size - (e.g., a4,a0,b0,letter,...) or explicitly specified in a - format pagedim:=XxY[cm|in], - where X and Y are numbers (floating points are accepted) followed by - units centimeter (cm) or inch (in), (default: cm). - Use --size=list to list pre-defined pagesizes. - See also environment variable PS2EPS_SIZE.

-t, --translate=x,y

specify an x,y offset (may be negative) in postscript points - (1/72 dpi) for drawing. This option may be required - if your drawing has negative coordinates which usually lets ghostscript - cut the negative part of your picture, because it starts to render - at positive coordinates. The resulting output will - also be shifted. -

-r, --resolution=dpi

specify a resolution in dpi (dots per inch) for drawing under - ghostscript. Default - resolution is 144 dpi which is the double of the typical 72 dpi. - This option may help if there is a hardware dependent resolution - encoded in the postscript, e.g., 600dpi. Example: - ps2eps -l -r 600 test.ps -

-R, --rotate=direction

This option rotates the resulting EPS output. - The parameter direction determines the direction of - rotation: + means +90 degrees (clockwise),- means -90 degrees - (counter-clockwise), and ^ means 180 degrees (up-side down). -

-l, --loose

expand the original tight bounding box by one point in each - direction.

-B, --ignoreBB

do not use existing bounding box as page size for - rendering.

-E, --ignoreEOF

do not use %%EOF as hint for end of file. Otherwise, ps2eps assumes - that postscript code ends after the last %%EOF comment, because - some drivers add trailing binary "garbage" code which gets deleted - by ps2eps by default. -

-g, --gsbbox

use internal bbox device of ghostscript instead of the external C - program bbox. The internal bbox device of ghostscript - generates different values (sometimes even incorrect), - so using the provided bbox should be more robust. - See also environment variable PS2EPS_GSBBOX. -

-H, --nohires

do not generate a %%HiResBoundingBox comment for output. -

-a, --accuracy

increase the accuracy by turning subsample antialiasing on (may be slower) -

-L, --license

show licensing information.

-d, --debuggs

show ghostscript call. This may be helpful for solving problems that - occur during a ghostscript call.

-W, --warnings

show warnings about sanity of generated EPS file. Certain - postscript commands should not be contained in an EPS file. - With this option set ps2eps will issue a warning if it - detects at least one of them. -

TROUBLESHOOTING

Based on the given postscript source code (in most cases generated by - some postscript printer driver) there are many potential obstacles or - problems that may occur when trying to create proper EPS files. Please - read this section carefully to be aware of common pitfalls.

Incomplete/Clipped Images

or how to determine the right size for ghostscript.

If you have documents that are larger than your - ghostscript default (usually A4 or US letter), you have to - specify the page dimensions explicitly using the - -s option. Otherwise your EPS - might be cut off during rasterizing by ghostscript resulting - in a wrongly calculated bounding box. You can pass - all pre-defined page sizes to -s that ghostscript understands. These are - currently: 11x17, ledger, legal, letter, lettersmall, archA, archB, archC, archD, archE - a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, isob0, isob1, isob2, isob3, isob4, isob5, isob6, - b0, b1, b2, b3, b4, b5, c0, c1, c2, c3, c4, c5, c6, jisb0, jisb1, - jisb2, jisb3, jisb4, jisb5, jisb6, flsa, flse, halfletter. - Unfortunately, all sizes are currently only available in portrait - orientation (not landscape). -

By default, ps2eps uses an already given %%BoundingBox - from the source file, which often corresponds to the size of - the physical page format for which the document was - printed. However, you should be aware that this already - specified bounding box may be not correct, thus resulting in a - wrongly cropped (or even no usable) .eps-file. - ps2eps can only do as good as ghostscript does in rendering the original - postscript file (though ps2eps even works with negative and - fractional values are contained in the original bounding box by using - automatic translation). Therefore, if the given bounding box is to - small or incorrect anyway, you can ignore the existing bounding box with the -B - option, which will cause ghostscript to use its internal - default size (or use -s). However, if the - BoundingBox has negative coordinates, which is not allowed by - the specification, ps2eps will shift the output to positive values. -

Hint: to avoid rotating the picture - if you have the original drawing in landscape format, you may - use the "Encapsulated Postscript" option in the printer driver - which should generate an EPS file (but with a bounding box of - the sheet size!). But some Windows printer drivers are drawing - the image with an offset from the bottom of the portrait page, - so that a part of it is drawn outside the landscape oriented - page. In this case, you'll have to specify a square size of - the page using the maximum length, e.g., 29.7cm x 29.7cm for - an A4 page.

Clipping

or why gets some of my text deleted above the included .eps file?

Some postscript drivers draw a white rectangle from the top left - corner of the page to the right lower corner of the object. This may - erase some or even all text above your imported/included EPS file, - which is very annoying. In order to prevent this, most programs have a - clipping option for imported .eps files (within LaTeX you can use - \includegraphics*{}) for this purpose. If this is unfortunately not - the case, you can use the -C option of ps2eps which will (hopefully) - do it for you. Unfortunately, PScript.dll 5.2 (Windows XP) introduced - new very badly behaving Postscript code (initclip) which will even - override the outer clipping! Thus, a new filter had to be installed - in ps2eps which will fix it. -

However, because most programs clip directly on the bounding box, - you still may loose some pixels of your image, because the bounding - box is described in the coarse resolution of postscript points, - i.e. 72 dpi. In order to prevent this, you can use the -l - option or -C option (for the latter, clipping by the importing program - should be disabled then) to allow for a 1 point larger bounding box. - -C clips around a 1 point enlarged bounding box and -l enlarges the - bounding box values by 1 point (you can also combine both options). -

Included Filters

Some postscript sequences, e.g., for using specific printer - features (featurebegin ...), are not working well within an .eps - file, so ps2eps tries to filter them out. But please note that - filters for postscript code may not work properly for your printer - driver (ps2eps was mainly tested with HP and Adobe printer - drivers, although it may work for all printers using the - PScript.dll). In this case you can try to turn of filtering by - using option -n, or try to find the bad sequence in the postscript - code and adapt the filter rule in the ps2eps script (variables - $linefilter, $rangefilter_begin, $rangefilter_end; linefilter is - an expression for filtering single lines, rangefilter_... are - expressions that filter all lines between a pattern matching - $rangefilter_begin and $rangefilter_end; drop me an e-mail with - your modifications). However, things may change as the printer - drivers (e.g., PScript.dll) or postscript language evolve. -

Some applications or drivers generate postscript code with leading - or trailing binary code, which often confuses older postscript - interpreters. ps2eps tries to remove such code, but it may - sometimes make a wrong guess about start and end of the real - postscript code (drop me an e-mail with a zipped postscript - source, see section BUGS). -

Comment lines or even blank lines are removed - (which is the default to make .eps files smaller), which may corrupt your - output. Please check the next section how to fix this. - ps2eps removes blank lines and also <CR> (carriage ceturn - "\r") at the end of lines. However, nicely formatted postscript code - gives a hint by using "%%BeginBinary" "%%EndBinary" comments. When - ps2eps detects these comments it will refrain from any filtering - action within the marked binary sections. -

ps2eps filters also %%Orientation: comments by - default (you can use option -O to turn off filtering), - because ghostscript may "automagically" rotate images when generating PDF - images, which is not desired in most cases. Hint: you can turn off that - feature in ghostscript unconditionally by specifying -dAutoRotatePages=/None. -

Corrupted Output

Some postscript code may get corrupted when comment lines or even blank - lines are removed (which is the default to make .eps files smaller), - because those files may contain encoded images - which also have a % as first character in a line or use a special - comment as end of image delimiter. If this is the case, use the -c - option to prevent filtering comments. -

Color and memory

ps2eps supports colored postscript, consequently - letting ghostscript consume more resources for drawing its bitmap - (roughly 6MBytes for an A4 page). bbox is reading - the bitmap line by line so it consumes only minimal memory. If you experience problems - with memory consumption of ghostscript, you may use the -m option - for using a monochrome image. But this will probably result in wrongly - determined bounding boxes with colored - images, because ghostscript has to do black/white dithering and may thus suppress - objects drawn in light colors.

Another option in case of memory problems and too long run times - is to use the much more memory efficient internal ghostscript bbox by using the - -g option. -

ENVIRONMENT VARIABLES

Please note that a command line option always takes precedence over - the related environment variable.

The environment variable PS2EPS_SIZE can be used - to specify a default page size and take any argument that - --size accepts. Examples: export PS2EPS_SIZE=a0 (bash-like syntax) - or setenv PS2EPS_SIZE letter (csh syntax).

If the environment variable PS2EPS_GSBBOX is set - the internal bbox device of ghostscript will be used instead of the external - command bbox. Examples: export PS2EPS_GSBBOX=true (bash-like syntax) - or setenv PS2EPS_GSBBOX 1 (csh syntax).

EXAMPLES

The usual call is simply: - ps2eps -l file

A relatively failsafe call would be (if your postscript is smaller - than iso b0 [100cm x 141.4cm] and you have a fast computer with enough memory): - ps2eps -l -B -s b0 -c -n file

If output is not correct try: - ps2eps -l -B -s b0 -F file

AUTHOR

ps2eps was written by Roland Bless.

WHY?

Other programs like ps2epsi do not calculate the - bounding box always correctly (because the values are put on the - postscript stack which may get corrupted by bad postscript code) or - rounded it off so that clipping the EPS cut off some part of the - image. ps2eps uses a double precision resolution - of 144 dpi and appropriate rounding to get a proper bounding - box. The internal bbox device of ghostscript generates different values - (sometimes even incorrect), so using the provided bbox - should be more robust. - However, because normal clipping has only a resolution of 1/72dpi - (postscript point), the clipping process may still erase parts of your - EPS image. In this case please use the -l option to add - an additional point of white space around the tight bounding box. -

ACKNOWLEDGMENTS

Some people contributed code or suggestions to improve ps2eps. Here - are at least some names (sorry if I forgot your name): - Christophe Druet, Hans Ecke, Berend Hasselman, Erik Joergensen, Koji Nakamaru, Hans Fredrik Nordhaug, Michael Sharpe. - Special thanks goes to Michael Sharpe from UCSD who suggested a lot of useful features for ps2eps and - who fixed bbox to become more precise and robust. -

An earlier version of this manual page was originally written by - Rafael Laboissiere <rafael at debian.org> for - the Debian system. Thank you Rafael!

Permission is granted to copy, distribute and/or modify this document under - the terms of the GNU Free Documentation - License, Version 1.1 or any later version published by the Free - Software Foundation; with no Invariant Sections, no Front-Cover - Texts and no Back-Cover Texts.

BUGS

If you experience problems, please check carefully all hints in the section - TROUBLESHOOTING - - first. Otherwise, check for an updated - version at http://www.tm.uka.de/~bless/ps2eps - or send a gzipped file of - relevant postscript source code with your error description - and ps2eps version number to <roland at bless.de> (please allow some time - to reply). -

SEE ALSO

bbox (1), gs (1), ps2epsi (1)

\ No newline at end of file diff --git a/support/ps2eps/doc/man/man1/bbox.1 b/support/ps2eps/doc/man/man1/bbox.1 deleted file mode 100644 index 64696f3264..0000000000 --- a/support/ps2eps/doc/man/man1/bbox.1 +++ /dev/null @@ -1,71 +0,0 @@ -.\" This manpage has been automatically generated by docbook2man -.\" from a DocBook document. This tool can be found at: -.\" -.\" Please send any bug reports, improvements, comments, patches, -.\" etc. to Steve Cheng . -.TH "BBOX" "1" "31 August 2010" "" "" - -.SH NAME -bbox \- prints out the bounding box of a rawppm or rawpbm image -.SH SYNOPSIS - -\fBbbox\fR [ \fB-l\fR ] [ \fB-r\fR ] [ \fB-h\fR ] [ \fB-V\fR ] [ \fB\fIrawpbmfile\fB\fR ] - -.SH "DESCRIPTION" -.PP -\fBbbox\fR reads a rawppm or rawpbm file -and prints out the bounding box of the image (as postscript comment and -in postscript points, i.e. 1/72dpi) as well as the high resolution -bounding box. Input is read from standard input if no filename is -specified. -Example output: - -.nf - %%BoundingBox: 12 253 829 837 - %%HiResBoundingBox: 12.500000 253.000000 828.500000 837.00000 - -.fi -.PP -\fBbbox\fR has only very limited memory requirements -as it reads the input line by line and thus needs to store only one picture -line in memory. -.SH "OPTIONS" -.TP -\fB-h | --help \fR -Show summary of options. -.TP -\fB-V \fR -Show version of program. -.TP -\fB-r \fR -resolution of picture in dpi -.TP -\fB-l \fR -loose bounding box (integer bounding box is expanded by 1 -point, hires bounding box is expanded by 0.5 points) -.SH "SEE ALSO" -.PP -ps2eps (1) -.SH "AUTHOR" -.PP -\fBbbox\fR was written by Roland Bless. -.SS "ACKNOWLEDGMENTS" -.PP -Special thanks goes to Michael Sharpe from UCSD who suggested a lot of improvements for -bbox to become more precise and robust, especially for small drawings. -.PP -An earlier version of this manual page was originally written by -Rafael Laboissiere for -the Debian system. Thank you Rafael! Permission is -granted to copy, distribute and/or modify this document under -the terms of the GNU Free Documentation -License, Version 1.1 or any later version published by the Free -Software Foundation; with no Invariant Sections, no Front-Cover -Texts and no Back-Cover Texts. -.SH "BUGS" -.PP -Though the code is quite small and the probability for bugs -is now small, there may be some left somewhere between the lines. -In case you find one, please send a short description with -\fBbbox\fR version number to (please allow some time -to reply). diff --git a/support/ps2eps/doc/man/man1/ps2eps.1 b/support/ps2eps/doc/man/man1/ps2eps.1 deleted file mode 100644 index d74e88ca34..0000000000 --- a/support/ps2eps/doc/man/man1/ps2eps.1 +++ /dev/null @@ -1,366 +0,0 @@ -.\" This manpage has been automatically generated by docbook2man -.\" from a DocBook document. This tool can be found at: -.\" -.\" Please send any bug reports, improvements, comments, patches, -.\" etc. to Steve Cheng . -.TH "PS2EPS" "1" "31 August 2010" "" "" - -.SH NAME -ps2eps \- convert PostScript to EPS (Encapsulated PostScript) files -.SH SYNOPSIS - -\fBps2eps\fR [ \fB-f\fR ] [ \fB-q\fR ] [ \fB-N\fR ] [ \fB-O\fR ] [ \fB-n\fR ] [ \fB-P\fR ] [ \fB-c\fR ] [ \fB-C\fR ] [ \fB-m\fR ] [ \fB-B\fR ] [ \fB-E\fR ] [ \fB-s \fIpagedim\fB\fR ] [ \fB-t \fIoffset\fB\fR ] [ \fB-r \fIresolution\fB\fR ] [ \fB-R \fI+|-|^\fB\fR ] [ \fB-l\fR ] [ \fB-g\fR ] [ \fB-H\fR ] [ \fB-d\fR ] [ \fB-h|--help\fR ] [ \fB-a\fR ] [ \fB-W\fR ] [ \fB-L\fR ] [ \fB-V|--version\fR ] [ \fB--\fR ] [ \fB\fIpsfile1\fB\fR ] [ \fB\fIpsfile2\fB\fR ] [ \fB\fI\&...\fB\fR ] - -.SH "DESCRIPTION" -.PP -This manual page documents \fBps2eps\fR version 1.68. -.PP -\fBps2eps\fR is a tool (written in Perl) to produce -Encapsulated PostScript Files (EPS/EPSF) from usual one-paged Postscript -documents. It calculates correct Bounding Boxes for those EPS files and -filters some special postscript command sequences that can produce -erroneous results on printers. EPS files are often needed for including -(scalable) graphics of high quality into TeX/LaTeX (or even Word) documents. -.PP -Without any argument, ps2eps reads from standard input -and writes to standard output. -If filenames are given as arguments they are processed -one by one and output files are written to filenames -with extension \fI\&.eps\fR\&. If input filenames have the -extension \fI\&.ps\fR or \fI\&.prn\fR, this extension is replaced with \fI\&.eps\fR\&. -In all other cases \fI\&.eps\fR is appended to the input filename. -Please note that PostScript files for input should contain -only one single page (you can possibly use the \fBpsselect\fR from the -psutils package to extract a single page from a document that -contains multiple pages). -.PP -If BoundingBox in output seems to be wrong, please try options \fB--size\fR or -\fB--ignoreBB\fR\&. See also section TROUBLESHOOTING. -.SH "OPTIONS" -.PP -\fBps2eps\fR follows the usual GNU command line syntax, -with long options starting with two dashes (`-'). A summary of -options is included below. -.TP -\fB-h, --help \fR -Show summary of options. -.TP -\fB-V, --version \fR -Show version of program. -.TP -\fB-f, --force \fR -Force overwriting existing files. \fBps2eps\fR -will not overwrite files by default to avoid deleting original EPS -files accidently. -.TP -\fB-q, --quiet \fR -quiet operation (no output while processing files, except errors). -.TP -\fB-N, --noinsert \fR -do not insert any postscript code. Normally a few postscript -instructions are added around the original postscript code by -\fBps2eps\fR which can be turned off by this option. -.TP -\fB-O, --preserveorientation \fR -do not filter %%Orientation: header comment. -.TP -\fB-n, --nofix \fR -do not try to fix postscript code by filtering some instructions. -.TP -\fB-P, --removepreview \fR -remove preview image (smaller file, but no preview anymore). -.TP -\fB-F, --fixps \fR -fix postscript code unconditionally. Otherwise, filtering is -usually triggered by detection of certain drivers only. -.TP -\fB-c, --comments \fR -preserve document structure comments. -.TP -\fB-C, --clip \fR -insert postscript code for clipping. Unless -\fB--nohires\fR is specified, the HiResBoundingBox -(enlarged by 0.1 points) is used for clipping. -.TP -\fB-m, --mono \fR -use black/white bitmap as base for calculation (default: off). -.TP -\fB-s, --size=pagedim \fR -where pagedim is a pre-defined standard page size -(e.g., a4,a0,b0,letter,...) or explicitly specified in a -format pagedim:=\fIX\fRx\fIY\fR[cm|in], -where \fIX\fR and \fIY\fR are numbers (floating points are accepted) followed by -units centimeter (cm) or inch (in), (default: cm). -Use \fB--size=list\fR to list pre-defined pagesizes. -See also environment variable PS2EPS_SIZE\&. -.TP -\fB-t, --translate=x,y \fR -specify an x,y offset (may be negative) in postscript points -(1/72 dpi) for drawing. This option may be required -if your drawing has negative coordinates which usually lets ghostscript -cut the negative part of your picture, because it starts to render -at positive coordinates. The resulting output will -also be shifted. -.TP -\fB-r, --resolution=dpi \fR -specify a resolution in dpi (dots per inch) for drawing under -ghostscript. Default -resolution is 144 dpi which is the double of the typical 72 dpi. -This option may help if there is a hardware dependent resolution -encoded in the postscript, e.g., 600dpi. Example: -\fBps2eps -l -r 600 test.ps\fR -.TP -\fB-R, --rotate=direction \fR -This option rotates the resulting EPS output. -The parameter direction determines the direction of -rotation: + means +90 degrees (clockwise),- means -90 degrees -(counter-clockwise), and ^ means 180 degrees (up-side down). -.TP -\fB-l, --loose \fR -expand the original tight bounding box by one point in each -direction. -.TP -\fB-B, --ignoreBB \fR -do not use existing bounding box as page size for -rendering. -.TP -\fB-E, --ignoreEOF \fR -do not use %%EOF as hint for end of file. Otherwise, \fBps2eps\fR assumes -that postscript code ends after the last %%EOF comment, because -some drivers add trailing binary ``garbage'' code which gets deleted -by \fBps2eps\fR by default. -.TP -\fB-g, --gsbbox \fR -use internal bbox device of ghostscript instead of the external C -program \fBbbox\fR\&. The internal bbox device of ghostscript -generates different values (sometimes even incorrect), -so using the provided \fBbbox\fR should be more robust. -See also environment variable PS2EPS_GSBBOX\&. -.TP -\fB-H, --nohires \fR -do not generate a %%HiResBoundingBox comment for output. -.TP -\fB-a, --accuracy \fR -increase the accuracy by turning subsample antialiasing on (may be slower) -.TP -\fB-L, --license \fR -show licensing information. -.TP -\fB-d, --debuggs \fR -show ghostscript call. This may be helpful for solving problems that -occur during a ghostscript call. -.TP -\fB-W, --warnings \fR -show warnings about sanity of generated EPS file. Certain -postscript commands should not be contained in an EPS file. -With this option set \fBps2eps\fR will issue a warning if it -detects at least one of them. -.SH "TROUBLESHOOTING" -.PP -Based on the given postscript source code (in most cases generated by -some postscript printer driver) there are many potential obstacles or -problems that may occur when trying to create proper EPS files. Please -read this section carefully to be aware of common pitfalls. -.SS "INCOMPLETE/CLIPPED IMAGES" -.PP -or how to determine the right size for ghostscript. -.PP -If you have documents that are larger than your -ghostscript default (usually A4 or US letter), you have to -specify the page dimensions explicitly using the -\fB-s\fR option. Otherwise your EPS -might be cut off during rasterizing by ghostscript resulting -in a wrongly calculated bounding box. You can pass -all pre-defined page sizes to \fB-s\fR that ghostscript understands. These are -currently: 11x17, ledger, legal, letter, lettersmall, archA, archB, archC, archD, archE -a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, isob0, isob1, isob2, isob3, isob4, isob5, isob6, -b0, b1, b2, b3, b4, b5, c0, c1, c2, c3, c4, c5, c6, jisb0, jisb1, -jisb2, jisb3, jisb4, jisb5, jisb6, flsa, flse, halfletter. -Unfortunately, all sizes are currently only available in portrait -orientation (not landscape). -.PP -By default, \fBps2eps\fR uses an already given %%BoundingBox -from the source file, which often corresponds to the size of -the physical page format for which the document was -printed. However, you should be aware that this already -specified bounding box may be not correct, thus resulting in a -wrongly cropped (or even no usable) \fI\&.eps\fR-file. -\fBps2eps\fR can only do as good as ghostscript does in rendering the original -postscript file (though \fBps2eps\fR even works with negative and -fractional values are contained in the original bounding box by using -automatic translation). Therefore, if the given bounding box is to -small or incorrect anyway, you can ignore the existing bounding box with the \fB-B\fR -option, which will cause ghostscript to use its internal -default size (or use \fB-s\fR). However, if the -BoundingBox has negative coordinates, which is not allowed by -the specification, \fBps2eps\fR will shift the output to positive values. -.PP -Hint: to avoid rotating the picture -if you have the original drawing in landscape format, you may -use the ``Encapsulated Postscript'' option in the printer driver -which should generate an EPS file (but with a bounding box of -the sheet size!). But some Windows printer drivers are drawing -the image with an offset from the bottom of the portrait page, -so that a part of it is drawn outside the landscape oriented -page. In this case, you'll have to specify a square size of -the page using the maximum length, e.g., 29.7cm x 29.7cm for -an A4 page. -.SS "CLIPPING" -.PP -or why gets some of my text deleted above the included \fI\&.eps\fR file? -.PP -Some postscript drivers draw a white rectangle from the top left -corner of the page to the right lower corner of the object. This may -erase some or even all text above your imported/included EPS file, -which is very annoying. In order to prevent this, most programs have a -clipping option for imported \fI\&.eps\fR files (within LaTeX you can use -\\includegraphics*{}) for this purpose. If this is unfortunately not -the case, you can use the \fB-C\fR option of \fBps2eps\fR which will (hopefully) -do it for you. Unfortunately, PScript.dll 5.2 (Windows XP) introduced -new very badly behaving Postscript code (initclip) which will even -override the outer clipping! Thus, a new filter had to be installed -in \fBps2eps\fR which will fix it. -.PP -However, because most programs clip directly on the bounding box, -you still may loose some pixels of your image, because the bounding -box is described in the coarse resolution of postscript points, -i.e. 72 dpi. In order to prevent this, you can use the \fB-l\fR -option or \fB-C\fR option (for the latter, clipping by the importing program -should be disabled then) to allow for a 1 point larger bounding box. -\fB-C\fR clips around a 1 point enlarged bounding box and \fB-l\fR enlarges the -bounding box values by 1 point (you can also combine both options). -.SS "INCLUDED FILTERS" -.PP -Some postscript sequences, e.g., for using specific printer -features (featurebegin ...), are not working well within an \fI\&.eps\fR -file, so \fBps2eps\fR tries to filter them out. But please note that -filters for postscript code may not work properly for your printer -driver (\fBps2eps\fR was mainly tested with HP and Adobe printer -drivers, although it may work for all printers using the -PScript.dll). In this case you can try to turn of filtering by -using option \fB-n\fR, or try to find the bad sequence in the postscript -code and adapt the filter rule in the \fBps2eps\fR script (variables -$linefilter, $rangefilter_begin, $rangefilter_end; linefilter is -an expression for filtering single lines, rangefilter_... are -expressions that filter all lines between a pattern matching -$rangefilter_begin and $rangefilter_end; drop me an e-mail with -your modifications). However, things may change as the printer -drivers (e.g., PScript.dll) or postscript language evolve. -.PP -Some applications or drivers generate postscript code with leading -or trailing binary code, which often confuses older postscript -interpreters. \fBps2eps\fR tries to remove such code, but it may -sometimes make a wrong guess about start and end of the real -postscript code (drop me an e-mail with a zipped postscript -source, see section BUGS). -.PP -Comment lines or even blank lines are removed -(which is the default to make .eps files smaller), which may corrupt your -output. Please check the next section how to fix this. -\fBps2eps\fR removes blank lines and also (carriage ceturn -``\\r'') at the end of lines. However, nicely formatted postscript code -gives a hint by using ``%%BeginBinary'' ``%%EndBinary'' comments. When -\fBps2eps\fR detects these comments it will refrain from any filtering -action within the marked binary sections. -.PP -\fBps2eps\fR filters also %%Orientation: comments by -default (you can use option \fB-O\fR to turn off filtering), -because ghostscript may ``automagically'' rotate images when generating PDF -images, which is not desired in most cases. Hint: you can turn off that -feature in ghostscript unconditionally by specifying -dAutoRotatePages=/None. -.SS "CORRUPTED OUTPUT" -.PP -Some postscript code may get corrupted when comment lines or even blank -lines are removed (which is the default to make .eps files smaller), -because those files may contain encoded images -which also have a % as first character in a line or use a special -comment as end of image delimiter. If this is the case, use the \fB-c\fR -option to prevent filtering comments. -.SS "COLOR AND MEMORY" -.PP -\fBps2eps\fR supports colored postscript, consequently -letting ghostscript consume more resources for drawing its bitmap -(roughly 6MBytes for an A4 page). \fBbbox\fR is reading -the bitmap line by line so it consumes only minimal memory. If you experience problems -with memory consumption of ghostscript, you may use the \fB-m\fR option -for using a monochrome image. But this will probably result in wrongly -determined bounding boxes with colored -images, because ghostscript has to do black/white dithering and may thus suppress -objects drawn in light colors. -.PP -Another option in case of memory problems and too long run times -is to use the much more memory efficient internal ghostscript bbox by using the -\fB-g\fR option. -.SH "ENVIRONMENT VARIABLES" -.PP -Please note that a command line option always takes precedence over -the related environment variable. -.PP -The environment variable PS2EPS_SIZE can be used -to specify a default page size and take any argument that -\fB--size\fR accepts. Examples: \fBexport PS2EPS_SIZE=a0\fR (bash-like syntax) -or \fBsetenv PS2EPS_SIZE letter\fR (csh syntax). -.PP -If the environment variable PS2EPS_GSBBOX is set -the internal bbox device of ghostscript will be used instead of the external -command \fBbbox\fR\&. Examples: \fBexport PS2EPS_GSBBOX=true\fR (bash-like syntax) -or \fBsetenv PS2EPS_GSBBOX 1\fR (csh syntax). -.SH "EXAMPLES" -.PP -The usual call is simply: -\fBps2eps -l \fIfile\fB\fR -.PP -A relatively failsafe call would be (if your postscript is smaller -than iso b0 [100cm x 141.4cm] and you have a fast computer with enough memory): -\fBps2eps -l -B -s b0 -c -n \fIfile\fB\fR -.PP -If output is not correct try: -\fBps2eps -l -B -s b0 -F \fIfile\fB\fR -.SH "AUTHOR" -.PP -\fBps2eps\fR was written by Roland Bless. -.SS "WHY?" -.PP -Other programs like \fBps2epsi\fR do not calculate the -bounding box always correctly (because the values are put on the -postscript stack which may get corrupted by bad postscript code) or -rounded it off so that clipping the EPS cut off some part of the -image. \fBps2eps\fR uses a double precision resolution -of 144 dpi and appropriate rounding to get a proper bounding -box. The internal bbox device of ghostscript generates different values -(sometimes even incorrect), so using the provided \fBbbox\fR -should be more robust. -However, because normal clipping has only a resolution of 1/72dpi -(postscript point), the clipping process may still erase parts of your -EPS image. In this case please use the \fB-l\fR option to add -an additional point of white space around the tight bounding box. -.SS "ACKNOWLEDGMENTS" -.PP -Some people contributed code or suggestions to improve \fBps2eps\fR\&. Here -are at least some names (sorry if I forgot your name): -Christophe Druet, Hans Ecke, Berend Hasselman, Erik Joergensen, Koji Nakamaru, Hans Fredrik Nordhaug, Michael Sharpe. -Special thanks goes to Michael Sharpe from UCSD who suggested a lot of useful features for ps2eps and -who fixed bbox to become more precise and robust. -.PP -An earlier version of this manual page was originally written by -Rafael Laboissiere for -the Debian system. Thank you Rafael! -.PP -Permission is granted to copy, distribute and/or modify this document under -the terms of the GNU Free Documentation -License, Version 1.1 or any later version published by the Free -Software Foundation; with no Invariant Sections, no Front-Cover -Texts and no Back-Cover Texts. -.SH "BUGS" -.PP -If you experience problems, please check carefully all hints in the section -TROUBLESHOOTING -first. Otherwise, check for an updated -version at -or send a gzipped file of -relevant postscript source code with your error description -and \fBps2eps\fR version number to (please allow some time -to reply). -.SH "SEE ALSO" -.PP -bbox (1), gs (1), ps2epsi (1) diff --git a/support/ps2eps/doc/pdf/bbox.pdf b/support/ps2eps/doc/pdf/bbox.pdf deleted file mode 100644 index bff1372088..0000000000 Binary files a/support/ps2eps/doc/pdf/bbox.pdf and /dev/null differ diff --git a/support/ps2eps/doc/pdf/ps2eps.pdf b/support/ps2eps/doc/pdf/ps2eps.pdf deleted file mode 100644 index 65b36d2183..0000000000 Binary files a/support/ps2eps/doc/pdf/ps2eps.pdf and /dev/null differ diff --git a/support/ps2eps/doc/ps2eps.html b/support/ps2eps/doc/ps2eps.html new file mode 100644 index 0000000000..bfc331c233 --- /dev/null +++ b/support/ps2eps/doc/ps2eps.html @@ -0,0 +1,1239 @@ + +ps2eps

ps2eps

Name

ps2eps --  convert PostScript to EPS (Encapsulated PostScript) files +

Synopsis

ps2eps [-f] [-q] [-N] [-O] [-X] [-n] [-P] [-c] [-C] [-m] [-B] [-E] [-s pagedim] [-t offset] [-r resolution] [-R +|-|^] [-l] [-g] [-H] [-d] [-h|--help] [-a] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]

DESCRIPTION

This manual page documents ps2eps version 1.70.

ps2eps is a tool (written in Perl) to produce + Encapsulated PostScript Files (EPS/EPSF) from usual one-paged Postscript + documents. It calculates correct Bounding Boxes for those EPS files and + filters some special postscript command sequences that can produce + erroneous results on printers. EPS files are often needed for including + (scalable) graphics of high quality into TeX/LaTeX (or even Word) documents. + It can also be used to calculate correct BoundingBoxes for PDF files by + using the option --BBonly. However, it cannot produce + a PDF file, but it can be used together with pdfcrop. +

Without any argument, ps2eps reads from standard input + and writes to standard output. + If filenames are given as arguments they are processed + one by one and output files are written to filenames + with extension .eps. If input filenames have the + extension .ps or .prn, this extension is replaced with .eps. + In all other cases .eps is appended to the input filename. + Please note that PostScript files for input should contain + only one single page (you can possibly use the psselect from the + psutils package to extract a single page from a document that + contains multiple pages).

If BoundingBox in output seems to be wrong, please try options --size or + --ignoreBB. See also section TROUBLESHOOTING. + +

OPTIONS

ps2eps follows the usual GNU command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. +

-h, --help

Show summary of options.

-V, --version

Show version of program.

-f, --force

Force overwriting existing files. ps2eps + will not overwrite files by default to avoid deleting original EPS + files accidently. +

-q, --quiet

quiet operation (no output while processing files, except errors).

-N, --noinsert

do not insert any postscript code. Normally a few postscript + instructions are added around the original postscript code by + ps2eps which can be turned off by this option. +

-O, --preserveorientation

do not filter %%Orientation: header comment.

-X, --BBonly

Just print the resulting bounding box(es) to standard error, no output file is written. + ps2eps will perform a read-only operation. This is highly useful to calculate bounding boxes of + PDF files. Can be used with option --quiet to suppress other output and + also with --nohires to suppress output of the HiResBoundingBox. + It can be used with pdfcrop as follows: + pdfcrop --gscmd 'gswrap-ps2eps.sh' file.pdf + where gswrap-ps2eps.sh containts something like + ps2eps -l -X -q $BASH_ARGV +

-n, --nofix

do not try to fix postscript code by filtering some instructions.

-P, --removepreview

remove preview image (smaller file, but no preview anymore).

-F, --fixps

fix postscript code unconditionally. Otherwise, filtering is + usually triggered by detection of certain drivers only. +

-c, --comments

preserve document structure comments.

-C, --clip

insert postscript code for clipping. Unless + --nohires is specified, the HiResBoundingBox + (enlarged by 0.1 points) is used for clipping.

-m, --mono

use black/white bitmap as base for calculation (default: off).

-s, --size=pagedim

where pagedim is a pre-defined standard page size + (e.g., a4,a0,b0,letter,...) or explicitly specified in a + format pagedim:=XxY[cm|in], + where X and Y are numbers (floating points are accepted) followed by + units centimeter (cm) or inch (in), (default: cm). + Use --size=list to list pre-defined pagesizes. + See also environment variable PS2EPS_SIZE.

-t, --translate=x,y

specify an x,y offset (may be negative) in postscript points + (1/72 dpi) for drawing. This option may be required + if your drawing has negative coordinates which usually lets ghostscript + cut the negative part of your picture, because it starts to render + at positive coordinates. The resulting output will + also be shifted. +

-r, --resolution=dpi

specify a resolution in dpi (dots per inch) for drawing under + ghostscript. Default + resolution is 144 dpi which is the double of the typical 72 dpi. + This option may help if there is a hardware dependent resolution + encoded in the postscript, e.g., 600dpi. Example: + ps2eps -l -r 600 test.ps +

-R, --rotate=direction

This option rotates the resulting EPS output. + The parameter direction determines the direction of + rotation: + means +90 degrees (clockwise),- means -90 degrees + (counter-clockwise), and ^ means 180 degrees (up-side down). +

-l, --loose

expand the original tight bounding box by one point in each + direction.

-B, --ignoreBB

do not use existing bounding box as page size for + rendering.

-E, --ignoreEOF

do not use %%EOF as hint for end of file. Otherwise, ps2eps assumes + that postscript code ends after the last %%EOF comment, because + some drivers add trailing binary "garbage" code which gets deleted + by ps2eps by default. +

-g, --gsbbox

use internal bbox device of ghostscript instead of the external C + program bbox. The internal bbox device of ghostscript + generates different values (sometimes even incorrect), + so using the provided bbox should be more robust. + See also environment variable PS2EPS_GSBBOX. +

-H, --nohires

do not generate a %%HiResBoundingBox comment for output. +

-a, --accuracy

increase the accuracy by turning subsample antialiasing on (may be slower) +

-L, --license

show licensing information.

-d, --debuggs

show ghostscript call. This may be helpful for solving problems that + occur during a ghostscript call.

-W, --warnings

show warnings about sanity of generated EPS file. Certain + postscript commands should not be contained in an EPS file. + With this option set ps2eps will issue a warning if it + detects at least one of them. +

TROUBLESHOOTING

Based on the given postscript source code (in most cases generated by + some postscript printer driver) there are many potential obstacles or + problems that may occur when trying to create proper EPS files. Please + read this section carefully to be aware of common pitfalls.

Incomplete/Clipped Images

or how to determine the right size for ghostscript.

If you have documents that are larger than your + ghostscript default (usually A4 or US letter), you have to + specify the page dimensions explicitly using the + -s option. Otherwise your EPS + might be cut off during rasterizing by ghostscript resulting + in a wrongly calculated bounding box. You can pass + all pre-defined page sizes to -s that ghostscript understands. These are + currently: 11x17, ledger, legal, letter, lettersmall, archA, archB, archC, archD, archE + a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, isob0, isob1, isob2, isob3, isob4, isob5, isob6, + b0, b1, b2, b3, b4, b5, c0, c1, c2, c3, c4, c5, c6, jisb0, jisb1, + jisb2, jisb3, jisb4, jisb5, jisb6, flsa, flse, halfletter. + Unfortunately, all sizes are currently only available in portrait + orientation (not landscape). +

By default, ps2eps uses an already given %%BoundingBox + from the source file, which often corresponds to the size of + the physical page format for which the document was + printed. However, you should be aware that this already + specified bounding box may be not correct, thus resulting in a + wrongly cropped (or even no usable) .eps-file. + ps2eps can only do as good as ghostscript does in rendering the original + postscript file (though ps2eps even works with negative and + fractional values are contained in the original bounding box by using + automatic translation). Therefore, if the given bounding box is to + small or incorrect anyway, you can ignore the existing bounding box with the -B + option, which will cause ghostscript to use its internal + default size (or use -s). However, if the + BoundingBox has negative coordinates, which is not allowed by + the specification, ps2eps will shift the output to positive values. +

Hint: to avoid rotating the picture + if you have the original drawing in landscape format, you may + use the "Encapsulated Postscript" option in the printer driver + which should generate an EPS file (but with a bounding box of + the sheet size!). But some Windows printer drivers are drawing + the image with an offset from the bottom of the portrait page, + so that a part of it is drawn outside the landscape oriented + page. In this case, you'll have to specify a square size of + the page using the maximum length, e.g., 29.7cm x 29.7cm for + an A4 page.

Clipping

or why gets some of my text deleted above the included .eps file?

Some postscript drivers draw a white rectangle from the top left + corner of the page to the right lower corner of the object. This may + erase some or even all text above your imported/included EPS file, + which is very annoying. In order to prevent this, most programs have a + clipping option for imported .eps files (within LaTeX you can use + \includegraphics*{}) for this purpose. If this is unfortunately not + the case, you can use the -C option of ps2eps which will (hopefully) + do it for you. Unfortunately, PScript.dll 5.2 (Windows XP) introduced + new very badly behaving Postscript code (initclip) which will even + override the outer clipping! Thus, a new filter had to be installed + in ps2eps which will fix it. +

However, because most programs clip directly on the bounding box, + you still may loose some pixels of your image, because the bounding + box is described in the coarse resolution of postscript points, + i.e. 72 dpi. In order to prevent this, you can use the -l + option or -C option (for the latter, clipping by the importing program + should be disabled then) to allow for a 1 point larger bounding box. + -C clips around a 1 point enlarged bounding box and -l enlarges the + bounding box values by 1 point (you can also combine both options). +

Included Filters

Some postscript sequences, e.g., for using specific printer + features (featurebegin ...), are not working well within an .eps + file, so ps2eps tries to filter them out. But please note that + filters for postscript code may not work properly for your printer + driver (ps2eps was mainly tested with HP and Adobe printer + drivers, although it may work for all printers using the + PScript.dll). In this case you can try to turn of filtering by + using option -n, or try to find the bad sequence in the postscript + code and adapt the filter rule in the ps2eps script (variables + $linefilter, $rangefilter_begin, $rangefilter_end; linefilter is + an expression for filtering single lines, rangefilter_... are + expressions that filter all lines between a pattern matching + $rangefilter_begin and $rangefilter_end; drop me an e-mail with + your modifications). However, things may change as the printer + drivers (e.g., PScript.dll) or postscript language evolve. +

Some applications or drivers generate postscript code with leading + or trailing binary code, which often confuses older postscript + interpreters. ps2eps tries to remove such code, but it may + sometimes make a wrong guess about start and end of the real + postscript code (drop me an e-mail with a zipped postscript + source, see section BUGS). +

Comment lines or even blank lines are removed + (which is the default to make .eps files smaller), which may corrupt your + output. Please check the next section how to fix this. + ps2eps removes blank lines and also <CR> (carriage ceturn + "\r") at the end of lines. However, nicely formatted postscript code + gives a hint by using "%%BeginBinary" "%%EndBinary" comments. When + ps2eps detects these comments it will refrain from any filtering + action within the marked binary sections. +

ps2eps filters also %%Orientation: comments by + default (you can use option -O to turn off filtering), + because ghostscript may "automagically" rotate images when generating PDF + images, which is not desired in most cases. Hint: you can turn off that + feature in ghostscript unconditionally by specifying -dAutoRotatePages=/None. +

Corrupted Output

Some postscript code may get corrupted when comment lines or even blank + lines are removed (which is the default to make .eps files smaller), + because those files may contain encoded images + which also have a % as first character in a line or use a special + comment as end of image delimiter. If this is the case, use the -c + option to prevent filtering comments. +

Color and memory

ps2eps supports colored postscript, consequently + letting ghostscript consume more resources for drawing its bitmap + (roughly 6MBytes for an A4 page). bbox is reading + the bitmap line by line so it consumes only minimal memory. If you experience problems + with memory consumption of ghostscript, you may use the -m option + for using a monochrome image. But this will probably result in wrongly + determined bounding boxes with colored + images, because ghostscript has to do black/white dithering and may thus suppress + objects drawn in light colors.

Another option in case of memory problems and too long run times + is to use the much more memory efficient internal ghostscript bbox by using the + -g option. +

ENVIRONMENT VARIABLES

Please note that a command line option always takes precedence over + the related environment variable.

The environment variable PS2EPS_SIZE can be used + to specify a default page size and take any argument that + --size accepts. Examples: export PS2EPS_SIZE=a0 (bash-like syntax) + or setenv PS2EPS_SIZE letter (csh syntax).

If the environment variable PS2EPS_GSBBOX is set + the internal bbox device of ghostscript will be used instead of the external + command bbox. Examples: export PS2EPS_GSBBOX=true (bash-like syntax) + or setenv PS2EPS_GSBBOX 1 (csh syntax).

EXAMPLES

The usual call is simply: + ps2eps -l file

A relatively failsafe call would be (if your postscript is smaller + than iso b0 [100cm x 141.4cm] and you have a fast computer with enough memory): + ps2eps -l -B -s b0 -c -n file

If output is not correct try: + ps2eps -l -B -s b0 -F file

AUTHOR

ps2eps was written by Roland Bless.

WHY?

Other programs like ps2epsi do not calculate the + bounding box always correctly (because the values are put on the + postscript stack which may get corrupted by bad postscript code) or + rounded it off so that clipping the EPS cut off some part of the + image. ps2eps uses a double precision resolution + of 144 dpi and appropriate rounding to get a proper bounding + box. The internal bbox device of ghostscript generates different values + (sometimes even incorrect), so using the provided bbox + should be more robust. + However, because normal clipping has only a resolution of 1/72dpi + (postscript point), the clipping process may still erase parts of your + EPS image. In this case please use the -l option to add + an additional point of white space around the tight bounding box. +

ACKNOWLEDGMENTS

Some people contributed code or suggestions to improve ps2eps. Here + are at least some names (sorry if I forgot your name): + Christophe Druet, Hans Ecke, Berend Hasselman, Erik Joergensen, Koji Nakamaru, Hans Fredrik Nordhaug, Michael Sharpe. + Special thanks goes to Michael Sharpe from UCSD who suggested a lot of useful features for ps2eps and + who fixed bbox to become more precise and robust. +

An earlier version of this manual page was originally written by + Rafael Laboissiere <rafael at debian.org> for + the Debian system. Thank you Rafael!

Permission is granted to copy, distribute and/or modify this document under + the terms of the GNU Free Documentation + License, Version 1.1 or any later version published by the Free + Software Foundation; with no Invariant Sections, no Front-Cover + Texts and no Back-Cover Texts.

BUGS

If you experience problems, please check carefully all hints in the section + TROUBLESHOOTING + + first. Otherwise, check for an updated + version at https://github.com/roland-bless/ps2eps + or send a gzipped file of + relevant postscript source code with your error description + and ps2eps version number to <roland at bless.de> (please allow some time + to reply). +

SEE ALSO

bbox (1), gs (1), ps2epsi (1)

\ No newline at end of file diff --git a/support/ps2eps/doc/ps2eps.pdf b/support/ps2eps/doc/ps2eps.pdf new file mode 100644 index 0000000000..8d06dd71b0 Binary files /dev/null and b/support/ps2eps/doc/ps2eps.pdf differ diff --git a/support/ps2eps/scripts/crop-pdfs.sh b/support/ps2eps/scripts/crop-pdfs.sh new file mode 100755 index 0000000000..94b1f5e400 --- /dev/null +++ b/support/ps2eps/scripts/crop-pdfs.sh @@ -0,0 +1,17 @@ +#!/bin/bash +for file in *.pdf +do + filebasename="${file%%.*}" + if [ "${filebasename}.pptx" -nt "$file" ]; then + echo "Need to reprint ${filebasename}.pptx" + fi + if [ "$file" -nt "../$file" ]; then + ~/scripts/rbpdfcrop >/dev/null 2>&1 $file + #echo "${filebasename}-crop.pdf" + if [ -e "${filebasename}-crop.pdf" ]; then + mv -f "${filebasename}-crop.pdf" ../$file + echo "Cropped $file" + fi + fi +done +echo "Done." diff --git a/support/ps2eps/scripts/gswrap-ps2eps.sh b/support/ps2eps/scripts/gswrap-ps2eps.sh new file mode 100755 index 0000000000..c6e2ff5fec --- /dev/null +++ b/support/ps2eps/scripts/gswrap-ps2eps.sh @@ -0,0 +1,2 @@ +#!/bin/bash +ps2eps -l -X -q $BASH_ARGV diff --git a/support/ps2eps/scripts/rbpdfcrop b/support/ps2eps/scripts/rbpdfcrop new file mode 100755 index 0000000000..c8987f5834 --- /dev/null +++ b/support/ps2eps/scripts/rbpdfcrop @@ -0,0 +1,2 @@ +#!/bin/bash +pdfcrop --gscmd gswrap-ps2eps.sh $* diff --git a/support/ps2eps/src/C/Makefile b/support/ps2eps/src/C/Makefile new file mode 100644 index 0000000000..9b563f90ca --- /dev/null +++ b/support/ps2eps/src/C/Makefile @@ -0,0 +1,8 @@ +# ================================================== +# Makefile for bbox C program +# ================================================== + +CFLAGS=-Wall --pedantic -Wunused + +bbox: bbox.c + $(CC) $(CFLAGS) bbox.c -o bbox diff --git a/support/ps2eps/src/C/bbox.c b/support/ps2eps/src/C/bbox.c index a11a393b9b..668f7e97ee 100644 --- a/support/ps2eps/src/C/bbox.c +++ b/support/ps2eps/src/C/bbox.c @@ -1,13 +1,13 @@ /********************************************************************/ /** bbox -- calculates Bounding Box of a pbmraw/ppmraw-picture **/ -/** Created: Nov. 1997, revised Feb. 1998, Dec. 1999, June 2009 **/ +/** Created: Nov. 1997, revised 1998, 1999, 2009, 2021 **/ /** Author: Roland Bless **/ -/** Copyright (C) 1998-2009 Roland Bless **/ +/** Copyright (C) 1998-2020 Roland Bless **/ /** To compile simply use: **/ /** "cc bbox.c -o bbox" or "make bbox" **/ /********************************************************************/ /* - * $Id: bbox.c,v 1.18 2009-10-13 15:03:49 bless Exp $ + * $Id: bbox.c 146 2021-03-12 20:26:23Z bless $ */ /** @@ -52,10 +52,11 @@ /********************** * global variables * **********************/ -const char *const version= "$Revision: 1.18 $ $Date: 2009-10-13 15:03:49 $"; +const char *const version= "$Rev: 146 $"; const char *const prgname= "bbox"; const double round_precision= 1e-6; +const short int inputlinelength= 1024; unsigned char bitval[8]= { @@ -100,7 +101,7 @@ void readppm_and_calcbb(const char *name, const unsigned char tight) { FILE *inputfile; - char inputline[1024]; + char inputline[inputlinelength]; unsigned char magic_found= 0; int x,y,byte_x,i; const double pt_dpi_dbl= 72.0; @@ -111,7 +112,6 @@ void readppm_and_calcbb(const char *name, *tmpcolumnbytep; unsigned int width,height; /* Image Size */ unsigned int byte_width; - unsigned char stepsize; unsigned char colormax= 0; /* max color value */ unsigned int ui_colormax= 0; /* max color value */ @@ -127,25 +127,27 @@ void readppm_and_calcbb(const char *name, { fprintf(stderr,"%s: ERROR -- could not open file %s\n", prgname, name); - return; + exit(1); } } /** check for magic number **/ do { - fgets(inputline, 1024, inputfile); + if (fgets(inputline, inputlinelength, inputfile) == NULL) { + fprintf(stderr,"%s: ERROR -- unexpected end of file %s\n", prgname, name); + fclose(inputfile); + exit(1); + } #ifdef DEBUG fprintf(stderr,"read:[%s]\n",inputline); #endif if ( strcmp(inputline,"P4\n") == 0 ) { - stepsize= 1; magic_found= 4; } else if ( strcmp(inputline,"P6\n") == 0 ) { - stepsize= 3; magic_found= 6; } } @@ -155,12 +157,17 @@ void readppm_and_calcbb(const char *name, { fprintf(stderr,"%s: ERROR -- %s is not in ppmraw or pbmraw format\n", prgname, name); - return; + fclose(inputfile); + exit(1); } /** skip comments **/ do { - fgets(inputline, 1024, inputfile); + if (fgets(inputline, inputlinelength, inputfile) == NULL) { + fprintf(stderr,"%s: ERROR -- unexpected end of file %s\n", prgname, name); + fclose(inputfile); + exit(1); + } #ifdef DEBUG fprintf(stderr,"read:[%s]\n",inputline); #endif @@ -174,8 +181,12 @@ void readppm_and_calcbb(const char *name, sscanf(inputline,"%u %u",&width,&height); if ( magic_found == 6 ) /* PPM file has maximum color-component value */ { - fgets(inputline, 1024, inputfile); - sscanf(inputline,"%u",&ui_colormax); + if (fgets(inputline, inputlinelength, inputfile) == NULL) { + fprintf(stderr,"%s: ERROR -- unexpected end of file %s\n", prgname, name); + fclose(inputfile); + exit(1); + } + sscanf(inputline,"%u",&ui_colormax); colormax = (unsigned char) ui_colormax; /* this is safer */ } #ifdef DEBUG @@ -348,7 +359,7 @@ void readppm_and_calcbb(const char *name, /* skip the rest of the file if any data is still present */ while ( !feof(inputfile) ) { - fgets(inputline, 1024, inputfile); + fgets(inputline, inputlinelength, inputfile); } /* give out Bounding Box */ @@ -356,7 +367,7 @@ void readppm_and_calcbb(const char *name, printf("%%%%HiResBoundingBox: %f %f %f %f\n", hllx, hlly, hurx, hury); } else - fprintf(stderr,"%s: ERROR -- not enough memory to read in one row of the picture\n",prgname); + fprintf(stderr,"%s: ERROR -- not enough memory to read in one row of the picture\n", prgname); fclose(inputfile); free(image_row); diff --git a/support/ps2eps/src/perl/ps2eps b/support/ps2eps/src/perl/ps2eps new file mode 100644 index 0000000000..1122a81088 --- /dev/null +++ b/support/ps2eps/src/perl/ps2eps @@ -0,0 +1,955 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q' # -*-perl-*- + if 0; +# The expression in the previous line replaces the unix specific line +# {#!/usr/bin/perl}. +# ps2eps - convert PostScript to EPS (Encapsulated PostScript) files +# ------------------------------------------------------------------- +# (C)opyright 1998-2018 Roland Bless +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Author: Roland Bless +# Send bug reports to roland bless.de +# ------------------------------------------------------------------- +# Additional filtering is performed when Windows generated PostScript files +# are processed. Some instructions will otherwise lead to bad output +# if EPS-file gets embedded into other PostScript files. +# +# Requirements: +# + perl +# + gs (ghostscript supporting pbm output) +# + bbox (a little C program [ANSI-C - should work on every platform] +# for calculation of the actual BoundingBox) + +use POSIX; + +#use warnings; + +#use Getopt package +use Getopt::Long; +Getopt::Long::Configure("no_ignore_case"); + +$prgname= "ps2eps"; + +if (! -d "/usr/bin") +{ # we assume that we are running under native windows + $ghostscriptname = "gswin32c"; + $NULLDEV = "nul"; +} +else +{ # Unix or cygwin + $ghostscriptname = "gs"; + $NULLDEV = "/dev/null 2>&1"; +} + +$bboxver=`bbox >$NULLDEV -V`; +$bboxname= ($?== -1) ? "" : "bbox"; +$version= '$Id: ps2eps,v 1.70 2018-01-09 18:00:00 bless Exp $'; #' +$insertPScode= 1; # Insert surrounding Postscript code +$infhandle = STDIN; # Standard input is the default input file +$outfhandle = STDOUT; # Standard output is default output if STDIN is input +$infname= '-'; +$outfname= '-'; +$forceoverwrite=0; # do not overwrite existing files +$ignoreBB= 0; # ignore existing Bounding Box comment +$removeDSC= 1; # remove Adobe document structure comments +$removeADO= 1; # remove Adobe printer Driver console Output [Page: ...] +$ignoreEOFDSC= 0; # ignore %%EOF DSC hint +$removePreview= 0; # remove preview +$quiet= 0; # write progress to stdout +$resolution= 144; # resolution for bounding box calculation is 2x72 dpi +$trytofixps= 1; # try to fix postscript code +$forcefixps= 0; # fix postscript code unconditionally if eq 1 +$filterorientation= 1;# filter Orientation line +$looseBB=''; # default: tight bounding box +$bboxonly=0; # output Bounding box only, no other output +$clip=0; # do not clip +$warnings=0; # do not print warnings concerning postscript sanity +$debuggs=0; # no debugging of ghostscript call, turn this on if you want to see the gs call +$inch=2.54; # one inch is 2.54cm +$fullcolors= 1; # use ppm format (24-bit full color) +$trailerseen= 0; # Trailer comment seen? +$PSversion="2.0"; # default Postscript Version +$PSDSCversion="2.0"; # default Postscript DSC Version +$translate_x= 0; # translate by x postscript points +$translate_y= 0; # translate by y postscript points +$allbinary= 0; # treat postscript as binary do not filter or change stuff +$alphaopt=""; # rendering option for ghostscript "-dTextAlphaBits=4 -dGraphicsAlphaBits=4" +$hiresprecision=0.5; # amount that is changed of HiresBB in case that looseBB was requested + +$defaultext = '(ps|prn)'; # default extension +$defaultoutext = '.eps'; # default output extension +$envname_size = 'PS2EPS_SIZE'; +$envname_gsbbox = 'PS2EPS_GSBBOX'; + +$gpar=""; +$known_papersizes="11x17|ledger|legal|letter(small)?|arch[A-E]|a([0-9]|10)|isob[0-6]|b[0-5]|c[0-6]|jisb[0-6]|fls(a|e)|halfletter"; +$papersize_help="11x17,ledger,legal,letter,lettersmall,archA,archB,archC,archD,archE\ +a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,isob0,isob1,isob2,isob3,isob4,isob5,isob6,\ +b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5,c6,\ +jisb0,jisb1,jisb2,jisb3,jisb4,jisb5,jisb6,flsa,flse,halfletter\n"; +$trigger= 0; +$notsane= 0; +$dummy=""; + +@ver= split(/ /,$version); + +# filename for temporary files +if ($^O =~ /MSWin32/i or $^O =~ /cygwin/i) +{ + # it is less trouble to use the current directory if working on + # cygwin and nevertheless using gswin32c. + $tmpfname= "$prgname.$$"; + $win=1; +} +elsif (defined($ENV{'TMP'})) +{ + $tmpdir= $ENV{'TMP'}; + $filesep= ($tmpdir =~ /^?\:\\/) ? '\\' : '/'; + if ($tmpdir =~ /$filesep$/) + { $tmpfname= $tmpdir . "$prgname.$$"; } + else + { $tmpfname= $tmpdir . "$filesep$prgname.$$"; } + $win=1; +} +else #assume we're on a UNIXBOX +{ + $tmpfname= "/tmp/" . "$prgname.$$"; + $win=0; +} + + +$licensetxt= "\ + This program is free software; you can redistribute it and/or modify\ + it under the terms of the GNU General Public License as published by\ + the Free Software Foundation; either version 2 of the License, or\ + (at your option) any later version.\ +\ + This program is distributed in the hope that it will be useful,\ + but WITHOUT ANY WARRANTY; without even the implied warranty of\ + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\ + GNU General Public License for more details.\ +\ + You should have received a copy of the GNU General Public License\ + along with this program; if not, write to the Free Software\ + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"; + +@prgidtxt= ( "$prgname - convert PostScript to EPS (Encapsulated PostScript) files\n", + "(C)opyright 1998-2018 Roland Bless\n\n" ); + +@helptxt= ("Version: $ver[2]\n", + "Operation:\n", + " Without any argument, $prgname reads from standard input\n", + " and writes to standard output.\n", + " If filenames are given as arguments they are processed\n", + " one by one and output files are written to filenames\n", + " with extension '$defaultoutext'. If input filenames have the extension\n", + " '.ps' or '.prn', this extension is replaced with '$defaultoutext'.\n", + " In all other cases '$defaultoutext' is appended to the input filename.\n", + " Please note that PostScript files for input should contain\n", + " only one single page.\n\n", + " If BoundingBox in output seems to be wrong, please try options --size or --ignoreBB.\n\n" ); + +@usagetxt= ("Syntax:\n", + " $prgname [-f] [-q] [-N] [-O] [-X] [-n] [-P] [-c] [-b] [-C] [-m] [-B] [-E] [-s ] [-R +|-|^] [-t ] [-l] [-g] [-d] [-H] [-h|--help] [-g] [-a] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]\n", + "Options:\n", + " -f, --force force overwriting existing files\n", + " -q, --quiet quiet operation (no output while processing files)\n", + " -N, --noinsert do not insert any postscript code\n", + " -O, --preserveorientation do not filter Orientation: header comment\n", + " -X, --BBonly print resulting bounding box(es) only, no other output\n", + " -n, --nofix do not try to fix postscript code\n", + " -P, --removepreview remove preview image (smaller file, but no preview)\n", + " -F, --fixps fix postscript code unconditionally\n", + " -c, --comments preserve document structure comments\n", + " -b, --binary treat postscript as binary, do not modify characters\n", + " -C, --clip insert postscript code for clipping\n", + " -m, --mono use black/white bitmap as base for calculation\n", + " -s, --size= page size (a0-a10,letter,...) or in format XxY[cm|in] (default:cm), where X and Y are numbers\n", + " use --size=list to list pre-defined page sizes\n", + " -R, --rotate= rotate resulting EPS. : +=+90 (clockw.),-=-90 (counter-clockw.) ^=180 degrees\n", + " -t, --translate specify x,y offset (may be negative) in postscript points (1/72 dpi)\n", + " -r, --resolution specify dpi resolution to render with ghostscript (default 144)\n", + " -l, --loose expand the original bounding box by one point in each direction\n", + " -B, --ignoreBB do not use existing bounding box as page size for rendering\n", + " -E, --ignoreEOF do not use %%EOF as hint for end of file\n", + " -g, --gsbbox use internal bbox device of ghostscript\n", + " -H, --nohires do not use a HiResBoundingBox\n", + " -h, --help help information\n", + " -L, --license show licensing information\n", + " -V, --version show version information\n", + " -d, --debuggs show ghostscript call\n", + " -a, --accuracy improve accuracy during rendering (maybe slower)\n", + " -W, --warnings show warnings about sanity of generated eps file\n", + " -- all following arguments are treated as files\n", + " (allows filenames starting with -)\n", + "\n", + "Arguments:\n", + " One or more names of PostScript files for input\n"); + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- argument checking -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +#environment variable for papersize +if (defined($ENV{"$envname_size"})) +{ + $opt_s= $ENV{"$envname_size"}; +} +else +{ + $opt_s = ''; # for s-option +} + +if (defined($ENV{"$envname_gsbbox"})) +{ + $bboxname=""; +} + +$opt_t = ''; # for t-option +$opt_R = ''; # for R-option +$opt_r = ''; # for r-option +$stopnow = 0; +die "Wrong option(s), please check usage with $prgname --help\n" unless +GetOptions('f|force' => \$forceoverwrite, + 'q|quiet' => \$quiet, + 'm|mono' => sub { $fullcolors = 0 }, + 'n|nofix' => sub { $trytofixps = 0 }, + 'F|fixps' => \$forcefixps, + 'N|noinsert' => sub { $insertPScode = 0 }, + 'O|preserveorientation' => sub { $filterorientation= 0 }, + 'P|removepreview' => \$removePreview, + 'c|comments' => sub { $removeDSC = 0 }, + 'b|binary' => sub { $allbinary = 1 }, + 'C|clip' => \$clip, + 'l|loose' => sub { $looseBB = '-l' }, + 'B|ignoreBB' => \$ignoreBB, + 'X|BBonly' => \$bboxonly, + 'E|ignoreEOF'=> \$ignoreEOFDSC, + 's|size=s' => \$opt_s, + 't|translate=s' => \$opt_t, + 'r|resolution=s' => \$opt_r, + 'R|rotate=s' => \$opt_R, + 'g|gsbbox' => sub { $bboxname=""; }, + 'H|nohires' => \$nohires, + 'h|help' => sub { $stopnow = 1; print @prgidtxt,@helptxt,@usagetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, + 'L|license' => sub { $stopnow = 1; print @prgidtxt,$licensetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, + 'a|accuracy' => sub { $alphaopt = '-dTextAlphaBits=4 -dGraphicsAlphaBits=4' }, + 'd|debuggs' => \$debuggs, + 'W|warnings' => \$warnings, + 'V|version' => sub { $stopnow = 1; print @prgidtxt,"Version: $ver[2]\n"; });exit if ($stopnow); + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- wildcard processing -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## internal wildcard processing for current directory, +## only used for non UNIX-based OSs (which may lack shell wildcard expansion) +@filenames = (); +foreach $object (@ARGV) { + if ($win && $object =~ m/\*/o) # asterisk is present in filename + { + $wildcard = $object; + $wildcard =~ s/\./\\\./g; # replace . in pattern with \. + $wildcard =~ s/\*/\(\.\*\)/g; # replace * in pattern with (.*) + opendir(DIR,'.') || die 'Unable to open current directory, stopped'; # open current directory + print STDERR $wildcard; + @fid = grep { /$wildcard(\.$defaultext)?/i } readdir(DIR); + foreach (@fid) { push @filenames, $_; } + closedir DIR; + } + else { push @filenames, $object; } +} # end foreach +$filenames[0]= '-' if (scalar(@filenames) == 0); # no file arguments, use STDIN as input + +print STDERR "Input files: @filenames\n" if (!$quiet); + +if ($opt_r ne '') +{ + $resolution=$opt_r; +} + +# papersize stuff +if ($opt_s ne '') +{ + # if explicit size is given, ignore existing BoundingBox always + $ignoreBB = 1; + $pagedimension = $opt_s; + if ($opt_s eq "list") + { + print STDERR "Available paper sizes: $papersize_help"; + exit 0; + } + + #explicit format XxY[cm|in] + if ($pagedimension =~ /(\d*\.?\d+)x(\d*\.?\d+)/) + { + ($x_dim, $dummy, $y_dim, $unit)= split(/(x|cm|in)/,$pagedimension); + if ( $x_dim !~ /^\d*\.?\d+$/ ) + { die "$x_dim in $arg is not a valid number, stopped"; } + if ( $y_dim !~ /^\d*\.?\d+$/ ) + { die "$y_dim in $arg is not a valid number, stopped"; } + + #print STDERR "xdim: $x_dim ydim: $y_dim unit:$unit\n" ; + if (!defined($unit) ) + { + $unit='cm'; + $opt_s=$opt_s . $unit; + } + if ( $unit ne 'in' ) # assume centimeters + { # calculate dimension in pixels (remember: resolution is in dpi) + $xpixels= int(($x_dim * $resolution) / $inch)+1; + $ypixels= int(($y_dim * $resolution) / $inch)+1; + $gpar= "-g${xpixels}x${ypixels}"; + } + else + { + $xpixels= int($x_dim * $resolution)+1; + $ypixels= int($y_dim * $resolution)+1; + $gpar= "-g${xpixels}x${ypixels}"; + } + } #endif XxY in opt_s + else + { + if ($opt_s =~ /$known_papersizes/) + { + $gpar="-sPAPERSIZE=$opt_s"; + } + else + { + print STDERR "Error: Unknown paper size: $opt_s\n Acceptable papersizes are:$papersize_help\n"; + exit 1; + } + } +} + +#translate option +if ($opt_t ne '') +{ + ($translate_x,$translate_y)= split(/\,/,$opt_t); +} + +#rotate +$rotright='-90 rotate'; +$rotleft='90 rotate'; +$rotupsidedown='180 rotate'; +$rotate=''; +if ($opt_R ne '') +{ + if ($opt_R eq '+') { $rotate=$rotright; } + elsif ($opt_R eq '-') { $rotate=$rotleft; } + elsif ($opt_R eq '^') { $rotate=$rotupsidedown; } + else { die "Wrong parameter for option -R: Valid are only +,-,^\n"; }; +} + +$device= $fullcolors ? "ppmraw" : "pbmraw"; + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- iterate over different input files -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +PROCESSFILE: +while ($infname= (shift @filenames)) +{ + # reset filter definitions for each file + undef $linefilter; + undef $rangefilter_begin; + undef $rangefilter_end; + $fixthisps= $trytofixps; + $fixmsgprinted= 0; + + if (!$quiet) { print STDERR "Processing: $infname\n"; } + unless (open($infhandle,"<$infname")) + { # skip over this file + print STDERR "$prgname: Can't open $infname: $!\n"; + next PROCESSFILE; + } + + # buffer input from stdin into temporary file, because it has to be read twice + # one time for ghostscript processing, the second time for generating output + if ($infname eq '-') # input is stdin + { + $tmpfhandle=''; + open($tmpfhandle,">$tmpfname") or + die "Cannot open temporary file $tmpfname for writing: $!\n"; + } + else # input is not stdin + { + undef $tmpfhandle; + #if filename ends with $defaultext usually .ps or .prn, replace the extension with $defaultoutext + if ($infname =~ /\.$defaultext$/i) + { + $outfname= $infname; $outfname =~ s/\.$defaultext$/$defaultoutext/i; + } + else # otherwise simply append the extension $defaultoutext + { + $outfname= $infname . "$defaultoutext"; + } + } #end else input is not stdin + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- process input file -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + $linefilter= '^$'; #'# filter empty lines by default + while (<$infhandle>) + { + # get postscript and DSC version + if (/%!PS-Adobe-(\S+).*EPSF-(\S+)/) + { + $PSversion=$1; + $PSDSCversion=$2; + if (! ($PSversion =~ /\d+\.\d+/)) + { + $PSDSCversion="2.0"; + } + if (! ($PSDSCversion =~ /\d+\.\d+/)) + { + $PSDSCversion="2.0"; + } + } + + # check for existing BoundingBox parameters + if ( /^%%\s*BoundingBox:\s*(.*)/ && !defined($eBBllx) ) + { + $BBarg= $1; + # accept even negative and fractional BBs + if ( $BBarg =~ /(\-?\d+\.?\d*\s+){3,}\-?\d+\.?\d*/ ) # ignore %% BoundingBox: (atend) comments + { + ($eBBllx,$eBBlly,$eBBurx,$eBBury,$dummy)= split /\s/,$BBarg; + #print STDERR "Existing BB: $eBBllx,$eBBlly,$eBBurx,$eBBury\n"; + if (int($eBBllx) < 0) { $translate_x= - int($eBBllx-0.5); } + if (int($eBBlly) < 0) { $translate_y= - int($eBBlly-0.5); } + + $xpixels= int((($eBBurx-$eBBllx) * $resolution)/72 + 0.5); + $ypixels= int((($eBBury-$eBBlly) * $resolution)/72 + 0.5); + if (!$ignoreBB) + { + $gpar= "-g${xpixels}x${ypixels}"; + # check for meaningful values + if (($xpixels <= 1) || ($ypixels <= 1)) + { + $gpar=""; undef $eBBllx; undef $eBBlly; + } + else + { + if (!$quiet) + { + print STDERR "Rendering with existing $_"; + if (int($eBBllx) < 0 || int($eBBlly) < 0) + { + print STDERR "WARNING: existing Bounding Box shows negative values - shifting\n"; + } + } + } + } #endif !$ignoreBB + } #endif $BBarg =~ + } + + + if ($fixthisps) # try to fix bad postscript code + { + # check for Windows 3.x output + if ( /^Win.*Dict/ ) + { + if (!$quiet && !$fixmsgprinted) + { print STDERR "Windows 3.5 generated Postscript file detected, fixing\n"; } + $linefilter= '^(EJ|RS)'; + $rangefilter_begin= '^statusdict'; + $rangefilter_end= 'cvx\ settransfer$'; #' + $fixmsgprinted= 1; # stop printing message + } + else + { + if ( /^%%Creator:\s*Wind.U\s*Xprinter/ ) + { + if (!$quiet && !$fixmsgprinted) + { print STDERR "Star/OpenOffice generated Postscript file detected, fixing\n"; } + $linefilter= '^rs'; + $fixmsgprinted= 1; # stop printing message + } + else + { + if ( $forcefixps || + /^\/NTPS/ || + /Creator:\s*(AdobePS|Pscript|.*Windows)/i ) #check for NT generated output + { + if (!$quiet && !$fixmsgprinted) + { + if ($forcefixps) + { + print STDERR "Postscript filtering requested, fixing\n"; + } + else + { + print STDERR "Windows generated Postscript file detected, fixing\n"; + } + } + $rangefilter_begin= '^((\[\{)|(featurebegin\{))$'; #' + $rangefilter_end= '^(\} stopped cleartomark|\}featurecleanup)'; + $exclude_rangefilter_begin= '^(?i)%%BeginNonPPDFeature'; #' + $exclude_rangefilter_end= '^(?i)%%EndNonPPDFeature'; + #$triggered_rangefilter_begin= ''; #' + #$triggered_rangefilter_end= ''; #' + $fixsearchpat='(^|\s)(initmatrix|initclip|initgraphics)(\s|$)'; + $fixreplacepat=' '; + $fixmsgprinted= 1; # stop printing message + } # end if NTPS + } #end else + } + } #end if trytofixps + + if (defined($tmpfhandle)) + { + print $tmpfhandle $_ or die "$prgname: Failure during writing to temporary file $tmpfname"; + } + + if (/^%%EOF\s*$/) + { + $totalEOFDSC++ + } + } #end while <$infhandle> + + if (defined($tmpfhandle)) + { + close($tmpfhandle); + } + else + { + $tmpfhandle= $infhandle; + $tmpfname= $infname; + } + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- calculate the bounding box -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + if ($translate_x!=0 || $translate_y!=0) + { + $translation="$translate_x $translate_y translate"; + $translatecmd="-c \'$translation\'"; + } + else + { + $translation=""; + $translatecmd=""; + } + + if (!$quiet) + { + print STDERR "Calculating Bounding Box..."; + if ($opt_s) + { + print STDERR "using page size $opt_s..."; + } + } + + $rotatecmd=''; + if ($rotate ne '') + { + $rotatecmd="-c \"$rotate\"" + } + if ($bboxname ne '') + { + $cmdline="$ghostscriptname -dSAFER -dNOPAUSE $alphaopt -q $gpar -r$resolution -sDEVICE=$device -sOutputFile=- $translatecmd -f \"$tmpfname\" -c showpage -c quit | $bboxname -r $resolution"; + } + else + { + if (!$quiet) { + print STDERR "...using bbox device of $ghostscriptname..."; + } + $cmdline = "$ghostscriptname -dSAFER -dBATCH -dNOPAUSE -q $gpar -r$resolution -sDEVICE=bbox -sOutputFile=- -c \"/setpagedevice {pop} def\" $translatecmd -f \"$tmpfname\" -c quit 2>&1"; + } + + if ($debuggs) { print STDERR "\nCalling: $cmdline\n"; } + + # actual ghostscript call + $boundingbox=`$cmdline`; + if ($debuggs) { print STDERR "Call result: $boundingbox"; } + + # check result of gs call + if ($boundingbox !~ /^%%BoundingBox/m) + { + die "Error: Could not determine bounding box!\n", + "I suppose $ghostscriptname had some trouble interpreting the postscript-file $infname. Exiting now.\n"; + } + + $boundingbox =~ /^%%HiResBoundingBox:\s*(.*)/m; + if (defined($1)) # HiResBoundingBox given + { + ($hcBBllx,$hcBBlly,$hcBBurx,$hcBBury,$dummy)= split(/\s/,$1); + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + $cBBllx = floor($hcBBllx); + $cBBlly = floor($hcBBlly); + $cBBurx = ceil($hcBBurx); + $cBBury = ceil($hcBBury); + } + else + { #use normal BoundingBox + $boundingbox =~ /^%%.*BoundingBox:\s*(.*)/; + ($cBBllx,$cBBlly,$cBBurx,$cBBury,$dummy)= split(/\s/,$1); + } + # if loose BB is requested + # apply changes to resulting bounding box if needed + if ($looseBB ne '') + { + if ($cBBllx > 0) { $cBBllx--; } + if ($cBBlly > 0) { $cBBlly--; } + $cBBurx++; + $cBBury++; + + if ($hcBBllx-$hiresprecision >= 0.0) { $hcBBllx-= $hiresprecision; } + if ($hcBBlly-$hiresprecision >= 0.0) { $hcBBlly-= $hiresprecision; } + $hcBBurx+= $hiresprecision; + $hcBBury+= $hiresprecision; + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + + } + if ($cBBllx < 0 || $cBBlly < 0) + { + if (!$quiet) + { + print STDERR "WARNING! Your drawing had a negative Bounding Box which is deprecated and may cause problems!. I'll shift it.\n"; + } + $translate_x= -int($cBBllx); + $translate_y= -int($cBBlly); + $cBBllx=0; + $cBBurx= $cBBurx + $translate_x; + $cBBlly=0; + $cBBury= $cBBury + $translate_y; + + $hcBBurx= $hcBBurx + $hcBBllx; + $hcBBury= $hcBBury + $hcBBlly; + $hcBBllx= 0; + $hcBBlly= 0; + + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + + $translation="$translate_x $translate_y translate"; + $translatecmd="-c \'$translation\'"; + } + $boundingbox = "%%BoundingBox: $cBBllx $cBBlly $cBBurx $cBBury\n"; + + if (!$quiet) { print STDERR "ready. $boundingbox" }; + + if ($bboxonly) + { + print STDERR $boundingbox; + if (defined($hiresboundingbox) && !defined($nohires)) + { print STDERR $hiresboundingbox; } + exit 0 + }; + + $before_startps= 1; + $inserted_prolog= 0; + $prolog_passed= 0; + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- Create output file -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + if (!$quiet) { print STDERR "Creating output file $outfname ... "; } + if (!$forceoverwrite and -s "$outfname") + { + die "$prgname: Sorry, file named $outfname already exists,", + " will not overwrite it.\n", + " You will have to use the -f option, delete it or rename it", + " before running $prgname again.\n"; + } + else + { + open($outfhandle,">$outfname") or die "Can't open file $outfname for writing: $!\n"; + } + + + open($tmpfhandle,"<$tmpfname") or die "Cannot open file $tmpfname for reading"; + CREATEOUTPUT: + while (<$tmpfhandle>) + { + # check whether we are in a binary section + + $binarysection=$allbinary || + (/^(%%Begin(Binary|Data))|(beginimage)\r?\n?$/ ... /^(%%End(Binary|Data))|^(endimage)/) || + (/^(doNimage)|(doclutimage)\r?\n?$/ ... /(^|~> )Z\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 + (/^beginjpeg / ... /~> endjpeg\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 + (/^pdfIm/ ... /^%-EOD-/); + + if ( !$binarysection ) + { + s/\r?\n?$//; # remove CR and/or LF at end of line if not in binary section + } + + # check where magic Postscript header starts - skip leading binary stuff, e.g., HP PCL/PJL code + if ($before_startps) + { + if ( /%!/ ) # This is usually the smallest magic sequence + { # Note: Adobe Photoshop generated a binary heading, so ^ is not applicable + # %! may be part of a binary sequence, but then control characters follow + # so skip %! if non alphanumeric characters follow + if ( ! /%!.*[^\w]{2,}/ ) + { + # some heading without two control characters found + $before_startps= 0; + if (! /%!PS-Adobe.*/i) # some strange programs use other magics + { + print STDERR "** Warning **: Weird heading line -- ",$_," -- "; + } + } + } + next CREATEOUTPUT; + } + else # we are hopefully in regular postscript code now + { + # count %%EOFs as we want to know when we got the last EOF + if ( /^%%EOF\s*$/ ) + { + $seenEOF++; + } + + # We should insert our own prologue including the newly calculated BoundingBox + if (! $inserted_prolog) + { + print $outfhandle "%!PS-Adobe-$PSversion EPSF-$PSDSCversion\n"; + # check if we need to rotate + $transrotcmd=''; + if ($rotatecmd) + { + if ($rotate eq $rotright) + { + $transrotcmd="-$cBBlly $cBBurx translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; + } + + } + elsif ($rotate eq $rotleft) + { + $transrotcmd="$cBBury -$cBBllx translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox= '%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; + } + } + elsif ($rotate eq $rotupsidedown) + { + $transrotcmd="$cBBurx $cBBury translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBurx-$cBBllx) . ' ' . ($cBBury-$cBBlly) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBurx-$hcBBllx) . ' ' . ($hcBBury-$hcBBlly) . "\n"; + } + } + } + print $outfhandle $boundingbox; + if (!defined($hiresboundingbox)) + { + $nohires=1; + } + if (defined($hiresboundingbox) && !defined($nohires)) { print $outfhandle $hiresboundingbox; } + $inserted_prolog= 1; + redo CREATEOUTPUT; + } + else # already inserted_prolog + { + if (! $prolog_passed) + { + #ignore the following lines in the prologue + if ( /^%%(HiRes)?BoundingBox/ || + /^%%Pages/ || + /^%%BeginProlog/ || + /^%%EndProlog/ || + ($filterorientation && /^%%Orientation/) || + ($removeDSC && /^%%.*: \(atend\)/) || + ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) ) + { + next CREATEOUTPUT; + } + else + { + if ( /^[^%].*/ || + /^%%EndComments/ ) # line is not a comment + { + #output postscript code for proper EPS file + if ($insertPScode) + { + print $outfhandle "%%EndComments\n", + "% EPSF created by ps2eps $ver[2]\n", + "%%BeginProlog\n"; + } + # Insert own postscript code for clipping + if ($clip) + { + if (!defined($nohires)) + { + printf $outfhandle "newpath %f %f moveto %f %f lineto %f %f lineto %f %f lineto closepath clip\n",$hcBBllx,$hcBBlly,$hcBBurx,$hcBBlly,$hcBBurx,$hcBBury,$hcBBllx,$hcBBury; + } + else + { + printf $outfhandle "newpath %d %d moveto %d %d lineto %d %d lineto %d %d lineto closepath clip\n",$cBBllx,$cBBlly,$cBBurx,$cBBlly,$cBBurx,$cBBury,$cBBllx,$cBBury; + } + } #endif clip + + if ($rotate ne '') + { + print $outfhandle "$transrotcmd\n"; + print $outfhandle "$rotate\n"; + } + if ($translation ne '') + { + print $outfhandle "$translation\n"; + } + + #insert surrounding postscript code + if ($insertPScode) + { + print $outfhandle "save\n", + "countdictstack\n", + "mark\n", + "newpath\n", + "/showpage {} def\n", + "/setpagedevice {pop} def\n", + "%%EndProlog\n", + "%%Page 1 1\n"; + } + $prolog_passed= 1; + if (/^%%EndComments/) { next CREATEOUTPUT; } + } #endif line is not a comment + } #end else + } #endif (we are in the prologue section) + else #we are in the main part of postscript file + { + #end of postscript file reached? + #Usually the DSC %%EOF signifies the end + if ( eof($tmpfhandle) || + ($ignoreEOFDSC == 0 && /^%%EOF\s*$/ && $seenEOF == $totalEOFDSC) + || ( $trailerseen && /^II\*\000.*/ ) + ) + { + #do not forget to print last line if not terminated by LF + if ( eof($tmpfhandle) && !/^$/ && !/^%%EOF\s*$/ ) # do not insert %%EOF twice + { + print $outfhandle $_,"\n"; + } + #add appropriate trailer + if ($insertPScode) + { + print $outfhandle "%%Trailer\n", + "cleartomark\n", + "countdictstack\n", + "exch sub { end } repeat\n", + "restore\n", + "%%EOF\n"; + } + last CREATEOUTPUT; + } # stop output + + # Trailer comment seen? + if ( /^%%Trailer\s*$/ ) + { + $trailerseen=1; + } + else + { + if (!/^\s*$/) #non empty lines follow + { + $trailerseen=0; + } + } + + # check for trigger + if (defined($triggerstring) && /^$triggerstring$/) + { + $trigger= 1; + }; + + # remove complete lines if one of the expression matches + if ( !$binarysection # only when not in binary section + && + ( + ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) + || # no preview + (defined($rangefilter_begin) && + (/$rangefilter_begin/ ... /$rangefilter_end/) && + (!(/$exclude_rangefilter_begin/ ... /$exclude_rangefilter_end/)) + ) + || + (defined($triggered_rangefilter_begin) && defined($triggered_rangefilter_end) && + $trigger && + (/$triggered_rangefilter_begin/ ... /$triggered_rangefilter_end/) + ) + || + /$linefilter/ # lines by linefilter + || + ($removeDSC && (/^%( |!)(\w )+/ || /^%%([A-Za-z]+\s)/)) # any type of structured comment + || + ($removeADO && + (/^statusdict begin.*ProductName.*print product print.*flush end\r?\n?$/ || + /^\(%%\[\s*(Page:.*|LastPage)\s*\]%%\)\s*=\s*\w*\s*\r?\n?/ )) + || + /^$/ # empty lines + ) + ) + { + next CREATEOUTPUT; + } + + # replacement + if ( defined($fixsearchpat) ) + { + #if (/$fixsearchpat/) { print STDERR "**filter** before:",$_,"\n"; } + #if (s/$fixsearchpat/$fixreplacepat/) { print STDERR "**filter** after:",$_,"\n";} + s/$fixsearchpat/$fixreplacepat/; + } + + # sanity check for potential dangerous commands + if ( /(^|\s)(clear|erasepage|initmatrix|initclip|initgraphics|startjob|cleardictstack|setmatrix|setpagedevice|copypage|grestoreall|exitserver|quit)(\s|$)/ ) + { + $notsane= 1; + #print STDERR "Warning: dangerous command in line: ",$_,"\n"; + } + } # end else (this is main part) + + # Output the postscript line to result file + print $outfhandle $_; + + if (!$binarysection) + { + print $outfhandle "\n"; # terminate line with LF + } + } # end else prolog_passed + } # end else inserted_prolog + } # end while CREATEOUTPUT + + close($tmpfhandle); + + if ($tmpfname ne $infname) { unlink "$tmpfname"; } #remove temporary file + + close ($outfhandle); + + # print warning if magic sequence not found + if ( $before_startps ) + { + print STDERR "\n ** Error!! **: could not identify begin of postscript code in file $infname, please check header line!\n First line should start with %!. No output generated.\n"; + } + + if (!$quiet) { print STDERR "ready.\n"; } + if ($warnings and $notsane and !$quiet) + { + print STDERR "** Warning **: EPS-output for $infname is not sane, at least one\n", + "of the following commands was still present:\n", + "clear erasepage initmatrix initclip initgraphics startjob\n", + "cleardictstack setmatrix setpagedevice copypage grestoreall\n", + "exitserver quit\n"; + } +} #end while PROCESSFILE + +# ---- end of perl-script ------- diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index 6310fffeb7..08bdcb4695 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -118,7 +118,6 @@ $mirrors = { 'https://ftp.tu-chemnitz.de/pub/tex/' => 1, 'https://mirror.clientvps.com/CTAN/' => 1, 'https://mirror.dogado.de/tex-archive/' => 1, - 'https://mirror.informatik.hs-fulda.de/tex-archive/' => 1, 'https://mirror.physik.tu-berlin.de/pub/CTAN/' => 1, 'https://packages.oth-regensburg.de/ctan/' => 1, }, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 05f4638fd4..c03775d50f 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,11 +26,11 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2021 -depend revision/62465 +depend revision/62489 name 00texlive.image category TLCore -revision 62456 +revision 62483 shortdesc TeX Live files only in the source repository longdesc The files here are not copied by the installer and containers longdesc are not built for them; they exist only in the source @@ -4541,7 +4541,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 62425 +revision 62467 shortdesc TeX Live standalone installer package longdesc This package defines the files to go into the installer longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the @@ -37922,7 +37922,7 @@ catalogue-version 1.0 name biblatex-ext category Package -revision 60379 +revision 62472 shortdesc Extended BibLaTeX standard styles relocated 1 longdesc The BibLaTeX-ext bundle provides styles that slightly extend @@ -37932,17 +37932,17 @@ longdesc stylistic decisions made in the standard styles. At the same longdesc time they stay as close to their standard counterparts as longdesc possible, so that most customisation methods can be applied longdesc here as well. -containersize 27144 -containerchecksum 5cdd74fbd738385a63f9fe78185e4e883f0ea1a7957dee30783f93bd3549eb179d44ac1d0f4f13cd66788ccd78e83ce512f6b1cbb955bdd195d9f08398ac2c9e -doccontainersize 865704 -doccontainerchecksum f782583a1f77c361dfce7abb03679bfaf18e4574e7670cd910840051db316d8f74bc190c1b2aeb6e9870302480f33c9a5e792b07e5013f541b700ea704265ab2 -docfiles size=251 +containersize 29092 +containerchecksum fc4c326495f5be4a9c836f4d548151047072d43d2784bf72a34ffa8d36eac339b7a8a930073238025382360820a1cbdb07333e9a7f510447069c68d51683f85c +doccontainersize 873384 +doccontainerchecksum 9f1cae878cd26679a950f9e31f3c3d77895bd2f0e9691e77e5ea8099f2d2c3562a35536c41a179eca7c985e8e00f66c0d692d10a609fd2b5510b0dc30b09b9e7 +docfiles size=254 RELOC/doc/latex/biblatex-ext/CHANGES.md RELOC/doc/latex/biblatex-ext/README.md details="Readme" RELOC/doc/latex/biblatex-ext/biblatex-ext-examples.bib RELOC/doc/latex/biblatex-ext/biblatex-ext.pdf details="Package documentation" RELOC/doc/latex/biblatex-ext/biblatex-ext.tex -runfiles size=118 +runfiles size=137 RELOC/tex/latex/biblatex-ext/biblatex-ext-oa-doiapi.sty RELOC/tex/latex/biblatex-ext/biblatex-ext-oa.sty RELOC/tex/latex/biblatex-ext/biblatex-ext-oasymb-l3draw.sty @@ -37954,6 +37954,18 @@ runfiles size=118 RELOC/tex/latex/biblatex-ext/ext-alphabetic-verb.cbx RELOC/tex/latex/biblatex-ext/ext-alphabetic.bbx RELOC/tex/latex/biblatex-ext/ext-alphabetic.cbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-comp.bbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-comp.cbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-ecomp.bbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-ecomp.cbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-tcomp.bbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-tcomp.cbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-tecomp.bbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-tecomp.cbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-terse.bbx + RELOC/tex/latex/biblatex-ext/ext-authornumber-terse.cbx + RELOC/tex/latex/biblatex-ext/ext-authornumber.bbx + RELOC/tex/latex/biblatex-ext/ext-authornumber.cbx RELOC/tex/latex/biblatex-ext/ext-authortitle-common.bbx RELOC/tex/latex/biblatex-ext/ext-authortitle-comp.bbx RELOC/tex/latex/biblatex-ext/ext-authortitle-comp.cbx @@ -38022,7 +38034,7 @@ catalogue-contact-home https://github.com/moewew/biblatex-ext catalogue-ctan /macros/latex/contrib/biblatex-contrib/biblatex-ext catalogue-license lppl1.3c catalogue-topics biblatex -catalogue-version 0.14 +catalogue-version 0.15 name biblatex-fiwi category Package @@ -44091,17 +44103,17 @@ catalogue-version 1.0 name buctthesis category Package -revision 60708 +revision 62474 shortdesc Beijing University of Chemical Technology Thesis Template relocated 1 longdesc This package provides a LaTeX class and template for Beijing longdesc University of Chemical Technology, supporting bachelor, master, longdesc and doctor theses. containersize 9064 -containerchecksum 015f93fe7b7c5aafff34a0a24166022b9e1d5cfc6f983bcacda2da5b4ac8a5315fc00320708dab53da32d0573859fbe3e0d692966d76369dda11f2c08a9c2cf7 -doccontainersize 893556 -doccontainerchecksum d94312d06d2228f97c0a5c05d004e53dcc8dc0c6ef80f56d08d41cfd4c88ab38aa4df8b6cdf07de8aa6b5b6e9a8afcd86e9824d193f317eba380f4656f810c1e -docfiles size=254 +containerchecksum 59db65878dd3b100cc3e616ac3e5a02a0bebf91fd1013fa93029d2a790d6736f6deb1d65b053f1b54a475429939c3bc6518da3b3b201847df08c77eed2f84225 +doccontainersize 876004 +doccontainerchecksum f39017d6cc051c689101a8108d15d79bf1e6d7d37f672d856a1e2651b5422b42d16f799c252fe7d48391fe92e985ef7092c0e8b8b36bdd501d00ca01e7ea7923 +docfiles size=250 RELOC/doc/latex/buctthesis/AddBib.png RELOC/doc/latex/buctthesis/BUCT-badge.pdf RELOC/doc/latex/buctthesis/ChangeLog.md @@ -44110,13 +44122,13 @@ docfiles size=254 RELOC/doc/latex/buctthesis/acknowledgement.tex RELOC/doc/latex/buctthesis/app1.tex RELOC/doc/latex/buctthesis/buctcover.tex - RELOC/doc/latex/buctthesis/buctthesis.pdf details="Package documentation" + RELOC/doc/latex/buctthesis/buctthesis.pdf details="Package documentation" language="zh" RELOC/doc/latex/buctthesis/chapter1.tex RELOC/doc/latex/buctthesis/chapter2.tex RELOC/doc/latex/buctthesis/chapter3.tex RELOC/doc/latex/buctthesis/conclusion.tex RELOC/doc/latex/buctthesis/declare-bachelor.png - RELOC/doc/latex/buctthesis/declare-master.png + RELOC/doc/latex/buctthesis/declare-master-doctor.png RELOC/doc/latex/buctthesis/denotation.tex RELOC/doc/latex/buctthesis/foreword.tex RELOC/doc/latex/buctthesis/frontmatter.tex @@ -44131,8 +44143,8 @@ docfiles size=254 RELOC/doc/latex/buctthesis/thesisbib.bib RELOC/doc/latex/buctthesis/translation.tex RELOC/doc/latex/buctthesis/worm-gear.pdf -srccontainersize 25252 -srccontainerchecksum b35809ecf963481cdde1ef6dbb0b215a306ebc5595b988b883e70b06d8f0f6f80079d7bf3d340f8c301330471444af6614cf5588347c22e896651d43de9917ee +srccontainersize 25424 +srccontainerchecksum 26526f51d54ade589267dd1026290616dc1ece05b2d5a22adbc086427052179d199f8dc5d9c17d0365e3c844f937714c82abd77673ca95ec237321ad5fb6ca70 srcfiles size=24 RELOC/source/latex/buctthesis/buctthesis.dtx RELOC/source/latex/buctthesis/buctthesis.ins @@ -44146,7 +44158,7 @@ catalogue-contact-repository https://github.com/Miracle0565/BUCTthesis/tree/mast catalogue-ctan /macros/latex/contrib/buctthesis catalogue-license lppl1.3c catalogue-topics class doc-templ dissertation chinese -catalogue-version 1.2 +catalogue-version 1.3 name bullcntr category Package @@ -100684,10 +100696,10 @@ catalogue-topics notes editorial name easybook category Package -revision 62448 +revision 62476 shortdesc Easily typesetting Chinese theses or books relocated 1 -longdesc Easybook is a pure academic template created based on the +longdesc easybook is a pure academic template created based on the longdesc ctexbook book document class. It also has the functions of book longdesc and article document class. Combined with the general framework longdesc design of the dissertation of many universities in China, @@ -100695,16 +100707,16 @@ longdesc providing multiple commands and interfaces allows users to longdesc easily customize the thesis template. Its basic macro package longdesc easybase can also be used with CTeX and standard document longdesc classes. -containersize 16552 -containerchecksum 28862ca2e70ea335cc1db926e89901b5e8f58202d0625fc6d6c00cb9aefcc80fc157dac376a8d93210457b8acf028b51a05e544f6f1fd4dd59f46ca5f10d7f39 -doccontainersize 603952 -doccontainerchecksum 8b5a0598bfbd981c509dba416bb3a2006ad01d00b35a04383048bccfa263e5f326adb03750fdc6ec796d4f722febc710e670c9f33ebba6542ccc8d4412cabaee +containersize 16548 +containerchecksum 4b96ef58034fc03d8eaf599e8baaceae5c8b162b807e8fbe4e113501d044cb31d0daa4c6bd32d5e6422e98310d2d0ba868a2a9f468ecff2400e1ad218c8d35e1 +doccontainersize 604116 +doccontainerchecksum e981606a6883fce92fd13128a5dae32ca9275a26ba091bd88184c85db55da5360c326e62409399ae50917ff6d5b4addf34e45042667f2378434140506a24658b docfiles size=165 RELOC/doc/latex/easybook/README.md details="Readme" RELOC/doc/latex/easybook/easybook.pdf details="Package documentation" language="zh" RELOC/doc/latex/easybook/easybook.tex -srccontainersize 16460 -srccontainerchecksum 8ad9c3887800c7fa56470bcd40e2e81bac341b1ff9d1a155b09ecf8e3c2af627798859fc4bd02ea7be2110edeac868a296abd9ed062305b85371a437c3614890 +srccontainersize 16452 +srccontainerchecksum 5cc80af4d5fe829766cc20a4d02723368f9db63d7cd19d4d549e937f355534e1fe97b9686b3f5b7bcd31c2e6cd7a8a0aa8153147ade35cd22d4532751c74d773 srcfiles size=20 RELOC/source/latex/easybook/easybook.dtx RELOC/source/latex/easybook/easybook.ins @@ -100717,7 +100729,7 @@ catalogue-contact-repository https://gitee.com/texl3/easybook catalogue-ctan /macros/latex/contrib/easybook catalogue-license lppl1.3c catalogue-topics book-pub class chinese expl3 -catalogue-version 1.639 +catalogue-version 1.64 name easyfig category Package @@ -124852,17 +124864,17 @@ catalogue-version 0.7.3 name fontsetup category Package -revision 61826 +revision 62478 shortdesc A front-end to fontspec, for selected fonts with math support relocated 1 longdesc This package facilitates the use of fontspec for users who do longdesc not wish to bother with details, with a special focus on longdesc quality fonts supporting Mathematics. -containersize 6716 -containerchecksum 68f3dc89ced5d4d59ed77c12f73f56fd2a036108aad0097c9e56ea9e791a915f864004704aa3c5bfc0e7baa12cbf7e92900483d92a5eed57ea66ad84fe9bd7b6 -doccontainersize 531492 -doccontainerchecksum d3d3abba61c03788c98cccb6caef2c734941f1a6d5a90b7c7624e983467290266c53526fd89bbe94350bc4b4f160c2b810ffe5e19556f5aa1979327e83f6f258 -docfiles size=249 +containersize 7064 +containerchecksum 72f2124b7298cb48c6e97f6aaaabc251d1253f63ae4d785255e5cefbde5d1a94ce5a8fe238b1c4a0085d4973bb46a43ab2600b0ad385eeaca495155d7471a4f2 +doccontainersize 580692 +doccontainerchecksum da86ea783fbb7b17a866dbb5d7c2f0c17e5b5c89e068241074ff0de4bf4f1efd279b5fd322492dbbc7f394f3f11461f7cdd2b8caaf2a02fd79c1635664160297 +docfiles size=275 RELOC/doc/latex/fontsetup/README details="Readme" RELOC/doc/latex/fontsetup/fontsetup-doc.pdf details="Package documentation" RELOC/doc/latex/fontsetup/fontsetup-doc.tex @@ -124878,11 +124890,14 @@ docfiles size=249 RELOC/doc/latex/fontsetup/fspsample-libertinus.pdf RELOC/doc/latex/fontsetup/fspsample-neoeuler.pdf RELOC/doc/latex/fontsetup/fspsample-newdefault.pdf + RELOC/doc/latex/fontsetup/fspsample-oldstandard.pdf + RELOC/doc/latex/fontsetup/fspsample-oldstandard.tex RELOC/doc/latex/fontsetup/fspsample-stixtwo.pdf RELOC/doc/latex/fontsetup/fspsample-talos.pdf RELOC/doc/latex/fontsetup/fspsample-times.pdf + RELOC/doc/latex/fontsetup/fspsample-xcharter.pdf RELOC/doc/latex/fontsetup/fspsample.tex -runfiles size=22 +runfiles size=24 RELOC/tex/latex/fontsetup/fontsetup.sty RELOC/tex/latex/fontsetup/fspconcrete.sty RELOC/tex/latex/fontsetup/fspdefault.sty @@ -124895,14 +124910,16 @@ runfiles size=22 RELOC/tex/latex/fontsetup/fspkerkisot.sty RELOC/tex/latex/fontsetup/fspneoeulerot.sty RELOC/tex/latex/fontsetup/fspolddefault.sty + RELOC/tex/latex/fontsetup/fspoldstandard.sty RELOC/tex/latex/fontsetup/fspstixtwoot.sty RELOC/tex/latex/fontsetup/fsptalos.sty RELOC/tex/latex/fontsetup/fsptimesot.sty + RELOC/tex/latex/fontsetup/fspxcharter.sty catalogue-also fontsetup-nonfree catalogue-ctan /macros/unicodetex/latex/fontsetup catalogue-license gpl3 catalogue-topics font-sel font-supp xetex luatex maths -catalogue-version 1.2 +catalogue-version 1.3 name fontsize category Package @@ -218722,7 +218739,7 @@ catalogue-topics font font-type1 font-decor name nicematrix category Package -revision 62043 +revision 62480 shortdesc Improve the typesetting of mathematical matrices with PGF relocated 1 longdesc This package is based on the package array. It creates PGF/TikZ @@ -218734,18 +218751,18 @@ longdesc border matrices); control of the width of the columns; tools to longdesc color rows and columns with a good PDF result; blocks of cells; longdesc etc. The package requires and loads l3keys2e, xparse, array, longdesc amsmath, pgfcore, and the module shapes of PGF. -containersize 33944 -containerchecksum 89398faedc6049ce79b5acbed07aafe08eab454c6441f4342a615bbd370f926019edb7dc897693dee3aaec6a19f102403da3a56567371f0fe2899a7f2dd6fee0 -doccontainersize 1954992 -doccontainerchecksum 0193d4f771171f7d4dd2050131a633c8851144e71b28136e4e239a989ae4cc6478055c8072e73355e59a0bdd163ef0ad075507fb99b9ab778c1585428f9b2a0c -docfiles size=535 +containersize 34304 +containerchecksum 70762d97ef9b7e3f9512fa11c72282be0757e32d05976a13fe7907aa297ef13be7ffd1f841ad7dfe45c557db7b4e56bf23e21ec32ce523f2d14ad11f0ca33da7 +doccontainersize 1965772 +doccontainerchecksum 6d48673cd19d2cebeba2976ec68a2a56e65a1c1b3dc68362f51c52977085aaf4ee3e8324603eb6f5e3d9ab3dc77a2d2fe055273ddfaf39bab7abbd54f98d747f +docfiles size=538 RELOC/doc/latex/nicematrix/README.md details="Readme" RELOC/doc/latex/nicematrix/nicematrix-french.pdf details="Package documentation in French" language="fr" RELOC/doc/latex/nicematrix/nicematrix-french.tex RELOC/doc/latex/nicematrix/nicematrix.pdf details="Package documentation" -srccontainersize 112964 -srccontainerchecksum f9718c426054bf63cbe314389eaca6aa8dee457a56aae0534f53c16e05d7f8db0cececc4d4f58f4d929f0d8fee2fcc3e9a6ac9ec7f9315711de15bad3c23af81 -srcfiles size=173 +srccontainersize 113260 +srccontainerchecksum 6c047e0360018542790df46ace47c1fceaa01fdc1f518ef072a5a62e5e56b2feeb2a45cd8ce7f98b3985bdfd6f6ae7814294878f07de126b47ec3356aa7f6c07 +srcfiles size=174 RELOC/source/latex/nicematrix/nicematrix.dtx RELOC/source/latex/nicematrix/nicematrix.ins runfiles size=76 @@ -218753,7 +218770,7 @@ runfiles size=76 catalogue-ctan /macros/latex/contrib/nicematrix catalogue-license lppl1.3 catalogue-topics maths matrix pgf-tikz expl3 -catalogue-version 6.6 +catalogue-version 6.7 name nicetext category Package @@ -272388,7 +272405,7 @@ catalogue-version 1.05 name shtthesis category Package -revision 62414 +revision 62483 shortdesc An unofficial LaTeX thesis template for ShanghaiTech University relocated 1 longdesc This package, forked from ucasthesis, is an unofficial LaTeX @@ -272423,10 +272440,10 @@ depend undolabl depend unicode-math depend xits depend xstring -containersize 11700 -containerchecksum c8e0bcf8fbd06a2f75534c7f85c18e9735bc7ddb0b8056891c7b785a0983be828473dfe25616b07b8d220947abee61a1085e90d4a553a00fd2f6ccedce80f650 -doccontainersize 2123672 -doccontainerchecksum 94f217e95b7f2a3a7ee897926f3ffffc40887de54a6cb50c9a6fc923b026b704e24b7bc5763bd8c4dc3725d5eb420db81277f49ecf7ea1a1c1e9eae710b37383 +containersize 11704 +containerchecksum 277d38ac72c0eefbb52ce1cb44ba1400dee506b823c2a7cdb2b8909d2e48ae1d6c56ae843381d48830592550a52238d390d9ce51c22c5e4ea5658383cec64044 +doccontainersize 2123676 +doccontainerchecksum 220b0229c84252c7b4d699951a14826f033d9904ead9f6318ba28eefc7ca2c3ad3cd7f4c986abaa976ad057e62cf8c6595f26ed49b12d16fccc60d572ee34e9f docfiles size=549 RELOC/doc/latex/shtthesis/CHANGELOG.md RELOC/doc/latex/shtthesis/DEPENDS.txt @@ -277877,7 +277894,7 @@ catalogue-topics maths matrix maths-syseqn maths-theorem typeset-grid name spark-otf category Package -revision 51005 +revision 62482 shortdesc Support OpenType Spark fonts relocated 1 longdesc The package supports the free fonts from "After the Flood" @@ -277885,22 +277902,37 @@ longdesc which are available from AtF Spark. The following fonts are longdesc supported: Spark -- Bar -- Medium Spark -- Bar -- Narrow Spark longdesc -- Bar -- Thin Spark -- Dot-line -- Medium Spark -- Dot -- longdesc Medium Spark -- Dot -- Small -containersize 2068 -containerchecksum 863587da0d6a03267dd36437b112be4a1391537d7186db0f9acae2d5c3721b2a303d7b2ca86d47a619b9265930fb4795f87522498cd34c80d057ef56d1b8daa2 -doccontainersize 104112 -doccontainerchecksum 2b3a9fab8e29c1fd9bf1b3a3f729d4d728fd22d6dba86aa746febac2eafe59df1afe65f557c9e3c816983eeeab8d798bb4f54712be8f5590706bcc49a2e50199 -docfiles size=33 +containersize 176792 +containerchecksum bb8501ab9387357ea304d4dc420f2abc3b14ab98e2020c15283af74f99bf773fdcb01d9c0e8664d2d6c7cb909a781e918702b0a11e901f37bcb0581d8e5e810d +doccontainersize 93960 +doccontainerchecksum 48603e9b42b13206e1a592fc623d39ea7364fe28e89d3ac92f6dd56abeb8cc1256f91fc36df7fc799c42bd6b2d6626091a6219eb3fd5224fc207c52f2e41def4 +docfiles size=31 RELOC/doc/fonts/spark-otf/Changes RELOC/doc/fonts/spark-otf/README.md details="Readme" RELOC/doc/fonts/spark-otf/spark-otf-doc.bib RELOC/doc/fonts/spark-otf/spark-otf-doc.pdf details="Package documentation" RELOC/doc/fonts/spark-otf/spark-otf-doc.tex -runfiles size=2 +runfiles size=594 + RELOC/fonts/opentype/public/spark-otf/Sparks-Bar-Extranarrow.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Bar-Extrawide.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Bar-Medium.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Bar-Narrow.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Bar-Wide.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dot-Extralarge.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dot-Extrasmall.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dot-Large.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dot-Medium.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dot-Small.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dotline-Extrathick.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dotline-Extrathin.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dotline-Medium.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dotline-Thick.otf + RELOC/fonts/opentype/public/spark-otf/Sparks-Dotline-Thin.otf RELOC/tex/latex/spark-otf/spark-otf.sty catalogue-ctan /fonts/spark-otf -catalogue-license lppl1.3 +catalogue-license ofl lppl1.3 catalogue-topics font-absent font-symbol font-otf font-use -catalogue-version 0.05 +catalogue-version 0.05a name sparklines category Package @@ -299883,7 +299915,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 62425 +revision 62467 shortdesc TeX Live infrastructure programs longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for longdesc tlmgr to run but still ours. Not included in tlcritical. @@ -299891,10 +299923,10 @@ depend texlive-scripts.ARCH depend texlive.infra execute addMap mathpple.map postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat -containersize 108808 -containerchecksum 8095c2d8d6c469d647f11ebdaf84de068fd847d5804bed353c3bcb8bbfc9728db412b18c9e3310de106dd4bd6f9afd6b6899a9bbd53bacb16c8f514f1a36ca37 -doccontainersize 404084 -doccontainerchecksum 4c3ad0b89ac5355e3c5600ab2a356d1d1d23a6b7b0e0bdda67517b377d5ee06a335656289bccb40b581cfa4ba5b92b1c81228936d5f31decea2ce40922d108ec +containersize 108796 +containerchecksum e979babcdbbd9380587a87011cd6281ef768926f4dfe9a5ea194e54f3fb6e435f308980d75251e8a96c3e5ede4c1e1f0a61ae087c3fb13ec8dc4c6101d7ce694 +doccontainersize 404044 +doccontainerchecksum 6304abfd24abf2551cb2acac07d09c3b283d88ad18c01180a4b38d8ed66031b65ae0dc3a42ce01d71bcd5a621804e2dede54ae3661c785a37eb36a848f52cd76 docfiles size=503 doc.html texmf-dist/doc/man/man1/fmtutil-sys.1 diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index b3f9e54beb..ed515a18a0 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -26109eeba5d98000c616a8de9a248756 texlive.tlpdb +9764418fade7ff1dda8757654e959c2a texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 9fe3105bf7..6824022b96 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -b0889d90c3b1bf286e05364eae9efaf1e5ebb865e0e06fed3de23756e35930fa863f6ebfb3561e354aff75c9d39b71985bd3e69b7877d7c42078667a8d501f34 texlive.tlpdb +bd537462f9ded311510e343567d39f3deac82c3b8d56d17ea6660a46e644de29be6046b2a61452e0c2a66107f7c754ba97a768e505d70984ef1ef39d707658d5 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index 082b2973b9..eb249397c9 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc @@ -1,10 +1,10 @@ -----BEGIN PGP SIGNATURE----- -iQEcBAEBCgAGBQJiJB02AAoJEEzhh34ZQ4xwi4EH/jxLLjCl8Q0HBzmsCn6SrVrD -04g9Pm0ODfJc68Rc7AmVwBt2KPr0y9KdsxE47D8vS9fEbbEAmUF6C+RatY3RAs1t -EpnCleqRAFI4T9kEvYwOhSsz7FklI7pzCISTih2GRcCCUZwCqrg6UEh5Ltz1EOGL -aMrAWaYTJtdmGeTzxjZ2aKHysXcEHvHrTeON3zTyOG+OwQVhdh73mHsQKn/mamD4 -7/rnLFDpaNKzFAMpdAmbeMH8/vCg2boSBbduG1nFLAwd/0Eu2KjMvUyAFh9e7VUA -solUlkQUpl41FUF80drfP9dey+mOx/o5AkqANhqnl6Hpuean5OJvVYUySPaSSCc= -=HQYm +iQEcBAEBCgAGBQJiJW52AAoJEEzhh34ZQ4xwRoYH/R6/YU/78Frf7d4FOsn/W1DS +896HNAzvo38djoWCWQUETUKAW9SEKCboCQ6bQ/HHcPLb83x4rUkLprgDxUTBYCv3 +uwIxSHQMKG3gI6WIkeWyPZIbq295oKObJtGAiquvPbrNsxI11ZSKvu/v3QQGVspS +sSgg9EieovTI+5Nk33zURlJxTonMV9wt0bNn+XyuJ9A1g70Zhh6htLNBoWbTCMNn +PhkAr02AeEt7FXeD1Cke6CNIfFo8QkGnpIvHw8HJ2cHsprVCBwXmBAIdOqnxN/R6 +cRYf8CW44LH3Ur50UE0ulIt2Sd1Lb146zXlZj3sTMPMGTkJVOioES7d+Dsuko4k= +=R4x2 -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz index e8e2da6702..26bf66baa1 100644 Binary files a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz and b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz differ diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma index 37b4fd1639..6a9a60f882 100644 Binary files a/systems/win32/miktex/tm/packages/files.csv.lzma and b/systems/win32/miktex/tm/packages/files.csv.lzma differ diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma index 3332f6eef3..29f372fb12 100644 Binary files a/systems/win32/miktex/tm/packages/next/files.csv.lzma and b/systems/win32/miktex/tm/packages/next/files.csv.lzma differ diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini index 52d8359b1a..1613c6c350 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=1646601408 +date=1646687894 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=fd295feef93573b8b08f8aeb5109b689 -numpkg=5396 +lstdigest=e60ae5d9af3ddc544392f5879863489d +numpkg=5438 relstate=next -version=8100 +version=8101 ;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows. ;;;;-----BEGIN MIKTEX SIGNATURE----- -;;;; signature/miktex: vN+6YiKKW4+xBYmTOA1s08A8xU9tFutx14XAXiPNrWU4X65EH9j/aNFGeL/iSKANegSuTBDGmoDo2snCR0bOfivwcQQ1TCwbmrlS0jizQCUpNa7ENkqvv5/82ijpWQvpOsvIIjQKVI74wzWcv6luVSo/WVTjR86wwe9k+JNvstQcM5eVESeI4G2q/xVp81Vm2x81oBWN6I9y5qWQhWFG00tW8AIeIURkVa+9ry/MlSQsj2wQKjyzGiSF8eHVuRw/D6ndFuBMlhkuTbgQ0gdRlYRMRkA+re57TS7oFJBu5wVUR8h/0eOQ6thUEYXcBsQHeXXqToPxlixv+UJuOP9GZg== +;;;; signature/miktex: AxQWFomBt9k/HTgbT4ivge0AIeXrPt+fP9ntepF3W/Kk6ucqBoS3A1EE80YcSjWKUOu/J847cJG2+OorwouevqH8M9yS7dVPTcuYp9X1lxpeiAhNfoXkCshqFH2a0T3eZ9+Bm5oYylgNpiCy571E2A7A86JPMngYCP+UMmO1qN9Xlds1mbNMASXb0eYQnzVpuScWl/wBIZY1TzcoyKidZiafsgf9cIgJAptFZyDUWWDDIxNzH1NzV+6ycgI2KbvPYmoetljF3+x2tAsqJoxunu6n4xKMLpK6uuh9BtBiY1t9kC95tj8DJSg9EOags06JpOjFFHyF4vua28+KIXuwXQ== ;;;;-----END MIKTEX SIGNATURE----- diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini index b5902460d0..9d643eddee 100644 --- a/systems/win32/miktex/tm/packages/pr.ini +++ b/systems/win32/miktex/tm/packages/pr.ini @@ -1,13 +1,13 @@ [repository] -date=1646601069 -lastupd=andika andika__doc animate animate__doc animate__source beamertheme-focus beamertheme-focus__doc beamertheme-focus__source bfh-ci bfh-ci__doc biblatex-mla biblatex-mla__doc biblatex-mla__source bidi bidi__doc bidi__source caption caption__doc caption__source crefthe -lstdigest=f4cdac14f05e0d58f73bceff3c2285f1 -numpkg=5394 +date=1646687522 +lastupd=acmart acmart__doc acmart__source arara arara__doc arara__source atendofenv atendofenv__doc atendofenv__source babel babel__doc babel__source bath-bst bath-bst__doc bath-bst__source beamertheme-arguelles beamertheme-arguelles__doc beamertheme-arguelles__source bfh-ci bfh-ci__doc +lstdigest=a4ae7a9652004f198463745e8acde6f7 +numpkg=5436 relstate=stable -version=8100 +version=8101 ;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows. ;;;;-----BEGIN MIKTEX SIGNATURE----- -;;;; signature/miktex: YFf1YI3Ctrv2K2bK5JKzd8warWFwXBNiqLNiuXkzTTNTo6mqmjgsK3IVXcuaMW8FD4ai1PDepM9+QS1JqL5wQJL24AzsbzUygghiSKZJJptj+FtfI4i0Cac8C2Tx99UFaIPV3XHzn9ZyTmE+CE+75TcNWtdYq74SaMtBuKabuJtxHORkjygodsurVAhVqlM2gZi+bOaJ+4ohmqqxIIBidcGSh1egtRbLvv2mBt2goh7E/22reKc5fggZb+ha3/A5JVyUD5hbZQ+dmi61lnd4qp/jSUjTrDDcWlG14YoJKg4qozneaf7lICcl5qmd8UcQ7/JI6l9IzM5otCZEzvwpAg== +;;;; signature/miktex: VqqUp0q3dmZbf/8XOwYyI4cv1F06P3t0t1r7gZiRNUo+h4mSK3S9kdOBK4P1YNMLtqeIJxCNxzwnEFwqwMwrk4vCCgtaZMMt/4Oqcqt6eP5LEewTeU0MDVm9zU/hLBFuTFE5NohschQMKP9qSkdJ3kI+JO/uYeJqFE8VcRJq0MOpIlcqeYWff6zFHoM68BA2uTfuP3MxM4xHuu1Y2Q9dx5+3MXfk8LyDaepeP4KvdVcUiSPBWPZfZAKrSqLUm+1rm7dvpSZo/i6Nna4IMKdsfUfcnT2mgTM1U9S51hyOaLVMCLfI6FtAkZhUsWIXSvu5zk2tgE4QbXr02SduskP8ZQ== ;;;;-----END MIKTEX SIGNATURE----- diff --git a/timestamp b/timestamp index 580062268c..bea329d0d5 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-07-02-02 +2022-03-08-02-02 -- cgit v1.2.3